Mobile Web Development Strategies Best Practices Performance Tips.

Slides:



Advertisements
Similar presentations
Coding a Responsive HTML
Advertisements

RESPONSIVE AND MOBILE DESIGN BY: CHRIS PASQUARETTE APRIL, 2013.
Copyright © Terry Felke-Morris WEB DEVELOPMENT & DESIGN FOUNDATIONS WITH HTML5 Chapter 7 Key Concepts 1 Copyright © Terry Felke-Morris.
Web Pages and Style Sheets Bert Wachsmuth. HTML versus XHTML XHTML is a stricter version of HTML: HTML + stricter rules = XHTML. XHTML Rule violations:
Sculpt Framework Mobile-First with Progressive Enhancement.
Responsive Web Design Sheri German, Instructor Montgomery College.
Responsive Web Design Nuts & Bolts David Weedon - UI/UX Designer, Covenant Technology Partners.
Chapter 8 More on Links, Layout, and Mobile Key Concepts Copyright © 2013 Terry Ann Morris, Ed.D 1.
The Internet & The World Wide Web Notes
Lloyd-Jamie Bennett – P Stylianos Michael – P
Responsive Wed Design : An Emerging Technology Archana Jain.
Responsive Web Design Design websites so that they can adapt to different devices seamlessly. Image by Muhammed RafizeldiMuhammed Rafizeldi.
RESPONSIVE DESIGN Sources: Kadlec, T. (2012). Implementing responsive design. Berkeley, California: New Riders Publishing. MarcotteMarcotte, E. (2010).
Mark Phillip markphillip.com 200s, 304s, Expires Headers, HTTP Compression, And You.
LEARN THE QUICK AND EASY WAY! VISUAL QUICKSTART GUIDE HTML and CSS 8th Edition Chapter 12: Building Responsive Webpages.
TUTORIAL 8: Enhancing a Web Site with Advanced CSS
 jQuery Mobile An Introduction. What is jQuery Mobile  A framework built on top of jQuery, used for creating mobile web applications  Designed to make.
