SlideShare a Scribd company logo
1 of 38
Download to read offline
WEBSITE ADAPTATION & FORMATTING LAYER
   Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
OVERVIEW

๏     Introduction
๏     Approach & architecture
๏     Practical information
๏     Usability
๏     Performance
๏     Wrap up



                                                                         2
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
MOBILE INTERNET TODAY


๏     Most CMSs deliver
      desktop-only websites

➡     Bad mobile browsing
      experience




                                                                         3
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
CURRENT SOLUTIONS


                                                                         ๏     Template switchers
                                                                         ๏     Basic content adaptation

                                                                               ➡    Not user friendly
                                                                               ➡    Far from optimal




                                                                     4
Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
MISSION


๏     Develop a Joomla! extension that ...

      ๏    detects a mobile device
      ๏    performs device-specific content adaptation
      ๏    is as generic as possible




                                                                         5
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
OVERVIEW

๏     Introduction
๏     Approach & architecture
๏     Practical information
๏     Usability
๏     Performance
๏     Wrap up



                                                                         6
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
APPROACH

         USE SIRUNA PLATFORM

USABILITY - PERFORMANCE - MODIFIABILITY




                   7
OPEN PLATFORM (AGPL)

                       ADVANCED DEVICE DETECTION
                      CONTENT ADAPTATION MODULE
                       CONTENT FETCHING MODULE


               MORE INFO : HTTP://OPEN.SIRUNA.ORG



                                                                     8
Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
MAIN SIRUNA FUNCTIONALITY

๏     Image adaptation (scaling, reduce file size, transcode...)

๏     Rearrange content

๏     Adapt the menu structure

๏     Replace JavaScript functionality

๏     Replace original advertisement banners by mobile
      advertisement banners


                                                                         9
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
ORIGINAL SIRUNA USE
                                           Siruna                                                                    Website
 1. Request page

                                         2. Request page


                                                                                                                        3. Send page


                                      4. Transform page




                                   5. Deliver mobile page




                                                                    10
Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
OUR APPROACH
                              Joomla! & WAFL                                                                            Siruna
 1. Request page
                                2. Perform device detection


                                          3. Send redirect

 4. Request page

                                                                                                                      5. Request page

                                  6. Generate mobile page


                                            7. Send page
                                                                                                                   8. Transform page



                                                                                                                 9. Deliver mobile page




                                                                    11
Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
JOOMLA! EXTENSIONS
๏   Component
    ๏   Only one per page
    ๏   Defines main content
๏   Module
    ๏   Complements content of a component
๏   Plugin
    ๏   Implements extra functionality
๏   Template

                                                                    12
Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
WAFL EXTENSION STRUCTURE


๏     Main functionality plugin
๏     Admin panel component
๏     Basic mobile template

๏     Supporting module and 2 plugins
➡     Community can develop extra supporting modules/plugins




                                                                        13
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
OVERVIEW

๏     Introduction
๏     Approach & architecture
๏     Practical information
๏     Usability
๏     Performance
๏     Wrap up



                                                                        14
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
TEAM

๏     Kristof Vandermeeren - Project Manager
๏     Robin Leblon - Configuration Manager
๏     Heiko Desruelle - Test Manager
๏     Rob Vanden Meersche - Test Manager
๏     Stijn De Vos - Scribe & Documentation Manager
๏     Klaas Lauwers - Developer
๏     Mattias Poppe - Developer
๏     Daan Van Britsom - Developer


                                                                        15
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
TESTING

๏     2 test managers
๏     phpUnderControl
๏     Joomla! testing framework
๏     Types
      ๏    Unit
      ๏    Integration
      ๏    Performance
      ๏    Acceptance


                                                                        16
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
COVERAGE & METRICS




                                                                    17
Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
OVERVIEW

๏     Introduction
๏     Approach & architecture
๏     Practical information
๏     Usability
๏     Performance
๏     Wrap up



                                                                        18
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
EASY INSTALLATION


๏     WAFL Joomla! extension == 6 parts
๏     “One-zip-upload”
๏     Plug-and-play
๏     Uncluttered admin panel




                                                                        19
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
FEATURE LIST

๏     3 modes of operation
      ๏    Template switching
      ๏    Mobile redirect
      ๏    Siruna

๏     Mobile template based on desktop template
๏     Delivered with basic Siruna mapping



                                                                        20
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
OVERVIEW

๏     Introduction
๏     Approach & architecture
๏     Practical information
๏     Usability
๏     Performance
๏     Modifiability



                                                                        21
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
DEVICE DETECTION


๏     Bottleneck component : invoked every request
๏     Performance measures :
      ๏    Devices organized according to popularity
      ๏    Can be disabled
๏     Different updateable data sources




                                                                        22
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
DEVICE DETECTION

๏     Detection time :
      ๏    Popular mobile device : <1 ms
      ๏    Less popular/desktop : 3 ms
๏     Typical Joomla! page request (no caching) : 500 ms

๏     Accuracy :
      ๏    99 % of devices in WURFL (largest mobile device database)
๏     Typical PHP mobile detection : 80 %


                                                                        23
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
PERFORMANCE TEST RESULTS
        REQUESTS/MINUTE - MORE IS BETTER
            MEASURED WITH JOOMLA! PROFILER - CHECKED WITH JMETER




WAFL disabled         WAFL enabled - desktop              WAFL enabled - mobile
                                    24
PERFORMANCE TEST RESULTS
        REQUESTS/MINUTE - MORE IS BETTER
            MEASURED WITH JOOMLA! PROFILER - CHECKED WITH JMETER


         224                 222                                        230
                                                    212

                                                                       173


                                                                       115


                                                                   58


                                                                   0


WAFL disabled         WAFL enabled - desktop              WAFL enabled - mobile
                                    24
PERFORMANCE TEST RESULTS
        REQUESTS/MINUTE - MORE IS BETTER


                                                               1.100



                                                              825


                                                              550


                                                          275


         No caching
                       Module caching                     0
                                          Page caching

WAFL disabled         WAFL enabled - desktop         WAFL enabled - mobile
                                  27
PERFORMANCE TEST RESULTS
        REQUESTS/MINUTE - MORE IS BETTER


                                                               1.100



                                                              825


                                                              550


                                                          275


         No caching
                       Module caching                     0
                                          Page caching

WAFL disabled         WAFL enabled - desktop         WAFL enabled - mobile
                                  27
CACHING SUPPORT


๏     Support Joomla! built-in cache
๏     Use context-aware cache handlers
๏     Injection via Joomla!’s flexible binding registry

๏     No core modifications needed
➡     Unprecedented feature!




                                                                        28
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
PERFORMANCE TEST RESULTS
    BANDWIDTH USAGE - LESS IS BETTER

                                         600 KB



                                         450 KB


                                        300 KB


                                       150 KB


                                       0 KB



  WAFL disabled   Template switching          Siruna
                   29
PERFORMANCE TEST RESULTS
    BANDWIDTH USAGE - LESS IS BETTER

      544                                600 KB



                                         450 KB


                                        300 KB


                                       150 KB


                                       0 KB



  WAFL disabled   Template switching          Siruna
                   29
PERFORMANCE TEST RESULTS
    BANDWIDTH USAGE - LESS IS BETTER

      544                                      600 KB

                  483
                                               450 KB


                                              300 KB


                                             150 KB


                                             0 KB



  WAFL disabled         Template switching          Siruna
                         29
PERFORMANCE TEST RESULTS
    BANDWIDTH USAGE - LESS IS BETTER

      544                                      600 KB

                  483
                                               450 KB


                                              300 KB
                                       249
                                             150 KB


                                             0 KB



  WAFL disabled         Template switching          Siruna
                         29
OVERVIEW

๏     Introduction
๏     Approach & architecture
๏     Practical information
๏     Usability
๏     Performance
๏     Wrap up



                                                                        30
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
STRENGTHS


๏     Generic core functionality
๏     High performing implementation
๏     Easy install with “one-click-upload”
๏     Very easy to use, no technical knowledge needed




                                                                        31
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
FROM ALPHA TO BETA

๏     Further improvements :
     ๏   Improve layout mobile template (layout injection)
     ๏   Catch device detection info from Siruna and use in template
     ๏   Speed up device detection for desktops (whitelist)
     ๏   Additional settings for mobile redirect
     ๏   Automagical Siruna configuration



                                                                        32
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
STANDALONE COMPONENTS


๏     Context-aware Joomla! cache
๏     Continuous integration environment for Joomla!
๏     Highly optimised device detection


➡     Very useful for the community




                                                                        33
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
COMING UP...
๏     Next alpha release in 1 week ( June, 21)
      ๏    Safer installation
      ๏    Greatly improved layout injection
      ๏    Last alpha before beta

๏     Compatible with latest open-source Siruna version

➡     Download at http://www.wafl.ugent.be
➡     Download Siruna at http://open.siruna.org

                                                                        34
    Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
MORE INFORMATION AT
                                                                      HTTP://WWW.WAFL.UGENT.BE
                                                                       HTTP://WWW.SIRUNA.COM

                                                                        CONTACT WAFL-TEAM AT
                                                                      HEIKO.DESRUELLE@UGENT.BE

                                                                         CONTACT SIRUNA AT
                                                                      FRANK.GIELEN@SIRUNA.COM




Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren

More Related Content

More from Joomla!Days Netherlands

Beter vindbaar met Onpage SEO - Maurice Lehr - #jd15nl
Beter vindbaar met Onpage SEO - Maurice Lehr - #jd15nlBeter vindbaar met Onpage SEO - Maurice Lehr - #jd15nl
Beter vindbaar met Onpage SEO - Maurice Lehr - #jd15nlJoomla!Days Netherlands
 
Local Search: lokaal goed gevonden worden - Maurice Lehr - #jd15nl
Local Search: lokaal goed gevonden worden  - Maurice Lehr - #jd15nlLocal Search: lokaal goed gevonden worden  - Maurice Lehr - #jd15nl
Local Search: lokaal goed gevonden worden - Maurice Lehr - #jd15nlJoomla!Days Netherlands
 
Een autodealer website bouwen met Form2Content - René Kreijveld - #jd15nl
Een autodealer website bouwen met Form2Content - René Kreijveld - #jd15nlEen autodealer website bouwen met Form2Content - René Kreijveld - #jd15nl
Een autodealer website bouwen met Form2Content - René Kreijveld - #jd15nlJoomla!Days Netherlands
 
Going Live with a CheckList - René Kreijveld - #jd15nl
Going Live with a CheckList - René Kreijveld - #jd15nlGoing Live with a CheckList - René Kreijveld - #jd15nl
Going Live with a CheckList - René Kreijveld - #jd15nlJoomla!Days Netherlands
 
Joomla development & release strategy - Andrea Tarr #jd12nl
Joomla development & release strategy - Andrea Tarr #jd12nlJoomla development & release strategy - Andrea Tarr #jd12nl
Joomla development & release strategy - Andrea Tarr #jd12nlJoomla!Days Netherlands
 
Formulier extensies voor Joomla - Tijs Hensen #jd11nl
Formulier extensies voor Joomla - Tijs Hensen #jd11nlFormulier extensies voor Joomla - Tijs Hensen #jd11nl
Formulier extensies voor Joomla - Tijs Hensen #jd11nlJoomla!Days Netherlands
 
Joomla 1.7 and beyond - Hannes Papenberg
Joomla 1.7 and beyond - Hannes PapenbergJoomla 1.7 and beyond - Hannes Papenberg
Joomla 1.7 and beyond - Hannes PapenbergJoomla!Days Netherlands
 
