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

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
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
 
🐬 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
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
[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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 

Recently uploaded (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
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...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
[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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 

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