SlideShare a Scribd company logo
HTML5 APPS FOR iOS
(and probably beyond)


by Andi Farr
aka @semiBad


andi@semibad.com
http://semibad.com


                        ;(
WHY HTML5 APPS?
• ‘Install’   to device
• Cross-platform

• Perfect     for small ideas
• Buildapps quickly and using simple and
 familiar techniques
• Deploy      instantly from any web space
• Potential    for ‘dynamic’, personalised apps
UNFLappABLE
UNFLappABLE

A very simple notecard
application to help me through my
first time speaking!
Lives at unflappable.semibad.com
Optimised for use on an iPhone /
iPod Touch, but should work on
any device

Recommended for you

Drupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with ZenDrupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with Zen

Theming with Zen. My Presentation fro Drupal Camp Manila. 2014 Summary: Why Theme? Why Zen? How to Zen? It also goes through the installation process and touches a bit on scss capabilities.

drupal pilipinasdrupazen grids
Seo hints
Seo hintsSeo hints
Seo hints

The document provides guidance on optimizing a website for search engine optimization (SEO). It includes recommendations for optimizing titles, meta descriptions, keywords, images, links, headings and content with keywords. It also recommends submitting the site to Google Search Console, creating an XML sitemap and robots.txt file, checking for duplicate and broken content, and monitoring the site health through Search Console.

https://www.youtube.com/watch?v=0fo5rmlznjq
Challenges going mobile
Challenges going mobileChallenges going mobile
Challenges going mobile

jQuery Mobile has been integrated in APEX since version 4.2 and building a mobile web application with APEX seems magically easy ever since. Once you start a mobile project you will be confronted with a number of challenges related to the jQuery Mobile frameworks mechanisms. This session tends to explain the fundamentals that are important to know for APEX developers and how to deal with these in APEX development. When creating a mobile web application with APEX, knowledge of how jQuery Mobile works and how it is different from what we are used to as APEX developers is essential, I learned this during projects. This session will explain the important jQuery Mobile framework mechanisms and how to deal with these in APEX: Page loading and submitting data; customizing the user interface elements; debugging, testing and inspecting on actual mobile devices.

apexoracle application expressoracle
UNFLappABLE

Login screen makes a simple AJAX
call and retrieves data from a
user’s online account
We store the JSON object locally,
and from this point we can access
the data whenever we like – even
without a network connection
UNFLappABLE
UNFLappABLE

The app is a single HTML page,
divided into ‘views’ which the app
moves between
Plain Old Semantic HTML!
Most of what’s going on, happens
in the <head>
Uses jQuery, but only so I could
develop it quickly
DESIGNING IT
Design for touch – buttons
and interactive elements
are nice and big
Also, think about
how a user will hold
the device – the next
button is placed to be
easy for a user holding
in that orientation

Recommended for you

Dissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
Dissecting WordPress Themes and Page Templates, WordPress Columbus MeetupDissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
Dissecting WordPress Themes and Page Templates, WordPress Columbus Meetup

This document provides an overview of WordPress templates and how they work. It explains that templates contain PHP code and CSS that retrieve content from the WordPress database and style it for display. Common templates include index.php, style.css, header.php, footer.php and others. Template tags in the PHP code allow content to be selectively displayed. The document provides examples of how different pages and post types are displayed using these templates and tags.

wordpresspage templatesmeetup
WordPress Multisite at WordCamp Columbus by Angie Meeker
WordPress Multisite at WordCamp Columbus by Angie MeekerWordPress Multisite at WordCamp Columbus by Angie Meeker
WordPress Multisite at WordCamp Columbus by Angie Meeker

WordPress multisite allows users to create multiple websites from one WordPress installation, sharing themes, plugins, and users. It provides an unlimited number of sites with one installation. Key steps to set up multisite include enabling it in wp-config.php, running the network setup, editing .htaccess, and adding folders to wp-content. Multisite introduces new user roles like super admins and administrators. Recommended plugins include Domain Mapping and Sitewide Tags for aggregating content across sites.

wordpressmultsite
How to overengineer a meme generator
How to overengineer a meme generatorHow to overengineer a meme generator
How to overengineer a meme generator

The document discusses overengineering a meme generator by utilizing various modern web technologies including Webpack, ES2016, SCSS, linters, tests, the Picture element, Web Speech API, MediaDevices API, IndexedDB, Service Workers, the Web Manifest, and more to add features like spellchecking, downloading, better image support, text-to-speech, video/audio recording, offline support, notifications, and turning the project into a native-like PWA. The goal is to experiment with cutting-edge web capabilities and push the limits of what can be done on the client-side alone.

web developmentjavascriptmeme
DESIGNING IT
Uses a few image textures
for a smaller number of
requests, with CSS to style
the graphical elements
DESIGNING IT
iOS devices now support          Futura
truetype @font-face              Baskerville
embedding, but have
a surprisingly good              Gill sans
selection of decent fonts        Cochin
available by default             American
Keep it lightweight – mobile /   Typewriter
tablet devices are a lot less
powerful, even at the top end
STYLING IT UP
• CSS3 – more than just rounded
 corners and drop shadows!
• Imageless      gradients – saves
 file size
• Multiplebackgrounds – adds
 texture over bg gradient

 background: url(/img/bg.png) top center,
 -webkit-gradient(linear, left top, left bottom, from(#1feee7), to(#16a6a1));
STYLING IT UP

• Multiplebox-shadow
 on flat textured
 elements – inset light
 colours for highlights
• Use box-sizing to
 change the box model
 of an element – useful
 for fluid designs

Recommended for you

Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]

In this session, Aaron Gustafson will explain the ins and outs of crafting rich Web experiences that adapt to the capabilities and peculiarities of our customers and their devices, while maintaining your sanity in the process. You will learn: * An understanding of the challenges (and possibilities) presented by the wide range of browsers and devices being used to access the web * A fresh perspective on interface design, grounded in the progressive enhancement philosophy * Ideas around how to tailor experiences based on device capabilities; * Solid strategies for determining how common UI components can be re-imagined in an adaptive fashion * A practical knowledge of how HTML, CSS, and JavaScript can be deployed in the service of adaptive user interfaces

web designweb design and developmenthtml5
Click and Create Sales Presentation
Click and Create Sales PresentationClick and Create Sales Presentation
Click and Create Sales Presentation

This document provides information on creating a website for a small business, including the website production cycle, components of a website like content, design, and traffic, and tips for promoting a site. It discusses content management systems, template options, search engine optimization, analytics, and domain names. The goal is to guide businesses through the process of developing a professional website.

Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]

Responsive web design has taken our industry by storm and with good reason: it helps us improve our reach with less effort. But incorporating responsive design is not the goal, meeting your user’s needs is. Responsive design is not an end in itself… it’s just the beginning. Embracing the heterogenous nature of the web—the myriad web-enabled devices with vastly different dimensions, screen sizes, networks, and capabilities in use by countless individuals, each with their own special needs—allows you to craft experiences that will work anywhere at any time. It also helps you build robust systems that adapt in ways far beyond aesthetics. This talk will cover a number of considerations that you should be aware of, beyond screen size and pixel density, and provide examples of how to adapt your interfaces so they rise to meet your users’ needs.

uxuser experiencejavascript
STYLING IT UP
• Uses   rgba() throughout for blended colours
           and transform for ‘shuffling’ the menu
• :nth-child
 cards a bit
 #menu li:nth-child(3n+2) { -webkit-transform: rotate(0.7deg); }
 #menu li:nth-child(3n+3) { -webkit-transform: rotate(-1deg); }
MEDIA QUERIES
Serve different stylesheets based on
different browser / device configurations
MEDIA QUERIES
• For  this app, the main stylesheet
  styles the app for iPhone / small
  screen devices
• This depends on the project, but
  using the simplest version is a good
  fallback for older mobile devices
• It
   also means that phones
  download use the smallest
  amount of bandwidth
MEDIA QUERIES
main.css contains a section
which restyles for landscape
orientation
/* landscape mode */


@media only screen and
(orientation:landscape) {


    body { xxx: xxx }


}

Recommended for you

Migrating to share point online using microsoft tools
Migrating to share point online using microsoft toolsMigrating to share point online using microsoft tools
Migrating to share point online using microsoft tools

The document discusses migrating content from a source SharePoint farm to a target SharePoint Online site using PowerShell and Azure storage. It outlines the steps to export content from a source, convert it to a targeted migration package, upload it to Azure storage, and submit a migration job to import the content to the target. The last section discusses migrating a large list instead of the entire site content.

Senior Project
Senior ProjectSenior Project
Senior Project

The document outlines Chris Bell's senior project to become a half-Iron Man by swimming 2.4 miles, biking 112 miles, and running 26.2 miles, including discussing nutrition, equipment, training areas of focus, and adopted training regimen. It also details his experience in the Waikiki Roughwater Swim, Around-Oahu Bike Race, and Honolulu Marathon, noting difficulties with biking and cramping but ultimately finding success in completing the races.

Revenue Management
Revenue ManagementRevenue Management
Revenue Management

The document discusses strategies for physicians to increase revenue through outsourcing medical billing and claims processing. It notes that doctors currently spend much time on paperwork instead of patients. Outsourcing can reduce insurance claim rejection rates to as low as 2% while lowering billing costs by up to 50%. The solution involves scanning patient data into a HIPAA-compliant system, submitting claims within 24 hours, and having payments sent directly to doctors. Outsourcing coding can also increase reimbursements by 30% by ensuring proper coding. It also addresses improving patient collections by setting up automatic monthly payments without sending invoices.

MEDIA QUERIES
MEDIA QUERIES
big.css is used for any
devices with a higher width
than 481px – desktop
browsers, iPads, etc.
<link href='/css/big.css' rel='stylesheet'
  media='only screen and (min-device-
  width: 481px)' />
