SlideShare a Scribd company logo
Responsive Web Design & Mobile Web Development A Technical and Business approach
WHY WE SHOULD GO ON WEB ? And now what ?
 
Why Web ? The WEB is the final approach to aim natively virtually all screened devices
SAME TECHNOLOGY, DIFFERENT BEHAVIOR ? Web-Sites,
What about web ? There  is  and there  should be No Desktop Web No Internet Explorer Web No Mobile Web No Blackberry Web No Tablet Web
Web ? What Web ?
Web ? What Web ?   One Web  means making, as far as is reasonable, the same information and services available to users  irrespective of the device  they are using. However, it  does not mean  that exactly the same information is available in exactly the  same representation  across all devices W3.org - Mobile Web Best Practices 1.0 - 2008
http:// dowebsitesneedtolookexactlythesameineverybrowser .com/
GIVE US SOME CONCRETE So ?!
Interests of the Any Web devices approaches Our goal is to design Web Pages available and optimized on all web-able devices Two short term goals :  Create unique Websites for all devices !  Create Web App for mobile devices , with native equivalent quality http://www.facebook.com ,  http://touch.facebook.com http://x.facebook.com  http://www.pmu.fr http://mob.pmu.fr http://mobile.parier.pmu.fr   https://tab.pmu.fr/hippique
Interests of the Any Web devices approaches Our goal is to design Web Pages available and optimized on all web-able devices One long term goal :  Create ________ an  _____ ,  _____ ,  ___ , ____ ____________________  ___________ industrially Unique Smooth Sexy Fast Single Page Web App  for all devices !
To Do so, we need so increase our knowledge.
Interests of the Any Web devices approaches Our goal is to design Web Pages available and optimized on all web-able devices One long term goals :  Create an Unique Single Page Web App  for all devices ! Navigation Caching URL Testing Browser support Ergonomic designing HTML5 support SEO Javascript
But We (kinda) did it !  http://awareme.zone52.org
ADAPT OR DIE Create One Web site
What is « Responsive Web design » ? http://www.alistapart.com/articles/responsive-web-design
What is « Responsive Web design » ? How you can  deliver a quality experience  to your users  no matter  how large (or small)  their screen are . Responsive Design Fluid Grids Flexibles images Media Queries
Why is « Responsive Web design » so hype ? Responsive design is hype because : The  « Wahou effect » Very visual and so easy to understand Seen an easy solution to solve all their problem Too hype ? Delivering a quality Experience  not delivering a great looking web site for any screen size It doesn’t solve everything
Adapt or Die As told before, now we  have too many devices, many capabilities, ... Screen :  Screen size from 3 to 80” Resolution from  QVGA to WUXGA Interaction: touch, mouse, remote, … Network :  Latency from 3ms to 1s Bandwidth from 3kB/s to 20MB/s Browser support :  HTML <4 to 5  CSS 2 / 3 Hardware:  RAM From 128mo 20go CPU from 500mHz to 4*3Ghz
THE MOBILE WEB NIGHTMARE Developers also should adapt
I’m a Mobile Developper I use daily :  My IDE  My interface designing tools I develop for few devices :  iOS hardware Android Phone & Tablet I use a lots :  Native components API I use the simulator for debugging The documentation on the SDK is rather accurate
I’m a Mobile Developper I‘m asked to get the same results by:  Using Web Technologies Writing Javascript ! Move a part of Rendering server Side Find the good place for code Learn about packaging Thinking differently Rewriting lot of stuff no more handled by the Native APIs
I am a Desktop Web Designer I develop on IE 7, IE8, IE 9 Firefox  Chrome For simplicity I use fix width Debugging on IE is quite difficult
I am a Desktop Web Designer Now I have to develop web app for:  iOS 3.1.3, iOS 4.2.1, iOS 5.0.1 Android 2.2, Android 2.3, Android 4.0 Opera Mini, Opera Mobile Firefox / Chrome IE Mobile IE 7, IE8, IE 9 And I can’t install them on my computer to test   Debugging is worst on mobile than on IE. No more fixed width, I do fluid interfaces on very different screen sizes.
I am a Desktop Web Designer And you will be asked:  To do something small  With offline support (poor bandwith) With smooth animation That reacts quickly With touch’y features (like facebook, twitter, …) That works on every mobile. With the same functionalities than the website. Original design Embedded in apps for every market I am not Santa Claus, you will have to choose
One Website For all devices :  Adapt to mobile 3 strategies CSS only Framework driven Handcrafted
One Website For all devices :  CSS only Do media queries, nothing more IE handling Google-Chrome Frame or Respond.js Pros Only impact the CSS Cons Only simple things client side Not reactive interface Avoid jQuery plugins overflow: scroll position: fixed
I am a Desktop Web Designer
One Website For all devices : Framework driven http://jquerymobile.com/test/ http://jquerymobile.com/demos/1.0.1/docs/about/platforms.html Aiming Mobile + Tablet (+desktop) Pros:  Unified UI Touch handling Transitions between pages with AJAX partial rendering Cons:  Heavy Limited to jQuery Mobile components Default CSS not so nice on Desktop
I am a Desktop Web Designer
One Website For all devices :  Handcrafted Choose a limited number of devices (2 or 3 max) to test on Webkit/Firefox : 80% mobile market Forget about IE : Google chrome frame Have fun with Zepto on any webkit optimized library Normalize touch and click behavior Use effects, CSS transitions, …
I am a Desktop Web Designer
WebApp with native equivalent quality If your goal is to design Mobile Web applications and Website You should probably think Hybride :  Encapulsation of web pages in Web Views Do navigation in Native Use Native components when needed Communication between Native and WebView by Extending Javascript
A TOUCHING THOUGHT! Create Mobile Apps with Native Equivalent quality
Touch handling Do nothing Terrible user experience: waiting 300ms to know if it’s a click or a double click Works well
Touch handling Events touchstart touchmove touchend
Touch handling Yes but :  Doesn’t work on desktop Nor on Windows Phone Nor on Opera Mini … http://modernizr.github.com/Modernizr/touch.html
Touch handling $.support.touch = ('ontouchstart' in window) if no touch support $(‘body’).bind(‘click’, function(e){ e.preventDefault(); $(e.target).trigger(‘tap’); });
Touch handling Ok, but You have to trigger your router manually every time you click on a link You can’t validate forms by clicking on the input[type=«  submit »] You can’t open external links in a new tab.
Touch handling Ok but we can do it : var externalLinkRegex = new RegExp(&quot;^([a-z;A-Z;0-9])+:&quot;); // Catch click so no page reload occurs $('body').on('click', 'a', function (e) { var $link = $(e.target).closest('a'); var href = $link.attr('href'); // do not prevent click on external links if(!href || !externalLinkRegex.test(href)){ e.preventDefault(); } }); $('body').on('tap', 'a', function (e) { var $link = $(e.target).closest('a'); var href = $link.attr('href'); if(!href) return false; if(href === '#') return false; if(externalLinkRegex.test(href)) return true; // only navigate if href is not # router.navigate(href, true); return false; }); // Submit forms $('body').on('tap', 'a', function (e) { var $target = $(e.target); if(!$target.closest('input[type=&quot;submit&quot;]').length)  return; var $form = $target.closest('form'); if($form.length){ $form.first().submit(); return false; } });
Touch handling Good but when I click on a link, and an other link appear under my finger, multiple click events are triggered. Just give up here…  
Touch handling Don’t do it again. Use jQuery Mobile instead.
DISCOVERING A NEW WORLD Technology and spirits
jQuery Mobile jQuery Mobile :  Support + Browser sniffing vMouse + event Position fixed without GPU acceleration issue ( Soon in 1.1 < 3 Months) Transition between pages Partial AJAX rendering Unit tests !!! Normalized Inputs with native interface  for Select Butons (with image, grouped, …, flipped), sliders, … navbars Position fixed Dialog / Page  Grid accordions Lists A list of supported devices Next version would make it easier just to grab the functionnality that you want OpenSource, licence, mailing list,
jQuery Mobile and URLs URLs are an important part on the WEB :  Access Bookmarks  SEO Stats To render your site quickly, you may want :  the  full page  to be rendered in HTML,  No Ajax Loading on cold URL invocation and: Then in the same site, you may not want the full page to be reloaded Partial content replacement   And :  You want to deal correctly with others link :  Router
Routing Plugins UI DOM Ajax Plugins Touch Feature Detection jQuery Mobile jQuery Mobile Plugins
Zepto, jQMobi A little part of the jQuery API querySelectorAll Dom Traversing attr, CSS, text, html, addClass, … ajax Events : bind, trigger, on, … Lighter because written for new browsers: Webkit, Firefox  But mobile is hard, forget about Windows Phone, Opera Mini on BlackBerry, … Write everything, do not trust jQuery plugins
Routing Plugins UI DOM Ajax Plugins Touch Feature Detection jQuery Mobile jqMobi Zepto jQuery Mobile Plugins
Modernizr sur mobile Modernizr : Which features are available in this browser ? Works well on IE, Chrome and Firefox Need some work around on Mobile (Touch, …) http://haz.io/
Routing Plugins UI DOM Ajax Plugins Touch Feature Detection jQuery Mobile Modernizr jqMobi Zepto jQuery Mobile Plugins
Performance Web performance is a broad topic ! Lots of papers  Some dedicated Workshop Some business With lots of influence factors :  Dom Overload, CPU usage, JavaScript Speed, Networking bandwidth and latency, Shim Quality, touch handling, speed of the loading wheel, … With  one and only one goal  :  Increase the  Perceived performance
How to increase the perceived performance ? Reduce network time :  Avoid mixing SSLs sites Avoid CORS (OPTIONS request make it slow) Avoid small files ( Sprites, JS and CSS minification) Don’t load anything useless Make It fluid A 30fps list scrolling is better than a 60fps with some latency Ask your users
Mobile First Mobile First ? Think for mobile Extend for others Mobile First is: Hype A Philosophy to structure  your Development Accept, understand, embrace, but don’t be extremist Performance Ergonomic Capabilities Design Usage Focus Dynamic  Loading
Mobile First Accept, understand, embrace, but don’t be extremist “ should be on the lips of every web designer . “ Ethan Marcotte  , Responsive Web Design
Packaging of Web Apps What about packaging ? VS
A LAST SMALL ADVICE Before you start this adventure,
A word to Manager Managers please:  Considers this move as mush as from a technologist point of view than an human one Consider all the technical possibilities to :  Minimize risks Reduce frustrations Satisfy your customers Cost reduction ? Going on new platforms Uniformisation of the user Experience
A word to Developper Developer :  Don’t be afraid :  lot’s of fun, new stuff  Be careful : lot’s of traps too Always look for the good mix :  Innovation, sexy stuff Working stuff Don’t forget :  Mobile First, More Communication and more Brainstorming Ask the users
Thank you This is an internal technical presentation done by BSD. Our twitter : @AtosWorldline Atos, the Atos logo, Atos Consulting, Atos Worldline, Atos Sphere, Atos Cloud and Atos WorldGrid are registered trademarks of Atos SA. June 2011

