讓你 app 優雅的 crash 三部曲
Hokila

MOPCON 2013
about me
•iOS developer
•ex-outsourcing app company
•enterprise app
•Cocoaheads Taipei
•Splashtop
Before Start
Before Start
如果app不會crash的可以出去了
Before Start
如果app不會crash的可以出去了
等下的demo沒有crash 那就是失敗了
源起
我當app開發者這麼久,我發現一件
事,通常使用者不會report crash,
而是直接給一顆心評價
MOPCON 2012
直接給一顆星
直接給一顆星

直接給一顆星
直接給一顆星

直接給一顆星

直接給一顆星
直接給一顆星

直接給一顆星

直接給一顆星
拿到(很多)一顆星

•app 如果4顆星以下佔多數,那一定是哪裡錯了
拿到(很多)一顆星

•app 如果4顆星以下佔多數,那一定是哪裡錯了
•發現一顆星很多,趕快修bug上新版本洗評價
crash rate?

•official app?
•memory leak
•0.1% ~0.3%
首部曲

crash 後
首部曲

crash 後
可以不要給我一顆星嗎
怒氣發洩機制
托球給他殺
出現時機很重要
log 蒐集
crash 後

•怒氣發洩機制
•詳細log
!

•error code
正常⼈人都看不懂
error code
用文字敘述取代error code
和View 結合
demo uservoice
benefit

•許多負面評價留在app裡
•更了解user對app的觀感
•有些問題user彼此幫忙解決
crash 後

•怒氣發洩機制
•詳細log
•error code
•user feedback / forum
二部曲
crash 時
UserVoice 缺點

不是每個user 都會給comment
就是要給一顆星
不給comment /log那我就自己拿
user tracking

•google analytics
•Crittercism
•Flurry
•Mixpanel
iTune connect
official crash report
demo crashlytics
benefit

•bug很多時、找到最值得解的bug
•順便找到user最喜歡用的功能
benefit

•bug很多時、找到最值得解的bug
•順便找到user最喜歡用的功能

•提高user黏滯性
Flurry
Flurry
Flurry
•Crashlytics
•Flurry
•Crittercism ($)
•TestFlight
•Google Analytics
•Bugsense ($)
•自己做的
Debug Debug:Crash Report與各種常見疑難雜症
https://speakerdeck.com/zonble/debug-debug

catch exception
https://github.com/Hokila/Le...
Debug Debug:Crash Report與各種常見疑難雜症
https://speakerdeck.com/zonble/debug-debug

catch exception
https://github.com/Hokila/Le...
最後一部曲
crash 前
首先我們要知道 app開發流程
cost/time consumption

contribute

sales

(UX)

UI

(SA) PM backEnd

mobile

client
要面對的問題

•app 賣不賣 / 有不有趣
•performance issue
•security issue
要面對的問題

•app 賣不賣 / 有不有趣
•performance issue
•security issue
iOS app security:analyze and defense
http://www.slideshare.net/...
crash 前

•想想spec
•記得寫防禦程式,最好有alert
•除了依靠QA 外也要寫test code
•最常錯的是...
API verify

•testbed
•固定去看看api是否健在
•static query?
•問題都是出在access到不存在的資料
So

•後:crash 沒關係、不要給我一顆星就好
•中:要crash得有意義 (log、user tracking、feedback)
•前:做盡一切保護,避免crash
Thanks &Bye~~
Hokila	

!

mail
blog
FB

hokila.jan@splashtop.com	

josihokila.blogspot.com	

fb.me/hokilaj
Thanks &Bye~~
Hokila	

!

mail
blog
FB

hokila.jan@splashtop.com	

josihokila.blogspot.com	

fb.me/hokilaj
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
讓你的App優雅的crash三部曲
Upcoming SlideShare
Loading in …5
×

讓你的App優雅的crash三部曲

3,331 views

Published on

MOPCON 2013

Published in: Business, Technology

