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
About us
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
Ad

More Related Content

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
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
 
Make mobile web apps rock
Make mobile web apps rockMake mobile web apps rock
Make mobile web apps rock
Chris Love
 
Progressive Web App Challenges
Progressive Web App ChallengesProgressive Web App Challenges
Progressive Web App Challenges
Jason Grigsby
 
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
 
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
 
Make mobile web apps rock
Make mobile web apps rockMake mobile web apps rock
Make mobile web apps rock
Chris Love
 
Progressive Web App Challenges
Progressive Web App ChallengesProgressive Web App Challenges
Progressive Web App Challenges
Jason Grigsby
 
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
 

Viewers also liked (13)

Drawing is not Dead!
Drawing is not Dead!Drawing is not Dead!
Drawing is not Dead!
barrettstudioarch
 
наш детский сад «ляйсан»
наш детский сад «ляйсан»наш детский сад «ляйсан»
наш детский сад «ляйсан»
lili1281
 
Effectiveness of primary correction of traumatic telecanthus
Effectiveness of primary correction of traumatic telecanthusEffectiveness of primary correction of traumatic telecanthus
Effectiveness of primary correction of traumatic telecanthus
Dr. SHEETAL KAPSE
 
Management of complications of mandibular trauma
Management of complications of mandibular traumaManagement of complications of mandibular trauma
Management of complications of mandibular trauma
Dr. SHEETAL KAPSE
 
Soft tissue response and healing in omfs
Soft tissue response and healing in omfsSoft tissue response and healing in omfs
Soft tissue response and healing in omfs
Dr. SHEETAL KAPSE
 
Bone biology and bone healing
Bone biology and bone healingBone biology and bone healing
Bone biology and bone healing
Dr. SHEETAL KAPSE
 
Preliminary care in maxillofacial injuries
Preliminary care in maxillofacial injuriesPreliminary care in maxillofacial injuries
Preliminary care in maxillofacial injuries
Dr. SHEETAL KAPSE
 
Npwt
NpwtNpwt
Npwt
Dr. SHEETAL KAPSE
 
Approaches to maxillofacial skeleton
Approaches to maxillofacial skeletonApproaches to maxillofacial skeleton
Approaches to maxillofacial skeleton
Dr. SHEETAL KAPSE
 
Use of grafts & alloplastic material in maxillofacial trauma
Use of grafts & alloplastic material in maxillofacial traumaUse of grafts & alloplastic material in maxillofacial trauma
Use of grafts & alloplastic material in maxillofacial trauma
Dr. SHEETAL KAPSE
 
advanced trauma life support
advanced trauma life supportadvanced trauma life support
advanced trauma life support
Dr. SHEETAL KAPSE
 
наш детский сад «ляйсан»
наш детский сад «ляйсан»наш детский сад «ляйсан»
наш детский сад «ляйсан»
lili1281
 
Effectiveness of primary correction of traumatic telecanthus
Effectiveness of primary correction of traumatic telecanthusEffectiveness of primary correction of traumatic telecanthus
Effectiveness of primary correction of traumatic telecanthus
Dr. SHEETAL KAPSE
 
Management of complications of mandibular trauma
Management of complications of mandibular traumaManagement of complications of mandibular trauma
Management of complications of mandibular trauma
Dr. SHEETAL KAPSE
 
Soft tissue response and healing in omfs
Soft tissue response and healing in omfsSoft tissue response and healing in omfs
Soft tissue response and healing in omfs
Dr. SHEETAL KAPSE
 
Bone biology and bone healing
Bone biology and bone healingBone biology and bone healing
Bone biology and bone healing
Dr. SHEETAL KAPSE
 
Preliminary care in maxillofacial injuries
Preliminary care in maxillofacial injuriesPreliminary care in maxillofacial injuries
Preliminary care in maxillofacial injuries
Dr. SHEETAL KAPSE
 
Approaches to maxillofacial skeleton
Approaches to maxillofacial skeletonApproaches to maxillofacial skeleton
Approaches to maxillofacial skeleton
Dr. SHEETAL KAPSE
 
Use of grafts & alloplastic material in maxillofacial trauma
Use of grafts & alloplastic material in maxillofacial traumaUse of grafts & alloplastic material in maxillofacial trauma
Use of grafts & alloplastic material in maxillofacial trauma
Dr. SHEETAL KAPSE
 
advanced trauma life support
advanced trauma life supportadvanced trauma life support
advanced trauma life support
Dr. SHEETAL KAPSE
 
Ad

Similar to Skill Session - Web Multi Device (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
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 Challenges
Mobile UX ChallengesMobile UX Challenges
Mobile UX Challenges
Johan Verhaegen
 
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
 
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
tutorialsruby
 
TPR4
TPR4TPR4
TPR4
tutorialsruby
 
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
 
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
 
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
 
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
 
Ad

Recently uploaded (20)

Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 

Skill Session - Web Multi Device

  • 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
  • 61. 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