‘Mobile first’ Alexander Roberts ISS Web Team Manager Swansea University.
Responsive Web Design, Discoverability, and Mobile Challenge
Chapter 8 More on Links, Layout, and Mobile Copyright © 2013 Terry Ann Morris, Ed.D revised by Bill Pegram, 9/24/
WDV 331 Dreamweaver Applications Designing Websites for Mobile Devices Dreamweaver CS6 Chapter 11.
Page Layout & Mobile Web Using columns, grid systems, etc… to layout sites for desktops and mobile.
DEVELOPING FOR MOBILE Jackie Calapristi. AGENDA  Why you should go mobile  Mobile Design Options  Responsive Design  Tips & Tools to Help You Build.
Web Sites for amateur radio. So You want to make a Web Site? There are several things you need to know about web sites before you start to think about.
Designing for the Unknown. Challenges of Web Design As frustrating as it may be – there is no guarantee that people will see/experience your web pages.
A Site for All Eyes – Considerations for Responsive Design October 19, 2012 Dori Kelner, MS Principal, Sleight-of-Hand Studios
CSS Sprites. What are sprites? In the early days of video games, memory for graphics was very low. So to make things load quickly and make graphics look.
Basic Responsive Design Techniques. Let’s take a look at this basic layout. It has a header and two columns of text, in a box that is centered on the.
Week 8 – Part 3 More on Links, Layout, and Mobile Key Concepts 1.
Responsive design - Bedrock to our site Responsive site templates included.
Copyright 2012 Adobe Systems Incorporated. All rights reserved. ® Copyright 2010 Adobe Systems Incorporated. All rights reserved. ® Copyright 2012 Adobe.
CSS = Cascading Style Sheet CSS consists of rules to display, style and decorate HTML elements Why CSS ? – Separate decoration from HTML markup (Ex :,,…)
WEB DESIGN AND PROGRAMMING Advanced CSS Techniques.
Strategies for Building Mobile Apps Using ArcGIS API for JavaScript Andy Gup, Lloyd Heberlie.
Copyright © Terry Felke-Morris WEB DEVELOPMENT & DESIGN FOUNDATIONS WITH HTML5 7 TH EDITION Chapter 7 Key Concepts 1 Copyright © Terry Felke-Morris.
ITCS373: Internet Technology Lecture 5: More HTML.
Abigail morris.  Today I'm going to be explaining why the Internet relies on a number of protocols in order to function properly.  A protocol is simply.
Use CSS to Implement a Reusable Design Selecting a Dreamweaver CSS Starter Layout is the easiest way to create a page with a CSS layout You can access.
Responsive Web Designing Using CSS3 & HTML5 -Sandip Jadhav “We are building a web, for all device ”
CSS BEST PRACTICES.
PERFORMANCE ENHANCEMENT IN ASP.NET By Hassan Tariq Session #1.
Putting Performance Best Practices Together to Create the Perfect SPA Chris Love2Dev.com.
Copyright © Terry Felke-Morris WEB DEVELOPMENT & DESIGN FOUNDATIONS WITH HTML5 Chapter 7 Key Concepts 1 Copyright © Terry Felke-Morris.
GO MOBILE. GO RESPONSIVE. 185 mil mobile internet users in India
LESSON 15 – UNIT 0 ADAPTING YOUR WEB SITE FOR MOBILE DEVICES.
Website Design Best Practices. Topics  Navigation  Readability  Portability  Frameworks for Web Design  Model View Architecture MVC  SEO  Performance.
Positioning Objects with CSS and Tables
What is Seo? SEO stands for “search engine optimization.” It is the process of getting traffic from the “free,” “organic,” “editorial” or “natural” search.
1 Company Confidential Need a Mobile DotNetNuke Site? Get One the Quick and Easy Way Using CSS Media Queries Amelia Marschall Partner & Creative Director.
© 2012 DigitalDay | Mobile Development March 29,
Website: Contact:
NM290 Mobile Web Design Responsive Web Design Progressive Enhancement Adaptive Web Design Resources for color palettes Create a document for your color.
IF STARBUCKS USED INSTART LOGIC, THEY WOULD HAVE A FASTER RESPONSIVE WEBSITE BY PETER BLUM.
Enhance Your Page Load Speed And Improve Traffic.
Front-end framework 1.
CSCI 1720 W3.CSS – Part 1 East Tennessee State University Department of Computing CSCI 1720 Intermediate Web Design.
CNIT131 Internet Basics & Beginning HTML
Building Responsive Media for Optimal Performance
CS 0134 (term 2181) Jarrett Billingsley
RESPONSIVE WEB DESIGN.
IS1500: Introduction to Web Development
Responsive Design in WordPress
Mobile Best Practices & Essential Tips
Session I – Responsive Web Design (RWD) Overview 8/31/2015
WEB DESIGN FOR MULTIPLE SCREENS
Web Page Layout Imran Rashid CTO at ManiWeber Technologies.
Web Client Side Technologies Raneem Qaddoura
Web Client Side Technologies Raneem Qaddoura
Yale Digital Conference 2019
Christopher Harrison Jeremy Foster
Presentation transcript:

Mobile Web Development Strategies Best Practices Performance Tips

Who Am I? Martin Laritz – Web Developer since 2005 – Mobile Developer Android, iOS, Windows 8, Windows Phone, PhoneGap – Mobile Web Developer for about 5 minutes Contact –

HOW MANY PEOPLE ARE WEB DEVELOPERS? QUIZ TIME!

HOW MANY PEOPLE HAVE CREATED A MOBILE WEBSITE?

What is the Mobile Web? This presentation is a lie! Initially meant accessing the world wide web via a mobile device The Mobile Web doesn’t exist – It’s just the web! – Shouldn’t matter what device or what browser you’re accessing content from

EVOLUTION OF THE WEB THANKS BRAD FROST!

WHY ARE WE HERE? INTERNETS!

Why Should You Care? Mobile is blowing up!

HERE COMES THE STATISTICS YEAH! Random graphs!

