SlideShare a Scribd company logo
1 of 12
Mobile site (in eZ
   Publish)
About me

•   Igor Vrdoljak (Netgen crew)



•   Working with eZ Publish for 8 years
•   Nowdays mostly doing PM work  but still trying to
    stay in the loop with eZ development
•   @ivrdoljak
•   igor@netgen.hr
What is so special with mobile web on eZ?




•   Nothing really
    •   More-less just a siteaccess with simplified design and big UI
        elements for fat fingers 
•   But...
    •   Devil is in the details
What are things to have in mind?




•   A few points to touch on:
    •   Content strategy and mobile site content architecture
    •   Mobile device detection
    •   Tailoring your HTML(5) / CSS for mobile browsers
    •   Using geolocation features
    •
Content

•   eZ Publish content (model) is the king!
    •   Organize your classes for content reusage
         • (Not only mobile web)

    •   “Mobile” class attributes
•   Different ways of organizing the content for mobile
    site
    •   Using the same content tree as in desktop siteaccesses
         • Google search hits work when coupled with proper device
           detection
         • Easy switching between mobile and desktop site

    •   Separate subtree for mobile site
         • When content gets too messy, on legacy installations.

    •   Mix of two above
Device detection

•   If you build it, they will come.
    •   Not really true
•   We need to redirect mobile users to right “mobile”
    pages
    •   Google result links
    •   Twitter links
    •

•   Several options available:
    •   Redirecting in Javascript
    •   Using server-side mobile detection provided by eZ Publish
    •   A little hack that improves on server-side redirection
Device detection

•   As of eZ 4.7 there is a solution for detection of mobile
    clients integrated in eZ Publish
        •   Configured in site.ini:

            DetectMobileDevice=enabled
            MobileSiteAccessURL=http://m.telx.netgen.biz/
            MobileSiteAccessList[]=m
            MobileDeviceDetectCookieTimeout=7200
            MobileDeviceFilterClass=ezpMobileDeviceRegexpFilter


       Easy to setup, but
    •       does not support switching to appropriate URL, just redirects
            to mobile homepage
Device detection

•   Hackish improvement for server-side mobile
    detection
•   Custom PHP code, called from config.php
•   Resolves the problem of redirecting between
    corresponding mobile and desktop pages
•   Rather rough on the edges but does the work 
•   Jump to code...
Client side best practices

•   Standard eZ templateing
    •   Simple, but efficient way of improving UX
    •   HTML5 markup elements, CSS3 JS...
•   Be good to your lazy front-side developers
    •   Support LESS
    •   eZ Less can be used with to preprocess CSS
         • http://www.ezless.org/

         • https://github.com/stdclass/ezless
Geolocation with eZ Find

•   Mobile users are usually... mobile
    •   Geolocation features based on ezgmaplocation attributes
    •   Example: boosting geo-tagged objects with Haversine
        distance formula (Solr 3.1) can be used to calculate distance
        between points on sphere (like Earth)
         • Distance returned as SOLR score from eZ Find

    •   GeohashHarvesine example

    ghhsin(6378000,geohash(lat,lng),geohash(lat1, lng1))
Conclusion

•   Mobile strategy is a moving target
    •   Responsive web design – one HTML to rule them all
    •   Separate mobile site – when aiming a specific context
    •   Integration with native applications via APIs
         • App Factory

         • REST APIs

•   A lot can be gained with relatively small effort
•   Be nice to your mobile users 
QA




@ivrdoljak
igor@netgen.hr

More Related Content

What's hot

Font End Development and Drupal: Gulp, Sass, Susy, and Mappy Breakpoints
Font End Development and Drupal: Gulp, Sass, Susy, and Mappy BreakpointsFont End Development and Drupal: Gulp, Sass, Susy, and Mappy Breakpoints
Font End Development and Drupal: Gulp, Sass, Susy, and Mappy BreakpointsOPIN Software Inc.
 
SPSNJ 2014: EmberJS & SharePoint
SPSNJ 2014: EmberJS & SharePointSPSNJ 2014: EmberJS & SharePoint
SPSNJ 2014: EmberJS & SharePointGreg Hurlman
 
One Neos CMS - many websites
One Neos CMS - many websitesOne Neos CMS - many websites
One Neos CMS - many websitespunkt.de GmbH
 
Kickstart android development with xamarin
Kickstart android development with xamarinKickstart android development with xamarin
Kickstart android development with xamarinFoyzul Karim
 
MobileClient
MobileClientMobileClient
MobileClientrpatil82
 