More Related Content

What's hot

Responsive Web Design - more than just a buzzword
Responsive Web Design - more than just a buzzwordResponsive Web Design - more than just a buzzword
Responsive Web Design - more than just a buzzword
Russ Weakley
 
Planning Your Progressive Web App
Planning Your Progressive Web AppPlanning Your Progressive Web App
Planning Your Progressive Web App
Jason Grigsby
 
Beyond Responsive Web Design
Beyond Responsive Web DesignBeyond Responsive Web Design
Beyond Responsive Web Design
arborwebsolutions
 
Now you see me... Adaptive Web Design and Development
Now you see me... Adaptive Web Design and DevelopmentNow you see me... Adaptive Web Design and Development
Now you see me... Adaptive Web Design and Development
Jonas Päckos
 
Overall presentation multiplatform_ux_patterns
Overall presentation multiplatform_ux_patternsOverall presentation multiplatform_ux_patterns
Overall presentation multiplatform_ux_patterns
Stefano Fornari
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
Russ Weakley
 
Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work EverywhereUsing Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere
Chris Love
 
The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016
Robert Nyman
 
Responsive images are here. Now what?
Responsive images are here. Now what?Responsive images are here. Now what?
Responsive images are here. Now what?
Jason Grigsby
 
Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
Progressive Web Apps keynote, Google Developer Summit, Tokyo, JapanProgressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
Robert Nyman
 
