Top Banner
Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012 Kimmo Puputti
19

Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

Aug 10, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

Mobile HTML5:Implementing a Responsive Cross-Platform Application

Thesis seminar Friday May 11 2012Kimmo Puputti

Page 2: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

HTML5

Page 3: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

http://en.wikipedia.org/wiki/File:HTML5-APIs-and-related-technologies-by-Sergey-Mavrody.png

Page 4: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

Motivation

Page 5: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012
Page 6: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012
Page 7: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012
Page 8: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

Cross-platform

Charland, A., and Leroux, B. Mobile Application Development:Web vs. Native. Communications of the ACM 54, 5 (2011), 49-53.

Page 9: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

Thesis

Page 10: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

Mobile applications

● Performance matters● Rich interaction and great UX expected● Network usage optimization and offline support

● Myths vs. realities● Quantitative analysis needed

Page 11: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

RQ1:What are the main problem areas in mobile web development?

Page 12: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

What are the main problem areas in mobile web development?

● Handling different screens and form-factors● Managing unreliable networks with interruptions

and offline modes● User interface performance

● Animations● Gestures

● (Device sensor access)

Page 13: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

RQ2:Do HTML5 and related specifications solve these problems?

Page 14: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

Do HTML5 and related specifications solve these problems?

● Media queries● Responsive Web Design a.k.a. RWD● Mobile-first progressive enhancement

● Offline support possible● Not without its problems, though● Needs to be tailored in the architecture

● Browser quirks● Performance problems in the implementations

● (Device APIs)

Page 15: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

RQ3:What other practical means do we have to solve these problems?

Page 16: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

What other practical means do we have to solve these problems?

● Custom meta-tags● Best practices● Tools

● JSLint, JSHint, YSlow, Page Speed

Page 17: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

Practical implementation

● Conference schedule application for the Qt Developer Days 2011● Munich and San Francisco

● JSONCache library● localStorage caching● Fetching multiple times

● Quantitative performance best practices analysis● YSlow: 93/100● Page Speed 92/100

Page 18: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012
Page 19: Mobile HTML5 - kpuputti.github.iokpuputti.github.io/thesis/files/slides.pdf · Mobile HTML5: Implementing a Responsive Cross-Platform Application Thesis seminar Friday May 11 2012

Thanks!

Thesis and slides available at:http://kpuputti.github.com/thesis/

Devdays conference application at:http://m.qtdevdays2011.qt.nokia.com/

JSONCache library at:http://kpuputti.github.com/JSONCache/

[email protected]://kpuputti.fi

@kpuputti