11. Complexity
Device fragmentation:
− Millions of devices
− Different Operating systems
− Different capabilities
• Ex: screen sizes, javascript support, CSS / xHTML support, video support
− ...
Usability: make a fun and easy experience
− Content has to be easy to find
− Reduce scrolling (no horizontal scrolling)
− Make links clickable (not too small)
− Easy navigation structure that is easy to find
− ...
11
12. On fragmentation
Convergence is coming
Javascript becomes more and more the standard
Desktop html works on mobile devices
12
13. More interesting data
United States Handset Data - April 2009 India Handset Data - April 2009
Requests: 3,538,714,000 Requests: 447,079,855
480x320 px
176x220 px
240x320 px
320 x 240 px
480x320 px
Palm pre: 480 x 320
13
Source: AdMob
14. Complexity
Optmization of download size
− Network connections are not always optimal (between 50kb/s –
1,8Mbit/s
− Don’t let the user wait, don’t let him download content that he will
not use
Bring relevant content to the mobile user
− Understand what he will look for (think and plan well!!)
− Is not easy (especially for the customer)
14
17. General Login or Register
Form a multi-column based site going towards a 1
column site
We are talking about generic designs
Second navigation
New forum posts
17 New Comments
Sponsors etc ...
18. Design
Rules of thumb
− No fixed margins
− No floats
− No big fixed fonts
− Reduce the usage of tables (or reduce the number of columns)
− Make a block with links to views like
• Most recent comments
• Most recent forum topics
− Remove node content from frontpage
− Replace the user login block by a link
− Navigation in a dropdown list works well
− No who is online, who is new kind of blogs (not relevant)
− You can make things sexy for iphone, android, ...
18
25. Mobile modules for Drupal
Many attempts in the comunity
Focus on
− Providing mobile themes (e.g. iUI, mobile theme)
− Theme switching
− Mobile payments
Not a lot of demos
General no proven long term strategy
An overview on
http://mobiledrupal.com/content/overview-mobile-modules-drupal
25
26. Some Drupal modules
Under my maintenance – Co-maintainers welcome!
http://drupal.org/project/mobile_tools
(release 6.x-1.7)
http://drupal.org/project/siruna
(release 6.x-1.0-beta)
http://drupal.org/project/wurfl
(release 6.x-dev)
Planned:
− Image resizing module
− Video transcoding solution (based on Media Mover)
− Providing some more mobile themes
26
27. First define the flow (4 steps)
Device Detection
(Mobile device, desktop, PSP, ...)
Switching
(Make sure the user gets access to the best site)
Functionality + content
(What functionality and content is relevant for the device)
Theming
(Layout, image resizing, navigation, table linearization)
27
28. User notification / redirection
Device detection
− Notify mobile users for the existence of a mobile site
− Automatically redirect mobile users to the mobile site
− Provide custom configurable message: e.g.: “View mobile |
classic”
− Support for Browscap, Wurfl and other third party device detection
modules
28
29. Mobile permissions
Mobile context in the permission system
− Roles of the mobile visitor gets replaced by a mobile variant of his
normal roles
− Administrator can use role permissions to toggle functionality
• Node Acces, Menu per role, etc ... Can help
− = Mobile context for permissions
− Very powerfull tool to toggle functionality on your mobile site!
29
30. Theme switching
Theme switching (based on device group if needed)
Based on domain name or device detection
Switching per device group (Android, iPhone, etc ...)
30
32. Creating the mobile look
Two main solutions
Create you own themes (see rules of thumb)
− No fixed margins Currently high risk and
− No floats complexity, but allows more
− No big fixed fonts
− Reduce the usage of tables (or reduce the number of columns) creativity!
− Make a block with links to views like
• Most recent comments
• Most recent forum topics
− Remove node content from frontpage
− Replace the user login block by a link
− Navigation in a dropdown list works well
− No who is online, who is new kind of blogs (not relevant)
− You can make things sexy for iphone, android, ...
Use an adaptation service (like Siruna ;))
− Does most of the work for you (image transcoding, device
detection, adaptation for difference devices)
− Build in functionality to help creating different versions
− Fast prototyping
− High Quality
33. Adaptation engine =
proxy to the mobile user
Mobile URL Desktop URL
DNS
Adaptation
engine
Website / XML stream
35. How does it work?
Automatic
Content
Device Content Adaptation
Detection Adaptation
Engine
Select
Content Menu
Fetcher
Select mobile
content
Adapt Style
35
36. Content adaptation engine
Siruna Composer
Previewing XML based rules
(http://open.siruna.org/documentation/sitemap-api)
36
37. XML scripting language:
syntax
<map:transform />
means you want to define a transformation on the content.
<map:transform type=“sirunaElementTransformer” />
means you want to use an “Element Transformer”
(http://open.siruna.org/documentation/sitemap-api for more
transformers.
<map:transform type=“sirunaElementTransformer>
<map:parameter name="task0"
value="remove(//p:form[@id='comment-form']//p:fieldset)" />
</map:transform>
=> Means you want to remove the fieldset of the form
41. Siruna module
Tight integration between Siruna and Drupal
Flexible definition of filters for content types, menu
pages, views and individual pages
Duplication of theme enabling a “mobile configuration”
for the mobile users
Possibility to apply predefined adaptations
Previewing of the mobile site from within Drupal
41
42. Predefined adaptations
Module allows creating adaptation for your own
themes
Creation of a repository of mobile adaptations
42
43. Define your filters
Filter is a adaptation pipeline for group of pages
− E.g. Specific pages or nodetypes can have a different filter!
Powerfull concept to make complex sites mobile!
43