HI RESOLUTION STYLES
Include using a min-device-pixels media query to
serve to high-DPI devices
<link href='/css/hi-res.css' rel='stylesheet'
  media='only screen and (-webkit-min-device-pixel-ratio: 2),
  only screen and (min-device-pixel-ratio: 2)' />
HI RESOLUTION STYLES
Add double-size graphics, then shrink them to the
proper size with background-size
Remember that these extra images take up a lot
of precious space
html {
    background: url(/img/bg-hi.png) top center (50%, 50%);
}


footer {
    background-image: url(/img/wood-hi.jpg);
    background-size: cover;
}

Recommended for you

Mcit
McitMcit
Mcit

The document discusses strategies for physicians to increase revenue through outsourcing medical billing and claims processing. It notes that doctors currently spend much time on paperwork instead of patients. Outsourcing can reduce insurance claim rejection rates to as low as 2% while lowering billing costs by up to 50%. The solution involves scanning patient data into a HIPAA-compliant system, submitting claims within 24 hours, and having payments sent directly to doctors. Outsourcing coding can also increase reimbursements by 30% by ensuring proper coding. It also addresses improving patient collections by setting up automatic monthly payments without sending invoices.

APP CACHING
Your cache manifest is a simple file that tells the
browser to cache certain files
You specify it using a manifest attribute on your
opening <html> tag:

<html manifest=‘cache.manifest’>
APP CACHING
The browser will need to be told how to read it,
either in the .htaccess file or using a PHP
wrapper file (or similar):
AddType text/cache-manifest .manifest



You could quite easily write a backend script to
generate your manifest automatically
APP CACHING
This one is very simple –       CACHE MANIFEST


it’s just a list of files that   # unflappable : cache v0.17

need caching (I’ve cut          /css/reset.css

some out here)                  /css/main.css
                                /css/big.css
                                /css/hi-res.css
Your file must start with
CACHE MANIFEST
                                /img/icon.png
                                /img/bg.png
                                /img/bg-hi.png
                                /img/brass.jpg
                                /img/brass-hi.jpg
                                /img/paper.jpg
                                /img/wood.jpg
                                /img/wood-hi.jpg
APP CACHING
Difficult to debug – fails silently if missing
files or on bad syntax. Chrome dev tools are
your friend!

Recommended for you

Kimpton Hotels, DC, MD and VA
Kimpton Hotels, DC, MD and VAKimpton Hotels, DC, MD and VA
Kimpton Hotels, DC, MD and VA
luxury boutique hotels washington dc area
Responsive design
Responsive designResponsive design
Responsive design

This document discusses responsive web design techniques including: - Using viewports and media queries to adapt layouts for different screen sizes. - Sizing images fluidly using max-width: 100% so they are responsive. - Design patterns for responsive tables, hiding/showing content, and converting menus to dropdowns. - Tools like Modernizr, Respond.js, and frameworks like LESS to support responsive design goals. - Tips like using relative units (ems/percentages) over fixed pixels and transitions for visual changes.

Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3

This document provides an overview of how to create responsive website designs using Bootstrap 3. It discusses how Bootstrap is a popular framework for responsive, mobile-first projects. It then covers the basics of getting started with Bootstrap, including downloading Bootstrap, including the necessary files, and using Bootstrap's grid system and other components to create responsive designs.

website designmobilemobile apps
APP CACHING
5MB limit on cached apps –
keep an eye on file / data size
When you update, you must
change the manifest in some
way – usually incrementing a
version number is best
# unflappable : cache v0.946
LOCAL STORAGE
Simple key / value pairs
Essentially just persistent variables, specific to
your app / domain
localStorage items are always strings – you can
save objects into it by using JSON.stringify()
This app uses localStorage to store the JSON
object with all the presentation data in
LOCAL STORAGE
To set a localStorage variable:
localStorage.setItem(‘key’, ‘value’);



To retrieve a localStorage variable:
localStorage.getItem(‘key’);



And then delete it permanently:
localStorage.removeItem(‘key’)
LOCAL STORAGE
For more complex data storage, you can also
use WebSQL – client side SQL databases
Cross-browser support isn’t as wide, though iOS
supports it fine

Recommended for you

Eye candy for your iPhone
Eye candy for your iPhoneEye candy for your iPhone
Eye candy for your iPhone

This document discusses techniques to make a WordPress site resemble a native iPhone app, including hiding the browser address bar, scaling the window properly, customizing the home screen icon and splash screen, and putting the site into full-screen mode. While not a substitute for a responsive design, these tricks can provide a better mobile experience and make the site look more like a true app. Examples are provided of the code needed and the impact on a sample site.

wordpressmobile application developmentweb design and development
Practical tipsmakemobilefaster oscon2016
Practical tipsmakemobilefaster oscon2016Practical tipsmakemobilefaster oscon2016
Practical tipsmakemobilefaster oscon2016

Doris Chen is a senior developer evangelist at Microsoft who focuses on web technologies like JavaScript and HTML5. Her presentation covers optimizing Cordova app performance, including measuring startup cost and memory usage, using CSS for gradients instead of images, animating with translate3d instead of left/top, and handling events through bubbling instead of individual listeners. She provides tips like keeping the DOM simple, batching layout changes, and cleaning up unused objects to prevent memory leaks.

Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Web

This document discusses best practices for mobile web development. It begins by noting limitations of mobile devices like less CPU/memory and smaller screens. It then provides tips for configuring the viewport, using media queries to separate styles, and detecting device properties in JavaScript. The document also covers HTML5 features like geolocation, media capture, and input types. It gives recommendations for images, gestures, and performance optimizations like minimizing redirects, requests, files sizes and using Gzip compression.

pinkoicoscupmobile web
META TAGS & ICONS
A bunch of stuff in the <head> to set up
your app!
<meta name="viewport" content="width=device-width, initial-scale=1,
maximum-scale=1, user-scalable=0">
<meta name="apple-mobile-web-app-capable" content="yes" />


<link rel="icon" href="/img/icon.png" />
<link rel="apple-touch-icon" href="/img/apple-icon.png" />
<link rel="apple-touch-icon" href="/img/apple-icon-hi.png" sizes="114x114" />
META TAGS & ICONS
The viewport meta tag lets you set how iOS (and
other devices) will handle resizing, scrolling, and
other detail
<meta
  name="viewport"
  content="width=device-width,
  initial-scale=1,
  maximum-scale=1,
  user-scalable=0">
META TAGS & ICONS
The apple-mobile-web-app-capable meta tag tells
iOS to not display browser chrome when a user
runs this app from the home screen
<meta name="apple-mobile-web-app-capable" content="yes" />
META TAGS & ICONS
apple-mobile-web-app-status-bar-style allows you
to set the status bar colour
Default is the light bar, also black or black-
translucent
If you use black-translucent, your content will
have an extra 20px to fill:

Recommended for you

Cm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learnCm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learn

This document provides an overview of developing apps for the iPad using web technologies like HTML5, CSS3, and JavaScript compared to developing native apps. It discusses key differences like the APIs available, performance, costs, updating processes, and more. It then provides best practices for web design on iPads, including considerations for touch targets, orientations, animations, images, and more. It also covers specific technologies like HTML5, CSS3, JavaScript, and backend development approaches. The overall message is that web development for iPads is very capable with modern techniques.

Responsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at ScaleResponsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at Scale

Scott Jehl of Filament Group discussed building responsive and responsible websites. He advocated for a layered approach using progressive enhancement. This involves a basic mobile-first experience enhanced for newer browsers. Images and layout adapt to different screensizes using responsive design principles. Accessibility, performance, and usability were highlighted as key areas of responsibility.

responsive designboston globefilament group
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it

This document discusses how to create mobile apps that feel native using only web technologies. It covers supporting features in Mobile Safari like local storage, CSS3 features, and geolocation. It recommends using web technologies over native due to quicker iteration times. Specific techniques covered include detecting browser type, adding home screen icons, startup images, going full screen, and viewport settings. The document also discusses frameworks like jQuery Mobile but notes native DOM APIs may be sufficient. It covers input features, touch vs click, animations, locking orientation, and performance tips. It acknowledges limitations of Android and webOS and recommends testing on actual devices. Finally, it discusses hybrid mobile frameworks like PhoneGap and Titanium that allow developing for multiple platforms using one code

androidmobileiphone
META TAGS & ICONS
Icons specified in the <head> are used on the
user’s home screen alongside native apps
Use a 72px icon for iPad, and a 114px icon for
Retina displays – if you have more than one,
specify which is which using the sizes attribute

<link rel="icon" href="/img/icon.png" />
<link rel="apple-touch-icon"
href="/img/apple-icon.png" />
<link rel="apple-touch-icon"
href="/img/apple-icon-hi.png" sizes="114x114" />
WHAT NEXT?
This is a very simple introduction to what HTML5
apps can do in the mobile space
A surprising amount of features are exposed to
mobile browsers
Canvas interactivity, video, audio, geolocation,
and the accelerometer are just a few things
which are available for your apps
WHAT NEXT?
Dive into HTML5 (Mark Pilgrim)
http://diveintohtml5.org
The HTML5 Doctor (various)
http://html5doctor.com
HTML5 Poker cheat sheet (by... me)
http://semibad.com/s/poker
THANK YOU
Please refrain from asking difficult questions




@semibad
andi@semibad.com
http://semibad.com

Recommended for you

Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...

Websites are viewed on all kinds of devices, in all kinds of browsers. In this presentation, I explain how you can adapt your site to these different environments, using modern browser hooks and techniques. I cover the various aspects (and some gotchas) of the viewport mechanism and media queries, and shed a light on how new CSS3 properties allow you to optimize images and videos for multiple screens.

responsive designmedia queriesmobile
Html 5 mobile - nitty gritty
Html 5 mobile - nitty grittyHtml 5 mobile - nitty gritty
Html 5 mobile - nitty gritty

This document provides an overview of HTML5 best practices for mobile design. It begins with introductions and outlines the session agenda. The presenter then discusses high-level principles like universal design and progressive enhancement. Specific techniques covered include viewport meta tags, media queries, scalable images, HTML5 tags, and touch-friendly guidelines. CSS topics include grids, backgrounds, gradients, and transitions. JavaScript behaviors like navigation, forms, and geolocation are also reviewed. Useful frameworks, polyfills, and testing tools are presented. The overall message is that mobile design requires an adaptive, user-centered approach through careful content structuring, responsive presentation, and unobtrusive behavior.

Spectrum 2015 responsive design
Spectrum 2015   responsive designSpectrum 2015   responsive design
Spectrum 2015 responsive design

This document introduces responsive design for online help outputs. It defines responsive design as creating a single output that automatically adapts to different display devices. It discusses how responsive design works using relative size units, media queries, and fluid grids. It also provides examples of how to implement responsive design in Flare and RoboHelp without coding by using their built-in responsive features and outlines best practices for content design.

#spectrum15#techcomm#stc-rochester

More Related Content

What's hot

Going responsive
Going responsiveGoing responsive
Going responsive
Robert Cochran
 
Css web gallery
Css web galleryCss web gallery
Css web gallery
Daniel Downs
 
Progressively Enhancing WordPress Themes
Progressively Enhancing WordPress ThemesProgressively Enhancing WordPress Themes
Progressively Enhancing WordPress Themes
Digitally
 
Drupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with ZenDrupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with Zen
Japo Domingo
 
Seo hints
Seo hintsSeo hints
Seo hints
AbidKhan237
 
Challenges going mobile
Challenges going mobileChallenges going mobile
Challenges going mobile
Christian Rokitta
 
Dissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
Dissecting WordPress Themes and Page Templates, WordPress Columbus MeetupDissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
Dissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
Angela Meeker
 
WordPress Multisite at WordCamp Columbus by Angie Meeker
WordPress Multisite at WordCamp Columbus by Angie MeekerWordPress Multisite at WordCamp Columbus by Angie Meeker
WordPress Multisite at WordCamp Columbus by Angie Meeker
Angela Meeker
 
How to overengineer a meme generator
How to overengineer a meme generatorHow to overengineer a meme generator
How to overengineer a meme generator
Krešimir Antolić
 
Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]
Aaron Gustafson
 
Click and Create Sales Presentation
Click and Create Sales PresentationClick and Create Sales Presentation
Click and Create Sales Presentation
cmevans2
 
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
Aaron Gustafson
 
Migrating to share point online using microsoft tools
Migrating to share point online using microsoft toolsMigrating to share point online using microsoft tools
Migrating to share point online using microsoft tools
spsnyc
 

What's hot (13)

Going responsive
Going responsiveGoing responsive
Going responsive
 
Css web gallery
Css web galleryCss web gallery
Css web gallery
 
Progressively Enhancing WordPress Themes
Progressively Enhancing WordPress ThemesProgressively Enhancing WordPress Themes
Progressively Enhancing WordPress Themes
 
Drupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with ZenDrupal Camp Manila 2014 - Theming with Zen
Drupal Camp Manila 2014 - Theming with Zen
 
Seo hints
Seo hintsSeo hints
Seo hints
 
Challenges going mobile
Challenges going mobileChallenges going mobile
Challenges going mobile
 
Dissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
Dissecting WordPress Themes and Page Templates, WordPress Columbus MeetupDissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
Dissecting WordPress Themes and Page Templates, WordPress Columbus Meetup
 
WordPress Multisite at WordCamp Columbus by Angie Meeker
WordPress Multisite at WordCamp Columbus by Angie MeekerWordPress Multisite at WordCamp Columbus by Angie Meeker
WordPress Multisite at WordCamp Columbus by Angie Meeker
 