Gezien vanuit de andere hoek - Joomla!Days NL 2010 #jd10nl
Gezien vanuit de andere hoek -  Joomla!Days NL 2010 #jd10nlGezien vanuit de andere hoek -  Joomla!Days NL 2010 #jd10nl
Gezien vanuit de andere hoek - Joomla!Days NL 2010 #jd10nlJoomla!Days Netherlands
 
Building a successful open source business model - Joomla!Days NL 2010 #jd10nl
Building a successful open source business model  -  Joomla!Days NL 2010 #jd10nlBuilding a successful open source business model  -  Joomla!Days NL 2010 #jd10nl
Building a successful open source business model - Joomla!Days NL 2010 #jd10nlJoomla!Days Netherlands
 
K2 for beginners - Joomla!Days NL 2010 #jd10nl
K2 for beginners  -  Joomla!Days NL 2010 #jd10nlK2 for beginners  -  Joomla!Days NL 2010 #jd10nl
K2 for beginners - Joomla!Days NL 2010 #jd10nlJoomla!Days Netherlands
 
Building mobile website with Joomla - Joomla!Days NL 2010 #jd10nl
Building mobile website with Joomla -  Joomla!Days NL 2010 #jd10nlBuilding mobile website with Joomla -  Joomla!Days NL 2010 #jd10nl
Building mobile website with Joomla - Joomla!Days NL 2010 #jd10nlJoomla!Days Netherlands
 
Joomla websites beheren - Joomla!Days NL 2010 #jd10nl
Joomla websites beheren -  Joomla!Days NL 2010 #jd10nlJoomla websites beheren -  Joomla!Days NL 2010 #jd10nl
Joomla websites beheren - Joomla!Days NL 2010 #jd10nlJoomla!Days Netherlands
 

More from Joomla!Days Netherlands (20)

Beter vindbaar met Onpage SEO - Maurice Lehr - #jd15nl
Beter vindbaar met Onpage SEO - Maurice Lehr - #jd15nlBeter vindbaar met Onpage SEO - Maurice Lehr - #jd15nl
Beter vindbaar met Onpage SEO - Maurice Lehr - #jd15nl
 
Local Search: lokaal goed gevonden worden - Maurice Lehr - #jd15nl
Local Search: lokaal goed gevonden worden  - Maurice Lehr - #jd15nlLocal Search: lokaal goed gevonden worden  - Maurice Lehr - #jd15nl
Local Search: lokaal goed gevonden worden - Maurice Lehr - #jd15nl
 
JUGs Presentatie - #jd15nl
JUGs Presentatie - #jd15nlJUGs Presentatie - #jd15nl
JUGs Presentatie - #jd15nl
 
Een autodealer website bouwen met Form2Content - René Kreijveld - #jd15nl
Een autodealer website bouwen met Form2Content - René Kreijveld - #jd15nlEen autodealer website bouwen met Form2Content - René Kreijveld - #jd15nl
Een autodealer website bouwen met Form2Content - René Kreijveld - #jd15nl
 
Going Live with a CheckList - René Kreijveld - #jd15nl
Going Live with a CheckList - René Kreijveld - #jd15nlGoing Live with a CheckList - René Kreijveld - #jd15nl
Going Live with a CheckList - René Kreijveld - #jd15nl
 
Joomla development & release strategy - Andrea Tarr #jd12nl
Joomla development & release strategy - Andrea Tarr #jd12nlJoomla development & release strategy - Andrea Tarr #jd12nl
Joomla development & release strategy - Andrea Tarr #jd12nl
 
Joomla Bug Squad - Andrea Tarr #jd12nl
Joomla Bug Squad - Andrea Tarr #jd12nlJoomla Bug Squad - Andrea Tarr #jd12nl
Joomla Bug Squad - Andrea Tarr #jd12nl
 
Joomla! 3.0 - Andrea Tarr #jd12nl
Joomla! 3.0 - Andrea Tarr #jd12nlJoomla! 3.0 - Andrea Tarr #jd12nl
Joomla! 3.0 - Andrea Tarr #jd12nl
 
