SlideShare a Scribd company logo
Visualization over Web
Tools and Tips
Kirby
Responsive

Visualization
Responsive

Visualization
RWD
in
Data Viz
本網站最佳瀏覽模式建議為1024 x 768,
建議瀏覽器為IE 6或FireFox2.0以上版本
1920px
1024px
800px
on iPhone 4s mobile ver.
Visualization over Web: Tools and Tips-吳泰輝
Diversity of Android Camp
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
Landscape x 10
Portrait x 6
Desktop x 12
Mobile x 4
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
Raster vs Vector
Large in SizeLow Quality
Small in SizeHigh Quality
width
height
(x1,y1)
(x2,y2)
<svg
width=“w” height=“h”
viewBox=“x1 y1 x2 y1”>
Visualization over Web: Tools and Tips-吳泰輝
preserveAspectRatio
xMin xMid xMax
yMin
yMid
yMax
<SVG
width=“800px” height=“600px”
viewBox=“0 0 400 300”
preserveAspectRatio=“xMidYMid”>
http://www.nytimes.com/interactive/2015/06/17/world/middleeast/map-isis-attacks-around-the-world.html?smid=tw-nytimes&_r=1
Desktop Mobile
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
ai2html.jsx → Presetszh_TW指令檔
檔案 → 指令檔 → ai2html
ai2html-settings:產⽣生檔案的設定
ai2html-css:在產出檔案中插⼊入額外的 CSS
ai2html-js:在產出檔案中插⼊入額外的 JS
ai2html-html:在產出檔案中插⼊入額外的 HTML
ai2html-text:設定變數,⽅方便在其它⽂文字⽅方塊中引⽤用
* variable-name: value」設定變數