How to overengineer a meme generator
How to overengineer a meme generatorHow to overengineer a meme generator
How to overengineer a meme generator
 
Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]Planning Adaptive Interfaces [RWD Summit 2016]
Planning Adaptive Interfaces [RWD Summit 2016]
 
Click and Create Sales Presentation
Click and Create Sales PresentationClick and Create Sales Presentation
Click and Create Sales Presentation
 
Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]Beyond Responsive [18F 2015]
Beyond Responsive [18F 2015]
 
Migrating to share point online using microsoft tools
Migrating to share point online using microsoft toolsMigrating to share point online using microsoft tools
Migrating to share point online using microsoft tools
 

Viewers also liked

Senior Project
Senior ProjectSenior Project
Senior Project
batboy1993
 
Revenue Management
Revenue ManagementRevenue Management
Revenue Management
jedidig68
 
Mcit
McitMcit
Mcit
jedidig68
 
Kimpton Hotels, DC, MD and VA
Kimpton Hotels, DC, MD and VAKimpton Hotels, DC, MD and VA
Kimpton Hotels, DC, MD and VA
Cartinab
 

Viewers also liked (6)

Senior Project
Senior ProjectSenior Project
Senior Project
 
Revenue Management
Revenue ManagementRevenue Management
Revenue Management
 
Mcit
McitMcit
Mcit
 
Essential list 1
Essential list 1Essential list 1
Essential list 1
 
Guion tecnico
Guion tecnicoGuion tecnico
Guion tecnico
 
Kimpton Hotels, DC, MD and VA
Kimpton Hotels, DC, MD and VAKimpton Hotels, DC, MD and VA
Kimpton Hotels, DC, MD and VA
 

Similar to HTML5 apps for iOS (and probably beyond)

Responsive design
Responsive designResponsive design
Responsive design
John Doxaras
 
Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3
Wahyu Putra
 
Eye candy for your iPhone
Eye candy for your iPhoneEye candy for your iPhone
Eye candy for your iPhone
Brian Shim
 
Practical tipsmakemobilefaster oscon2016
Practical tipsmakemobilefaster oscon2016Practical tipsmakemobilefaster oscon2016
Practical tipsmakemobilefaster oscon2016
Doris Chen
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Web
mikeleeme
 
Cm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learnCm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learn
Critical Mass
 
Responsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at ScaleResponsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at Scale
scottjehl
 
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
 
Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...
Andreas Bovens
 
Html 5 mobile - nitty gritty
Html 5 mobile - nitty grittyHtml 5 mobile - nitty gritty
Html 5 mobile - nitty gritty
Mario Noble
 
Spectrum 2015 responsive design
Spectrum 2015   responsive designSpectrum 2015   responsive design
Spectrum 2015 responsive design
Neil Perlin
 
Drupal performance and scalability
Drupal performance and scalabilityDrupal performance and scalability
Drupal performance and scalability
Twinbit
 
Team styles
Team stylesTeam styles
Team styles
nathanscott
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dee Sadler
 
Html5 & less css
Html5 & less cssHtml5 & less css
Html5 & less css
Graham Johnson
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
Jens-Christian Fischer
 
Once Source to Rule Them All
Once Source to Rule Them AllOnce Source to Rule Them All
Once Source to Rule Them All
David Yeiser
 
“Good design is obvious. Great design is transparent.” — How we use Bootstrap...
“Good design is obvious. Great design is transparent.” — How we use Bootstrap...“Good design is obvious. Great design is transparent.” — How we use Bootstrap...
“Good design is obvious. Great design is transparent.” — How we use Bootstrap...
Roni Banerjee
 
Html5
Html5Html5
Responsive websites. Toolbox
Responsive websites. ToolboxResponsive websites. Toolbox
Responsive websites. Toolbox
Wojtek Zając
 

Similar to HTML5 apps for iOS (and probably beyond) (20)

Responsive design
Responsive designResponsive design
Responsive design
 
Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3Create Responsive Website Design with Bootstrap 3
Create Responsive Website Design with Bootstrap 3
 
Eye candy for your iPhone
Eye candy for your iPhoneEye candy for your iPhone
Eye candy for your iPhone
 
Practical tipsmakemobilefaster oscon2016
Practical tipsmakemobilefaster oscon2016Practical tipsmakemobilefaster oscon2016
Practical tipsmakemobilefaster oscon2016
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Web
 
Cm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learnCm i padwebdev_lunch_learn
Cm i padwebdev_lunch_learn
 
Responsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at ScaleResponsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at Scale
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...
 
Html 5 mobile - nitty gritty
Html 5 mobile - nitty grittyHtml 5 mobile - nitty gritty
Html 5 mobile - nitty gritty
 
Spectrum 2015 responsive design
Spectrum 2015   responsive designSpectrum 2015   responsive design
Spectrum 2015 responsive design
 
Drupal performance and scalability
Drupal performance and scalabilityDrupal performance and scalability
Drupal performance and scalability
 
Team styles
Team stylesTeam styles
Team styles
 
Dreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile designDreamweaver CS6, jQuery, PhoneGap, mobile design
Dreamweaver CS6, jQuery, PhoneGap, mobile design
 
Html5 & less css
Html5 & less cssHtml5 & less css
Html5 & less css
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
 
Once Source to Rule Them All
Once Source to Rule Them AllOnce Source to Rule Them All
Once Source to Rule Them All
 
“Good design is obvious. Great design is transparent.” — How we use Bootstrap...
“Good design is obvious. Great design is transparent.” — How we use Bootstrap...“Good design is obvious. Great design is transparent.” — How we use Bootstrap...
“Good design is obvious. Great design is transparent.” — How we use Bootstrap...
 
Html5
Html5Html5
Html5
 
Responsive websites. Toolbox
Responsive websites. ToolboxResponsive websites. Toolbox
Responsive websites. Toolbox
 

Recently uploaded

