Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Mobile Development - BTalk
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Sing Jie Lee
January 09, 2013
Technology
100
1
Share
Mobile Development - BTalk
Talks about general iOS development and some mobile stats on BTalk - a mobile messenger.
Sing Jie Lee
January 09, 2013
More Decks by Sing Jie Lee
See All by Sing Jie Lee
Infocomm Media Youth Festival 2016 - Career Talk
singjie
0
56
Sprite Kit
singjie
0
57
SiriKit
singjie
0
200
React Native
singjie
1
87
Arduino
singjie
0
43
Software Engineering
singjie
0
53
Advanced Core Data
singjie
0
40
Amazon Echo and Home Integration
singjie
0
100
CS3216 Garena Project X
singjie
0
50
Other Decks in Technology
See All in Technology
Zephyr(RTOS)でARMとRISC-Vのコア間通信をしてみた
iotengineer22
0
120
FASTでAIエージェントを作りまくろう!
yukiogawa
4
190
Databricks Lakehouse Federationで 運用負荷ゼロのデータ連携
nek0128
0
110
OPENLOGI Company Profile
hr01
0
83k
LLMに何を任せ、何を任せないか
cap120
11
6.9k
Oracle Cloud Infrastructure:2026年3月度サービス・アップデート
oracle4engineer
PRO
0
330
ZOZOTOWNリプレイスでのSkills導入までの流れとこれから.pptx.pdf
zozotech
PRO
2
280
AIエージェント時代に必要な オペレーションマネージャーのロールとは
kentarofujii
0
290
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
77k
制約を設計する - 非決定性との境界線 / Designing constraints
soudai
PRO
4
960
第26回FA設備技術勉強会 - Claude/Claude_codeでデータ分析 -
happysamurai294
0
360
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
Featured
See All Featured
Marketing to machines
jonoalderson
1
5.1k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
SEO for Brand Visibility & Recognition
aleyda
0
4.4k
Odyssey Design
rkendrick25
PRO
2
560
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
140
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
860
Darren the Foodie - Storyboard
khoart
PRO
3
3.1k
Side Projects
sachag
455
43k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
68
38k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
170
Transcript
Mobile Development Monday, January 21, 13
Agenda • Lifecycle of App • Mobile Design Principles •
Responsive • Memory Management • Network • Maintainability • Other Stuffs Monday, January 21, 13
Lifecycle of an App Monday, January 21, 13
Monday, January 21, 13
Different states of App Active Background Suspended Inactive Not Running
Monday, January 21, 13
Different states of App Active Background Suspended Inactive Not Running
Monday, January 21, 13
Different states of App Active Background Suspended Inactive Not Running
Free up memory Disconnect Reconnect Monday, January 21, 13
Mobile Design Principles • Performance • Responsiveness • Optimal memory
usage • Network • Maintainability Monday, January 21, 13
Responsiveness • Never block the main thread • Always dispatch
complex data handling to background threads • Utilize cache Monday, January 21, 13
Responsiveness • Image Processing User selects a picture Process Image
Main Thread Update UI Background Monday, January 21, 13
Example: Image Processing BBImageLoop::Post(^{ processedImage = ImageProcessor.Process(image); BBUILoop::Post(^{ [self updateUI:processedImage];
}); }); User selects a picture Process Image BBUILoop Update UI BBImageLoop Monday, January 21, 13
Responsiveness • Queues • BBUILoop • BBSoundLoop • BBImageLoop •
BBDLCoreData • BBDBLoop Monday, January 21, 13
Responsiveness • Queues/Operations are cancelable // Sending out Request tcp.requestNearbyBuddies();
handler = BBUILoop::DelayPost(^{ showTimeoutScreen(); }, 5000); ... ... // Response received BBUILoop::Cancel(handler); Monday, January 21, 13
• Queues • Use one queue per subsystem • Know
your queues / threads • Can be cancelled Responsiveness Monday, January 21, 13
Memory Management User Experience Low Memory Usage Monday, January 21,
13
Memory Management User Experience Low Memory Usage App is Active
Monday, January 21, 13
Memory Management User Experience Low Memory Usage App is in
Background/Suspended Monday, January 21, 13
Memory Management • Active? • Use comfortably, but be practical
• Inactive/Background? • Free up memory as much as possible • If not, Apple kills you in background Monday, January 21, 13
Anything lesser than that is a good gauge Memory Management
Apps in Background Monday, January 21, 13
Optimal Memory Usage • Stay SAFE in background • Utilize
system’s memory warning • Ensure no memory leaks Monday, January 21, 13
Use Instruments Monday, January 21, 13
Use Instruments Monday, January 21, 13
Network • Minimize network requests • Timeout is necessary •
Always assume: Network is BAD Monday, January 21, 13
Network Monday, January 21, 13
Network • Bad network : Delays • Prevent sending out
same requests before timeout • Cache responses Monday, January 21, 13
• Bad network : Disconnect • Queue critical requests •
Fast / Safe Queue • Resend requests after reconnection • Requestid is essential Network Monday, January 21, 13
• Fast Queue • Safe Queue Network Client Client Server
Server Monday, January 21, 13
• Fast Queue • Safe Queue Network Client Client Server
Server Chats Daily Life Monday, January 21, 13
Maintainability • Modular Code • Easy to Read • Proper
class/method names Monday, January 21, 13
Maintainability • BTalk is built on modular code Core Network
FileSystem MediaEngine ... DailyLife ... Video Draw Monday, January 21, 13
Added by Daily Life Plugin Monday, January 21, 13
Added by Plugins Monday, January 21, 13
Maintainability Core Network FileSystem MediaEngine ... DailyLife ... Video Draw
Plugin Manager register get Monday, January 21, 13
Some other stuffs la Monday, January 21, 13
Tracker • PivotalTracker • Schedule management tool cum bugs tracker
• Manages schedule for you • Generate Weekly Report Monday, January 21, 13
PivotalTracker Monday, January 21, 13
PivotalTracker • Generated Weekly Report and Schedule Monday, January 21,
13
Insights on Mobile Stats Monday, January 21, 13
Insights on Mobile Stats • Uses Flurry SDK • ~20kB
per session • Client stats collection is needed Monday, January 21, 13
Number of Sessions Monday, January 21, 13
Median Session Length Monday, January 21, 13
Session Length Monday, January 21, 13
User Paths Monday, January 21, 13
User Paths Monday, January 21, 13
Thank You 谢谢 Always write human readable code Monday, January
21, 13