SlideShare a Scribd company logo
1 of 62
Download to read offline
APP急速視覺UX回饋應⽤用
Anistar Sung

Sunday, October 27, 13
Anistar Sung 宋志峰
Work @
http://www.facebook.com/anistarsung
http://blog.riaproject.com
Mobile Developer
Client Developer
Server Developer
Instructor & Consulter & Author
專注:iOS, Android, HTML5, Flash, PHP...

Sunday, October 27, 13
New York Times TOP10 photography APP
US App Store TOP 2 paid photography APP
World TOP 40 APP
Best APP review in some review sites
http://www.riaproject.com

Sunday, October 27, 13
什麼是UI與UX?

Sunday, October 27, 13
這是UI還是UX?
Sunday, October 27, 13
這是UI還是UX?
Sunday, October 27, 13
那這個呢?

Sunday, October 27, 13
UX不是就是特效嗎?

Sunday, October 27, 13
Sunday, October 27, 13
體驗經濟:
塑造感官體驗及
思維認同.

Sunday, October 27, 13
速度是重要的體驗
所以我們今天要討論UI Performance 這個主題

Sunday, October 27, 13
10個技巧讓你遠離
效能低落陷阱

Sunday, October 27, 13
AR (Augmented Reality)

Sunday, October 27, 13
AR (Augmented Reality)

Sunday, October 27, 13
1. 使⽤用極短轉場效果

Sunday, October 27, 13
1. 使⽤用極短轉場效果
使⽤用者討厭等候, 別挑戰他們的耐⼼心.

Sunday, October 27, 13
1. 使⽤用極短轉場效果
轉場動畫別超過1秒鐘.
通常建議0.4秒就要完成.

Sunday, October 27, 13
2. 善⽤用多執⾏行緒

Sunday, October 27, 13
2. 善⽤用多執⾏行緒
PROCESS 1

Sunday, October 27, 13

PROCESS 2

PROCESS 3
2. 善⽤用多執⾏行緒
Phone

Sunday, October 27, 13

Middle Layer

Service
2. 善⽤用多執⾏行緒
Phone

Sunday, October 27, 13

Middle Layer

Service
2. 善⽤用多執⾏行緒
主⾏行程處理UI要求.
⼦子⾏行程處理其他⼯工作.

Sunday, October 27, 13
2. 善⽤用多執⾏行緒
PROCESS 1

PROCESS 2

Sunday, October 27, 13

PROCESS 3
2. 善⽤用多執⾏行緒
能量守恆定律:
多執⾏行緒不是萬能的, 你可
以使⽤用的總資源是不變的.

Sunday, October 27, 13
3. CPU vs GPU

Sunday, October 27, 13
3. CPU vs GPU
在處理⼤大部份的圖形要
求上, GPU總是遠遠快過
CPU運算.

Sunday, October 27, 13
3. CPU vs GPU
EX: 同⼀一個圖⽚片做Blur運
算, GPU可以快上近50倍.

Sunday, October 27, 13
3. CPU vs GPU
CPU Rendering

GPU Rendering

Sunday, October 27, 13
4. 元件顯⽰示階層

Sunday, October 27, 13
4. 元件顯⽰示階層
越多的顯⽰示階層代表有越多
的⼯工作需要處理.

Sunday, October 27, 13
4. 元件顯⽰示階層
越多的顯⽰示階層代表有越多
的⼯工作需要處理.

L r L r 2 a 3e a4
Layeay1 ayLr yLr yer 5
e e

Sunday, October 27, 13
4. 元件顯⽰示階層
越多的顯⽰示階層代表有越多
的⼯工作需要處理.

Layer 1

Sunday, October 27, 13

Layer 2

Layer 3

Layer 4

Layer 5
4. 元件顯⽰示階層

過多階層

Sunday, October 27, 13

正確做法
5. 減少畫⾯面演算次數

Sunday, October 27, 13
5. 減少畫⾯面演算次數
Opacity
Blend
Shadow
Mask
還有更多...

Sunday, October 27, 13
5. 減少畫⾯面演算次數
讓每個畫⾯面render次數降低.

Sunday, October 27, 13
6. 重複使⽤用元件

Sunday, October 27, 13
6. 重複使⽤用元件
初始化⼀一個元件需要很⼤大
的⼒力氣.

Sunday, October 27, 13
6. 重複使⽤用元件
偵測 Viewport
的範圍來決定
是否需要被
Reuse.

Sunday, October 27, 13
6. 重複使⽤用元件
Reusable Identifier.
建⽴立記憶機制.

Sunday, October 27, 13
7. 圖⽚片讀取效能

Sunday, October 27, 13
7. 圖⽚片讀取效能
JPG 消耗較多CPU運算.
PNG 消耗較少CPU運算.
JPG 消耗較少容量.
PNG 消耗較多容量.

Sunday, October 27, 13
7. 圖⽚片讀取效能
2795x1899的圖⽚片
JPG: 567ms
PNG: 4ms

Sunday, October 27, 13
7. 圖⽚片讀取效能
圖⽚片格式.
圖⽚片尺⼨寸.
圖⽚片⾊色域.

Sunday, October 27, 13
8. 網路連線限制

Sunday, October 27, 13
8. 網路連線限制
⾏行動裝置過多連線數會造
成連線阻塞.

