[Startup] 4 bài học phát triển sản phẩm từ Product Manager của Zalo


Zalo đang được đánh giá rất cao trong làng OTT nói riêng và làng ứng dụng Việt nói chung. Dù đã có muôn vàn các ứng dụng OTT đến từ các nước có ngành công nghệ thông tin phát triển và lợi thế của người đi trước, nhưng Zalo vẫn bứt phá để trụ vững với con số 10 triệu người dùng, chỉ đứng sau Viber với con số 12 triệu tại Việt Nam. Vậy thì đâu là bí quyết thành công của Zalo trong cuộc chiến khốc liệt này?

Anh Vương Quang Khải

Anh Vương Quang Khải – lãnh đạo trực tiếp sản phẩm Zalo đã chia sẻ về kinh nghiệm phát triển và vận hành sản phẩm chiến lược của VNG mang tên Zalo này. Với lượng người dùng lên đến 10 triệu người và mức tăng trưởng 500.000 người dùng/ tháng, nếu không có hạ tầng và nền tảng kỹ thuật tốt, Zalo không thể đảm bảo được trải nghiệm tốt nhất cho người sử dụng. Sau đây là 4 bài học lớn nhất đúc rút từ quá trình xây dựng Zalo được anh Vương Quang Khải chia sẻ:

Sản phẩm của người Việt và dành cho người Việt

Khác với LINE, Wechat, Kakao Talk đều chạy đua thu hút người dùng ở Đông Nam Á, chiến lược của Zalo là tập trung vào thị trường Việt Nam. Khi mới ra mắt, Zalo mong muốn trở thành không chỉ một ứng dụng liên lạc thuần túy, mà còn có thể kết nối như dạng mạng xã hội thu nhỏ, lấy cảm hứng từ chính Zing Me. Tuy nhiên, qua thời gian thử nghiệm, lắng nghe ý kiến người dùng, muốn có một sự tách bạch giữa 2 hệ thống, Zalo đã nhanh chóng tiếp thu và liên tục nhận được phản hồi tích cực. Và từ đó ứng dụng Zalo độc lập đã ra đời và chỉ nhắm vào đối tượng người dùng sử dụng smartphone tại Việt Nam.

Tuy nhiên, Zalo đã vượt xa mong đợi của những người phát triển sản phẩm, ngoài Việt Nam, ứng dụng này còn xuất hiện ở các quốc gia và vùng lãnh thổ có cộng đồng người Việt sinh sống như Mỹ, Hàn Quốc, Nhật Bản, Đài Loan, Malaysia… và cả những vùng đất xa xôi như Angola ở tận châu Phi hay khu vực Trung Đông.

Hướng đến đúng đối tượng người dùng

Có thể thấy, mỗi một ứng dụng bất kì cũng có một phân khúc người dùng nhất định, và Zalo cũng không là ngoại lệ. Một trong những kinh nghiệm quý giá nhất để sản phẩm có được thành công như ngày hôm nay là hướng đến đúng đối tượng người dùng đã được đề ra – những người chưa lập gia đình trong độ tuổi từ 18-30. Những kế hoạch quảng bá thương hiệu cũng như mở rộng người dùng đều được xây dựng xung quanh những người ở trong độ tuổi kể trên, và liên tục thay đổi để phù hợp với từng giai đoạn phát triển của ứng dụng. Có thể thấy đây cũng chính là một trong những kinh nghiệm quý giá mà nhóm phát triển Zalo đã rút ra được trong suốt quá trình hoạt động.

Việc vận hành sản phẩm dĩ nhiên cũng không kém phần khó khăn so với khi phát triển. Đặc biệt là quá trình làm các chiến dịch nhận diện thương hiệu. Tuy nhiên, với sự hỗ trợ đa dạng nhiều nền tảng khác nhau, nhiều phương thức giao tiếp khác nhau, đem lại được cho người dùng nhiều trải nghiệm thú vị bản thân ứng dụng cũng đã có được sức mạnh lan tỏa đáng kể trong cộng đồng. Đặc biệt, không chỉ có smartphone mới có thể cài đặt được ứng dụng, mà những người dùng các thiết bị di động feature phone có hỗ trợ Java cũng được trải nghiệm Zalo.

