ameba pigg for smartphone 新規作成のつくりかた

42
Ameba Pigg for Smartphone CyberAgent, Inc. Ameba Kazunari Hara @herablog

Upload: kazunari-hara

Post on 24-May-2015

1.007 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Ameba Pigg for Smartphone 新規作成のつくりかた

Ameba Pigg

for Smartphone

CyberAgent, Inc.

Ameba

Kazunari Hara @herablog

Page 2: Ameba Pigg for Smartphone 新規作成のつくりかた

Goal

Faster

Page 3: Ameba Pigg for Smartphone 新規作成のつくりかた

Goal

No LagQuick response

Page 4: Ameba Pigg for Smartphone 新規作成のつくりかた

for Desktop for Android

with Adobe Flash

Page 5: Ameba Pigg for Smartphone 新規作成のつくりかた

for iOS and Android

Page 6: Ameba Pigg for Smartphone 新規作成のつくりかた

with HTML5

etc...

Page 7: Ameba Pigg for Smartphone 新規作成のつくりかた

with HTML5

HTML5 Markup

CSS3 / Sass(SCSS)

Canvas / Ai→Canvas

hashchange

gzip

YUI Compressor

css sprites

OptiPNG

Custom Data Attribute

Data URI scheme

viewport

Full screen mode ...etc...

Page 8: Ameba Pigg for Smartphone 新規作成のつくりかた

Problem

Page 9: Ameba Pigg for Smartphone 新規作成のつくりかた

Too many parts

Page 10: Ameba Pigg for Smartphone 新規作成のつくりかた

4 ways to draw avatar

Image css sprites

SVG Canvas

Page 11: Ameba Pigg for Smartphone 新規作成のつくりかた

4 ways to draw avatar

Image css sprites

SVG Canvas

time lag(mobile network) huge file size

Android, unsupported

Page 12: Ameba Pigg for Smartphone 新規作成のつくりかた

Ai→Canvas

http://visitmix.com/work/ai2canvas/

Page 13: Ameba Pigg for Smartphone 新規作成のつくりかた

Ai→Canvas

Page 14: Ameba Pigg for Smartphone 新規作成のつくりかた

convert JS to JSON

Page 15: Ameba Pigg for Smartphone 新規作成のつくりかた

JSON file size

0 250 500 750 1000

Image Json

53 % Down

Data size(KB)

Page 16: Ameba Pigg for Smartphone 新規作成のつくりかた

gzip compression

0 250 500 750 1000

Image Json

88 % Down

Data size(KB)

Page 17: Ameba Pigg for Smartphone 新規作成のつくりかた

Unobtrusive JavaScript

HTML

CSS

JavaScript

Structure

Presentation

Functionality

“Unobtrusive JavaScript”

Page 18: Ameba Pigg for Smartphone 新規作成のつくりかた

one HTML file

No Lag

Page 19: Ameba Pigg for Smartphone 新規作成のつくりかた

window.onhashchange

<div id=”face”> <div id=”eyebrow”>

<a href=”#eyebrow”></a>

http://***.jp/create#face http://***.jp/create#eyebrow

Page 20: Ameba Pigg for Smartphone 新規作成のつくりかた

Custom Data Attribute

<ul data-parts=”face”>

<li data-item=”0”></li>

<li data-item=”1”></li>

<li data-item=”2”></li>

    ・     ・     ・</ul>

var parts = e.target.parentNode.getAttribute(‘data-parts’); //facevar item = e.target.getAttribute(‘data-item’); //0

Page 22: Ameba Pigg for Smartphone 新規作成のつくりかた

Sass(SCSS)

Page 23: Ameba Pigg for Smartphone 新規作成のつくりかた

Sass(SCSS)

//Mixin@mixin border-radius($radius: 4px) { -moz-border-radius: $radius; -webkit-border-radius: $radius; border-radius: $radius;}

//Variables$thumbWidth : 58;

//Function@function removePx($v){ @if $v == 0{ @return $v; } @else { @return #{$v}px; }}

//For@for $i from 0 through 6 { ul[data-parts="face"] li[data-item="#{$i}"] { background-position: removePx((-11 + -$i) * $thumbWidth) removePx(-10 * $thumbWidth); }}

Page 24: Ameba Pigg for Smartphone 新規作成のつくりかた

UI

Page 25: Ameba Pigg for Smartphone 新規作成のつくりかた

touch points

Page 26: Ameba Pigg for Smartphone 新規作成のつくりかた

One page One role

NextBack

Page 27: Ameba Pigg for Smartphone 新規作成のつくりかた

High performance

CSS Sprites

Optimizes images

Minify

Combine files

gzip compression

Page 28: Ameba Pigg for Smartphone 新規作成のつくりかた

Only 7 files

top.html

sp.pigg.create.css

sp.pigg.create.jqueries.js

sp.pigg.create.js

sp.pigg.create.data.json

sprite01.png

sprite_thumbs.png

Page 29: Ameba Pigg for Smartphone 新規作成のつくりかた

Images

top.html

sp.pigg.create.css

sp.pigg.create.jqueries.js

sp.pigg.create.js

sp.pigg.create.data.json

sprite01.png

sprite_thumbs.png

Page 30: Ameba Pigg for Smartphone 新規作成のつくりかた

CSS Sprites

Page 31: Ameba Pigg for Smartphone 新規作成のつくりかた

Optimizes images

http://imageoptim.pornel.net/

Page 32: Ameba Pigg for Smartphone 新規作成のつくりかた

Optimizes images

0 19.75 39.5 59.25 79

Before After

3 % Down

Data size(KB)

Page 33: Ameba Pigg for Smartphone 新規作成のつくりかた

Text files

top.html

sp.pigg.create.css

sp.pigg.create.jqueries.js

sp.pigg.create.js

sp.pigg.create.data.json

sprite01.png

sprite_thumbs.png

Page 34: Ameba Pigg for Smartphone 新規作成のつくりかた

Minify

Page 35: Ameba Pigg for Smartphone 新規作成のつくりかた

Minify

0 71.25 142.5 213.75 285

Before After

33 % Down

Data size(KB)

Page 36: Ameba Pigg for Smartphone 新規作成のつくりかた

gzip compression

Page 37: Ameba Pigg for Smartphone 新規作成のつくりかた

gzip compression

0 153 306 459 612

Before After

73 % Down

Data size(KB)

Page 38: Ameba Pigg for Smartphone 新規作成のつくりかた

Total

top.html

sp.pigg.create.css

sp.pigg.create.jqueries.js

sp.pigg.create.js

sp.pigg.create.data.json

sprite01.png

sprite_thumbs.png

Page 39: Ameba Pigg for Smartphone 新規作成のつくりかた

Total

0 196.25 392.5 588.75 785

Before After

67 % Down

Data size(KB)

Page 40: Ameba Pigg for Smartphone 新規作成のつくりかた

Full screen mode

<meta name="apple-mobile-web-app-capable" content="yes">

<meta name="apple-mobile-web-app-status-bar-style" content="black">

<link rel="apple-touch-startup-image" href="/img/common/amebatitle.png"><!-- size: 320 x 460 -->

Page 42: Ameba Pigg for Smartphone 新規作成のつくりかた