LinkedIn Mobile: How do we do it?
LinkedIn Mobile: How do we do it?LinkedIn Mobile: How do we do it?
LinkedIn Mobile: How do we do it?phegaro
 
Ohio Devfest - Visual Analysis with GCP
Ohio Devfest - Visual Analysis with GCPOhio Devfest - Visual Analysis with GCP
Ohio Devfest - Visual Analysis with GCPWesley Workman
 
Portal - Lego set for app development
Portal - Lego set for app developmentPortal - Lego set for app development
Portal - Lego set for app developmentbdaw
 
A practical approach on - How to design offline-online synchronization system
A practical approach on - How to design offline-online synchronization systemA practical approach on - How to design offline-online synchronization system
A practical approach on - How to design offline-online synchronization systemFoyzul Karim
 
Webcomponents are your frameworks best friend
Webcomponents are your frameworks best friendWebcomponents are your frameworks best friend
Webcomponents are your frameworks best friendFilip Bruun Bech-Larsen
 
Building services for apps on a shoestring budget
Building services for apps on a shoestring budgetBuilding services for apps on a shoestring budget
Building services for apps on a shoestring budgetRobert MacLean
 
Becoming a Software Developer
Becoming a Software DeveloperBecoming a Software Developer
Becoming a Software DeveloperXyples LLC
 

What's hot (20)

Font End Development and Drupal: Gulp, Sass, Susy, and Mappy Breakpoints
Font End Development and Drupal: Gulp, Sass, Susy, and Mappy BreakpointsFont End Development and Drupal: Gulp, Sass, Susy, and Mappy Breakpoints
Font End Development and Drupal: Gulp, Sass, Susy, and Mappy Breakpoints
 
SPSNJ 2014: EmberJS & SharePoint
SPSNJ 2014: EmberJS & SharePointSPSNJ 2014: EmberJS & SharePoint
SPSNJ 2014: EmberJS & SharePoint
 
Domaine Driven Design - Bordeaux IO
Domaine Driven Design - Bordeaux IODomaine Driven Design - Bordeaux IO
Domaine Driven Design - Bordeaux IO
 
One Neos CMS - many websites
One Neos CMS - many websitesOne Neos CMS - many websites
One Neos CMS - many websites
 
Naki tech
Naki techNaki tech
Naki tech
 
Kickstart android development with xamarin
Kickstart android development with xamarinKickstart android development with xamarin
Kickstart android development with xamarin
 
MobileClient
MobileClientMobileClient
MobileClient
 
LinkedIn Mobile: How do we do it?
LinkedIn Mobile: How do we do it?LinkedIn Mobile: How do we do it?
LinkedIn Mobile: How do we do it?
 
Ohio Devfest - Visual Analysis with GCP
Ohio Devfest - Visual Analysis with GCPOhio Devfest - Visual Analysis with GCP
Ohio Devfest - Visual Analysis with GCP
 
Neos CMS and SEO
Neos CMS and SEONeos CMS and SEO
Neos CMS and SEO
 
JetvsAdf
JetvsAdfJetvsAdf
JetvsAdf
 
Portal - Lego set for app development
Portal - Lego set for app developmentPortal - Lego set for app development
Portal - Lego set for app development
 
Asp.net
Asp.netAsp.net
Asp.net
 
Website
WebsiteWebsite
Website
 
A practical approach on - How to design offline-online synchronization system
A practical approach on - How to design offline-online synchronization systemA practical approach on - How to design offline-online synchronization system
A practical approach on - How to design offline-online synchronization system
 
Top 10 Android Apps
Top 10 Android AppsTop 10 Android Apps
Top 10 Android Apps
 
Webcomponents are your frameworks best friend
Webcomponents are your frameworks best friendWebcomponents are your frameworks best friend
Webcomponents are your frameworks best friend
 
Building services for apps on a shoestring budget
Building services for apps on a shoestring budgetBuilding services for apps on a shoestring budget
Building services for apps on a shoestring budget
 
Frameworks and webcomponents
Frameworks and webcomponentsFrameworks and webcomponents
Frameworks and webcomponents
 
Becoming a Software Developer
Becoming a Software DeveloperBecoming a Software Developer
Becoming a Software Developer
 

Viewers also liked

VIStology: Mining the Malaysian Sopo Blogosphere
VIStology: Mining the Malaysian Sopo BlogosphereVIStology: Mining the Malaysian Sopo Blogosphere
VIStology: Mining the Malaysian Sopo BlogosphereBrian Ulicny
 