Sunday, October 27, 13
8. 網路連線限制
例如:iPhone 最多容忍4條
連線數.

Sunday, October 27, 13
8. 網路連線限制
例如:iPhone 最多容忍4條
連線數.

Sunday, October 27, 13
8. 網路連線限制
例如:iPhone 最多容忍4條
連線數.

Sunday, October 27, 13
8. 網路連線限制
合併API以減少連線數.
建⽴立連線Queue呼叫機制.

Sunday, October 27, 13
9. 使⽤用最少資源佔⽤用

Sunday, October 27, 13
9. 使⽤用最少資源佔⽤用
Camera
Compass
ScrollView
還有許多...

Sunday, October 27, 13
9. 使⽤用最少資源佔⽤用

Sunday, October 27, 13
9. 使⽤用最少資源佔⽤用
Camera

Sunday, October 27, 13
9. 使⽤用最少資源佔⽤用
Camera

Compass
Gyroscope

Sunday, October 27, 13
9. 使⽤用最少資源佔⽤用
Camera

Compass
Gyroscope

Sunday, October 27, 13
9. 使⽤用最少資源佔⽤用
Camera

Compass
Gyroscope

Sunday, October 27, 13
9. 使⽤用最少資源佔⽤用
減少callback的頻率.
減少取回資源的品質.

Sunday, October 27, 13
10. 效能測試⼯工具

Sunday, October 27, 13
10. 效能測試⼯工具

Sunday, October 27, 13
10. 效能測試⼯工具
Core Animation分析CPU狀態.
OpenGL ES Analysis分析GPU
狀態.

Sunday, October 27, 13
Q&A
cfsung@yahoo-inc.com

Sunday, October 27, 13

More Related Content

Similar to MOPCON 2013 - APP急速視覺UX回饋應用

Symfony - Introduction
Symfony - IntroductionSymfony - Introduction
Symfony - Introduction
Piers Warmers
 
Getting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_MinskGetting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Wooga
 

Similar to MOPCON 2013 - APP急速視覺UX回饋應用 (7)

Symfony - Introduction
Symfony - IntroductionSymfony - Introduction
Symfony - Introduction
 
Getting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_MinskGetting the Most our of your Tools_FrontEnd DevConf2013_Minsk
Getting the Most our of your Tools_FrontEnd DevConf2013_Minsk
 
Getting the Most out of Your Tools
Getting the Most out of Your ToolsGetting the Most out of Your Tools
Getting the Most out of Your Tools
 
Ruby on Windows (RubyConf.tw 2011)
Ruby on Windows (RubyConf.tw 2011)Ruby on Windows (RubyConf.tw 2011)
Ruby on Windows (RubyConf.tw 2011)
 
Why can't organizations be designed as sexy as an iPad?
Why can't organizations be designed as sexy as an iPad?Why can't organizations be designed as sexy as an iPad?
Why can't organizations be designed as sexy as an iPad?
 
2nd Annual Start-up Launches with Dr. Werner Vogels (SPOT101) | AWS re:Invent...
2nd Annual Start-up Launches with Dr. Werner Vogels (SPOT101) | AWS re:Invent...2nd Annual Start-up Launches with Dr. Werner Vogels (SPOT101) | AWS re:Invent...
2nd Annual Start-up Launches with Dr. Werner Vogels (SPOT101) | AWS re:Invent...
 
100% JS
100% JS100% JS
100% JS
 

More from anistar sung

More from anistar sung (8)

Mopcon2017 - AppDevKit x CameraKit
Mopcon2017 - AppDevKit x CameraKitMopcon2017 - AppDevKit x CameraKit
Mopcon2017 - AppDevKit x CameraKit
 
Yahoo Open Source - The Tour & Mystery of AppDevKit (MOPCON 2016)
Yahoo Open Source - The Tour & Mystery of AppDevKit (MOPCON 2016)Yahoo Open Source - The Tour & Mystery of AppDevKit (MOPCON 2016)
Yahoo Open Source - The Tour & Mystery of AppDevKit (MOPCON 2016)
 
Practicing AppDevKit in kata training
Practicing AppDevKit in kata trainingPracticing AppDevKit in kata training
Practicing AppDevKit in kata training
 
AppDevKit for iOS Development
AppDevKit for iOS DevelopmentAppDevKit for iOS Development
AppDevKit for iOS Development
 
Best Strategy for Developing App Architecture and High Quality App
Best Strategy for Developing App Architecture and High Quality AppBest Strategy for Developing App Architecture and High Quality App
Best Strategy for Developing App Architecture and High Quality App
 
MOPCON 2015 - Tips of Mobile Continuous Delivery
MOPCON 2015 - Tips of Mobile Continuous DeliveryMOPCON 2015 - Tips of Mobile Continuous Delivery
MOPCON 2015 - Tips of Mobile Continuous Delivery
 
Yahoo2013 hackday - Frosted Glass Effect on iOS app
Yahoo2013 hackday - Frosted Glass Effect on iOS app Yahoo2013 hackday - Frosted Glass Effect on iOS app
Yahoo2013 hackday - Frosted Glass Effect on iOS app
 
談笑揭秘CSS3
談笑揭秘CSS3談笑揭秘CSS3
談笑揭秘CSS3
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

MOPCON 2013 - APP急速視覺UX回饋應用