This Talk is NOT … Responsive Images Web apps vs. Native apps – They can coexist ESPN – Development Frameworks PhoneGap Titanium

LET’S GET DONE TO BUSINESS

Agenda Strategies – Mobile Design and Development Best Practices – Both for Mobile and General Web Development Performance Improvements

Mobile Web Strategies Desktop website – Usually fixed width Responsive Separate Mobile site(s) RESS – Responsive Design + Service Side Components

Desktop Website Usually fixed width – The 960 Grids Pros – Easy to implement – Most mobile browsers do a decent job of rendering desktop-only designs Cons – Not mobile optimized – Tends to be slower – Pinch and Zoom

Responsive Web Design Content is adapted based on the capabilities of the browser – Content is adapted by using fluid, proportion based grids, flexible images, and media queries Percents for the grids instead of PXs Flexible Images – Max-Width: 100% Media Queries

Responsive Pros and Cons Pros One code base – Site updates are easy Future Friendly Better for SEO – Same content between devices – One URL Aesthetically pleasing for different device heights and widths Cons More upfront planning required Tends to lead to bloated pages and slower load times Some things are not fluid – Banner images – Videos – Images Not all devices support media queries (IE8)

Responsive Design Tips More than just Fluid Grids, Flexible media, and media queries – Performance, Device Support, Device Optimization, Future Friendly Designs Set your breakpoints based on content – Not based on devices Use EMs for breakpoints – 100% = 1em ~= 16px ~= 14pt – This fixes issues when zoom is increased Images – Max-Width: 100% Don’t round percentages

Separate Mobile Site(s) Different websites for each class of devices – Group common capabilities Different websites on separate subdomains Use a device database to lookup capabilities based on User-Agent strings – WURFL and DeviceAtlas – Must be comfortable with device detection Allow the user to switch between desktop/mobile sites

Separate Mobile Site Pros Easier to make changes to specific sites – But more difficult to change common elements Faster load times Tailored experience per device (class) Cons Where do you draw the line? – One site for phone, one for tablet, one for desktop? New devices coming out every day – With new heights, widths, resolutions, and capabilities SEO – Penalized by Google if you redirect incorrectly – Multiple URLs which can lead to duplicate content Requires redirection Multiple codebases

Responsive Design + Server Side Components Also known as RESS Best of both worlds – Client side media queries – Server side optimizations Increased performance or fine tune user experience Can pass client side data in cookie to server One code base with defaults – Then deliver component based features based on device detection

RESS Pros and Cons Pros Faster load times – Unneeded HTML, CSS, JS, and images will not be downloaded Tailored experiences per device or device class Cons Requires device detection – Harder to test Dynamically build your content on the server will increase load on server More complicated

Best Practices Mobile First Design For Touch Readability Fixed Width is Dead Optimize User Input Progressive Enhancement Viewport Meta Tag Border Box Testing

Mobile First Mobile forces you to focus – On the most important data and actions – CONTENT! Mobile extends your capabilities – Mobile browsers tend to have more capabilites than desktop browsers – But this gap is closing fast Let’s redesign my old website

Mobile First It didn’t work for me – I struggled changing the existing markup to fit on mobile Step back and think about your content Start with the small/tightest constraints and work out

Design For Touch Clickable elements should be 44px – Use padding instead of margin Don’t rely too heavily on hover – Touch doesn’t support hover Incorporate gestures where appropriate

Design for Thumbs Content on the top Controls on the bottom Don’t place clickable items too close together

Readability Design for Readability – Not only increased font size – Also increase line height Everything should be at least 14px – I try to keep all content that is meant to be read (like blog entries) at 1em+

Fixed Width is Dead Even if you don’t use responsive design, there’s no need to confine your users to a minimum browser width – Users shouldn’t have to view your website with their browser maximized Use % for width and heights instead of PX – (target / context) * 100 = percent – Remember: don’t round

Optimize User Input Only include required fields – Minimize the length of the form and more users will fill it out Use Checkboxes, Radio Buttons, Dropdowns instead of Textboxes where you can Use the correct HTML5 input types – , Number, URL, Search, Date, Telephone

