Phân tích dự án ứng dụng nhắn tin miễn phí zalo chat, quá trình phát triển ứng dụng và users tại việt nam của công ty VNG
Trang 1Inside Zalo: Developing a mobile messenger for the audience of millions
BY THANH DAO, VNG CORP.
Trang 2About me
Career:
• VNG: Senior Manager - Head of Zalo & Zing
Mobile Product Group
• Past: Microsoft, Kofax
Contact:
• thanhdn@vng.com.vn
• http://me.zing.vn/thanhngocdao
• http://facebook.com/thanhdao
Trang 3My Goals
• Talk about how we started a mobile first
product, growing the user base and the learned lessons that lead us here.
• Give you a blueprint for how to scale your
mobile server system to millions.
Trang 4Agenda
Trang 5Landscape before Zalo
5
Sticky, but
• Don’t support mobile first
use-case and phonebook
graph.
• Not focus on enhance chat
and group chat
• My mom, sister don’t
contact me via SNS
Social Networks Traditional Messengers OTT IM
Early movers & viral, but…
• No profile, social features.
• Lack of fun features appeal
to the young users
• Can’t customize a feature for the Vietnamese
community
• Low barrier to entry
Strong network effect on PC,
but
• No social features
• Not fun enough
• Not mobile friendly
Trang 6Model of Zalo
Mobile social messaging:
• Based on Mobile First & Phonebook Graph
• Combine Context Messaging & Connecting &
Trang 7Not target yet
Trang 81 Communication: Voice messaging & Call…
2 Social: Timeline, People Near By, Room…
3 Platform: Page, 3rd Apps, Games.
“Fun & Connection & Private”
Anchored by basic: Fast, Quality, Cheap roposition(Value)
lace (Channel)
1 App Stores: Itunes, Google Play, Nokia Store
2 Factory Preload on Nokia Asha, WP…
3 Side-load at retail shop
Trang 9• Position as an Expression/Lifestyle.
• Focus on messaging the brand benefit
– “Talk more to your loved ones”
• 360 Campaign launch at Online, Social, PR, TVC, OOH (Cinema, University,…)
Trang 10Agenda
Trang 11Agenda
Trang 124/28/2013
4/14/2013
3/31/2013
3/17/2013
3/
20132/17/2013
2/3/
20131/20/2013
1/6/
2013
12/23/2012
12/9/2012
11/25/2012
11/11/2012
10/28/2012
10/14/2012
9/30/2012
9/16/2012
9/2/
20128/19/2012
0 5000000 10000000 15000000 20000000 25000000
Registered User Daily msg
User Discovery Q3/2012: Born
Product
• Zing & Phonebook mobile messenger
• voice, sticker, draw and people near by
Users feedback and data told us
• Good for dating purpose
• The draw & games, sticker are fun
• The concept of mixing up Zing & phonebook
graph is confusing, they want a separated
• Removed “Chat with Zing friends” feature
and focused on the Mobile First use-cases
• Rewrote our own socket chat servers instead
of relaying via Zing Me Web Chat servers
Trang 13User Discovery Q4/2012: Totter
• UX is much better than the prev one
• Spam and privacy concerns
• Not enough friends so both retention and
engagement are problems
So we
• Improve notification services
• Improve picture quality
• Scale up advertising budget, Run 360 degree
marketing campaign
5/12/2013
4/28/2013
4/14/2013
3/31/2013
3/17/2013
3/
20132/17/2013
2/3/
20131/20/2013
1/6/
2013
12/23/2012
12/9/2012
11/25/2012
11/11/2012
10/28/2012
10/14/2012
9/30/2012
9/16/2012
9/2/
20128/19/2012
0 5000000 10000000 15000000 20000000 25000000
Registered User Daily msg
Trang 14User Discovery Q1/2013: Walk
Users feedback and data told us
• Voice message is addictive
• Multi-picture upload is convenient
4/28/2013
4/14/2013
3/31/2013
3/17/2013
3/
20132/17/2013
2/3/
20131/20/2013
1/6/
2013
12/23/2012
12/9/2012
11/25/2012
11/11/2012
10/28/2012
10/14/2012
9/30/2012
9/16/2012
9/2/
20128/19/2012
0 5000000 10000000 15000000 20000000 25000000
Registered User Daily msg
Trang 15Agenda
Trang 17Server Platform
Trang 18ZAComm #2
Worker Pool Conn Manager
ZAComm #N
Worker Pool Conn Manager
VIP LBS Room
Worker
Msg Group Share
Worker
Avatar Photo Cover
Worker
Contact Privacy Friend
MemCache
LBS
Persistent Caching
Message Items
Persistent Caching
Photo
Persistent Caching
Trang 19Server Infrastructure
39 Servers:
Trang 20Scalable Mobile Servers
• Scaling connection servers
– Each connection server handle a shard of users. – Configuration center.
– Service map.
• Scaling database
– Distributed hash table design.
– Backup & recovery.
– No alter on large table, create new one.
– Soft deletion, Lazy write.
• N+1 design
– Build horizontally, never less than two of anything. – No single point of failure.
• Think about monitor during design, not after.
• Identify where bottlenecks are in each tier
– Control Port(CPU)
– Data Port(Network/Memory/Cache/Storage IO…).
Trang 21High Performance Mobile Client
• Speed:
– Different network type, different connecting strategy
• Use wi-fi as much as possible.
• Maximize bandwidth in fewer calls and group multiple requests
concurrently into a single multi-get request
• Use bigger buffers.
– Decouple user transitions from data interactions:
• I.e Apply tricky like, silently uploading the image in background during
the user inputting description
– Avoid large thumb:
• Send high-resolution thumb to high resolution devices and
low-resolution thumb to low low-resolution devices
– Cache more often, flush cache regularly
• Battery:
– HTTP versus TCP/IP reuse.
–Avoid constant polling(but be tricky when using poll/push)…
– Download in bursts/chunks rather than continuously streaming.
– Minimize aggressive behaviors
– Read/Write to cache then flushing a big mount of data into
device storage once.
– Use profiler tool to benchmark and measure your app battery
consume speed.
Trang 23Team & Process
• 27 developers: Server & Backend, Mobile Client, R&D framework.
• 2 system engineers
• 5 QA engineers
• 3 graphic designers: 1 artist & 2 graphic design
• 5 product managers, each person:
• Scrum & continuous deployment process:
Trang 24Questions?
Trang 25Ready to embrace new challenges?
We are hiring…
lepm@vng.com.vn
Thank you!