I recently gave a few talks at Adobe MAX 2013 in Los Angeles. Here are
the links to the recordings for those sessions… (more…)
I recently gave a few talks at Adobe MAX 2013 in Los Angeles. Here are
the links to the recordings for those sessions… (more…)
Yesterday, Adobe, in cooperation with Google, announced that the Adobe CFF rasterizer has been contributed FreeType. If you’re a font geek, this is fantastic news. If not, you might be thinking to yourself, “CFF is what again? Why is this important?”.
In a nutshell, modern outline fonts use two formats, TrueType and CFF. A TrueType font has a lot of ‘hinting’ in the font file itself, indicating how best the font should be rendered. CFF font files contain less hinting. They are dependent more on the quality of the rasterizer.
However, because there is less hinting within the file, and due to its efficient file format, CFF fonts are on average about 20-50% smaller than TrueType fonts.
FreeType is an open source library used for font rendering on Android, iOS, Chrome OS, GNU/Linux, and other free Unix operating system derivatives such as FreeBSD and NetBSD. That makes for more than a billion devices running FreeType.
Let’s take a look at how the Adobe CFF rasterizer improves the rendering of CFF fonts. The left column below contains a CFF font rendered with the FreeType hinter. The middle column is rendered with FreeType’s light-auto hinter. And finally, the right column is rendered with the CFF rasterizer that Adobe has contributed to FreeType:
The difference is pretty self-evident.
I don’t think it’s a big leap to understand why it is important to have smaller font files on mobile devices and to have the rendering of those fonts improve dramatically.
More good news for the Web.
I was recently talking to Adam Lehman, product manager for Brackets, about ways I could potentially help contribute to the product, perhaps by writing an extension or two. I wanted to learn how to write a Brackets extension, but I also wanted my efforts to go into something people would find useful, something of real value.
It turned out, the timing of our meeting was perfect.
Web Platform Docs is mature enough to use it as a source for documentation in Brackets. Adam suggested we build an extension to provide dynamic inline access to Web Platform Docs as users are editing code.
Web Platform Docs, in case you’re not aware, is this amazing initiative undertaken by the Web community as a whole to, well, document the Web. If you’re a Web developer, there are several different places to go for the latest set of CSS properties, for example, to understand what they are, what their potential values are, and so on, but there is no comprehensive and authoritative source. The docs.webplatform.org site is a Wiki designed for just that purpose. There you’ll find reference documentation, starter guides, best practices, and a whole lot more. And, since it’s a Wiki, the site is constantly growing and being revised.
But don’t be mistaken. This isn’t some random marketing effort. Web Platform Docs was initiated by the W3C, and is support by the Web Platform Stewards.
I thought this would be a great starter project, something to really sink my teeth into, until of course reality set in. I needed to provide some time estimates so the Brackets team could plan accordingly. I had never coded up a Brackets extension before. How could I even estimate a guess? We scheduled a meeting for a week later to check in, see how things were progressing and then come up with some reasonable time estimates.
By the time we had our first check-in meeting a week later, I had about 90% of the plugin finished. It turned out to be much more straightforward than I anticipated. Since Brackets itself is written in HTML/CSS/JS, and the plugin architecture is so well thought-out and straightforward, if you know these core technologies, the learning curve is pretty minimal. Most of what you’d want to know can be found here, and there are a bunch of sample extensions in the distribution that are great starter points.
You can find what I created up on GitHub. To be honest though, there’s no real reason to use that code other than to see what you can create on your own in very little time. The Brackets team took my extension, cleaned up the code here and there, revised the UI layout, and released Brackets Sprint 24, with an improved version of the extension integrated right into Brackets core!
There are three ways to call up the CSS property documentation:
And this is what you’ll get:

The left pane contains the summary, and the right pane is a scrollable list of potential property values. In addition, you’ll see a button:
Clicking that button will take you to the source Web Platform Docs page in case you want further information.
The information you see above is all gleaned from:
http://docs.webplatform.org/wiki/css/properties/align-content
The naive implementation (and thus my first iteration) has the extension making the appropriate set of requests to webplatform.org for every user request for CSS property documentation.
But, if every Brackets user (and thus Edge Code users with free Creative Cloud memberships) were making these requests every time they wanted a particular property’s documentation, that would be incredibly slow and a completely unnecessary burden on the server.
As well, there are security implications of dynamically importing remote code into an application running on your desktop that need to be considered.
As a result, we decided that for this initial release, the documentation results would be preprocessed and packaged with Brackets and Edge Code. Moving forward, we are working with webplatform.org to develop a suitable API that is fast and secure. In subsequent releases of Brackets we will have updates to the packaged CSS documentation, and ultimately the results will be dynamically updated in a secure and efficient fashion.
In the meantime I think you’ll agree that it smokes. The documentation response time is immediate.
You can find the latest milestone Brackets build here.
I have to admit I was hesitant at first, but more and more I’m finding that Brackets is my HTML editor of choice. And now with Web Platform Docs integration, it’s even more powerful.
Brackets and Web Platform Docs – Two Great Tastes That Taste Great Together!
I’m going to be speaking again at Adobe MAX this year. The conference is being held in Los Angeles from May 4-8. It should be a total hoot. The Black Keys are even playing at the big bash!
And, in case you haven’t heard, all attendees get a free year membership to Creative Cloud.
Tuesday, May 7th:
11AM – 12PM - SVG Reboot
This will be a beginner’s introduction to SVG and will give those of you that know about SVG an insight into how it’s moving forward and where it’s going.
Wednesday, May 8th:
11AM – 12PM - Go Beyond the Canvas Box to Create Your Own Cinematic Effects
This will be a talk on CSS Filters and Shaders.
1:30PM – 3PM – Creating Special Effects for Your Web Content with CSS Filters and Shaders
This one will also be on CSS Filters and Shaders, but in this case you don’t sit back and listen. Instead, bring your own laptop and be prepared to get down and dirty creating your own amazing Web effects as I guide you through it all. I’m pretty psyched to see what people come up with here.
So, if you haven’t already, register for MAX now and come join this amazing conference.
Use the registration code MXSM13 for a $300 discount off the registration price.
Oh, and if you register off my blog, I’ll buy you a beer.
I’ve talked about Test the Web Forward before and why everyone should get involved. The next Test the Web Forward event is going to be at the Google office in Tokyo. So come on out and meet members of the Japanese Web community and experts from all over the world for a weekend of learning, coding, food, drinks and fun.
Help make a more interoperable & better Web!

The Web is constantly evolving, new W3C specs are being hashed out all the time. Partial and full implementations of these new specs are showing up in different browsers all the time. But, if we as a Web community want the Web to evolve, and want people to really trust their businesses and technology on the Web as a platform, there needs to be tests in place to ensure that new specs are implemented consistently, correctly, and meet our expectations.
Test the Web Forward arose from that need. Representatives from the W3C, Google, Mozilla, Microsoft, Opera and Adobe put together hackathons around the world to teach people about new Web features and to get people to help write tests against these features.
I highly encourage you all to at least get on the mailing list and follow @testthewebfwd and #testtwf.
If you’re going to be in the Seattle area on April 12-13, 2013, you should definitely check out the Test the Web Forward – Seattle event, being hosted by Microsoft.
Lately we’ve been starting to create an Adobe TechLive YouTube channel so people can view the recordings for the various TechLive sessions. You can find that channel here:
http://www.youtube.com/user/AdobeTechLive.
Sometimes though, you want to watch a YouTube video offline, perhaps while you’re sitting on a train with spotty Wifi coverage. There’s a service I came across that lets you download files from all kinds of services, including YouTube:
http://savefrom.net (http://sfrom.net also works)
What’s nice is if you simply append the link to the YouTube video after http://sfrom.net, it will take you to a page that will let you download that specific video. For example, Christophe Coenraets recently did a TechLive session on architecting a real-world PhoneGap application. You can find the recording here:
http://www.youtube.com/watch?v=eJINt-g9vBg.
If you want to download that recording for offline viewing though, you simply need to go here:
http://sfrom.net/http://www.youtube.com/watch?v=eJINt-g9vBg
Pretty slick.
Webinars are boring. Nobody enjoys just sitting in front of a computer listening to somebody trying to sell you something. But you can’t always attend conferences, user groups or meetups for that live experience. To address that need, Adobe has recently launched Adobe TechLive.
Adobe developer evangelists, product managers, dev team members and more will be joining in Adobe Connect sessions, talking and answering your questions about mobile and Web application development and design.
I’m going to be speaking at several free events in the next couple of months as part of the Adobe Create the Web Tour and some other events. Here is the current listing of when and where I’ll be:
Normally when I’m presenting and want to show some functionality on a mobile device, I use an IPEVO Point 2 View USB camera to display the device in a window on my laptop. The IPEVO is inexpensive and works very nicely. Greg Wilson was telling me earlier about Reflection and I subsequently fell down a very deep rabbit hole. This nice little app uses AirPlay mirroring on your iPhone or iPad to mirror multiple devices onto your Mac. Combine it with Edge Inspect and things start to get very interesting.