Balhani 1st yr (1).pdfhshhshshshshshshshdhdhdh
Balhani 1st yr (1).pdfhshhshshshshshshshdhdhdhBalhani 1st yr (1).pdfhshhshshshshshshshdhdhdh
Balhani 1st yr (1).pdfhshhshshshshshshshdhdhdh
NakulJain35
 
Design Impulse: Boost the power of design
Design Impulse: Boost the power of designDesign Impulse: Boost the power of design
Design Impulse: Boost the power of design
Pieter van Langen
 
Dwarka @ℂall @Girls ꧁❤ 9873777170 ❤꧂Fabulous sonam Mehra Top Model Safe
Dwarka @ℂall @Girls ꧁❤ 9873777170 ❤꧂Fabulous sonam Mehra Top Model SafeDwarka @ℂall @Girls ꧁❤ 9873777170 ❤꧂Fabulous sonam Mehra Top Model Safe
Dwarka @ℂall @Girls ꧁❤ 9873777170 ❤꧂Fabulous sonam Mehra Top Model Safe
Jinni singh$A17
 
Karol Bagh @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model Safe
Karol Bagh @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model SafeKarol Bagh @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model Safe
Karol Bagh @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model Safe
shoeb2926
 
de-on-thi-vstep-bac-4.pdf vjknvjknvkjdnvjkdnvj
de-on-thi-vstep-bac-4.pdf vjknvjknvkjdnvjkdnvjde-on-thi-vstep-bac-4.pdf vjknvjknvkjdnvjkdnvj
de-on-thi-vstep-bac-4.pdf vjknvjknvkjdnvjkdnvj
92nqjwr76x
 
AI in UX AI in UX - Exploring the Future of Design by FoF Nuremberg.pdf
AI in UX AI in UX - Exploring the Future of Design by FoF Nuremberg.pdfAI in UX AI in UX - Exploring the Future of Design by FoF Nuremberg.pdf
AI in UX AI in UX - Exploring the Future of Design by FoF Nuremberg.pdf
taranenkovictoria
 
Professional Document Editing Services / Bank Statement Editing
Professional Document Editing Services / Bank Statement EditingProfessional Document Editing Services / Bank Statement Editing
Professional Document Editing Services / Bank Statement Editing
Edit Bank Statement
 
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model SafePaharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model Safe
dakshishsingh98798
 
2024_summer_my_dream_from_gnjpuser_20240708
2024_summer_my_dream_from_gnjpuser_202407082024_summer_my_dream_from_gnjpuser_20240708
2024_summer_my_dream_from_gnjpuser_20240708
kousato1
 
2024_summer_my_dream_gnjp_20240705_ks.pdf
2024_summer_my_dream_gnjp_20240705_ks.pdf2024_summer_my_dream_gnjp_20240705_ks.pdf
2024_summer_my_dream_gnjp_20240705_ks.pdf
kousato1
 
Fear and Faith (Slideshow by: Kal-el Go)
Fear and Faith (Slideshow by: Kal-el Go)Fear and Faith (Slideshow by: Kal-el Go)
Fear and Faith (Slideshow by: Kal-el Go)
Kal-el Shows
 
Glasgow University degree Certificate
Glasgow University degree CertificateGlasgow University degree Certificate
Glasgow University degree Certificate
tezeqes
 
ITR Filing for the year of the 2023-24 .pdf
ITR Filing for the year of the 2023-24 .pdfITR Filing for the year of the 2023-24 .pdf
ITR Filing for the year of the 2023-24 .pdf
shyamraj39
 
S S Bhavikatti Civil Engineering Structural Designing
S S Bhavikatti Civil Engineering Structural DesigningS S Bhavikatti Civil Engineering Structural Designing
S S Bhavikatti Civil Engineering Structural Designing
SuvamoyPanja
 
十大美洲杯投注网站-美洲杯投注网站平台网址大全 |【​网址​🎉ac123.net🎉​】 .
十大美洲杯投注网站-美洲杯投注网站平台网址大全 |【​网址​🎉ac123.net🎉​】  .十大美洲杯投注网站-美洲杯投注网站平台网址大全 |【​网址​🎉ac123.net🎉​】  .
十大美洲杯投注网站-美洲杯投注网站平台网址大全 |【​网址​🎉ac123.net🎉​】 .
telchlarzelere270
 
Greater Kailash @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe
Greater Kailash @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model SafeGreater Kailash @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe
Greater Kailash @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe
kumkum tuteja$A17
 
一比一原版(ual毕业证书)伦敦艺术大学毕业证如何办理
一比一原版(ual毕业证书)伦敦艺术大学毕业证如何办理一比一原版(ual毕业证书)伦敦艺术大学毕业证如何办理
一比一原版(ual毕业证书)伦敦艺术大学毕业证如何办理
ijk38lw
 
Portfolio of Family Coat of Arms, devised by Kasyanenko Rostyslav, ENG
Portfolio of Family Coat of Arms, devised by Kasyanenko Rostyslav, ENGPortfolio of Family Coat of Arms, devised by Kasyanenko Rostyslav, ENG
Portfolio of Family Coat of Arms, devised by Kasyanenko Rostyslav, ENG
Rostyslav Kasyanenko
 
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model SafePaharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model Safe
jiya khan$A17
 
Nehru Place @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model Safe
Nehru Place @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model SafeNehru Place @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model Safe
Nehru Place @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model Safe
jiya khan$A17
 

Recently uploaded (20)

Balhani 1st yr (1).pdfhshhshshshshshshshdhdhdh
Balhani 1st yr (1).pdfhshhshshshshshshshdhdhdhBalhani 1st yr (1).pdfhshhshshshshshshshdhdhdh
Balhani 1st yr (1).pdfhshhshshshshshshshdhdhdh
 
Design Impulse: Boost the power of design
Design Impulse: Boost the power of designDesign Impulse: Boost the power of design
Design Impulse: Boost the power of design
 