Nền tảng mobile và web khác nhau hoàn toàn

d2242349465a49652e34a3f9709c1a33538e6e421369274734

Khác với nền tảng web – việc được chạy trên trình duyệt trong các máy tính để bàn hay laptop với cấu hình mạnh, mạng nhanh, ổn định, thì môi trường di động có những đặc thù khác biệt khiến các công nghệ web không thể áp dụng hoặc áp dụng nhưng hiệu quả không cao.

Điển hình nhất của sự khác biệt đó là tính đa dạng ở phía khách hàng. Trên nền tảng web, mặc dù có nhiều loại trình duyệt khác nhau nhưng tựu chung lại vẫn có những chuẩn web được công nhận và áp dụng lâu đời, như HTML, CSS, javascript. Cách các trình duyệt xử lý tương đối thống nhất (trừ IE của Microsoft) nên việc phát triển ứng dụng web không vấp phải quá nhiều vấn đề về tương thích. Trong khi đó nền tảng mobile rất phân mảnh, cả về cấu hình phần cứng, nền tảng hệ điều hành, kích cỡ màn hình, lẫn đối tượng sử dụng. Với mỗi nền tảng lại có những hạn chế và các đặc điểm khác nhau đòi hỏi các cách thức xử lý khác nhau. Người dùng mỗi nền tảng cũng có những hành vi và thói quen sử dụng khác nhau, ví dụ như người dùng iPhone sẽ không giống người dùng smartphone giá rẻ của Nokia.

Điểm khác biệt thứ hai là tính hữu hạn về tài nguyên. Mặc dù các smartphone hiện nay đã có bước tiến dài về tốc độ xử lý và dung lượng bộ nhớ nhưng so với máy tính để bàn hay laptop thì vẫn còn khoảng cách rất xa. Chưa kể cơ chế của các hệ điều hành di động có cách sử dụng và quản lý tài nguyên khác đòi hỏi phải tập trung tối ưu từ phía client rất nhiều. Ngoài các hạn chế về tốc độ xử lý và dung lượng bộ nhớ, đáng kể nhất về sự khác biệt đó là mobile sử dụng nguồn năng lượng từ pin, vốn rất hạn chế nhất là trong hoàn cảnh có kết nối mạng wifi hay 3G.

Điểm khác biệt thứ ba có thể kể đến là ngữ cảnh sử dụng của người dùng mobile hoàn toàn không giống khi sử dụng máy tính. Khi sử dụng máy tính người dùng ngồi một chỗ, không di chuyển, kết nối mạng ổn định, có thể xử lý nhiều tác vụ đồng thời. Trong khi người dùng mobile rất đa dạng trong ngữ cảnh sử dụng, trong nhà, ngoài trời, lúc di chuyển, kết nối mạng chập chờn, không ổn định. Khi thực hiện một tác vụ, người dùng mobile kỳ vọng sẽ có phản hồi tức thì chứ không có thói quen chờ đợi hoặc chuyển qua tác vụ khác như lúc chờ trang web đang tải khi dùng máy tính.

Chính những khác biệt lớn kể trên khiến việc xây dựng ứng dụng mobile đòi hỏi phải có tư duy và chiến lược công nghệ rất khác biệt để xử lý các hạn chế và tình huống đặc thù.

Bài toán xử lý kết nối cho ứng dụng di động hàng triệu người dùng

