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
0 comments
Post a comment