Optimizing User Experience with Responsive Web Design
Optimizing User Experience with Responsive Web DesignOptimizing User Experience with Responsive Web Design
Optimizing User Experience with Responsive Web Design
Clarissa Peterson
 
Responsive Web Design for Universal Access 2016
Responsive Web Design for Universal Access 2016Responsive Web Design for Universal Access 2016
Responsive Web Design for Universal Access 2016
Kate Walser
 
Responsive Web Design - but for real!
Responsive Web Design - but for real!Responsive Web Design - but for real!
Responsive Web Design - but for real!
Rudy Rigot
 
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScriptjQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
Philipp Bosch
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
Christian Heilmann
 
Smart Design
Smart Design Smart Design
Smart Design
Sara Cannon
 
Progressive Web App Challenges
Progressive Web App ChallengesProgressive Web App Challenges
Progressive Web App Challenges
Jason Grigsby
 
Make mobile web apps rock
Make mobile web apps rockMake mobile web apps rock
Make mobile web apps rock
Chris Love
 
Breaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconfBreaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconf
Christian Heilmann
 
Responsive Design
Responsive Design Responsive Design
Responsive Design
Clarissa Peterson
 

What's hot (20)

Responsive Web Design - more than just a buzzword
Responsive Web Design - more than just a buzzwordResponsive Web Design - more than just a buzzword
Responsive Web Design - more than just a buzzword
 
