44
City Mouse Mobile A Case Study

City Mouse Mobile - A Case Study

Embed Size (px)

Citation preview

Page 1: City Mouse Mobile - A Case Study

City Mouse Mobile

A Case Study

Page 2: City Mouse Mobile - A Case Study

Me

• Serge Krul• FED Team Leader at netcraft• Loves Plants• Hates Zombies

Page 3: City Mouse Mobile - A Case Study

// TODO

– City Mouse Mobile– Why Mobile Web?– Mobile Web Gaps– How Mouse Mobile minds them– How would you mind it today? 

Page 4: City Mouse Mobile - A Case Study

City Mouse Mobile [link]

Page 5: City Mouse Mobile - A Case Study

Why Mobile Web?

Page 6: City Mouse Mobile - A Case Study

It's Web

Page 7: City Mouse Mobile - A Case Study

Still, a website

Splash Screen Look & Feel Native Share Look & Feel

Native Call Action Keypad Location Aware Smart Loading

Page 8: City Mouse Mobile - A Case Study

One to many

App Store Market Place

Stand Alone

Desktop

Page 9: City Mouse Mobile - A Case Study

The business factor

• Use existing knowledge• One code-base• Deliver to several platforms

Page 10: City Mouse Mobile - A Case Study

The cool factor

• Push web technologies to the edge• Evangelize FED• Internet will be everywhere / everything

Page 11: City Mouse Mobile - A Case Study

Mobile Web Gaps

• Look & feel• Fixed scrolling• Vanilla features• Map• Last gap

Page 12: City Mouse Mobile - A Case Study

Mind the Gap

How's Mobile Web different

Page 13: City Mouse Mobile - A Case Study

It's Web...

Page 14: City Mouse Mobile - A Case Study

Look & feel

• Custom themes• CSS3• jqTouch for Pages• Touch events

Page 15: City Mouse Mobile - A Case Study

border-radius

Page 16: City Mouse Mobile - A Case Study

Images

Page 17: City Mouse Mobile - A Case Study

Today

Mobile UI components

Page 18: City Mouse Mobile - A Case Study

Sencha Touch Kitchen Sink [link]

Page 19: City Mouse Mobile - A Case Study

jQuery Mobile [link]

Page 20: City Mouse Mobile - A Case Study

<input type="checkbox" />

Page 21: City Mouse Mobile - A Case Study

Happily ever ::after CSS3 shapes

Page 22: City Mouse Mobile - A Case Study

To name a few...

jqTouch iUI joApp

kendoUI (soon)

TouchyBP (wink)

PastryKit (wtf?)

Page 23: City Mouse Mobile - A Case Study

Mind the Gap

Fixed scrolling

Page 24: City Mouse Mobile - A Case Study

Fixed header and footer

Page 25: City Mouse Mobile - A Case Study

Uses iScroll

$.fn.scrollVertically = function (options) {    return this.each(function () {        new iScroll(this, options);    });};

$.fn.scrollHorizontally = function (options) {    return this.each(function () {        new iScrollHorizontal(this, options);    });};

$.jQTouch.addExtension(function (jQT) {    $(document.body).bind('pageInserted', function () {        horizontal.scrollHorizontally(...);        vertical.scrollVertically(...);    });});

jqt.scrolling.js

Page 26: City Mouse Mobile - A Case Study

Today

Newer scrolling plugins

Page 27: City Mouse Mobile - A Case Study

To name a few...

iScroll 4 Scrollability touch-scroll

[more]

Page 28: City Mouse Mobile - A Case Study

Tomorrow

What the future (aka Apple) brings

Page 29: City Mouse Mobile - A Case Study

{ position: fixed; }

iOS5

Page 30: City Mouse Mobile - A Case Study

Mind the Gap

Vanilla Features

Page 31: City Mouse Mobile - A Case Study

#gallery

?Pages

System

Page 32: City Mouse Mobile - A Case Study

Templates System

Page 33: City Mouse Mobile - A Case Study

Local Content

Geolocation

Page 34: City Mouse Mobile - A Case Study

Mind the Map

Page 35: City Mouse Mobile - A Case Study

It's Waze

var g_waze_config = {    div_id: "map",    locale: "israel",    zoom: 8,    token: "666",    framed_cloud_image_url: "cloud",    alt_base_layer: "israel_colors",    alt_map_servers: "ymap1/wms-c"};

Page 36: City Mouse Mobile - A Case Study

Simulate Event

MouseTouch

Page 37: City Mouse Mobile - A Case Study

It's a maze...

MapManager.simulateEvent = function (event, type, doNotPreventDefault)  {

    var event = event.originalEvent,        touches = event.changedTouches,        first = touches[0];

    var simulatedEvent = document.createEvent("MouseEvent");    simulatedEvent.initMouseEvent(first.screenX, first.screenY, first.clientX, first.clientY    );

    first.target.dispatchEvent(simulatedEvent);    if (doNotPreventDefault != true) {        event.preventDefault();    }};

Page 38: City Mouse Mobile - A Case Study

Today

Page 39: City Mouse Mobile - A Case Study

Israel is on GMap

Page 40: City Mouse Mobile - A Case Study

The last Gap

Page 41: City Mouse Mobile - A Case Study

PhoneGap

Page 42: City Mouse Mobile - A Case Study

Makes these possible

Appstore Native Share

Page 43: City Mouse Mobile - A Case Study

Thank you!

• Me again: Serge Krul• [email protected]• FED Team leader, netcrfat• Mobile Web course• HTML5 course• Netcraft Academy - Ben Gurion 30, Ramat Gan.

Page 44: City Mouse Mobile - A Case Study

And if you've asked yourself about the font...

I'm Comic Sans, Asshole :)