Dwarka @ℂall @Girls ꧁❤ 9873777170 ❤꧂Fabulous sonam Mehra Top Model Safe
Dwarka @ℂall @Girls ꧁❤ 9873777170 ❤꧂Fabulous sonam Mehra Top Model SafeDwarka @ℂall @Girls ꧁❤ 9873777170 ❤꧂Fabulous sonam Mehra Top Model Safe
Dwarka @ℂall @Girls ꧁❤ 9873777170 ❤꧂Fabulous sonam Mehra Top Model Safe
 
Karol Bagh @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model Safe
Karol Bagh @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model SafeKarol Bagh @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model Safe
Karol Bagh @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model Safe
 
de-on-thi-vstep-bac-4.pdf vjknvjknvkjdnvjkdnvj
de-on-thi-vstep-bac-4.pdf vjknvjknvkjdnvjkdnvjde-on-thi-vstep-bac-4.pdf vjknvjknvkjdnvjkdnvj
de-on-thi-vstep-bac-4.pdf vjknvjknvkjdnvjkdnvj
 
AI in UX AI in UX - Exploring the Future of Design by FoF Nuremberg.pdf
AI in UX AI in UX - Exploring the Future of Design by FoF Nuremberg.pdfAI in UX AI in UX - Exploring the Future of Design by FoF Nuremberg.pdf
AI in UX AI in UX - Exploring the Future of Design by FoF Nuremberg.pdf
 
Professional Document Editing Services / Bank Statement Editing
Professional Document Editing Services / Bank Statement EditingProfessional Document Editing Services / Bank Statement Editing
Professional Document Editing Services / Bank Statement Editing
 
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model SafePaharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model Safe
 
2024_summer_my_dream_from_gnjpuser_20240708
2024_summer_my_dream_from_gnjpuser_202407082024_summer_my_dream_from_gnjpuser_20240708
2024_summer_my_dream_from_gnjpuser_20240708
 
2024_summer_my_dream_gnjp_20240705_ks.pdf
2024_summer_my_dream_gnjp_20240705_ks.pdf2024_summer_my_dream_gnjp_20240705_ks.pdf
2024_summer_my_dream_gnjp_20240705_ks.pdf
 
Fear and Faith (Slideshow by: Kal-el Go)
Fear and Faith (Slideshow by: Kal-el Go)Fear and Faith (Slideshow by: Kal-el Go)
Fear and Faith (Slideshow by: Kal-el Go)
 
Glasgow University degree Certificate
Glasgow University degree CertificateGlasgow University degree Certificate
Glasgow University degree Certificate
 
ITR Filing for the year of the 2023-24 .pdf
ITR Filing for the year of the 2023-24 .pdfITR Filing for the year of the 2023-24 .pdf
ITR Filing for the year of the 2023-24 .pdf
 
S S Bhavikatti Civil Engineering Structural Designing
S S Bhavikatti Civil Engineering Structural DesigningS S Bhavikatti Civil Engineering Structural Designing
S S Bhavikatti Civil Engineering Structural Designing
 
十大美洲杯投注网站-美洲杯投注网站平台网址大全 |【​网址​🎉ac123.net🎉​】 .
十大美洲杯投注网站-美洲杯投注网站平台网址大全 |【​网址​🎉ac123.net🎉​】  .十大美洲杯投注网站-美洲杯投注网站平台网址大全 |【​网址​🎉ac123.net🎉​】  .
十大美洲杯投注网站-美洲杯投注网站平台网址大全 |【​网址​🎉ac123.net🎉​】 .
 
Greater Kailash @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe
Greater Kailash @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model SafeGreater Kailash @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe
Greater Kailash @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe
 
一比一原版(ual毕业证书)伦敦艺术大学毕业证如何办理
一比一原版(ual毕业证书)伦敦艺术大学毕业证如何办理一比一原版(ual毕业证书)伦敦艺术大学毕业证如何办理
一比一原版(ual毕业证书)伦敦艺术大学毕业证如何办理
 
Portfolio of Family Coat of Arms, devised by Kasyanenko Rostyslav, ENG
Portfolio of Family Coat of Arms, devised by Kasyanenko Rostyslav, ENGPortfolio of Family Coat of Arms, devised by Kasyanenko Rostyslav, ENG
Portfolio of Family Coat of Arms, devised by Kasyanenko Rostyslav, ENG
 
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model SafePaharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model Safe
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model Safe
 
Nehru Place @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model Safe
Nehru Place @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model SafeNehru Place @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model Safe
Nehru Place @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Ruhi Singla Top Model Safe
 