以 <%=variable-name%>使⽤用變數
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
19 charts
Visualization over Web: Tools and Tips-吳泰輝
Why
Rasterize?
Performance
Optimization
why rasterize?
http://www.foundi.info/lab/badneighbor/
I'm drawing a line consisting of 5000
separate segments and recording
total elapsed time and the time taken
for each 250 line-segment chunk.
* SVG Path Benchmark:
* http://bl.ocks.org/1296930
* Canvas Path Benchmark:
* http://bl.ocks.org/1297383
Drawing into an HTML5
Canvas can be 40x faster
than using SVG
Server Side D3.js
npm install d3 jsdom domino
d3.select(jsdom.jsdom().body)
with jsdom
d3.select(

domino.createWindow(“<div></div>”)
.document.querySelector(“div")
)
with domino
ClientServer
render.js
function render(node,data) {
d3.select(node).select("circle")
.data(data).enter().append("circle");
}
module.exports = render;
require(“./render”);
<script src=“bundle.js”>
browserify
render = require(“./render.js”);
client server
500ms delay 2.5MB in size
Rasterize SVG
require(“canvg”);
require(“canvas”);
canvg(new canvas(), “<svg> …</svg>”);
using node-canvg
client server svg server png
500ms delay 2.5MB in size
112k in size

10ms loading
D3.js Canvas
D3Data DOM
DOM to
Canvas

Canvas
DOM to Canvas
client
d3js + svg
server
svg
server
png
client
d3js + canvas
500ms 300ms 900ms 10ms
SVG CANVAS
Animation Comparison
using Force Layout
http://infographicstw.github.io/d3canvas/d3cmove.html
Marketing
and
Social Media
why rasterize?
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
var obj = {
method: ‘feed’,
link: ‘http://your.com/viz/?' + keyword,
name: keyword + ‘的顏⾊色是 …. !’
picture: yourImageURL
}
FB.ui(obj, function() {});
Applications
why rasterize?
Image Based Animation
loading.io
<x3d>
<scene>
<shape><box></box></shape>
</scene>
</x3d>
d3.select(“x3d scene”).selectAll(“shape”)
.data(data)
.append(“shape”)
.append(“box”) …
D3.js + X3DOM
Rasterize HTML
<svg>

<foreignObject width="100" height="50"
requiredExtensions="http://www.w3.org/1999/xhtml">
<body xmlns="http://www.w3.org/1999/xhtml">
<p>Here is a paragraph that requires word wrap</p>
</body>
</foreignObject>
</svg
use SVG foreignObject
canvg
Rasterize D3.js
D3.js
HTML SVG
X3D CUSTOM
CANVAS
SVG
3D
CANVAS
WEBGL CA
NV
ASCANVAS
DATA

BINDING
INTERFACE
IMPLEMENTATION
CSS 3DCA
NV
AS
PHANTOMJS or NATIVE PORTING SERVER SIDE
D3.js powerful client-side visualisation library
SVG responsive & interactive Graphics DOM
Canvas
fast, small and social-media friendly

browser compatibility, off-load from server
PNG
GIF
animation preview in non-browser environment

better browser compatibility thean CSS3D & SMIL
faster interactive rendering
make it possible to rasterise
HTML
leverge layout & flow engine
work with css3 animation
X3D directly use prebuilt 3D Model
Different Purpose
Compatibility
why rasterize?
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
Visualization over Web: Tools and Tips-吳泰輝
0.3% Android 2 in all page views
1% IE 7 + 8 in all page views
1%(IE) + 0.3%(Android2)
4 people in 300
can’t read SVG format
~
it’s about 235 people in all visitors
( lost 2 customers with 1% conversion rate )
Visualization over Web: Tools and Tips-吳泰輝
25% traffic from handheld device
Precision
Gesture
Buttons
Hover
Cursor
High Low
EasyHard
3+ 1
NoYes
Yes No
Buy Now Buy Now Buy Now
Buy NowBuy Now Buy Now
tips!
Mouseover doesn’t work
Portrait mode is the common scenario
Performance and Bandwidth
Visualization with
Web Resources
https://www.project-tp.com/
Visualization over Web: Tools and Tips-吳泰輝
ON BROADWAY: Represent our cities in new ways.
http://www.on-broadway.nyc/app/#http://www.fastcodesign.com/3043091/infographic-of-the-day/massive-data-visualization-brings-nycs-busiest-street-to-life#7
http://www.clicktorelease.com/code/streetViewReflectionMapping/
https://www.biodigital.com/developers
http://graphics.wsj.com/3d-nasdaq/
Visualization over Web: Tools and Tips-吳泰輝
http://shinydemos.com/facekat/
http://bignerdranch.github.io/music-frequency-d3/
http://dinahmoelabs.com/plink
Wrap Up
• Consider Different Device / Resolution / Browser
• Use Vector / Raster Image on Demand
• Leverage the Power of Web Services / API

More Related Content

PDF
Rdx Surge
PDF
軟工人的資料科學奇航-線上遊戲、網路學習與中華職棒 by 許懷中
PDF
Learning for Big Data-林軒田
PDF
Pinkoi Mobile Web
PPTX
HTML5 - A Whirlwind tour
PDF
RESS – Responsive Webdesign and Server Side Components
PDF
Intro to @viewport & other new Responsive Web Design CSS features
PDF
Responsive Enhancement
Rdx Surge
軟工人的資料科學奇航-線上遊戲、網路學習與中華職棒 by 許懷中
Learning for Big Data-林軒田
Pinkoi Mobile Web
HTML5 - A Whirlwind tour
RESS – Responsive Webdesign and Server Side Components
Intro to @viewport & other new Responsive Web Design CSS features
Responsive Enhancement

Similar to Visualization over Web: Tools and Tips-吳泰輝 (20)

PDF
Responsive Web Design: Clever Tips and Techniques
PDF
Responsive Web in Brief
PDF
Devon 2011-f-1 반응형 웹 디자인
PPTX
3 Approaches to Mobile - An A to Z Primer.
PPTX
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
PDF
Android 2D Drawing and Animation Framework
PDF
Mobile Web Development
PDF
An Introduction to Responsive Design
PDF
Responsive Images in the Real World - presented at JavaScript Open 2015
PDF
Professional reports with SVG
PDF
MOConf'13: WebNotBombs: Optimize this
PDF
codebits 2009 HTML5 JS APIs
PDF
Dynamic User Interfaces for Desktop and Mobile
PPT
Bootstrap 3 training
ZIP
Vector Graphics on the Web: SVG, Canvas, CSS3
PDF
The Modern Web, Part 2: HTML5
PPTX
Windows 8 for Web Developers
PDF
Responsive Web Design e a Ubiquidade da Web
PPTX
Html5 more than just html5 v final
PDF
iOS 8 and iPhone 6 for web developers and designers
Responsive Web Design: Clever Tips and Techniques
Responsive Web in Brief
Devon 2011-f-1 반응형 웹 디자인
3 Approaches to Mobile - An A to Z Primer.
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Android 2D Drawing and Animation Framework
Mobile Web Development
An Introduction to Responsive Design
Responsive Images in the Real World - presented at JavaScript Open 2015
Professional reports with SVG
MOConf'13: WebNotBombs: Optimize this
codebits 2009 HTML5 JS APIs
Dynamic User Interfaces for Desktop and Mobile
Bootstrap 3 training
Vector Graphics on the Web: SVG, Canvas, CSS3
The Modern Web, Part 2: HTML5
Windows 8 for Web Developers
Responsive Web Design e a Ubiquidade da Web
Html5 more than just html5 v final
iOS 8 and iPhone 6 for web developers and designers
Ad

More from 台灣資料科學年會 (20)

PDF
[台灣人工智慧學校] 人工智慧技術發展與應用
PDF
[台灣人工智慧學校] 執行長報告
PDF
[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰
PDF
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
PDF
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
PDF
[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話
PDF
[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇
PDF
[TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察
PDF
[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵
PDF
[台灣人工智慧學校] 從經濟學看人工智慧產業應用
PDF
[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告
PDF
台灣人工智慧學校成果發表會
PDF
[台中分校] 第一期結業典禮 - 執行長談話
PDF
[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人
PDF
[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維
PDF
[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察
PDF
[TOxAIA新竹分校] 深度學習與Kaggle實戰
PDF
[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT
PDF
[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達
PDF
[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳
[台灣人工智慧學校] 人工智慧技術發展與應用
[台灣人工智慧學校] 執行長報告
[台灣人工智慧學校] 工業 4.0 與智慧製造的發展趨勢與挑戰
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 開創台灣產業智慧轉型的新契機
[台灣人工智慧學校] 台北總校第三期結業典禮 - 執行長談話
[TOxAIA台中分校] AI 引爆新工業革命,智慧機械首都台中轉型論壇
[TOxAIA台中分校] 2019 台灣數位轉型 與產業升級趨勢觀察
[TOxAIA台中分校] 智慧製造成真! 產線導入AI的致勝關鍵
[台灣人工智慧學校] 從經濟學看人工智慧產業應用
[台灣人工智慧學校] 台中分校第二期開學典禮 - 執行長報告
台灣人工智慧學校成果發表會
[台中分校] 第一期結業典禮 - 執行長談話
[TOxAIA新竹分校] 工業4.0潛力新應用! 多模式對話機器人
[TOxAIA新竹分校] AI整合是重點! 竹科的關鍵轉型思維
[TOxAIA新竹分校] 2019 台灣數位轉型與產業升級趨勢觀察
[TOxAIA新竹分校] 深度學習與Kaggle實戰
[台灣人工智慧學校] Bridging AI to Precision Agriculture through IoT
[2018 台灣人工智慧學校校友年會] 產業經驗分享: 如何用最少的訓練樣本,得到最好的深度學習影像分析結果,減少一半人力,提升一倍品質 / 李明達
[2018 台灣人工智慧學校校友年會] 啟動物聯網新關鍵 - 未來由你「喚」醒 / 沈品勳
Ad

Recently uploaded (20)

PDF
.pdf is not working space design for the following data for the following dat...
PPTX
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPTX
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
PPTX
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
PDF
Fluorescence-microscope_Botany_detailed content
PPTX
Data_Analytics_and_PowerBI_Presentation.pptx
PPTX
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
PDF
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
PDF
Mega Projects Data Mega Projects Data
PPTX
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
PPTX
Introduction to Knowledge Engineering Part 1
PPTX
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
PPTX
STUDY DESIGN details- Lt Col Maksud (21).pptx
PPTX
Introduction to machine learning and Linear Models
PPTX
IB Computer Science - Internal Assessment.pptx
PPT
Miokarditis (Inflamasi pada Otot Jantung)
PPTX
IBA_Chapter_11_Slides_Final_Accessible.pptx
PDF
22.Patil - Early prediction of Alzheimer’s disease using convolutional neural...
.pdf is not working space design for the following data for the following dat...
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
ALIMENTARY AND BILIARY CONDITIONS 3-1.pptx
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
Fluorescence-microscope_Botany_detailed content
Data_Analytics_and_PowerBI_Presentation.pptx
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
Mega Projects Data Mega Projects Data
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
Introduction to Knowledge Engineering Part 1
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
STUDY DESIGN details- Lt Col Maksud (21).pptx
Introduction to machine learning and Linear Models
IB Computer Science - Internal Assessment.pptx
Miokarditis (Inflamasi pada Otot Jantung)
IBA_Chapter_11_Slides_Final_Accessible.pptx
22.Patil - Early prediction of Alzheimer’s disease using convolutional neural...

Visualization over Web: Tools and Tips-吳泰輝