Planning Your Progressive Web App
Planning Your Progressive Web AppPlanning Your Progressive Web App
Planning Your Progressive Web App
 
Beyond Responsive Web Design
Beyond Responsive Web DesignBeyond Responsive Web Design
Beyond Responsive Web Design
 
Now you see me... Adaptive Web Design and Development
Now you see me... Adaptive Web Design and DevelopmentNow you see me... Adaptive Web Design and Development
Now you see me... Adaptive Web Design and Development
 
Overall presentation multiplatform_ux_patterns
Overall presentation multiplatform_ux_patternsOverall presentation multiplatform_ux_patterns
Overall presentation multiplatform_ux_patterns
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Using Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work EverywhereUsing Responsive Web Design To Make Your Web Work Everywhere
Using Responsive Web Design To Make Your Web Work Everywhere
 
The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016
 
Responsive images are here. Now what?
Responsive images are here. Now what?Responsive images are here. Now what?
Responsive images are here. Now what?
 
Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
Progressive Web Apps keynote, Google Developer Summit, Tokyo, JapanProgressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
Progressive Web Apps keynote, Google Developer Summit, Tokyo, Japan
 
Optimizing User Experience with Responsive Web Design
Optimizing User Experience with Responsive Web DesignOptimizing User Experience with Responsive Web Design
Optimizing User Experience with Responsive Web Design
 
Responsive Web Design for Universal Access 2016
Responsive Web Design for Universal Access 2016Responsive Web Design for Universal Access 2016
Responsive Web Design for Universal Access 2016
 
Responsive Web Design - but for real!
Responsive Web Design - but for real!Responsive Web Design - but for real!
Responsive Web Design - but for real!
 
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScriptjQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
Smart Design
Smart Design Smart Design
Smart Design
 
Progressive Web App Challenges
Progressive Web App ChallengesProgressive Web App Challenges
Progressive Web App Challenges
 
Make mobile web apps rock
Make mobile web apps rockMake mobile web apps rock
Make mobile web apps rock
 
Breaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconfBreaking out of the Tetris mind set #btconf
Breaking out of the Tetris mind set #btconf
 
Responsive Design
Responsive Design Responsive Design
Responsive Design
 

