slides at goo.gl/kifue

Similar documents
eggon SDK for ios 7 Integration Instructions

Silk Test Testing Mobile Applications

Adobe Summit 2015 Lab 712: Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers

Advantage Cloud Access: Microsoft Remote Desktop for Android

Steps for using MagicConnect

SBBWU PROXY SETTING IT CENTRE How to Set a Proxy Server in All Major Internet Browsers for Windows

MERLIN SERVER. The Quick Start Guide for collaborative project management ProjectWizards GmbH, Melle, Germany. All rights reserved.

Medstar Health Dell Services

Setting up Wireless ipad Control of your DEWETRON Computer-based System

Instructions for Configuring Your Browser Settings and Online Security FAQ s. ios8 Settings for iphone and ipad app

Generate Android App

Adobe Summit 2015 Lab 718: Managing Mobile Apps: A PhoneGap Enterprise Introduction for Marketers

Installing the VMware Horizon View Client to Access Hoag Virtual Desktops

Quick Start Guide Mobile Entrée 4

Introduction: The Xcode templates are not available in Cordova or above, so we'll use the previous version, for this recipe.

Initial Setup of Microsoft Outlook 2011 with IMAP for OS X Lion

Title: Appium Automation for Mac OS X. Created By: Prithivirajan M. Abstract. Introduction

Site Configuration Mobile Entrée 4

Dashcode User Guide. (Retired Document)

Multi-touch app development with modern web tools. David Reagan, Advanced Visualization Lab

User s manual 1. Introduction 2. Installation & Requirements 3. Your Tom s Planner account & login 4. Open & Save 5. Grid 6. Blue timeline 7.

TxEIS Browser Settings

Note: This documentation was written using the Samsung Galaxy S5 and Android version 5.0. Configuration may be slightly different.

1. Right click using your mouse on the desktop and select New Shortcut.

Using Microsoft Visual Studio API Reference

LCD MONITOR TOUCH PANEL DRIVER 2 OPERATION MANUAL. for Mac. Version 1.0 PN-L703A/PN-70TA3/PN-L703B/PN-70TB3/PN-L603A/PN-60TA3/PN-L603B/PN-60TB3

Christie Brio Frequently Asked Questions

VPN: Virtual Private Network Setup Instructions

Develop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java. Drupaldelphia 2014 By Joe Roberts

Flexible Identity Federation

JTouch Mobile Extension for Joomla! User Guide

Example of Standard API

Scientific m-learning. 4-7 June Mobile Application Development using App Inventor for Android Devices

Remote Desktop Web Access. Using Remote Desktop Web Access

Reference Guide for WebCDM Application 2013 CEICData. All rights reserved.

Running a Program on an AVD

BI-RADS Atlas 5th Edition e-book Download Instructions (Updated: 12/11/14)

How to Remotely Access the C&CDHB Network from a Personal Device

Adobe Marketing Cloud Bloodhound for Mac 3.0

Blueball Design Dynamic Content 2 Stack Readme Manual v1.0

2X ApplicationServer & LoadBalancer Manual

Office of Information Technology Connecting to Microsoft Exchange User Guide

Multi-Touch Control Wheel Software Development Kit User s Guide

MERLIN. The Quick Start Guide to professional project management ProjectWizards GmbH, Melle, Germany. All rights reserved.

Beginner's Guide. LiveCode Mobile Development. LiveCode. Create fun-filled, rich apps for Android and ios with. Colin Holgate PUBLISHING

EM L18 Managing ios and Android Mobile Devices with Symantec Mobile Management Hands-On Lab

Connection. to SECON-Server

XenMobile Logs Collection Guide

Mac/Windows Firefox 24+ (recommended browser at PSU), Safari 6+, and Chrome 31+ ipad ios 6+ Android tablets Chrome 31+

Wireless Presentation Gateway. User Guide

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Connecting Your Device to a Wireless Network

LogMeIn Rescue Step-by-Step Connection Guide

KING ONLINE APPLICATIONS USING THE APPLE IPAD

place/business fetch details, removefromfavorite () function, 189 search button handler bind, B BlackBerry build environment

Introduction. Installation of SE S AM E BARCODE virtual machine distribution. (Windows / Mac / Linux)

Joostrap RWD Bootstrap Template

How to start with 3DHOP

EM L05 Managing ios and Android Mobile Devices with Symantec Mobile Management Hands-On Lab

Akin Gump Strauss Hauer & Feld LLP Remote Access Resources

Android Programming: Installation, Setup, and Getting Started

