Adobe Announces Shadow, A New Tool for HTML Mobile Development

I read on John Nack’s blog that Adobe has released a new tool to Labs called Adobe Shadow.  Shadow is a tool that lets you pair multiple mobile devices, both Android and iOS, with your web browser.  While paired, the mobile device will render the web page that is displayed within your browser (just Chrome I believe at this point).  You can pair as many devices as you want and communication is completely wireless.  You can even remotely tinker with the HTML and CSS being pushed to an individual device in real time, very cool.

So why would you want a tool like this?  If you’ve ever worked with HTML you know that every browser interprets the HTML specification differently and each browser has varying degrees of support for some of the more recent standards.  If you’re going to get serious about creating an HTML based mobile app, you need to test the app on real devices.  I imagine this can get very tedious when you’re targeting multiple mobile platforms and multiple form factors (tablet and phone).  Shadow aims to ease some of that pain by enabling you to instantly preview how your changes will look on the actual devices you’re targeting.

Remember when Firebug came out?  That one tool revolutionized how I did web design and development.  Instead of spending hours fiddling with CSS code, I could tweak a few things right in the browser and immediately see the results.  I could select an element from within the DOM and see exactly where it’s boundaries were and how the margin and padding were working out.  It seems like Shadow could fill a similar niche providing immediate visual feedback on the changes you’re making.  Definitely worth checking out.

The Last Nail in the Coffin for Flex

Now that the Flex SDK is officially an Apache project, Adobe has released a new document providing more detail around their plans for the Flash platform.  Reading through the document the part that concerns me the most is this:

“In the past, features were added to Flash Player and AIR specifically to support the needs of Flex applications. Going forward, features will be added to the runtimes to support Adobe’s vision for the Flash Platform. The Apache Flex Project may choose to take advantage of those features; however, new features will not be added to the runtimes specifically to support the Apache project’s efforts.”

That bit there is really what will kill Flex.  The SDK can continue to evolve, but only as far the runtime will allow it.  We’ll no longer see the real significant innovations come to Flex because the runtime will never change to support them.

Also mentioned in the document is that Flash Catalyst is going away along with the design view within Flash Builder.  This is a clear indication that Adobe doesn’t really plan to continue building tooling around Flex, they just want to support basic coding features until they can quietly put Flash Builder to rest.

Adobe has abandoned Flex and is now focused on HTML, which makes a lot of sense for them.  Mobile changed everything.  Apple was never going to play nice with Adobe and there were too many technical hurdles to getting Flash to be performant and fully featured across so many mobile platforms and devices.  With HTML, Adobe no longer has to worry about getting the platform in place…HTML is supported out of the box.  All they have to worry about is doing what they do best, creating design tools.  Adobe Edge is looking good and my experience with PhoneGap has been positive.

I think that I am still far more productive developing with Flex than I am with HTML, but as the technology and tooling evolves, that could change very quickly.  When it comes to enterprise development I’m still not convinced that HTML is a good solution.  I’ve been working with Microsoft’s WPF framework along with their Visual Studio and Expression Blend tools and I’m very impressed.  Right now I think Microsoft’s offering is very good for enterprise development if you are targeting the Windows desktop.  For mobile, I still think native development is best, but I would love to see HTML based apps really come together with some nice design tools and a way to package your app for multiple platforms (a la PhoneGap).  As for Flex, I wish you a long life and I will miss you.