Similar to Responsive web design & mobile web development - a technical and business approach

Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
St. Petersburg College
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
Nathan Smith
 
Trip advsiorhybridpresentation
Trip advsiorhybridpresentationTrip advsiorhybridpresentation
Trip advsiorhybridpresentation
ElanaBoehm
 
Best Practices for Mobile Web Design
Best Practices for Mobile Web DesignBest Practices for Mobile Web Design
Best Practices for Mobile Web Design
St. Petersburg College
 
Mobile ux sot a and challenges
Mobile ux sot a and challengesMobile ux sot a and challenges
Mobile ux sot a and challenges
Human Interface Group
 
Mobile UX Challenges
Mobile UX ChallengesMobile UX Challenges
Mobile UX Challenges
Johan Verhaegen
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
Jonathan Snook
 
Breaking the Box: Pushing the Boundaries of UX with Drupal
Breaking the Box: Pushing the Boundaries of UX with DrupalBreaking the Box: Pushing the Boundaries of UX with Drupal
Breaking the Box: Pushing the Boundaries of UX with Drupal
Acquia
 
From mobile browser to mobile app
From mobile browser to mobile appFrom mobile browser to mobile app
From mobile browser to mobile app
Ryan Stewart
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
Ashlimarie
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
Cory Webb
 
Ecommerce Mini Project / Group Project Coding
Ecommerce Mini Project / Group Project CodingEcommerce Mini Project / Group Project Coding
Ecommerce Mini Project / Group Project Coding
Hemant Sarthak
 
Responsive SharePoint
Responsive SharePointResponsive SharePoint
Responsive SharePoint
Kevin DeRudder
 
TPR4
TPR4TPR4
TPR4
TPR4TPR4
QuickSoft Mobile Tips & Tricks 11-03-10
QuickSoft Mobile Tips & Tricks 11-03-10QuickSoft Mobile Tips & Tricks 11-03-10
QuickSoft Mobile Tips & Tricks 11-03-10
Almog Koren
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-air
brucelawson
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
chitrachauhan21
 
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code CampDoing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Chris Love
 
Eye candy for your iPhone
Eye candy for your iPhoneEye candy for your iPhone
Eye candy for your iPhone
Brian Shim
 

Similar to Responsive web design & mobile web development - a technical and business approach (20)

Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile FrameworkBuilding a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
Building a Simple Mobile-optimized Web App Using the jQuery Mobile Framework
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Trip advsiorhybridpresentation
Trip advsiorhybridpresentationTrip advsiorhybridpresentation
Trip advsiorhybridpresentation
 
Best Practices for Mobile Web Design
Best Practices for Mobile Web DesignBest Practices for Mobile Web Design
Best Practices for Mobile Web Design
 
Mobile ux sot a and challenges
Mobile ux sot a and challengesMobile ux sot a and challenges
Mobile ux sot a and challenges
 
Mobile UX Challenges
Mobile UX ChallengesMobile UX Challenges
Mobile UX Challenges
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
Breaking the Box: Pushing the Boundaries of UX with Drupal
Breaking the Box: Pushing the Boundaries of UX with DrupalBreaking the Box: Pushing the Boundaries of UX with Drupal
Breaking the Box: Pushing the Boundaries of UX with Drupal
 
From mobile browser to mobile app
From mobile browser to mobile appFrom mobile browser to mobile app
From mobile browser to mobile app
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Ecommerce Mini Project / Group Project Coding
Ecommerce Mini Project / Group Project CodingEcommerce Mini Project / Group Project Coding
Ecommerce Mini Project / Group Project Coding
 
Responsive SharePoint
Responsive SharePointResponsive SharePoint
Responsive SharePoint
 
TPR4
TPR4TPR4
TPR4
 
TPR4
TPR4TPR4
TPR4
 
QuickSoft Mobile Tips & Tricks 11-03-10
QuickSoft Mobile Tips & Tricks 11-03-10QuickSoft Mobile Tips & Tricks 11-03-10
QuickSoft Mobile Tips & Tricks 11-03-10
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-air
 
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptxLATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
LATEST_TRENDS_IN_WEBSITE_DEVELOPMENT.pptx
 
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code CampDoing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
Doing Modern Web, aka JavaScript and HTML5 in the Enterprise NYC Code Camp
 