HallPass Instructions for Connecting to your Campus PC Using the ipad

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang

VPN User Guide. For Mac

Grandstream Networks, Inc.

A digital Creative Company

Xcode Project Management Guide. (Legacy)

LCD MONITOR TOUCH DISPLAY DRIVER OPERATION MANUAL. for Mac. Version 1.0 PN-K322B/PN-K322BH/LL-S201A. Applicable models

OPS Data Quick Start Guide

Designing for the Mobile Web Lesson 3: HTML5 Web Apps

Mobile Technique and Features

Developing Applications for ios

How to use your ipad or iphone as a second monitor

Remote Desktop Connection Setup at King s College in Wilkes-Barre, PA

ipad for Attorneys 366 South Oyster Bay Road Hicksville, NY Phone: (516) Fax: (516)

Interactive Whiteboard Functionality Overview Choosing Pen Style Erasing / Modifying Writing Undo / Redo

RDM+ Remote Desktop for Android. Getting Started Guide

Amazon WorkMail. User Guide Version 1.0

Silk Test Testing Mobile Web Applications

TeamViewer App for Outlook Documentation

Mobile Application Development

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

Workshop on Android and Applications Development

Multi-Touch Control Wheel Software Development Kit User s Guide

AVG Business SSO Partner Getting Started Guide

Take full advantage of IBM s IDEs for end- to- end mobile development

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Citrix StoreFront. Customizing the Receiver for Web User Interface Citrix. All rights reserved.

Getting Started. Version 3.1 Last updated 2014/3/10. Orbweb ME: Getting Started

How To Use Titanium Studio

JavaScript Testing. Beginner's Guide. Liang Yuxian Eugene. Test and debug JavaScript the easy way PUBLISHING MUMBAI BIRMINGHAM. k I I.

Responsive Web Design. birds of feather

OfficeSuite CRM Connector for Salesforce

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

Transcription:

chrome slides at goo.gl/kifue 1/29

The Mobile Web Developer's Tool Belt Pete LePage Developer Advocate, Google 2/29

Tooling In The Web Dev Lifecycle Development Environments Authoring Abstractions Frameworks & Libraries Testing & Iteration Flow Performance Tuning Build Optimization Deployment Check out Paul Irish's presentation on Tooling and the Web App Development Stack 3/29 3/29

Development Environment Code, Compile, Build, & Reload 4/29

Sublime Text 2 5/29 5/29

CodeKit It's like steriods for web developers Compiles nearly everything Live browser reloads Combines and minifies Optimizes images JSHint and JSLint Team collaboration Easy frameworks For more information, see incident57.com/codekit/ 6/29 6/29

Development Tools 7/29

A More Lickable Web Don't let mobile, enterprise or web be an excuse for ugly, beauty sells! Inspiration Human Interface Guidelines* www.mobile-patterns.com pttrns.com Android's Human Interface Guidelines ios Human Interface Guidelines Developing Web Content for Safari User Experience Guidelines for Windows Phone * Use caution: following only one will look weird on another. 8/29 8/29

Boiler Plates jquery Mobile Bootstrap 9/29 9/29

Helpful Libraries: FT Fast Click Problem: 300ms delay between a tap and the click event firing on mobile browsers. Solution: Track TouchStartevents and fire a click event as soon as it receives a TouchEndevent. window.addeventlistener('load',function(){ newfastclick(document.body); },false); JAVASCRIPT github.com/ftlabs/fastclick 10/29 10/29

Helpful Libraries: JSConsole Problem: No debug console on mobile devices without using a remote debugger. Solution: Send console.logevents to a separate server that you connect to from your desktop. 1. Open http://jsconsole.com/ on the desktop computer and type :listen 2. Paste output into the source for your mobile app 3.???? 4. Profit. Okay, not quite yet. jsconsole.com/ 11/29 11/29

Helpful Libraries: HammerJS Problem: Makes handling multi-touch gestures hella easy! Solution: A 2k library that handles tap, double tap, swipe, hold, transform and drag. var hammer = new Hammer(document.getElementById("container")); JAVASCRIPT hammer.ondragstart = function(ev){}; hammer.ondrag = function(ev){}; hammer.ondragend = function(ev){}; hammer.onswipe = function(ev){}; eightmedia.github.com/hammer.js/ 12/29 12/29