Recovery_isea_2009
Recovery_isea_2009Recovery_isea_2009
Recovery_isea_2009lyndon3000
 
Jyrie Lossenko Sverd 091007
Jyrie Lossenko Sverd 091007Jyrie Lossenko Sverd 091007
Jyrie Lossenko Sverd 091007ulfsan
 
Mobile payments Today
Mobile payments TodayMobile payments Today
Mobile payments TodayMika Li
 
Getting to plan_b_a_revi
Getting to plan_b_a_reviGetting to plan_b_a_revi
Getting to plan_b_a_reviJames Taylor
 
Toward Formal Reasoning with Epistemic Policies about Information Quality i...
  Toward Formal Reasoning with Epistemic Policies about Information Quality i...  Toward Formal Reasoning with Epistemic Policies about Information Quality i...
Toward Formal Reasoning with Epistemic Policies about Information Quality i...Brian Ulicny
 

Viewers also liked (7)

VIStology: Mining the Malaysian Sopo Blogosphere
VIStology: Mining the Malaysian Sopo BlogosphereVIStology: Mining the Malaysian Sopo Blogosphere
VIStology: Mining the Malaysian Sopo Blogosphere
 
Networking
NetworkingNetworking
Networking
 
Recovery_isea_2009
Recovery_isea_2009Recovery_isea_2009
Recovery_isea_2009
 
Jyrie Lossenko Sverd 091007
Jyrie Lossenko Sverd 091007Jyrie Lossenko Sverd 091007
Jyrie Lossenko Sverd 091007
 
Mobile payments Today
Mobile payments TodayMobile payments Today
Mobile payments Today
 
Getting to plan_b_a_revi
Getting to plan_b_a_reviGetting to plan_b_a_revi
Getting to plan_b_a_revi
 
Toward Formal Reasoning with Epistemic Policies about Information Quality i...
  Toward Formal Reasoning with Epistemic Policies about Information Quality i...  Toward Formal Reasoning with Epistemic Policies about Information Quality i...
Toward Formal Reasoning with Epistemic Policies about Information Quality i...
 

Similar to Mobile web in eZ Publish

Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Nuxeo
 
Going Mobile with HTML5
Going Mobile with HTML5Going Mobile with HTML5
Going Mobile with HTML5John Reiser
 
Building mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and BackboneBuilding mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and BackboneTroy Miles
 
Building mobile apps with PhoneGap and Titanium appcelerator
Building mobile apps with PhoneGap and Titanium appceleratorBuilding mobile apps with PhoneGap and Titanium appcelerator
Building mobile apps with PhoneGap and Titanium appceleratorChris Ward
 
Building an Adaptive App in Ember
Building an Adaptive App in EmberBuilding an Adaptive App in Ember
Building an Adaptive App in EmberFeather Knee
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile DevelopmentManesh Lad
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo MobileAndrew Ferrier
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsAlius Petraška
 
The things we found in your website
The things we found in your websiteThe things we found in your website
The things we found in your websitehernanibf
 
Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Indiginox
 
React native - React(ive) Way To Build Native Mobile Apps
React native - React(ive) Way To Build Native Mobile AppsReact native - React(ive) Way To Build Native Mobile Apps
React native - React(ive) Way To Build Native Mobile AppsJimit Shah
 
Doag wysiwyg
Doag wysiwygDoag wysiwyg
Doag wysiwygLuc Bors
 
Starting from scratch in 2017
Starting from scratch in 2017Starting from scratch in 2017
Starting from scratch in 2017Stefano Bonetta
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentsaritasingh19866
 
Getting started with Couchbase
Getting started with CouchbaseGetting started with Couchbase
Getting started with CouchbaseJosue Bustos
 
Going Multi-Tenant with dotCMS
Going Multi-Tenant with dotCMSGoing Multi-Tenant with dotCMS
Going Multi-Tenant with dotCMSdotCMS
 
Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copyDavid O'Dowd
 

Similar to Mobile web in eZ Publish (20)

Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
Going Mobile with HTML5
Going Mobile with HTML5Going Mobile with HTML5
Going Mobile with HTML5
 
Mobile native-hacks
Mobile native-hacksMobile native-hacks
Mobile native-hacks
 
Building mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and BackboneBuilding mobile apps with PhoneGap and Backbone
Building mobile apps with PhoneGap and Backbone
 
Building mobile apps with PhoneGap and Titanium appcelerator
Building mobile apps with PhoneGap and Titanium appceleratorBuilding mobile apps with PhoneGap and Titanium appcelerator
Building mobile apps with PhoneGap and Titanium appcelerator
 