Eye candy for your iPhone
Eye candy for your iPhoneEye candy for your iPhone
Eye candy for your iPhone
 

Recently uploaded

Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
ArgaBisma
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 

Recently uploaded (20)

Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdfWhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
WhatsApp Image 2024-03-27 at 08.19.52_bfd93109.pdf
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 

Responsive web design & mobile web development - a technical and business approach

  • 1. Responsive Web Design & Mobile Web Development A Technical and Business approach
  • 2. WHY WE SHOULD GO ON WEB ? And now what ?
  • 3.  
  • 4. Why Web ? The WEB is the final approach to aim natively virtually all screened devices
  • 5. SAME TECHNOLOGY, DIFFERENT BEHAVIOR ? Web-Sites,
  • 6. What about web ? There is and there should be No Desktop Web No Internet Explorer Web No Mobile Web No Blackberry Web No Tablet Web
  • 7. Web ? What Web ?
  • 8. Web ? What Web ?   One Web  means making, as far as is reasonable, the same information and services available to users irrespective of the device they are using. However, it does not mean that exactly the same information is available in exactly the same representation across all devices W3.org - Mobile Web Best Practices 1.0 - 2008
  • 10. GIVE US SOME CONCRETE So ?!
  • 11. Interests of the Any Web devices approaches Our goal is to design Web Pages available and optimized on all web-able devices Two short term goals : Create unique Websites for all devices ! Create Web App for mobile devices , with native equivalent quality http://www.facebook.com , http://touch.facebook.com http://x.facebook.com http://www.pmu.fr http://mob.pmu.fr http://mobile.parier.pmu.fr https://tab.pmu.fr/hippique
  • 12. Interests of the Any Web devices approaches Our goal is to design Web Pages available and optimized on all web-able devices One long term goal : Create ________ an _____ , _____ , ___ , ____ ____________________ ___________ industrially Unique Smooth Sexy Fast Single Page Web App for all devices !
  • 13. To Do so, we need so increase our knowledge.
  • 14. Interests of the Any Web devices approaches Our goal is to design Web Pages available and optimized on all web-able devices One long term goals : Create an Unique Single Page Web App for all devices ! Navigation Caching URL Testing Browser support Ergonomic designing HTML5 support SEO Javascript
  • 15. But We (kinda) did it ! http://awareme.zone52.org
  • 16. ADAPT OR DIE Create One Web site
  • 17. What is « Responsive Web design » ? http://www.alistapart.com/articles/responsive-web-design
  • 18. What is « Responsive Web design » ? How you can deliver a quality experience to your users no matter how large (or small) their screen are . Responsive Design Fluid Grids Flexibles images Media Queries
  • 19. Why is « Responsive Web design » so hype ? Responsive design is hype because : The  « Wahou effect » Very visual and so easy to understand Seen an easy solution to solve all their problem Too hype ? Delivering a quality Experience not delivering a great looking web site for any screen size It doesn’t solve everything
  • 20. Adapt or Die As told before, now we have too many devices, many capabilities, ... Screen : Screen size from 3 to 80” Resolution from QVGA to WUXGA Interaction: touch, mouse, remote, … Network : Latency from 3ms to 1s Bandwidth from 3kB/s to 20MB/s Browser support : HTML <4 to 5 CSS 2 / 3 Hardware: RAM From 128mo 20go CPU from 500mHz to 4*3Ghz
  • 21. THE MOBILE WEB NIGHTMARE Developers also should adapt
  • 22. I’m a Mobile Developper I use daily : My IDE My interface designing tools I develop for few devices : iOS hardware Android Phone & Tablet I use a lots : Native components API I use the simulator for debugging The documentation on the SDK is rather accurate
  • 23. I’m a Mobile Developper I‘m asked to get the same results by: Using Web Technologies Writing Javascript ! Move a part of Rendering server Side Find the good place for code Learn about packaging Thinking differently Rewriting lot of stuff no more handled by the Native APIs
  • 24. I am a Desktop Web Designer I develop on IE 7, IE8, IE 9 Firefox Chrome For simplicity I use fix width Debugging on IE is quite difficult
  • 25. I am a Desktop Web Designer Now I have to develop web app for: iOS 3.1.3, iOS 4.2.1, iOS 5.0.1 Android 2.2, Android 2.3, Android 4.0 Opera Mini, Opera Mobile Firefox / Chrome IE Mobile IE 7, IE8, IE 9 And I can’t install them on my computer to test  Debugging is worst on mobile than on IE. No more fixed width, I do fluid interfaces on very different screen sizes.
  • 26. I am a Desktop Web Designer And you will be asked: To do something small With offline support (poor bandwith) With smooth animation That reacts quickly With touch’y features (like facebook, twitter, …) That works on every mobile. With the same functionalities than the website. Original design Embedded in apps for every market I am not Santa Claus, you will have to choose
  • 27. One Website For all devices : Adapt to mobile 3 strategies CSS only Framework driven Handcrafted
  • 28. One Website For all devices : CSS only Do media queries, nothing more IE handling Google-Chrome Frame or Respond.js Pros Only impact the CSS Cons Only simple things client side Not reactive interface Avoid jQuery plugins overflow: scroll position: fixed
  • 29. I am a Desktop Web Designer
  • 30. One Website For all devices : Framework driven http://jquerymobile.com/test/ http://jquerymobile.com/demos/1.0.1/docs/about/platforms.html Aiming Mobile + Tablet (+desktop) Pros: Unified UI Touch handling Transitions between pages with AJAX partial rendering Cons: Heavy Limited to jQuery Mobile components Default CSS not so nice on Desktop
  • 31. I am a Desktop Web Designer
  • 32. One Website For all devices : Handcrafted Choose a limited number of devices (2 or 3 max) to test on Webkit/Firefox : 80% mobile market Forget about IE : Google chrome frame Have fun with Zepto on any webkit optimized library Normalize touch and click behavior Use effects, CSS transitions, …
  • 33. I am a Desktop Web Designer
  • 34. WebApp with native equivalent quality If your goal is to design Mobile Web applications and Website You should probably think Hybride : Encapulsation of web pages in Web Views Do navigation in Native Use Native components when needed Communication between Native and WebView by Extending Javascript
  • 35. A TOUCHING THOUGHT! Create Mobile Apps with Native Equivalent quality
  • 36. Touch handling Do nothing Terrible user experience: waiting 300ms to know if it’s a click or a double click Works well
  • 37. Touch handling Events touchstart touchmove touchend
  • 38. Touch handling Yes but : Doesn’t work on desktop Nor on Windows Phone Nor on Opera Mini … http://modernizr.github.com/Modernizr/touch.html
  • 39. Touch handling $.support.touch = ('ontouchstart' in window) if no touch support $(‘body’).bind(‘click’, function(e){ e.preventDefault(); $(e.target).trigger(‘tap’); });
  • 40. Touch handling Ok, but You have to trigger your router manually every time you click on a link You can’t validate forms by clicking on the input[type=«  submit »] You can’t open external links in a new tab.
  • 41. Touch handling Ok but we can do it : var externalLinkRegex = new RegExp(&quot;^([a-z;A-Z;0-9])+:&quot;); // Catch click so no page reload occurs $('body').on('click', 'a', function (e) { var $link = $(e.target).closest('a'); var href = $link.attr('href'); // do not prevent click on external links if(!href || !externalLinkRegex.test(href)){ e.preventDefault(); } }); $('body').on('tap', 'a', function (e) { var $link = $(e.target).closest('a'); var href = $link.attr('href'); if(!href) return false; if(href === '#') return false; if(externalLinkRegex.test(href)) return true; // only navigate if href is not # router.navigate(href, true); return false; }); // Submit forms $('body').on('tap', 'a', function (e) { var $target = $(e.target); if(!$target.closest('input[type=&quot;submit&quot;]').length) return; var $form = $target.closest('form'); if($form.length){ $form.first().submit(); return false; } });
  • 42. Touch handling Good but when I click on a link, and an other link appear under my finger, multiple click events are triggered. Just give up here… 
  • 43. Touch handling Don’t do it again. Use jQuery Mobile instead.
  • 44. DISCOVERING A NEW WORLD Technology and spirits
  • 45. jQuery Mobile jQuery Mobile : Support + Browser sniffing vMouse + event Position fixed without GPU acceleration issue ( Soon in 1.1 < 3 Months) Transition between pages Partial AJAX rendering Unit tests !!! Normalized Inputs with native interface for Select Butons (with image, grouped, …, flipped), sliders, … navbars Position fixed Dialog / Page Grid accordions Lists A list of supported devices Next version would make it easier just to grab the functionnality that you want OpenSource, licence, mailing list,
  • 46. jQuery Mobile and URLs URLs are an important part on the WEB : Access Bookmarks SEO Stats To render your site quickly, you may want : the full page to be rendered in HTML, No Ajax Loading on cold URL invocation and: Then in the same site, you may not want the full page to be reloaded Partial content replacement And : You want to deal correctly with others link : Router
  • 47. Routing Plugins UI DOM Ajax Plugins Touch Feature Detection jQuery Mobile jQuery Mobile Plugins
  • 48. Zepto, jQMobi A little part of the jQuery API querySelectorAll Dom Traversing attr, CSS, text, html, addClass, … ajax Events : bind, trigger, on, … Lighter because written for new browsers: Webkit, Firefox But mobile is hard, forget about Windows Phone, Opera Mini on BlackBerry, … Write everything, do not trust jQuery plugins
  • 49. Routing Plugins UI DOM Ajax Plugins Touch Feature Detection jQuery Mobile jqMobi Zepto jQuery Mobile Plugins
  • 50. Modernizr sur mobile Modernizr : Which features are available in this browser ? Works well on IE, Chrome and Firefox Need some work around on Mobile (Touch, …) http://haz.io/
  • 51. Routing Plugins UI DOM Ajax Plugins Touch Feature Detection jQuery Mobile Modernizr jqMobi Zepto jQuery Mobile Plugins
  • 52. Performance Web performance is a broad topic ! Lots of papers Some dedicated Workshop Some business With lots of influence factors : Dom Overload, CPU usage, JavaScript Speed, Networking bandwidth and latency, Shim Quality, touch handling, speed of the loading wheel, … With one and only one goal : Increase the Perceived performance
  • 53. How to increase the perceived performance ? Reduce network time : Avoid mixing SSLs sites Avoid CORS (OPTIONS request make it slow) Avoid small files ( Sprites, JS and CSS minification) Don’t load anything useless Make It fluid A 30fps list scrolling is better than a 60fps with some latency Ask your users
  • 54. Mobile First Mobile First ? Think for mobile Extend for others Mobile First is: Hype A Philosophy to structure your Development Accept, understand, embrace, but don’t be extremist Performance Ergonomic Capabilities Design Usage Focus Dynamic Loading
  • 55. Mobile First Accept, understand, embrace, but don’t be extremist “ should be on the lips of every web designer . “ Ethan Marcotte  , Responsive Web Design
  • 56. Packaging of Web Apps What about packaging ? VS
  • 57. A LAST SMALL ADVICE Before you start this adventure,
  • 58. A word to Manager Managers please: Considers this move as mush as from a technologist point of view than an human one Consider all the technical possibilities to : Minimize risks Reduce frustrations Satisfy your customers Cost reduction ? Going on new platforms Uniformisation of the user Experience
  • 59. A word to Developper Developer : Don’t be afraid : lot’s of fun, new stuff Be careful : lot’s of traps too Always look for the good mix : Innovation, sexy stuff Working stuff Don’t forget : Mobile First, More Communication and more Brainstorming Ask the users
  • 60. Thank you This is an internal technical presentation done by BSD. Our twitter : @AtosWorldline Atos, the Atos logo, Atos Consulting, Atos Worldline, Atos Sphere, Atos Cloud and Atos WorldGrid are registered trademarks of Atos SA. June 2011