Theo chia sẻ của anh Đào Ngọc Thành, điểm đáng chú ý nhất trong việc tối ưu và mở rộng cho ứng dụng mobile đó là vấn đề xử lý kết nối. Việc tối ưu hóa các kết nối không chỉ nhằm đảm bảo hệ thống có thể chịu tải được lớn hơn mà còn đảm bảo kết nối được ổn định và ít tiêu tốn tài nguyên cho điện thoại của người dùng. Ban đầu Zalo sử dụng công nghệ web http long polling vốn áp dụng khá thành công cho hệ thống webchat của Zing Me nhưng giải pháp này sớm bộc lộ nhược điểm trên nền tảng mobile. Điện thoại của người dùng phải tạo rất nhiều kết nối cho những tác vụ đơn giản như kiểm tra có tin nhắn mới hay xem tin nhắn gửi đi đã đến nơi chưa. Ngoài ra cấu trúc của gói tin http không tối ưu về dung lượng. Chính những điểm hạn chế này khiến ứng dụng ngốn pin do phải xử lý những tác vụ thừa thãi, chưa kể việc gửi nhận tin nhắn bị chậm trong môi trường sóng yếu chập chờn.

Để xử lý các vấn đề trên, đội ngũ của Zalo đã quyết định chuyển sang sử dụng giao thức TCP Long Connection. Với giao thức này, một kết nối có thể gửi nhận nhiều gói tin đồng thời, các vấn đề tiêu tốn tài nguyên được giải quyết. Hệ thống máy chủ quản lý kết nối của Zalo cũng được viết lại từ đầu sử dụng ngôn ngữ lập trình C++ để tối ưu hiệu suất và độ ổn định. Chính nhờ việc chuyển đổi công nghệ này đã giúp Zalo đạt kỷ lục 380.000 người truy cập đồng thời, xử lý trung bình 150 triệu truy vấn và gửi nhận 20 triệu tin nhắn mỗi ngày. Khi người dùng bật ứng dụng Zalo, một kết nối TCP được thiết lập với cụm máy chủ quản lý kết nối và tiến hành các bước xác thực, kiểm tra tin nhắn offline,… Khi tin nhắn được gửi đi, cụm máy chủ này sẽ nhận gói tin và gửi về cụm máy chủ tính toán chuyên xử lý các loại nội dung như tin nhắn, hình ảnh, thông tin địa điểm,… từ đó chuyển đến người nhận.

Sơ đồ hạ tầng kĩ thuật của Zalo

Một điểm độc đáo nữa đó là chiến lược cân bằng tải của Zalo áp dụng từ phía khách hàng. Đa phần các sản phẩm web dành phần việc này cho phía máy chủ nhưng do mobile quá đa dạng về thiết bị và các ngữ cảnh sử dụng nên Zalo đã dựa trên các thông số về tình trạng kết nối để tự điều hướng đến các máy chủ thích hợp từ phía khách hàng.

Ngoài những vấn đề về kết nối kể trên, sản phẩm mobile đòi hỏi hệ thống có khả năng chịu lỗi cao để đối phó với các tình huống bị ngắt kết nối. Hệ thống lưu trữ cũng cần được tối ưu cho từng loại dữ liệu (tin nhắn, ảnh,…), số lượng cực lớn và hỗ trợ truy vấn các thông tin địa lý nhanh.

Lời kết

Có thể thấy các bài toán kỹ thuật của sản phẩm mobile rất đặc thù, không thể bê nguyên các công nghệ web để áp dụng vào triển khai được. Zalo có thể coi là một ví dụ thành công điển hình khi đi sâu vào giải quyết tận gốc các vấn đề cơ bản của ứng dụng mobile, nhất là ứng dụng lớn phục vụ hàng triệu người dùng. Với nền tảng kỹ thuật vững chắc, Zalo hoàn toàn có thể kỳ vọng cạnh tranh với các đối thủ lớn đến từ nước ngoài trong cuộc đua ứng dụng nhắn tin di động hết sức khốc liệt đang diễn ra tại thị trường Việt Nam.

(Biên tập bởi Sơn Trần)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s