HTML5 apps for iOS (and probably beyond)

  • 1. HTML5 APPS FOR iOS (and probably beyond) by Andi Farr aka @semiBad andi@semibad.com http://semibad.com ;(
  • 2. WHY HTML5 APPS? • ‘Install’ to device • Cross-platform • Perfect for small ideas • Buildapps quickly and using simple and familiar techniques • Deploy instantly from any web space • Potential for ‘dynamic’, personalised apps
  • 4. UNFLappABLE A very simple notecard application to help me through my first time speaking! Lives at unflappable.semibad.com Optimised for use on an iPhone / iPod Touch, but should work on any device
  • 5. UNFLappABLE Login screen makes a simple AJAX call and retrieves data from a user’s online account We store the JSON object locally, and from this point we can access the data whenever we like – even without a network connection
  • 7. UNFLappABLE The app is a single HTML page, divided into ‘views’ which the app moves between Plain Old Semantic HTML! Most of what’s going on, happens in the <head> Uses jQuery, but only so I could develop it quickly
  • 8. DESIGNING IT Design for touch – buttons and interactive elements are nice and big Also, think about how a user will hold the device – the next button is placed to be easy for a user holding in that orientation
  • 9. DESIGNING IT Uses a few image textures for a smaller number of requests, with CSS to style the graphical elements
  • 10. DESIGNING IT iOS devices now support Futura truetype @font-face Baskerville embedding, but have a surprisingly good Gill sans selection of decent fonts Cochin available by default American Keep it lightweight – mobile / Typewriter tablet devices are a lot less powerful, even at the top end
  • 11. STYLING IT UP • CSS3 – more than just rounded corners and drop shadows! • Imageless gradients – saves file size • Multiplebackgrounds – adds texture over bg gradient background: url(/img/bg.png) top center, -webkit-gradient(linear, left top, left bottom, from(#1feee7), to(#16a6a1));
  • 12. STYLING IT UP • Multiplebox-shadow on flat textured elements – inset light colours for highlights • Use box-sizing to change the box model of an element – useful for fluid designs
  • 13. STYLING IT UP • Uses rgba() throughout for blended colours and transform for ‘shuffling’ the menu • :nth-child cards a bit #menu li:nth-child(3n+2) { -webkit-transform: rotate(0.7deg); } #menu li:nth-child(3n+3) { -webkit-transform: rotate(-1deg); }
  • 14. MEDIA QUERIES Serve different stylesheets based on different browser / device configurations
  • 15. MEDIA QUERIES • For this app, the main stylesheet styles the app for iPhone / small screen devices • This depends on the project, but using the simplest version is a good fallback for older mobile devices • It also means that phones download use the smallest amount of bandwidth
  • 16. MEDIA QUERIES main.css contains a section which restyles for landscape orientation /* landscape mode */ @media only screen and (orientation:landscape) { body { xxx: xxx } }
  • 18. MEDIA QUERIES big.css is used for any devices with a higher width than 481px – desktop browsers, iPads, etc. <link href='/css/big.css' rel='stylesheet' media='only screen and (min-device- width: 481px)' />
  • 19. HI RESOLUTION STYLES Include using a min-device-pixels media query to serve to high-DPI devices <link href='/css/hi-res.css' rel='stylesheet' media='only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2)' />
  • 20. HI RESOLUTION STYLES Add double-size graphics, then shrink them to the proper size with background-size Remember that these extra images take up a lot of precious space html { background: url(/img/bg-hi.png) top center (50%, 50%); } footer { background-image: url(/img/wood-hi.jpg); background-size: cover; }
  • 21. APP CACHING Your cache manifest is a simple file that tells the browser to cache certain files You specify it using a manifest attribute on your opening <html> tag: <html manifest=‘cache.manifest’>
  • 22. APP CACHING The browser will need to be told how to read it, either in the .htaccess file or using a PHP wrapper file (or similar): AddType text/cache-manifest .manifest You could quite easily write a backend script to generate your manifest automatically
  • 23. APP CACHING This one is very simple – CACHE MANIFEST it’s just a list of files that # unflappable : cache v0.17 need caching (I’ve cut /css/reset.css some out here) /css/main.css /css/big.css /css/hi-res.css Your file must start with CACHE MANIFEST /img/icon.png /img/bg.png /img/bg-hi.png /img/brass.jpg /img/brass-hi.jpg /img/paper.jpg /img/wood.jpg /img/wood-hi.jpg
  • 24. APP CACHING Difficult to debug – fails silently if missing files or on bad syntax. Chrome dev tools are your friend!
  • 25. APP CACHING 5MB limit on cached apps – keep an eye on file / data size When you update, you must change the manifest in some way – usually incrementing a version number is best # unflappable : cache v0.946
  • 26. LOCAL STORAGE Simple key / value pairs Essentially just persistent variables, specific to your app / domain localStorage items are always strings – you can save objects into it by using JSON.stringify() This app uses localStorage to store the JSON object with all the presentation data in
  • 27. LOCAL STORAGE To set a localStorage variable: localStorage.setItem(‘key’, ‘value’); To retrieve a localStorage variable: localStorage.getItem(‘key’); And then delete it permanently: localStorage.removeItem(‘key’)
  • 28. LOCAL STORAGE For more complex data storage, you can also use WebSQL – client side SQL databases Cross-browser support isn’t as wide, though iOS supports it fine
  • 29. META TAGS & ICONS A bunch of stuff in the <head> to set up your app! <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"> <meta name="apple-mobile-web-app-capable" content="yes" /> <link rel="icon" href="/img/icon.png" /> <link rel="apple-touch-icon" href="/img/apple-icon.png" /> <link rel="apple-touch-icon" href="/img/apple-icon-hi.png" sizes="114x114" />
  • 30. META TAGS & ICONS The viewport meta tag lets you set how iOS (and other devices) will handle resizing, scrolling, and other detail <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
  • 31. META TAGS & ICONS The apple-mobile-web-app-capable meta tag tells iOS to not display browser chrome when a user runs this app from the home screen <meta name="apple-mobile-web-app-capable" content="yes" />
  • 32. META TAGS & ICONS apple-mobile-web-app-status-bar-style allows you to set the status bar colour Default is the light bar, also black or black- translucent If you use black-translucent, your content will have an extra 20px to fill:
  • 33. META TAGS & ICONS Icons specified in the <head> are used on the user’s home screen alongside native apps Use a 72px icon for iPad, and a 114px icon for Retina displays – if you have more than one, specify which is which using the sizes attribute <link rel="icon" href="/img/icon.png" /> <link rel="apple-touch-icon" href="/img/apple-icon.png" /> <link rel="apple-touch-icon" href="/img/apple-icon-hi.png" sizes="114x114" />
  • 34. WHAT NEXT? This is a very simple introduction to what HTML5 apps can do in the mobile space A surprising amount of features are exposed to mobile browsers Canvas interactivity, video, audio, geolocation, and the accelerometer are just a few things which are available for your apps
  • 35. WHAT NEXT? Dive into HTML5 (Mark Pilgrim) http://diveintohtml5.org The HTML5 Doctor (various) http://html5doctor.com HTML5 Poker cheat sheet (by... me) http://semibad.com/s/poker
  • 36. THANK YOU Please refrain from asking difficult questions @semibad andi@semibad.com http://semibad.com

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n