讓你的App優雅的crash三部曲

  1. 1. 讓你 app 優雅的 crash 三部曲 Hokila MOPCON 2013
  2. 2. about me •iOS developer •ex-outsourcing app company •enterprise app •Cocoaheads Taipei •Splashtop
  3. 3. Before Start
  4. 4. Before Start 如果app不會crash的可以出去了
  5. 5. Before Start 如果app不會crash的可以出去了 等下的demo沒有crash 那就是失敗了
  6. 6. 源起 我當app開發者這麼久,我發現一件 事,通常使用者不會report crash, 而是直接給一顆心評價 MOPCON 2012
  7. 7. 直接給一顆星
  8. 8. 直接給一顆星 直接給一顆星
  9. 9. 直接給一顆星 直接給一顆星 直接給一顆星
  10. 10. 直接給一顆星 直接給一顆星 直接給一顆星
  11. 11. 拿到(很多)一顆星 •app 如果4顆星以下佔多數,那一定是哪裡錯了
  12. 12. 拿到(很多)一顆星 •app 如果4顆星以下佔多數,那一定是哪裡錯了 •發現一顆星很多,趕快修bug上新版本洗評價
  13. 13. crash rate? •official app? •memory leak •0.1% ~0.3%
  14. 14. 首部曲 crash 後
  15. 15. 首部曲 crash 後 可以不要給我一顆星嗎
  16. 16. 怒氣發洩機制
  17. 17. 托球給他殺 出現時機很重要
  18. 18. log 蒐集
  19. 19. crash 後 •怒氣發洩機制 •詳細log ! •error code
  20. 20. 正常⼈人都看不懂
  21. 21. error code
  22. 22. 用文字敘述取代error code
  23. 23. 和View 結合
  24. 24. demo uservoice
  25. 25. benefit •許多負面評價留在app裡 •更了解user對app的觀感 •有些問題user彼此幫忙解決
  26. 26. crash 後 •怒氣發洩機制 •詳細log •error code •user feedback / forum
  27. 27. 二部曲 crash 時
  28. 28. UserVoice 缺點 不是每個user 都會給comment 就是要給一顆星
  29. 29. 不給comment /log那我就自己拿
  30. 30. user tracking •google analytics •Crittercism •Flurry •Mixpanel
  31. 31. iTune connect official crash report
  32. 32. demo crashlytics
  33. 33. benefit •bug很多時、找到最值得解的bug •順便找到user最喜歡用的功能
  34. 34. benefit •bug很多時、找到最值得解的bug •順便找到user最喜歡用的功能 •提高user黏滯性
  35. 35. Flurry
  36. 36. Flurry
  37. 37. Flurry
  38. 38. •Crashlytics •Flurry •Crittercism ($) •TestFlight •Google Analytics •Bugsense ($) •自己做的
  39. 39. Debug Debug:Crash Report與各種常見疑難雜症 https://speakerdeck.com/zonble/debug-debug catch exception https://github.com/Hokila/LetMeCrash
  40. 40. Debug Debug:Crash Report與各種常見疑難雜症 https://speakerdeck.com/zonble/debug-debug catch exception https://github.com/Hokila/LetMeCrash Let’s demo
  41. 41. 最後一部曲 crash 前
  42. 42. 首先我們要知道 app開發流程 cost/time consumption contribute sales (UX) UI (SA) PM backEnd mobile client
  43. 43. 要面對的問題 •app 賣不賣 / 有不有趣 •performance issue •security issue
  44. 44. 要面對的問題 •app 賣不賣 / 有不有趣 •performance issue •security issue iOS app security:analyze and defense http://www.slideshare.net/hokilaj/ios-app-security
  45. 45. crash 前 •想想spec •記得寫防禦程式,最好有alert •除了依靠QA 外也要寫test code •最常錯的是...
  46. 46. API verify •testbed •固定去看看api是否健在 •static query? •問題都是出在access到不存在的資料
  47. 47. So •後:crash 沒關係、不要給我一顆星就好 •中:要crash得有意義 (log、user tracking、feedback) •前:做盡一切保護,避免crash
  48. 48. Thanks &Bye~~ Hokila ! mail blog FB hokila.jan@splashtop.com josihokila.blogspot.com fb.me/hokilaj
  49. 49. Thanks &Bye~~ Hokila ! mail blog FB hokila.jan@splashtop.com josihokila.blogspot.com fb.me/hokilaj

×