Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Siruna presentation Mobile Drupal @ Drupalcamp Colorado Jun09 - Presentation Transcript

    1. Basics of making mobile websites with Drupal Tom Deryckere Software Architect / Siruna @twom
    2. Technology Trends 25 years ago :The first GSM:11 kg Today: iPhoney’s, HSDPA, MID’s
    3. Technology that works From WAP to iMode to xHTML
    4. Network side TECHNOLOGY From slow connections to fast connections
    5. 5
    6. Making content mobile is the basis Making mobile content useful and usable is the need 6
    7. Mobile Web Applications that : Work on a phone Fit on a phone Make SENSE on a phone Call to ACTION and have REVENUE models 7
    8. Examples (Drupal) DrupalCon Paris: http://drupalcon.siruna.com Slate: http://twom.slate.mobixx.eu 8
    9. Examples (Drupal) Garland mobile: http://twom.garland.mobixx.eu Marina: http://twom.marina.mobixx.eu Zen: http://twom.zen.mobixx.eu XIO: http://xio.siruna.com http://portal.siruna.com 9
    10. WHERE IS THE COMPLEXITY 10
    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
    15. Complexity Simple (double) navigation No video Easy access to stories 15
    16. SOME MORE EXAMPLES 16
    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
    19. Examples 19
    20. Examples 20
    21. Examples 21
    22. Examples 22
    23. Examples 23
    24. THE TOOLS 24
    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
    31. Demo 1 31
    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
    34. The Siruna platform Website XML Feed 34
    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
    38. Adaptations (some examples) Remove content (example remove content of nodes on frontpage) < <map:transform type="sirunaElementTransformer"> <map:parameter name="task0" value="remove(//p:div[@class='views-field-teaser'])" /> </map:transform> Make drupal forms mobile friendly: <map:transform type="sirunaElementTransformer"> <map:parameter name="task0" value="remove(//p:form[@id='comment-form']//p:fieldset)" /> <map:parameter name="task1" value="removeAttribute(//p:textarea, cols)" /> <map:parameter name="task2" value="removeAttribute(//p:input, size)" /> <map:parameter name="task3" value="setAttribute(//p:textarea, rows, 3)" /> <map:parameter name="task4" value="setAttribute(//p:textarea, style, width:90%)" /> <map:parameter name="task5" value="setAttribute(//p:form[@id='comment-form']//p:input, style, width:90%)" /> </map:transform> 38
    39. Adaptations (examples) Extract several menu structures and collect as dropdown <map:transform type="sirunaMenuExtractor"> <map:parameter name="task0" value="extract(//p:ul[@class='links primary-links'], false, false, true)" /> <map:parameter name="task1" value="extract(//p:ul[@class='links secondary-links'], false, false, true)" /> </map:transform> <map:transform type="sirunaMenuInserter"> <map:parameter name="select_current_url" value="true" /> </map:transform> Change / remove CSS attributes <map:transform type="sirunaCSSTransformer"> <map:parameter name="task0" value="addCSSItemAttribute(.front #block-block-13, background-position, center)" /> <map:parameter name="task1" value="removeCSSItemAttribute(#block-block-13, height)" /> <map:parameter name="task2" value="removeCSSItemAttribute(#block-block-13, margin-bottom)" /> <map:parameter name="task3" value="removeCSSItemAttribute(#block-block-13, margin-top)" /> <map:parameter name="task4" value="removeCSSItemAttribute(#block-block-13, padding-top)" /> <map:parameter name="task5" value="addCSSItemAttribute(#block-block-13, background-position, center)" /> </map:transform> 39
    40. Adaptations (examples) Different adaptations for different devices: <map:select type="sirunaExpressionSelector"> <map:when test="width &lt; 160 || !imageSupported"> <map:transform type="sirunaElementTransformer"> <map:parameter name="task0" value="remove(//p:div[@id='contentsurround']//p:img)" /> </map:transform> </map:when> </map:select> Analtyics inserter <map:transform type="sirunaGoogleAnalyticsInserter"> <map:parameter name="identifier" value="UA-2883003-5"/> </map:transform> 40
    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
    44. Demo 2 44
    45. Contact Mail : Tom.Deryckere@siruna.com Blog: http://www.mobiledrupal.com Twitter: @twom, @siruna Siruna: http://www.siruna.com, http://open.siruna.com Looking for partnerships with Drupal agencies and developers! 45

    + Tom DeryckereTom Deryckere, 4 months ago

    custom

    1281 views, 1 favs, 4 embeds more stats

    Presentation given during Drupal Camp Colorado 2009 more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1281
      • 982 on SlideShare
      • 299 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 70
    Most viewed embeds
    • 280 views on http://www.mobiledrupal.com
    • 15 views on http://mobiledrupal.com
    • 3 views on http://webizrada.com
    • 1 views on http://smilesinc.com

    more

    All embeds
    • 280 views on http://www.mobiledrupal.com
    • 15 views on http://mobiledrupal.com
    • 3 views on http://webizrada.com
    • 1 views on http://smilesinc.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories