SlideShare a Scribd company logo
1 of 29
Download to read offline
Tips and Tricks about Plone
Development for Mobile
Platforms
Plone Conference 2012 – Arnhem
Fabiano Weimar dos Santos [Xiru]
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
2
Speaker
● I'm from Brazil ;)
● Contributed some lines to Archetypes
and ArchGenXML (many time ago)
● Msc Computer Science (Artificial
Intelligence)
● Consultant, Instructor and Sysadmin
● Plone pays my bills.
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
3
What this talk will cover
● How Plone could be used to publish
content on Mobile Platforms
● Mobile Web Development Best Practices
● HTML 5 is the way?
● When native apps are really needed
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
4
Background Work...
● SERPRO has been concerned about mobile
development
● Lots of Plone portals running on Brazilian
government and no mobile friendly content
● Concerns about the right way to do it
● Fact: Plone portals usually deliver lots of
information but on mobile that information
are not usable
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
5
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
6
Let's wake up
“Brazil is going to have 1 billion mobile devices
with Internet access in 2020”
Paulo Bernardo, 08/08/2012
Brazilian Minister of Communications
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
7
And...
In June of 2012, Brazil had 46.6 million
smartphones and tablets with 3G connection.
Agencia Brazil
08/08/2012
The population of Brazil was 190,732,694 people (2010 census)
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
8
Everybody is going mobile.
What about Plone?
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
9
On mobile...
● Information needs to be easy to access
and understand
● Data reliability and security is very
important, specially over bad networks
● Speed is not everything. Latency is also
important.
● Mobile technology is still expensive
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
10
General Tips
● Duo limitations of the mobile devices
– Simple web applications are better
– Tip: keep DOM small and limit the number of
CSS selectors you use
● Use fewer HTTP requests (the latency
monster)
● Be careful with JavaScript code
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
11
Mobile Web Best Practices
● W3C Mobile Web Best Practices 1.0
– 2008
– 60 practices
● W3C Mobile Web Application Best
Practices
– 2010
– 32 practices
● Have you read it?
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
12
The Most Important Aspects
● Portability
● Usability
● Accessibility
● Security
● Adaptation Effort
● The Learning Curve
● Observe Limitations (memory, processor,
network speed and latency)
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
13
Secure Mobile Web
Development
● OWASP - The Open Web Application
Security Project - has interesting
documents about security!
● OWASP Top 10 (security risks)
– Plone is going great here (thanks security
team)
● New: Top Ten Mobile Controls
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
14
Top 10 Mobile Controls
●
Identify and protect sensitive data on the mobile device
●
Handle password credentials securely on the device
● Ensure sensitive data is protected in transit
●
Implement user authentication,authorization and session
management correctly
●
Keep the backend APIs (services) and the platform
(server) secure
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
15
Top 10 Mobile Controls
● Secure data integration with third party services and
applications
● Pay specific attention to the collection and storage of
consent for the collection and use of the user’s data
● Implement controls to prevent unauthorized access to
paid-for resources
● Ensure secure distribution/provisioning of mobile
applications
● Carefully check any runtime interpretation of code for
errors
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
16
OK, let's suppose I'm doing
everything right
● You have 3 choices (not mutually
exclusive)
– Responsive Web Design (the Plone way)
– HTML 5 code that mimics native interfaces
– Native Apps
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
17
Native development could be
avoided
● It demands experts on several languages
and platforms because the same app needs
to be developed for more than one kind of
mobile device
– It is complex
– It costs money
– It takes time
● But, off course, native Apps still have its
advantages...
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
18
Native Apps could be used
● When you need absolute performance
● When you must exploit toolkit features
for better “User Experience”
● You already tried to deliver your data
using a web based App and it was not
enough (e.g. Facebook)
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
19
HTML 5 is the way to go?
● For most people, yes
● The final version of HTML 5 is on W3C
plans for 2014 ?!
● Plone 4.2 is HTML 5 ready!
● PhoneGap: interesting approach to
create native Apps using HTML 5,
CSS 3 and JavaScript
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
20
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
21
How Plone can deliver content
to mobile?
● Responsive Web Design
– Plone 4.2 already do that
– Tip: do not create Diazo themes with
problems that Plone already solved
● Firefox 15 shows it is practice!
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
22
Content Adaptation
● Going mobile is not making miniatures of
your website, but adapt the content to a
different media and audience
● Multimedia content (images, audio and
video) can be trick
– Tip: do not try to create different versions of
software for different devices. Try to follow
open formats and official recommendations.
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
23
Content Adaptation
● Flash must DIE!
● To detect features of HTML 5 and CSS 3
browsers use Modernizr:
– “Modernizr is a JavaScript library that
detects HTML5 and CSS3 features in the
user’s browser”
– Useful to write portable HTML 5 code
– Plone already uses it!
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
24
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
25
CSS Media Queries
● The final W3C recommendation is recent
– W3C Recommendation 19 June 2012
– @media screen and (max-device-width: 810px)
– @media (min-width:500px)
– @media (orientation: portrait)
● Tip: Plone is using it. Let's start to use it
more (specially on Diazo themes).
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
26
How about Plone Portals that
looks like a native App?
● jQuery Mobile
– Can be used to develop responsive versions
of your themes for mobile devices
– Smart choice to create native Apps using
HTML 5, CSS 3 and JavaScript and PhoneGap
– Hint: forms are much better on real mobile
devices while using the jQuery Mobile CSS
– Hint: jQuery Mobile ThemeRoller is great!
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
27
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
28
October 12, 2012 Plone Mobile Tips and Tricks
Fabiano Weimar dos Santos [Xiru]
29
Thank you
Fabiano Weimar dos Santos
xiru@xiru.org
IRC: [Xiru]
@xiru
github.com/xiru

More Related Content

Similar to Tips and Tricks about Plone Development for Mobile Platforms

SharePoint 2013 and the Enterprise Mobile Revolution
SharePoint 2013 and the Enterprise Mobile RevolutionSharePoint 2013 and the Enterprise Mobile Revolution
SharePoint 2013 and the Enterprise Mobile RevolutionJoel Oleson
 
OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021Howard Greenberg
 
SPCA2013 - SharePoint Mobile Strategy and Design
SPCA2013 - SharePoint Mobile Strategy and DesignSPCA2013 - SharePoint Mobile Strategy and Design
SPCA2013 - SharePoint Mobile Strategy and DesignNCCOMMS
 
Android Development - Why Mobile?
Android Development - Why Mobile?Android Development - Why Mobile?
Android Development - Why Mobile?Dmytro Chupov
 
ATDTK18 - design patterns for emergent learning technologies
ATDTK18 - design patterns for emergent learning technologiesATDTK18 - design patterns for emergent learning technologies
ATDTK18 - design patterns for emergent learning technologiesFloat
 
SharePoint 2013 Business Value in the Real World #SEASPC
SharePoint 2013 Business Value in the Real World #SEASPCSharePoint 2013 Business Value in the Real World #SEASPC
SharePoint 2013 Business Value in the Real World #SEASPCJoel Oleson
 
Real User Measurement Expert Panel by SOASTA
Real User Measurement Expert Panel by SOASTAReal User Measurement Expert Panel by SOASTA
Real User Measurement Expert Panel by SOASTASOASTA
 
Android technology and Information with Presentation Project.
Android technology and Information with Presentation Project.Android technology and Information with Presentation Project.
Android technology and Information with Presentation Project.TG Rajesh
 
SharePoint 2013 Mobile Strategy and Responsive Web Design
SharePoint 2013 Mobile Strategy and Responsive Web DesignSharePoint 2013 Mobile Strategy and Responsive Web Design
SharePoint 2013 Mobile Strategy and Responsive Web DesignJoel Oleson
 
Next Generation Collaboration - Presentation at ICT Spring 2013
Next Generation Collaboration - Presentation at ICT Spring 2013Next Generation Collaboration - Presentation at ICT Spring 2013
Next Generation Collaboration - Presentation at ICT Spring 2013Laura Yecies
 
Android + training + philippines
Android + training + philippinesAndroid + training + philippines
Android + training + philippinesdiosa06
 
Android + training + philippines
Android + training + philippinesAndroid + training + philippines
Android + training + philippineskerwin1116
 
Webinar: Learn how to migrate mobile workers to next generation mobility
Webinar: Learn how to migrate mobile workers to next generation mobilityWebinar: Learn how to migrate mobile workers to next generation mobility
Webinar: Learn how to migrate mobile workers to next generation mobilityAppear
 
Techniques for Designing with Drupal 8
Techniques for Designing with Drupal 8Techniques for Designing with Drupal 8
Techniques for Designing with Drupal 8Snake Hill Web Agency
 
Next Generation Collaboration - ICT Spring 2013 Luxembourg
Next Generation Collaboration - ICT Spring 2013 LuxembourgNext Generation Collaboration - ICT Spring 2013 Luxembourg
Next Generation Collaboration - ICT Spring 2013 LuxembourgLaura Yecies
 
Going Mobile with SharePoint 2013
Going Mobile with SharePoint 2013Going Mobile with SharePoint 2013
Going Mobile with SharePoint 2013Stephanie Donahue
 
How to create digital annual reports
How to create digital annual reportsHow to create digital annual reports
How to create digital annual reportsReadz
 
It's more fun in Android!
It's more fun in Android!It's more fun in Android!
It's more fun in Android!Jomar Tigcal
 

Similar to Tips and Tricks about Plone Development for Mobile Platforms (20)

SharePoint 2013 and the Enterprise Mobile Revolution
SharePoint 2013 and the Enterprise Mobile RevolutionSharePoint 2013 and the Enterprise Mobile Revolution
SharePoint 2013 and the Enterprise Mobile Revolution
 
OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021
 
SPCA2013 - SharePoint Mobile Strategy and Design
SPCA2013 - SharePoint Mobile Strategy and DesignSPCA2013 - SharePoint Mobile Strategy and Design
SPCA2013 - SharePoint Mobile Strategy and Design
 
Android Development - Why Mobile?
Android Development - Why Mobile?Android Development - Why Mobile?
Android Development - Why Mobile?
 
ATDTK18 - design patterns for emergent learning technologies
ATDTK18 - design patterns for emergent learning technologiesATDTK18 - design patterns for emergent learning technologies
ATDTK18 - design patterns for emergent learning technologies
 
SharePoint 2013 Business Value in the Real World #SEASPC
SharePoint 2013 Business Value in the Real World #SEASPCSharePoint 2013 Business Value in the Real World #SEASPC
SharePoint 2013 Business Value in the Real World #SEASPC
 
Real User Measurement Expert Panel by SOASTA
Real User Measurement Expert Panel by SOASTAReal User Measurement Expert Panel by SOASTA
Real User Measurement Expert Panel by SOASTA
 
Android technology and Information with Presentation Project.
Android technology and Information with Presentation Project.Android technology and Information with Presentation Project.
Android technology and Information with Presentation Project.
 
SharePoint 2013 Mobile Strategy and Responsive Web Design
SharePoint 2013 Mobile Strategy and Responsive Web DesignSharePoint 2013 Mobile Strategy and Responsive Web Design
SharePoint 2013 Mobile Strategy and Responsive Web Design
 
Next Generation Collaboration - Presentation at ICT Spring 2013
Next Generation Collaboration - Presentation at ICT Spring 2013Next Generation Collaboration - Presentation at ICT Spring 2013
Next Generation Collaboration - Presentation at ICT Spring 2013
 
All about android
All about androidAll about android
All about android
 
Android + training + philippines
Android + training + philippinesAndroid + training + philippines
Android + training + philippines
 
Android + training + philippines
Android + training + philippinesAndroid + training + philippines
Android + training + philippines
 
Webinar: Learn how to migrate mobile workers to next generation mobility
Webinar: Learn how to migrate mobile workers to next generation mobilityWebinar: Learn how to migrate mobile workers to next generation mobility
Webinar: Learn how to migrate mobile workers to next generation mobility
 
Techniques for Designing with Drupal 8
Techniques for Designing with Drupal 8Techniques for Designing with Drupal 8
Techniques for Designing with Drupal 8
 
Next Generation Collaboration - ICT Spring 2013 Luxembourg
Next Generation Collaboration - ICT Spring 2013 LuxembourgNext Generation Collaboration - ICT Spring 2013 Luxembourg
Next Generation Collaboration - ICT Spring 2013 Luxembourg
 
Going Mobile with SharePoint 2013
Going Mobile with SharePoint 2013Going Mobile with SharePoint 2013
Going Mobile with SharePoint 2013
 
How to create digital annual reports
How to create digital annual reportsHow to create digital annual reports
How to create digital annual reports
 
Roadmap to Development
Roadmap to DevelopmentRoadmap to Development
Roadmap to Development
 
It's more fun in Android!
It's more fun in Android!It's more fun in Android!
It's more fun in Android!
 

More from Fabiano Weimar

Plone, Zope e Python - Da Universidade ao Governo - SulComp II (2006)
Plone, Zope e Python - Da Universidade ao Governo - SulComp II (2006)Plone, Zope e Python - Da Universidade ao Governo - SulComp II (2006)
Plone, Zope e Python - Da Universidade ao Governo - SulComp II (2006)Fabiano Weimar
 
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)Fabiano Weimar
 
Meu Plone Site está lento. O que fazer???
Meu Plone Site está lento. O que fazer???Meu Plone Site está lento. O que fazer???
Meu Plone Site está lento. O que fazer???Fabiano Weimar
 
Portal SEBRAE - Quando o Plone Gerencia o Conteúdo Alheio
Portal SEBRAE - Quando o Plone Gerencia o Conteúdo AlheioPortal SEBRAE - Quando o Plone Gerencia o Conteúdo Alheio
Portal SEBRAE - Quando o Plone Gerencia o Conteúdo AlheioFabiano Weimar
 
Introducao ao sistema de gerenciamento de conteúdo Plone
Introducao ao sistema de gerenciamento de conteúdo PloneIntroducao ao sistema de gerenciamento de conteúdo Plone
Introducao ao sistema de gerenciamento de conteúdo PloneFabiano Weimar
 
Integração de sistemas legados com Plone
Integração de sistemas legados com PloneIntegração de sistemas legados com Plone
Integração de sistemas legados com PloneFabiano Weimar
 
Algoritmos genéticos em python - PyConBrasil 3 (2007)
Algoritmos genéticos em python - PyConBrasil 3 (2007)Algoritmos genéticos em python - PyConBrasil 3 (2007)
Algoritmos genéticos em python - PyConBrasil 3 (2007)Fabiano Weimar
 
Faça seu portal voar usando o plone.app.caching
Faça seu portal voar usando o plone.app.cachingFaça seu portal voar usando o plone.app.caching
Faça seu portal voar usando o plone.app.cachingFabiano Weimar
 
Adaptando o Plone para plataformas móveis
Adaptando o Plone para plataformas móveisAdaptando o Plone para plataformas móveis
Adaptando o Plone para plataformas móveisFabiano Weimar
 
Plone Yak Shaving and Bikeshedding
Plone Yak Shaving and BikesheddingPlone Yak Shaving and Bikeshedding
Plone Yak Shaving and BikesheddingFabiano Weimar
 
Otimização de infra estrutura para hospedagem de websites
Otimização de infra estrutura para hospedagem de websitesOtimização de infra estrutura para hospedagem de websites
Otimização de infra estrutura para hospedagem de websitesFabiano Weimar
 
Understanding Plone Security
Understanding Plone SecurityUnderstanding Plone Security
Understanding Plone SecurityFabiano Weimar
 
Dicas e truques de otimização de websites python
Dicas e truques de otimização de websites pythonDicas e truques de otimização de websites python
Dicas e truques de otimização de websites pythonFabiano Weimar
 
Conhecendo o ubuntu enterprise cloud - UEC
Conhecendo o ubuntu enterprise cloud - UECConhecendo o ubuntu enterprise cloud - UEC
Conhecendo o ubuntu enterprise cloud - UECFabiano Weimar
 
Reconhecimento de fala em português brasileiro
Reconhecimento de fala em português brasileiroReconhecimento de fala em português brasileiro
Reconhecimento de fala em português brasileiroFabiano Weimar
 

More from Fabiano Weimar (20)

Plone, Zope e Python - Da Universidade ao Governo - SulComp II (2006)
Plone, Zope e Python - Da Universidade ao Governo - SulComp II (2006)Plone, Zope e Python - Da Universidade ao Governo - SulComp II (2006)
Plone, Zope e Python - Da Universidade ao Governo - SulComp II (2006)
 
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
Performance Tuning de Clusters Plone - PyConBrasil 2 (2006)
 
Meu Plone Site está lento. O que fazer???
Meu Plone Site está lento. O que fazer???Meu Plone Site está lento. O que fazer???
Meu Plone Site está lento. O que fazer???
 
Portal SEBRAE - Quando o Plone Gerencia o Conteúdo Alheio
Portal SEBRAE - Quando o Plone Gerencia o Conteúdo AlheioPortal SEBRAE - Quando o Plone Gerencia o Conteúdo Alheio
Portal SEBRAE - Quando o Plone Gerencia o Conteúdo Alheio
 
Introducao ao sistema de gerenciamento de conteúdo Plone
Introducao ao sistema de gerenciamento de conteúdo PloneIntroducao ao sistema de gerenciamento de conteúdo Plone
Introducao ao sistema de gerenciamento de conteúdo Plone
 
Integração de sistemas legados com Plone
Integração de sistemas legados com PloneIntegração de sistemas legados com Plone
Integração de sistemas legados com Plone
 
Algoritmos genéticos em python - PyConBrasil 3 (2007)
Algoritmos genéticos em python - PyConBrasil 3 (2007)Algoritmos genéticos em python - PyConBrasil 3 (2007)
Algoritmos genéticos em python - PyConBrasil 3 (2007)
 
Faça seu portal voar usando o plone.app.caching
Faça seu portal voar usando o plone.app.cachingFaça seu portal voar usando o plone.app.caching
Faça seu portal voar usando o plone.app.caching
 
Adaptando o Plone para plataformas móveis
Adaptando o Plone para plataformas móveisAdaptando o Plone para plataformas móveis
Adaptando o Plone para plataformas móveis
 
Plone Yak Shaving and Bikeshedding
Plone Yak Shaving and BikesheddingPlone Yak Shaving and Bikeshedding
Plone Yak Shaving and Bikeshedding
 
Otimização de infra estrutura para hospedagem de websites
Otimização de infra estrutura para hospedagem de websitesOtimização de infra estrutura para hospedagem de websites
Otimização de infra estrutura para hospedagem de websites
 
Understanding Plone Security
Understanding Plone SecurityUnderstanding Plone Security
Understanding Plone Security
 
Segurança no plone
Segurança no ploneSegurança no plone
Segurança no plone
 
Dicas e truques de otimização de websites python
Dicas e truques de otimização de websites pythonDicas e truques de otimização de websites python
Dicas e truques de otimização de websites python
 
Conhecendo o ubuntu enterprise cloud - UEC
Conhecendo o ubuntu enterprise cloud - UECConhecendo o ubuntu enterprise cloud - UEC
Conhecendo o ubuntu enterprise cloud - UEC
 
Novidades do plone 4
Novidades do plone 4Novidades do plone 4
Novidades do plone 4
 
O novo plone 4
O novo plone 4O novo plone 4
O novo plone 4
 
Reconhecimento de fala em português brasileiro
Reconhecimento de fala em português brasileiroReconhecimento de fala em português brasileiro
Reconhecimento de fala em português brasileiro
 
IPv6
IPv6IPv6
IPv6
 
Plone na nuvem
Plone na nuvemPlone na nuvem
Plone na nuvem
 

Recently uploaded

WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)Delhi Call girls
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...singhpriety023
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...APNIC
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024APNIC
 
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663Call Girls Mumbai
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024APNIC
 
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.CarlotaBedoya1
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 

Recently uploaded (20)

WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 6 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
INDIVIDUAL ASSIGNMENT #3 CBG, PRESENTATION.
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 