Joomla Governance - Paul Orwig #jd12nl
Joomla Governance - Paul Orwig #jd12nlJoomla Governance - Paul Orwig #jd12nl
Joomla Governance - Paul Orwig #jd12nl
 
Joomla Project - Paul Orwig #jd12nl
Joomla Project - Paul Orwig #jd12nlJoomla Project - Paul Orwig #jd12nl
Joomla Project - Paul Orwig #jd12nl
 
Joomla V - Paul Delbar #jd12nl
Joomla V - Paul Delbar #jd12nlJoomla V - Paul Delbar #jd12nl
Joomla V - Paul Delbar #jd12nl
 
CCK ZOO - Dick Verschuur #jd12nl
CCK ZOO - Dick Verschuur #jd12nlCCK ZOO - Dick Verschuur #jd12nl
CCK ZOO - Dick Verschuur #jd12nl
 
Formulier extensies voor Joomla - Tijs Hensen #jd11nl
Formulier extensies voor Joomla - Tijs Hensen #jd11nlFormulier extensies voor Joomla - Tijs Hensen #jd11nl
Formulier extensies voor Joomla - Tijs Hensen #jd11nl
 
Joomla als corporate cms - Ebo Eppenga
Joomla als corporate cms - Ebo EppengaJoomla als corporate cms - Ebo Eppenga
Joomla als corporate cms - Ebo Eppenga
 
Joomla 1.7 and beyond - Hannes Papenberg
Joomla 1.7 and beyond - Hannes PapenbergJoomla 1.7 and beyond - Hannes Papenberg
Joomla 1.7 and beyond - Hannes Papenberg
 
Gezien vanuit de andere hoek - Joomla!Days NL 2010 #jd10nl
Gezien vanuit de andere hoek -  Joomla!Days NL 2010 #jd10nlGezien vanuit de andere hoek -  Joomla!Days NL 2010 #jd10nl
Gezien vanuit de andere hoek - Joomla!Days NL 2010 #jd10nl
 
Building a successful open source business model - Joomla!Days NL 2010 #jd10nl
Building a successful open source business model  -  Joomla!Days NL 2010 #jd10nlBuilding a successful open source business model  -  Joomla!Days NL 2010 #jd10nl
Building a successful open source business model - Joomla!Days NL 2010 #jd10nl
 
K2 for beginners - Joomla!Days NL 2010 #jd10nl
K2 for beginners  -  Joomla!Days NL 2010 #jd10nlK2 for beginners  -  Joomla!Days NL 2010 #jd10nl
K2 for beginners - Joomla!Days NL 2010 #jd10nl
 
Building mobile website with Joomla - Joomla!Days NL 2010 #jd10nl
Building mobile website with Joomla -  Joomla!Days NL 2010 #jd10nlBuilding mobile website with Joomla -  Joomla!Days NL 2010 #jd10nl
Building mobile website with Joomla - Joomla!Days NL 2010 #jd10nl
 
Joomla websites beheren - Joomla!Days NL 2010 #jd10nl
Joomla websites beheren -  Joomla!Days NL 2010 #jd10nlJoomla websites beheren -  Joomla!Days NL 2010 #jd10nl
Joomla websites beheren - Joomla!Days NL 2010 #jd10nl
 

