Where HP's going with open source Enyo 2.0 | webOS Nation

Where HP's going with open source Enyo 2.0

by Derek Kessler Fri, 03 Aug 2012 7:22 pm EDT

Where HP's going with open source Enyo 2.0

This morning I had a meeting at HP's webOS campus with Enyo framework members Gray Norton and Kevin Schaaf and head of webOS Developer Relations Enda McGrath. Leading up to tomorrow's Enyo Hackathon, we talked a lot about what HP has accomplished with Enyo and where they hope to go with the open source application framework. (full disclosure: HP is paying for my flight and hotel for this trip)

Enyo was first previewed to the public back in November 2010 at the New York Developer Day. The framework was designed to follow up on the fully web-based Mojo app framework and featured modularity as one of its hallmark features, while still staying true to its web tech roots. At the time Enyo was demoed at smaller smartphone sizes and a bigger tablet-like size, demonstrating the flexibility of the modular design. In February 2011 developers got their first taste of working in Enyo after the Think Beyond event.

A year later, following easily the most insane year in webOS' history, HP made the decision to open source webOS and the Enyo framework. Immediately, the open sourced Enyo was available on multiple platforms - practically anything that supported HTML5 would support Enyo, and many mobile platforms additionally supported on-device web-based apps. Enyo 2.0 also began an open source public beta that lasted several months, finally reaching the final release version in just the past few weeks. The new version of Enyo is designed to run on all manner of devices and desktop web browsers of all stripes.

While the layout of Enyo is performed with HTML5 and CSS, the part of Enyo that really makes things happen is JavaScript. So it's no surprise that HP's Enyo development team has been seriously courting Enyo developers, making stops at several JavaScript conferences around the globe, including New York, Madrid, and Toronto. Their presentations included demonstrating the Enyo Sampler as an on-device app (compiled using PhoneGap) on a whole range of devices.

For our meeting they showed off the Enyo Sampler on an Amazon Kindle using Amazon's heavily-customized Android 2.3, an Apple iPad 3 and iPod Touch running iOS 5, a Samsung Galaxy Nexus on Android 4.0, and a Samsung Galaxy Tab 10.1 on Android 3.2. The app automatically scaled itself for the various device sizes, switching to a one-pane-at-a-time display for the smaller-screened devices, as opposed to the larger devices which displayed the entire multi-column layout at once. On the mid-sized 7-inch Kindle Fire the app performed a hybrid act, sticking with the single columns in portrait mode and switching to multiple columns on-screen in landscape. If you've played around with the online version of the Enyo Sampler, it's the same deal (you can replicate the screen-size behavior live in the browser just by resizing your browser window).

Where HP's going with open source Enyo 2.0

It's a mildly interesting demo, at least for the webOS enthusiast with a barely passable understanding of how the code end of applications work, such as myself. Of course, those with a deeper understanding of the JavaScript backends to make all of this work would be more impressed. When discussing some of the abilities of Enyo, such as lists that scroll smoothly no matter the length or content, Schaaf noted that some of the JavaScript developers who'd seen the demo remarked that they'd been told that was impossible to do in JavaScript. Apparently not when you've got Enyo 2.

Embracing the open source nature of Enyo, the framework incorporated numerous community contributions through the beta process. Back in April the team launched the Enyo Community Gallery (itself an Enyo 2 web app) to highlight additional Enyo 2 UI and code bits put out there by the developer community. The Gallery launched with around a dozen entries and today counts more than fifty contributions by the community.

Now that Enyo has hit the release version of Enyo 2.0, we're looking forward to the next updates to Enyo (according to the January Open webOS roadmap, Enyo 2.2 was due last month, but things got thrown off track by the departure in May of a good chunk of the Enyo team). While Norton and Schaff wouldn't get into specifics about what to expect in the next update to Enyo, they did say that now that the framework has reached a point where you can build a functional app out of it, the team is focusing on fleshing out the capabilities of Enyo to meet the needs of more developers.

Through their travels to various JavaScript conferences they demoed the evolving capabilities of Enyo 2.0 as it leveled through the beta process. Initially it showed promise, and now that it's hit the release milestone they can start addressing the extra "I'd use Enyo if it supported X" needs of developers. That includes new user interface elements as well as back-end enhancements like database management. Right now these things can be added to Enyo by the developers, but that obviously requires more work than having a framework with those features already integrated would.

Further into the future, the Enyo team hopes to be able to move the framework away from needing to be as reliant on PhoneGap as it is today. The problem with making cross-platform HTML5 apps is that the physical device features HTML5 can access are still pretty limited. They can make sounds and get your location, but that's about it. API's for accessing on device buttons or the camera and microphone or sending on-device notifications vary from platform to platform, and even sometimes between different versions of the same platform. PhoneGap bridges, well, the gaps between the phones for web app developers, enabling them to develop once and easily build their apps on multiple platforms with support for all those features.

Ares 1

That said, both the HTML5 development group and the PhoneGap team are working towards the point where PhoneGap won't be needed anymore and you'll be able to develop in web-based frameworks like Enyo and only have to package the app for the other platforms - different API standards being a thing of the past. That's going to require a lot of work for HTML5 and PhoneGap, as well as getting the various OS builders to support those new features of HTML5. We'd wager it's going to take a few years to get to that point.

Lastly, there's one part of the Enyo 2.0 puzzle that's fallen by the wayside, thanks in part to the previously-mentioned hit the Enyo team took when several key members left HP: Ares 2. The incomplete code for Ares 2 was released to open source back in April (in keeping with the roadmap), but May's mass departure also took away the lead for Ares. There's since been a new developer assigned to the project and things are picking up steam with additional coders joining in the past few weeks now that the pressure's not on to finish Enyo 2.0. We don't have a timetable for when to expect the in-browser app builder for Enyo 2.0, but we're told it's moved up the priorities list with the big Enyo 2.0 checked off and should be expecting it relatively soon.