Tips and Tricks about Plone Development for Mobile Platforms

  • 1. Tips and Tricks about Plone Development for Mobile Platforms Plone Conference 2012 – Arnhem Fabiano Weimar dos Santos [Xiru]
  • 2. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 2 Speaker ● I'm from Brazil ;) ● Contributed some lines to Archetypes and ArchGenXML (many time ago) ● Msc Computer Science (Artificial Intelligence) ● Consultant, Instructor and Sysadmin ● Plone pays my bills.
  • 3. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 3 What this talk will cover ● How Plone could be used to publish content on Mobile Platforms ● Mobile Web Development Best Practices ● HTML 5 is the way? ● When native apps are really needed
  • 4. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 4 Background Work... ● SERPRO has been concerned about mobile development ● Lots of Plone portals running on Brazilian government and no mobile friendly content ● Concerns about the right way to do it ● Fact: Plone portals usually deliver lots of information but on mobile that information are not usable
  • 5. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 5
  • 6. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 6 Let's wake up “Brazil is going to have 1 billion mobile devices with Internet access in 2020” Paulo Bernardo, 08/08/2012 Brazilian Minister of Communications
  • 7. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 7 And... In June of 2012, Brazil had 46.6 million smartphones and tablets with 3G connection. Agencia Brazil 08/08/2012 The population of Brazil was 190,732,694 people (2010 census)
  • 8. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 8 Everybody is going mobile. What about Plone?
  • 9. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 9 On mobile... ● Information needs to be easy to access and understand ● Data reliability and security is very important, specially over bad networks ● Speed is not everything. Latency is also important. ● Mobile technology is still expensive
  • 10. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 10 General Tips ● Duo limitations of the mobile devices – Simple web applications are better – Tip: keep DOM small and limit the number of CSS selectors you use ● Use fewer HTTP requests (the latency monster) ● Be careful with JavaScript code
  • 11. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 11 Mobile Web Best Practices ● W3C Mobile Web Best Practices 1.0 – 2008 – 60 practices ● W3C Mobile Web Application Best Practices – 2010 – 32 practices ● Have you read it?
  • 12. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 12 The Most Important Aspects ● Portability ● Usability ● Accessibility ● Security ● Adaptation Effort ● The Learning Curve ● Observe Limitations (memory, processor, network speed and latency)
  • 13. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 13 Secure Mobile Web Development ● OWASP - The Open Web Application Security Project - has interesting documents about security! ● OWASP Top 10 (security risks) – Plone is going great here (thanks security team) ● New: Top Ten Mobile Controls
  • 14. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 14 Top 10 Mobile Controls ● Identify and protect sensitive data on the mobile device ● Handle password credentials securely on the device ● Ensure sensitive data is protected in transit ● Implement user authentication,authorization and session management correctly ● Keep the backend APIs (services) and the platform (server) secure
  • 15. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 15 Top 10 Mobile Controls ● Secure data integration with third party services and applications ● Pay specific attention to the collection and storage of consent for the collection and use of the user’s data ● Implement controls to prevent unauthorized access to paid-for resources ● Ensure secure distribution/provisioning of mobile applications ● Carefully check any runtime interpretation of code for errors
  • 16. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 16 OK, let's suppose I'm doing everything right ● You have 3 choices (not mutually exclusive) – Responsive Web Design (the Plone way) – HTML 5 code that mimics native interfaces – Native Apps
  • 17. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 17 Native development could be avoided ● It demands experts on several languages and platforms because the same app needs to be developed for more than one kind of mobile device – It is complex – It costs money – It takes time ● But, off course, native Apps still have its advantages...
  • 18. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 18 Native Apps could be used ● When you need absolute performance ● When you must exploit toolkit features for better “User Experience” ● You already tried to deliver your data using a web based App and it was not enough (e.g. Facebook)
  • 19. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 19 HTML 5 is the way to go? ● For most people, yes ● The final version of HTML 5 is on W3C plans for 2014 ?! ● Plone 4.2 is HTML 5 ready! ● PhoneGap: interesting approach to create native Apps using HTML 5, CSS 3 and JavaScript
  • 20. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 20
  • 21. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 21 How Plone can deliver content to mobile? ● Responsive Web Design – Plone 4.2 already do that – Tip: do not create Diazo themes with problems that Plone already solved ● Firefox 15 shows it is practice!
  • 22. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 22 Content Adaptation ● Going mobile is not making miniatures of your website, but adapt the content to a different media and audience ● Multimedia content (images, audio and video) can be trick – Tip: do not try to create different versions of software for different devices. Try to follow open formats and official recommendations.
  • 23. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 23 Content Adaptation ● Flash must DIE! ● To detect features of HTML 5 and CSS 3 browsers use Modernizr: – “Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser” – Useful to write portable HTML 5 code – Plone already uses it!
  • 24. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 24
  • 25. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 25 CSS Media Queries ● The final W3C recommendation is recent – W3C Recommendation 19 June 2012 – @media screen and (max-device-width: 810px) – @media (min-width:500px) – @media (orientation: portrait) ● Tip: Plone is using it. Let's start to use it more (specially on Diazo themes).
  • 26. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 26 How about Plone Portals that looks like a native App? ● jQuery Mobile – Can be used to develop responsive versions of your themes for mobile devices – Smart choice to create native Apps using HTML 5, CSS 3 and JavaScript and PhoneGap – Hint: forms are much better on real mobile devices while using the jQuery Mobile CSS – Hint: jQuery Mobile ThemeRoller is great!
  • 27. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 27
  • 28. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 28
  • 29. October 12, 2012 Plone Mobile Tips and Tricks Fabiano Weimar dos Santos [Xiru] 29 Thank you Fabiano Weimar dos Santos xiru@xiru.org IRC: [Xiru] @xiru github.com/xiru