Recently uploaded

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Recently uploaded (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Website Adaptation & Formatting Layer

  • 1. WEBSITE ADAPTATION & FORMATTING LAYER Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 2. OVERVIEW ๏ Introduction ๏ Approach & architecture ๏ Practical information ๏ Usability ๏ Performance ๏ Wrap up 2 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 3. MOBILE INTERNET TODAY ๏ Most CMSs deliver desktop-only websites ➡ Bad mobile browsing experience 3 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 4. CURRENT SOLUTIONS ๏ Template switchers ๏ Basic content adaptation ➡ Not user friendly ➡ Far from optimal 4 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 5. MISSION ๏ Develop a Joomla! extension that ... ๏ detects a mobile device ๏ performs device-specific content adaptation ๏ is as generic as possible 5 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 6. OVERVIEW ๏ Introduction ๏ Approach & architecture ๏ Practical information ๏ Usability ๏ Performance ๏ Wrap up 6 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 7. APPROACH USE SIRUNA PLATFORM USABILITY - PERFORMANCE - MODIFIABILITY 7
  • 8. OPEN PLATFORM (AGPL) ADVANCED DEVICE DETECTION CONTENT ADAPTATION MODULE CONTENT FETCHING MODULE MORE INFO : HTTP://OPEN.SIRUNA.ORG 8 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 9. MAIN SIRUNA FUNCTIONALITY ๏ Image adaptation (scaling, reduce file size, transcode...) ๏ Rearrange content ๏ Adapt the menu structure ๏ Replace JavaScript functionality ๏ Replace original advertisement banners by mobile advertisement banners 9 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 10. ORIGINAL SIRUNA USE Siruna Website 1. Request page 2. Request page 3. Send page 4. Transform page 5. Deliver mobile page 10 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 11. OUR APPROACH Joomla! & WAFL Siruna 1. Request page 2. Perform device detection 3. Send redirect 4. Request page 5. Request page 6. Generate mobile page 7. Send page 8. Transform page 9. Deliver mobile page 11 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 12. JOOMLA! EXTENSIONS ๏ Component ๏ Only one per page ๏ Defines main content ๏ Module ๏ Complements content of a component ๏ Plugin ๏ Implements extra functionality ๏ Template 12 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 13. WAFL EXTENSION STRUCTURE ๏ Main functionality plugin ๏ Admin panel component ๏ Basic mobile template ๏ Supporting module and 2 plugins ➡ Community can develop extra supporting modules/plugins 13 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 14. OVERVIEW ๏ Introduction ๏ Approach & architecture ๏ Practical information ๏ Usability ๏ Performance ๏ Wrap up 14 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 15. TEAM ๏ Kristof Vandermeeren - Project Manager ๏ Robin Leblon - Configuration Manager ๏ Heiko Desruelle - Test Manager ๏ Rob Vanden Meersche - Test Manager ๏ Stijn De Vos - Scribe & Documentation Manager ๏ Klaas Lauwers - Developer ๏ Mattias Poppe - Developer ๏ Daan Van Britsom - Developer 15 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 16. TESTING ๏ 2 test managers ๏ phpUnderControl ๏ Joomla! testing framework ๏ Types ๏ Unit ๏ Integration ๏ Performance ๏ Acceptance 16 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 17. COVERAGE & METRICS 17 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 18. OVERVIEW ๏ Introduction ๏ Approach & architecture ๏ Practical information ๏ Usability ๏ Performance ๏ Wrap up 18 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 19. EASY INSTALLATION ๏ WAFL Joomla! extension == 6 parts ๏ “One-zip-upload” ๏ Plug-and-play ๏ Uncluttered admin panel 19 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 20. FEATURE LIST ๏ 3 modes of operation ๏ Template switching ๏ Mobile redirect ๏ Siruna ๏ Mobile template based on desktop template ๏ Delivered with basic Siruna mapping 20 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 21. OVERVIEW ๏ Introduction ๏ Approach & architecture ๏ Practical information ๏ Usability ๏ Performance ๏ Modifiability 21 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 22. DEVICE DETECTION ๏ Bottleneck component : invoked every request ๏ Performance measures : ๏ Devices organized according to popularity ๏ Can be disabled ๏ Different updateable data sources 22 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 23. DEVICE DETECTION ๏ Detection time : ๏ Popular mobile device : <1 ms ๏ Less popular/desktop : 3 ms ๏ Typical Joomla! page request (no caching) : 500 ms ๏ Accuracy : ๏ 99 % of devices in WURFL (largest mobile device database) ๏ Typical PHP mobile detection : 80 % 23 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 24. PERFORMANCE TEST RESULTS REQUESTS/MINUTE - MORE IS BETTER MEASURED WITH JOOMLA! PROFILER - CHECKED WITH JMETER WAFL disabled WAFL enabled - desktop WAFL enabled - mobile 24
  • 25. PERFORMANCE TEST RESULTS REQUESTS/MINUTE - MORE IS BETTER MEASURED WITH JOOMLA! PROFILER - CHECKED WITH JMETER 224 222 230 212 173 115 58 0 WAFL disabled WAFL enabled - desktop WAFL enabled - mobile 24
  • 26. PERFORMANCE TEST RESULTS REQUESTS/MINUTE - MORE IS BETTER 1.100 825 550 275 No caching Module caching 0 Page caching WAFL disabled WAFL enabled - desktop WAFL enabled - mobile 27
  • 27. PERFORMANCE TEST RESULTS REQUESTS/MINUTE - MORE IS BETTER 1.100 825 550 275 No caching Module caching 0 Page caching WAFL disabled WAFL enabled - desktop WAFL enabled - mobile 27
  • 28. CACHING SUPPORT ๏ Support Joomla! built-in cache ๏ Use context-aware cache handlers ๏ Injection via Joomla!’s flexible binding registry ๏ No core modifications needed ➡ Unprecedented feature! 28 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 29. PERFORMANCE TEST RESULTS BANDWIDTH USAGE - LESS IS BETTER 600 KB 450 KB 300 KB 150 KB 0 KB WAFL disabled Template switching Siruna 29
  • 30. PERFORMANCE TEST RESULTS BANDWIDTH USAGE - LESS IS BETTER 544 600 KB 450 KB 300 KB 150 KB 0 KB WAFL disabled Template switching Siruna 29
  • 31. PERFORMANCE TEST RESULTS BANDWIDTH USAGE - LESS IS BETTER 544 600 KB 483 450 KB 300 KB 150 KB 0 KB WAFL disabled Template switching Siruna 29
  • 32. PERFORMANCE TEST RESULTS BANDWIDTH USAGE - LESS IS BETTER 544 600 KB 483 450 KB 300 KB 249 150 KB 0 KB WAFL disabled Template switching Siruna 29
  • 33. OVERVIEW ๏ Introduction ๏ Approach & architecture ๏ Practical information ๏ Usability ๏ Performance ๏ Wrap up 30 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 34. STRENGTHS ๏ Generic core functionality ๏ High performing implementation ๏ Easy install with “one-click-upload” ๏ Very easy to use, no technical knowledge needed 31 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 35. FROM ALPHA TO BETA ๏ Further improvements : ๏ Improve layout mobile template (layout injection) ๏ Catch device detection info from Siruna and use in template ๏ Speed up device detection for desktops (whitelist) ๏ Additional settings for mobile redirect ๏ Automagical Siruna configuration 32 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 36. STANDALONE COMPONENTS ๏ Context-aware Joomla! cache ๏ Continuous integration environment for Joomla! ๏ Highly optimised device detection ➡ Very useful for the community 33 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 37. COMING UP... ๏ Next alpha release in 1 week ( June, 21) ๏ Safer installation ๏ Greatly improved layout injection ๏ Last alpha before beta ๏ Compatible with latest open-source Siruna version ➡ Download at http://www.wafl.ugent.be ➡ Download Siruna at http://open.siruna.org 34 Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren
  • 38. MORE INFORMATION AT HTTP://WWW.WAFL.UGENT.BE HTTP://WWW.SIRUNA.COM CONTACT WAFL-TEAM AT HEIKO.DESRUELLE@UGENT.BE CONTACT SIRUNA AT FRANK.GIELEN@SIRUNA.COM Heiko Desruelle | Stijn De Vos | Klaas Lauwers | Robin Leblon | Mattias Poppe | Daan Van Britsom | Rob Vanden Meersche | Kristof Vandermeeren