Dojo Foundation Mobile Initiative
On July 31st and August 1st, 2010, the Dojo Mobile Summit in London included key participants from IBM, Orange, Uxebu, and SitePen, to discuss Dojo Mobile.
Dojo Mobile Goals
The mobile web as we know it today is just a humble beginning with the world scrambling to create and build for now and for the next generation of devices, whether they be smart phones, tablets/pads, connected TVs, or more.
At the Dojo Foundation, we are experimenting with new designs and new interactions because we understand that users have new expectations when it comes to mobile web sites and application. While doing this, we do not intend to ignore the desktop. We intend to make things that work on the desktop work as much as possible on other form factors, so we’re approaching this from the bottom up and the top down, to help you create great user experiences regardless of your approach.
This environment will continue to evolve very rapidly, so as an organization we need to stay extremely nimble by working together, but evolving separate projects to iterate more rapidly than the Dojo Toolkit release cycle.
Through our work, we continue creating tools that are highly performant and solve your cross-platform issues. The mobile web has its own set of constraints, such as "airplane mode"or the limited network and device resources. This focus has allowed us to start delivering mobile tools that work very well for creating your mobile web applications.
Finally, testing is a much greater challenge with the wide proliferation of platforms and configurations. While some early efforts focus on the most popular platforms, we cannot only support the iPhone/iOS and Android as there are many other interesting platforms available for developing mobile web applications. Blackberry 6 and Palm Pre are next on the list.
Dojo Mobile Today
Let’s start with where we are today. We’re not nearly as polished yet as we are with the Dojo Toolkit. There are currently three viable Dojo Foundation options for mobile development:
An innovative mobile-only toolkit targeting iPhone and Android, featuring a number of compelling widgets including 3-D tag clouds and carousel widgets. It’s an extremely lightweight toolkit created originally by Orange Labs.
- Completely separate code base
- Innovative UI elements (3D useful for tight screen space)
- Started by Orange Labs
- iPhone and Android apps, consistent look and feel, other platforms coming
An optimization and recomposition of the Dojo core, using an advanced build tool to create the most optimized Dojo for embedding on any platform. EmbedJS preserves the Dojo APIs to make the transition to mobile smooth for developers, allowing Dojo developers to get started right away using existing resources such as the Dojo API docs. EmbedJS is created originally by Uxebu.
- Dojo APIs, stripped down for mobile and embedded
- Started by Uxebu
- Target each platform with its native look & feel
- Touch, scroll, geolocation, etc.
A set of enhancements that shipped starting with Dojo 1.5, dojox.mobile provides lightweight themes and assistance for mobile developers, as well as common transition effects. Dojo 1.5 itself also includes a number of HTML5 features, with many more planned for 1.6.
- Started in Dojo 1.5
- Fix things in Dojo that break for mobile, API stable
- Merge features from EmbedJS, WINK Toolkit
- Feature Detection
- Support for many HTML5 features and beyond
The plan for the remainder of 2010 is for these 3 toolkits to collaborate and share efforts, while maintaining independent releases.
An example app combining the work of the three projects is currently under development. Our objectives for Dojo Toolkit are:
- Make Dojo 1.6 work better with mobile devices. This includes cleaning up Dijit, adding support for touch and gesture events, better testing, more native HTML5 feature support, and much more.
- Allow Dojo users to easily use more features from EmbedJS & Wink. For example, make it easy for Dojo users to place the 3D tag cloud in their application. Provide a stable core for merging more mature features.
- Target native app look to match each platform, or a consistent look and feel/Dojo theme across all devices.
- Target iPhone/iOS, Android, and Blackberry 6 using Dojo Toolkit and PhoneGap for native applications, or any capable mobile web browser. Palm Pre may also be targeted if time permits.
- Add simple application templates for use with mobile devices.
Our objectives for Wink Toolkit are:
- Continue to experiment with cutting edge mobile widgets.
- Refine its core code base and API structure through community contributions.
- Focus on targeting web apps on iPhone, iPad, and Android
- Provide a unified look and feel across all of these platforms.
Our objectives for EmbedJS are:
- Continue to focus on a very small version of Dojo (currently about 25% of the size of Dojo trunk for similar capabilities).
- Target as many native platforms as possible through their web browser or PhoneGap.
- Provide native look and feel, or a unified look and feel across all of these platforms.
- Consider converging the code base with Dojo 2.0 in late 2011
Uxebu, Orange, RIM, IBM and SitePen are already involved in various efforts to make Dojo great on any device or platform. Obviously there’s a lot of work to be done, from helping make the code better to writing documentation and example, to visual design. Contact us or find us on IRC (#dojo on irc.freenode.net) to get involved and make Dojo great!