Helpful Libraries: Lawn Chair Problem: IndexedDB, WebSQL or LocalStorage, which works best? Solution: Provides a simple API that abstracts away the implementation of each service. var people = lawnchair(); people.save({name:"pete", email:"petele@google.com"}); JAVASCRIPT people.all(function(peeps){ peeps.foreach(function(person){ console.log(person); }); }); brian.io/lawnchair/ 13/29 13/29

High DPI Displays There isn't an easy answer yet, but there are options... #my-image{ background:(low.png);} MEDIA QUERIES @media only screen and(min-device-pixel-ratio:1.5){ #my-image{ background:(high.png);} } // Only works in Safari& Chrome today. background-image: url(icon1x.jpg); background-image:-webkit-image-set( url(icon1x.jpg) 1x, url(icon2x.jpg) 2x ); IMAGE SET //Not yet implmented by any browser:( SOURCE SET <img alt="my awesome image"src="banner.jpeg" srcset="banner-hd.jpeg 2x,banner-phone.jpeg 640w,banner-phone-HD.jpeg 640w 2x" 14/29 14/29

High DPI Displays Best Practices Using image replacement is generally frowned upon Use vector images or CSS styles wherever possible Heavily compressed 2x images often look better than enlarged 1x images Use icon fonts like Font Awesome For more information, see goo.gl/wjalt 15/29 15/29

Other Helpful Tips & Stuff To Know Fingers!= mouse pointer Avoid: tables, relative positioning, absolute positioning, floats Headers and Footers? Use position: fixed; Scroll inside elements? Use overflow: scroll; Inertial scrolling? Use -webkit-overflow-scrolling: touch;(ios 5+) 16/29 16/29

Testing 17/29

Faking It: Network Link Conditioner Testing locally doesn't simulate real world mobile networks, but there are tools you can use to simulate them. Charles Proxy [Mac, PC, Linux] Network Link Conditioner [Mac] 18/29 18/29

Faking It: Chrome's Dev Tools Chrome's Dev Tools allows you to over-ride some settings or force certain behaviours like: User Agent Device Metrics Simulate Touch Events Coming Soon: Geo Location Coming Soon: Device Orientation Coming Eventually: Device Pixel Ratio 19/29 19/29

Faking it: Emulators Emulators are a great place to start, but don't give you a complete picture. Android ios and without running XCode Browser Stack 20/29 20/29

Real Thing: Chrome Remote Debugger One Time Setup 1. Install the Android SDK 2. On the mobile device, enable USB debugging at the OS level 3. On the mobile device, launch Chrome. Open Settings > Advanced > Developer toolsand check the Enable USB Web debuggingcheckbox. Debugging 1. Connect the mobile device to computer via USB 2. On the desktop, run adb forward tcp:9222 localabstract:chrome_devtools_remote 3. Open the desktop, open Chrome and navigate to localhost:9222 See goo.gl/k2qhj for more information. 21/29 21/29

Real Thing: Safari Remote Debugger One Time Setup 1. On the mobile device, enable the Web Inspector under Settings > Safari > Advanced 2. On the desktop, open Safari and open the preference pane, under Advanced, check the Show Develop menuin the menu bar checkbox Debugging 1. Connect the mobile device to your computer 2. On the desktop, click the Developmenu bar item, and choose the device you want to debug See goo.gl/tlmww for more information. 22/29 22/29

Real Thing: Firefox Remote Debugger One Time Setup 1. On the desktop, navigate to about:config, search for remote-enenable it, then restart Firefox. 2. On the mobile device, navigate to about:config, search for debugger, toggle devtools.debugger.force-localto false and devtools.debugger.remote-enabledto true, then restart Firefox. Debugging 1. On the mobile device, find the IP address 2. On the desktop, click the Toolsmenu bar item, and choose Web Developer > Remote Debuggerand enter the remote IP address plus port 6000. See goo.gl/pqe4z for more information. 23/29 23/29

Real Thing: Open Device Labs source: Viljami Salminen goo.gl/1yu7c 24/29 24/29

A Few Favors to Ask! 25/29

What: Should we create a separate mobile site or create a responsive experience instead? Join Brad Frost as he takes apart the Obama and Romney campaign webites. When: November 14th, 10:30am ET Where: goo.gl/r01l6 26/29 26/29

We Want Need Your Help! Don't accept the status quo File any Chrome bugs you find at new.mcrbug.com Build a mobile web experiment and submit it at m.chromeexperiments.com to show off your skills! Start an open device lab in your area The mobile web is what you make of it. 27/29 27/29

<Thank You!> Questions? Pete LePage g+ petelepage.com/plus/ twitter @petele slides goo.gl/kifue 28/29

chrome 29/29