Progressive Enhancement Uses web technologies in a layered fashion that allows all users to access the basic functionality of a web page Provides an enhanced version to those with advanced browsers Start with basic html – no css, no javascript – Enhanced layout provided by CSS – Enhanced functionality provided by JS

Viewport Meta Tag You need one if you using responsive design or dedicated mobile sites Width – Tells the width of your site Initial-Scale – Sets the zoom level Maximum-Scale – Sets the maximum zoom

Border Box * { box-sizing: border- box; } – IE8 and up Padding and Border cut into the width, not add to it

How to Test Your Mobile Sites Firefox Mobile on Desktop – Opera Mini Simulator – Opera Mobile Simulator – iOS SDK Android SDK Windows Phone SDK

What Do You Think? What’s the best thing you can do to improve the mobile experience for your users?

Improve Mobile Experience Performance Other Answers – Aesthetics Mobile browsers do a decent job of rendering desktop sites – Optimize for Touch Pinch and Zoom – Readability Pinch and Zoom – Add a QR Code

Performance! Remove HTTP Headers Reduce HTTP Requests Framework Optimization Optimize Images Icon Fonts Miscellaneous

Why Optimize for Performance? An average webpage is 1246KB – AT&T account – 2GB at $30/month: 2¢ / page 74% of users expect a mobile website to load in the same amount of time as a desktop site

Load Times

Remove HTTP Headers Helps Security Remove all unneeded headers – Server – Asp.Net MVC Version – Asp.Net Version – Powered By RemoveUnnecessaryHeaders NuGet Package

Reduce HTTP Requests Latency – amount of time between when browser requests a resource and when it starts to receive the response – Cable modem: 20ms – 3G Connection: 200ms Average webpage has 40 requests – Latency – 0.2 seconds for Cable Modem – Latency seconds for 3G Most browsers only open 2 connections to a domain at a time

Reduce HTTP Requests Remove files – Concatenate CSS and JS Files – CSS Sprites Reduce unneeded files – Print CSS Request Quest – Quiz on what triggers an HTTP Request –

Reduce File Size Minify HTML, CSS, and JS files Gzip – Compresses resources to reduce – If you do one thing to improve performance, do this Every byte counts Use a CSS Preprocessor – Less or Sass – Will help remove duplicate selectors – Minifies automatically

Frameworks Do you really need a Framework? – jQuery Framework for just one Select Do you need the whole CSS Framework? – Download all of Bootstrap just for the icons – jQuery UI – Do you need every component? Why use a bloated Framework – Do you even need a Framework – Use Vanilla JS

Optimize Images Images make up between 50%-60% of the average website payload Save the image in the correct format – If you have to, save in each format Don’t load a big image and make the browser scale it down – Use an Image Optimizer – ImageOptim on Mac, Image Resizer NuGet

Icon Fonts It’s a font, so one download – Instead of multiple images Benefits – Scale them with CSS – Color them with CSS – Add shadow, change opacity, and/or rotate with CSS – They automatically scale for retina displays IcoMoon – Search different icon fonts and create your own font

Miscellaneous Set up caching – Especially for static resources – Add an expires tag Put Stylesheets at the top – Page appears to load faster as it eliminates reflow Put Scripts on the bottom – While script is downloading, browser will not download any other resources Use GET for AJAX Requests – POST sends the headers first, then the content

Miscellaneous 2 Do you really need a CMS? – The default WordPress page queries the database 27 times Reduce 3 rd party libraries – “to load the Facebook, Twitter and Google social media buttons for a total of 19 requests takes KB in bandwidth.” – Zurb Limit Cookies – Cookies get sent with each request

Summary So what did we learn? There is only one web Mobile Web Strategy: – Desktop site, responsive, device class sites, RESS Best Practices Performance Your website should be accessible no matter what device your users are using

Questions?

Images Courtesy of … Brad Frost – CSS Tricks – Bukk It – Web Performance Today -