Vincent Hardy is Adobe's Director of Engineering for the Web Platform. He uses CSS to power projects that improve open standards for the web. He says there's nothing he hates about CSS—though the lack of variables and scoping bugged him for a long time—and is particularly enamored with the way CSS has organically developed into a robust technology.
Sun Microsystems is where Vincent Hardy got his start in web standards and open source. In this interview, he tells me what lessons he learned there and how open standards are growing at Adobe.
How did working on open source projects lead you to the Director of Engineering for the Web Platform Group at Adobe?
I have worked as an individual contributor and as a manager in the past, and I enjoy both. When we started to the build the Web Platform group at Adobe, I started as an individual contributor, but then we started hiring more people and I became a manager again. And as the organization grew, I got the opportunity to lead the whole Web Platform effort which has been very interesting and a lot of fun!
A few of my biggest projects are:
Apache Cordova—powering native apps with the web.
WebKit—the father of most current and modern web engines.
Chromium Embedded Framework (CEF)—the magic to make a stand-alone app with web technologies; CEF is for the desktop, while Cordova is more focused on mobile.
What does a day in the life of web standards look like? What's your biggest challenge?
We are part of the working groups that produce specifications, such as the CSS specification or the SVG specification. That means that me (even though I do not do this anymore) or others in our team actively participate to mailing list discussions, meet with partners, and join into online chat (on IRC channels) to discuss issues and solutions for specifications that are under work. We also actively participate in the related testing effort and in particular the related Test the Web Forward series of events that we initiated last year.
But, we also work on the implementation side of the standards and a lot of our team works in the Blink or the WebKit code bases, the web engines that power Google Chrome, and Apple's Safari browsers, respectively. We also make contributions to the Gecko engine which powers the Firefox browser.
Our biggest challenge is that we do not release a browser ourselves so we work by positive contributions, in the spirit of the open web. But we do not control directly which features are shipped in a particular browser. For example, we are thrilled that CSS Regions, which we initiated with Microsoft and others, is now shipping in IE, Safari mobile, and desktop. But we do not have complete control of when it will become part of Chrome. Instead, we need to work with the community to bring features to life. Working through influence is not always easy!
This flip side of this challenge is that we get to bring a unique voice to the communities that are developing browsers and new web standards. Adobe's history and DNA are closely tied to designers and the tools they use. It's great to be able to represent their needs and desires.
How do open standards and open source work together to create powerful tools?
There are many ways that open standards and open source reinforce each other. The most important being the community in my opinion. Because things are discussed, specified, and built in the open, there is a lot of expertise and knowledge sharing, which helps spread and strengthen the technology and its implementations.
On the tooling side for CSS, my favorite is of course the Brackets project, which is a beautiful code editor, writen on web technologies for web technologies. It turns out that while CSS features are not the only way to build powerful user interfaces, they are really good and flexible to the point of being awesome for modern designer and developer tools. The other example that comes to mind is Edge Reflow, but there are many other tools outside Adobe, like WebFlow.
You worked at Sun Microsystems. While you were there, what was your greatest success? What lessons did you take with you to your next job?
I worked on different things while at Sun, and it was a really nice company to work for. I was fortunate to work on Scalable Vector Graphics (SVG), on the Apache Batik project, and on Java mobile in particular. Sun is where I got involved in standards and in open source. From my open source work, I learned how much you can do with the power of a passionate community. Through effort, coordination, communication, and expertise, the open source community is able to deliver high quality software despite the lack of equivalent resources (e.g. for testing, documentation, or promotion) you find in most companies. This was a big lesson that I have tried to use for development in both open source and internal projects (aka inner source).
Often, people think fewer resources is a disadvantage. That's not always true.