Google Web Designer and the State of HTML5 Tools
Authoring tools, frameworks, and the time and place for generated code
Google released their Google Web Designer (GWD) product last week, introducing yet another HTML5 authoring tool, and yet another Google product. I have quite a personal passion for diving into this particular piece of software, as I was honored to have been a beta tester of its previous incarnation, the Ninja project from Motorola Mobility, which was quite amazing from my perspective. Here are my thoughts on GWD based on a few hours of playing around with this beta release, almost exactly a year after I explored the Ninja beta release.
“Google Web Designer” is a pretty awesome name, yet you’ll find on the product’s YouTube channel the acronym “GWD” — this would seem to position the product as a very general offering from the 800-pound gorilla of the web.
As I used it, I began to wonder — is the term “web designer” intentionally deceptive? Further exploration seemed to confirm that it really is focused on ads…
Perhaps if you are Google, “web” and “ad” are synonyms?
Flash Professional for HTML5?
Once you’ve gotten past the initial screen and opened the actual GWD environment, you will probably experience a bit of déjà vu (that is, unless you’d spent the past 17 years in a cave, without a glimpse of the Flash authoring tool from Macromedia/Adobe).
In the first place, there is a very Adobe-esque feel to the UI, but what really brings back the old days is the Flash timeline sitting there at the bottom. Flash is dead, long live… Flash? Ever since I saw Ninja, I have been simultaneously impressed, while scratching my head: why on earth would someone want to duplicate the Flash Pro interface in the context of an authoring tool meant for HTML5 web app development?
I was mistaken to expect a general web development tool back then, and seeing GWD now, I’ve stopped looking for more than an ad-builder. Yet even if that is the case, should an HTML5 ad-builder simply emulate Flash Professional?
Granted, there are many cool things in GWD that are nothing like Flash Pro: the 3D, especially, is stunning. It is also quite amazing that the tool as a whole, built from the ground up in HTML5, is so solid and responsive. Yet overall this is more of an “animation builder” than it is an “app builder,” and it could be argued that the state of the art in HTML5 ads is heading more towards the “app” than the “animation.”
Overall, GWD seems to be generally similar to what Adobe Edge Animate offers, though Edge Animate seems to have more detail, while GWD has a direct and simple UI. They’ve scaled back some of the ambitions that were there with Ninja: the WebGL “materials” are gone — apparently inappropriate to the ad focus, as WebGL has too much overhead for mobile devices.
The Strange History of Montage and Ninja
A couple of years ago, I stumbled across Ninja: it was one of three then-secret projects at Motorola Mobility, and our company participated in early testing. Back then, we were much more interested in the Montage framework, (which Ninja was built with, and which was also emitted as an output from Ninja), than in Ninja itself. Currently, GWD does not emit Montage, though Twitter rumors continue to claim that it remains built on Montage.
Motorola had brought together expert developers from Apple, Adobe, Nokia, and Opera to build the Montage HTML5 framework, an authoring tool (Ninja), and a testing framework they called Screen. At first, it looked like this all-star team would do great things quickly, but even in the early days, a disconnect between the framework and the authoring tool was apparent. Montage had deeper & broader goals, while Ninja was focused on what GWD appears to be today: a utility to create limited animations or small-scale sites, rather than a full-scale web development environment.
When Google purchased Motorola Mobility, the disconnect became even more severe. Ninja‘s niche seems to be filled well by GWD: first Google open-sourced both products, but the Ninja project was suddenly closed, which was surprising. Montage remains open source, and we still find it a brilliant framework with huge potential to provide a foundation for web application development, though this is a more ambitious goal than what GWD has taken on.
Like Ninja once did, GWD impresses us more with its beauty as an HTML5-built application, than with its appeal as an authoring tool for our development requirements. At a minimum, it proves that HTML5-built applications deployed in containers such as the Chromium Embedded FrameWork can rival their competitors built in old school C++ quite effectively.
The time and place for generated code
Initial reaction to GWD includes many complaints that the generated code is less than stunningly elegant: if true (although some of what it generates is actually quite clean) this would align with the limited ambitions of the product. Flash Professional, after all, generated binaries: this is at least code. If it is used for ads, as opposed to applications, there is no great value in making the output elegantly extensible.
GWD has some wonderful characteristics but as many have noted in their initial impressions, comparable functionality is already available from Adobe, Sencha and Apple. It will be interesting to see how this product evolves.
Where does HTML5 tooling stand?
If Flex Builder (and later Flash Builder) was a sword for building rich internet applications in Flash, the tooling around HTML5 is more like a Swiss army knife: we have the cork screw, the tweezers, the saw, the toothpick, the nail file, etc. rather than a single blade. Adobe “Edge” is appropriately named, as the Edge tools are solutions around the edges of the problem. One for reflow, one for animation, etc., but not a single comprehensive solution to the overall challenge of HTML5 application development.
There is nothing quite like a Flex Framework or a Flash Builder for HTML5. Yet. Of course Flash had many years to evolve and benefited from being a proprietary format completely controlled by one company, unlike the world of HTML5, with its overlapping standards, implemented in varying ways across a prolific ecosystem of devices.
Frameworks like AngularJS and Montage still offer hope, and some day there may be tools for HTML5 application development that approach the level of XCode or Flash Builder. Meanwhile, utilities and special-purpose tools like GWD and Edge Animate are useful and serve as limited but powerful examples of authoring features that will one day find their rightful place in more complete solutions for rich Internet application development.