Building an Adaptive App in Ember
Building an Adaptive App in EmberBuilding an Adaptive App in Ember
Building an Adaptive App in Ember
 
adaptive_ember
adaptive_emberadaptive_ember
adaptive_ember
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile apps
 
The things we found in your website
The things we found in your websiteThe things we found in your website
The things we found in your website
 
Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?Why Do Mobile Projects Fail?
Why Do Mobile Projects Fail?
 
The Developers World
The Developers WorldThe Developers World
The Developers World
 
React native - React(ive) Way To Build Native Mobile Apps
React native - React(ive) Way To Build Native Mobile AppsReact native - React(ive) Way To Build Native Mobile Apps
React native - React(ive) Way To Build Native Mobile Apps
 
Doag wysiwyg
Doag wysiwygDoag wysiwyg
Doag wysiwyg
 
Starting from scratch in 2017
Starting from scratch in 2017Starting from scratch in 2017
Starting from scratch in 2017
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps development
 
Getting started with Couchbase
Getting started with CouchbaseGetting started with Couchbase
Getting started with Couchbase
 
Going Multi-Tenant with dotCMS
Going Multi-Tenant with dotCMSGoing Multi-Tenant with dotCMS
Going Multi-Tenant with dotCMS
 
Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copy
 

Recently uploaded

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
[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
 
🐬 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
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 

Recently uploaded (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Mobile web in eZ Publish

  • 1. Mobile site (in eZ Publish)
  • 2. About me • Igor Vrdoljak (Netgen crew) • Working with eZ Publish for 8 years • Nowdays mostly doing PM work  but still trying to stay in the loop with eZ development • @ivrdoljak • igor@netgen.hr
  • 3. What is so special with mobile web on eZ? • Nothing really • More-less just a siteaccess with simplified design and big UI elements for fat fingers  • But... • Devil is in the details
  • 4. What are things to have in mind? • A few points to touch on: • Content strategy and mobile site content architecture • Mobile device detection • Tailoring your HTML(5) / CSS for mobile browsers • Using geolocation features •
  • 5. Content • eZ Publish content (model) is the king! • Organize your classes for content reusage • (Not only mobile web) • “Mobile” class attributes • Different ways of organizing the content for mobile site • Using the same content tree as in desktop siteaccesses • Google search hits work when coupled with proper device detection • Easy switching between mobile and desktop site • Separate subtree for mobile site • When content gets too messy, on legacy installations. • Mix of two above
  • 6. Device detection • If you build it, they will come. • Not really true • We need to redirect mobile users to right “mobile” pages • Google result links • Twitter links • • Several options available: • Redirecting in Javascript • Using server-side mobile detection provided by eZ Publish • A little hack that improves on server-side redirection
  • 7. Device detection • As of eZ 4.7 there is a solution for detection of mobile clients integrated in eZ Publish • Configured in site.ini: DetectMobileDevice=enabled MobileSiteAccessURL=http://m.telx.netgen.biz/ MobileSiteAccessList[]=m MobileDeviceDetectCookieTimeout=7200 MobileDeviceFilterClass=ezpMobileDeviceRegexpFilter  Easy to setup, but • does not support switching to appropriate URL, just redirects to mobile homepage
  • 8. Device detection • Hackish improvement for server-side mobile detection • Custom PHP code, called from config.php • Resolves the problem of redirecting between corresponding mobile and desktop pages • Rather rough on the edges but does the work  • Jump to code...
  • 9. Client side best practices • Standard eZ templateing • Simple, but efficient way of improving UX • HTML5 markup elements, CSS3 JS... • Be good to your lazy front-side developers • Support LESS • eZ Less can be used with to preprocess CSS • http://www.ezless.org/ • https://github.com/stdclass/ezless
  • 10. Geolocation with eZ Find • Mobile users are usually... mobile • Geolocation features based on ezgmaplocation attributes • Example: boosting geo-tagged objects with Haversine distance formula (Solr 3.1) can be used to calculate distance between points on sphere (like Earth) • Distance returned as SOLR score from eZ Find • GeohashHarvesine example ghhsin(6378000,geohash(lat,lng),geohash(lat1, lng1))
  • 11. Conclusion • Mobile strategy is a moving target • Responsive web design – one HTML to rule them all • Separate mobile site – when aiming a specific context • Integration with native applications via APIs • App Factory • REST APIs • A lot can be gained with relatively small effort • Be nice to your mobile users 