Life after OSMOBI. The future of Mobile Drupal
Drupal users who have followed my blog will probably already know about OSMOBI, the online service to make your Drupal, Joomla! and Wordpress site Mobile. OSMOBI has been the brainchild of Siruna, a Belgian startup focussing on creating solutions to make mobile websites. Examples of mobile websites that are still running on Siruna technology are http://m.stubru.be and http://m.uitinvlaanderen.be. Examples of OSMOBI sites are not existing anymore since the service stopped at the end of June.
The Siruna technology, including OSMOBI focussed on mobilizing your existing Drupal sites and by the end of april 2010 more then 1200 Joomla! and Drupal sites used the free OSMOBI service to create their mobile website.
To get a feel on how OSMOBI worked, have a look at the screencasts that are still online:
Although the huge adoption of OSMOBI and the increasing need for Mobile websites, the service did not survive due to insufficient funding... This left more then 1000 developers stranded without any mobile sollution. So the natural question I have got was "what's next?".
Further there is the Mobile Tools module that bundles a number of tools to help you create a mobile site. Just to summarize:
If you are running a mobile and desktop version it is important that you detect the mobile device and send him to the right subdomain, or load the right template. I am always in favor of using different subdomains for the different device types, since this works easily with existing caching systems and with the Domain Access module.
However, whenever you have some aggresive caching (meaning your hook_boot methods are not called), a Drupal module will never be able to detect the mobile device and redirect the mobile user. In this case you will need a solution that is located at your apache server. A good solution is the Apache Mobile Filter: http://www.idelfuschini.it/it/apache-mobile-filter-v2x.html This is an apache module that integrates with WURFL for device detection.
I still have to figure out what solution there is in order to work with caching systems such as Varnish or the Nginx server. However a simple user agent check will be sufficient to filter out the main devices.
This is an important consideration while using Mobile Tools and high traffic sites. If the normal caching of Drupal is enough for your site, you can use Mobile Tools and even differentiate the redirection and theme loading for several device groups.
This feature is only relevant is you are having a multi-platform content strategy and want to build a mobile site on top of an existing desktop drupal installation. The Mobile Tools permission system allows you to set different permissions for mobile users, thus allowing you to show some pages and content only to desktop users or mobile users.
These features however are not needed if you choose the strategy of creating subdomains for your mobile sites and you use the Domain Access module. This module allows you to easily configure your different subdomains, create content publishing strategies (choose to which domains to publish which content), create different navigation structures, but share users, common content, ... etc.
So again Mobile Tools does not always give the best option.
Of course this is one of the most important parts of creating mobile websites. These are some sample themes:
The Browser Theme Settings module is worth to take a look at in order to differentiate settings for different mobile themes. This module also doesn't work with some aggressive caching methods...
The bottom line is that the set of tools provided at Drupal.org, still have a long way to go to be optimized for large websites. With the loss of the OSMOBI service, we will have to keep looking at simple solutions.
Currently I started working for Northpoint Solutions, a NY based Drupal professional services firm that creates highly scalable, large traffic sites. We will continue optimizing the mobile Drupal experience and contribute as much ass possible back to the community... So the end of OSMOBI is not the end of Mobile Drupal :)