Saturday, February 7, 2015

6 lỗi chết người thường mắc phải khi phát triển ứng dụng mobile


Việc phát triển ứng dụng dành cho mobile, đang thu hút được sự chú ý lớn, thậm chí là sự yêu thích, muốn hướng tới của nhiều lập trình viên, nhiều công ty khởi nghiệp. Tuy nhiên các lập trình viên sẽ rất dễ gặp phải thất bại nếu thiếu kinh nghiệm khi bắt tay vào xây dựng app cho riêng mình. Để trở nên thành công, và cũng như là giữ được thành công, đòi hỏi không chỉ sự hiểu biết về việc mình cần làm, mà chúng ta cũng phải hiểu được cả những gì không nên làm.

Bạn có thể biến ý tưởng tuyệt vời để thành một app "gone-with-the-wind" - lên như diều gặp gió, sau khi đã tránh được những lỗi có thể, ngay từ đầu bắt tay vào xây dựng ứng dụng.

Dưới đây là 6 lỗi thường gặp, và bạn nên tránh nó càng sớm càng tốt; hoặc nếu không, bạn có thể sẽ phải đối mặt với những lỗi nghiêm trọng trong ứng dụng của mình.

Chỉ xây dựng cho những nền tảng thông dụng nhất

Trong vương quốc của smart phone, bạn dễ dàng nhận thấy rằng IOS và Android hiện đang đóng vai trò là những người chơi chính mạnh mẽ chiếm hầu hết thị phần. Nhưng bạn cũng cần nhớ rằng, những thiết bị của Black Berry, của Microsoft với thương hiệu Lumia (mua lại từ Nokia) chạy Windows Phone, mặc dù chiếm tỷ trọng không lớn, nhưng không ai dám khẳng định một ngày kia những OS cùng với các thiết bị này sẽ trở nên lớn mạnh hay không; hay bị bại trận hoàn toàn phải biến mất.

Hẳn bạn đã từng nghe nói rằng: "Người dùng iOS sẵn sàng chi tiền ra nhất". Tuy nhiên bạn cũng có thể nghe thấy ở đâu đó, có báo cáo nói rằng: "Các thiết bị Android đang làm mưa làm gió trên toàn cầu, ở khắp các phân khúc từ giá rẻ - trung cấp - đến cao cấp". Như vậy, bạn là một developer, bạn quen thuộc với iOS, bạn chỉ "chơi" với iOS. Thế thì bạn đã bỏ qua phần lớn những người dùng smart phone khác đang sử dụng Android, Windows Phone rồi. Bạn cũng quên rằng, người dùng iOS sẵn sàng bỏ tiền ra cho ứng dụng, nhưng bạn cũng biết rằng họ đủ thông minh để sẵn sàng chi tiền ra cho những thứ đáng tiền. Còn những người dùng Android lại có những suy nghĩ khác.

Bạn là một developer, và thật thông minh nếu bạn cố gắng làm cho ứng dụng của mình xuất hiện trên nhiều nền tảng nhất có thể.

Làm App như là một bản thu gọn hoá của Website của bạn

Đây là một suy nghĩ rất sai lầm. Website được thiết kế chạy trên những máy PC. Và nó có nhiều sự khác biệt khi hiển thị trên mobile. Người dùng PC sẽ chấp nhận chuyện họ nhấn vào đường link, ngồi chờ trang web được tải về. Nhưng khi dùng app trên mobile, họ sẽ rất thấy nhàm chán khi nhấn vào nút trên ứng dụng của bạn mà sau đó phải chờ đợi để content được load về một cách chậm chạp, hoặc tệ hơn, đôi khi nhấn xong không thể hiểu được app đang làm gì vì không nhận thấy sự thay đổi trên màn hình. Một app mobile, ngoài nội dung là điều quan trọng, thì thứ quan trọng nhất lại là việc tạo ra một trải nghiệm tốt, tương tác tốt với những thao tác "chạm - touch" trên màn hình cảm ứng, cũng như phản xạ bản năng của con người khác sẽ khác khi sử dụng mobile so với PC. Không chỉ thế, thiết bị mobile thì rất đa dạng về kích thước màn hình, độ phân giải màn hình, rồi là sự thay đổi về hiển thị khi dùng máy ở tư thế nằm ngang, sẽ khác với dọc. App mobile sẽ cần được thiết kế để tận dụng được tối đa khả năng hiển thị trên một nhiều loại màn hình từ bé đến lớn.
Do đó, app cho mobile cần được thiết kế để đáp ứng được các đặc điểm trên.

Không đặt ưu tiên cho việc tạo ra tiền khi làm app


Bạn là developer, bạn có ý tưởng hay, đồng thời bạn có suy nghĩ rằng, với ý tưởng này thì mình sẽ nhanh chóng kiếm ra được tiền. Điều này là rất nguy hiểm. Thế giới ứng dụng phải cạnh tranh rất khốc liệt. Developer viết ra app, ngoài việc đam mê, nó còn là nguồn thu nhập nữa. Nếu developer không bắt đầu tìm cách làm ra tiền ngay từ lúc bắt đầu, thì tinh thần của anh có thể bị hạ rất nhanh trong thời gian ngắn, và anh kết thúc bằng một sự thất bại.
Bởi vậy, anh phải có kế hoạch trong đầu xem anh tạo ra tiền như thế nào. Có nhiều cách để kiếm tiền từ app, ví dụ như: subscription (yêu cầu người dùng đóng tiền theo tháng để sử dụng), freemium (miễn phí sử dụng, nhưng bán nội dung). Và bạn có thể thấy được nhiều app đang kiếm tiền bằng những phương thức đó. Nhưng, bạn cũng xem xét cách mà bạn kiếm tiền bằng app của mình sớm, bởi vì cách thức đó sẽ ảnh hưởng đến thiết kế kỹ thuật khi bắt đầu viết app.

Quá tin tưởng về Doanh thu Sản phẩm của bạn khi bắt đầu phát triển

Hầu hết các nhà sáng chế đều sống dưới một niềm tin rằng họ có thể phát minh ra thứ tốt nhất mà cả thế giới sẽ sử dụng trong thời của anh ấy. Và tương tự, người ta cũng thường tin tưởng rằng, một khi mình bắt đầu khởi chạy sản phẩm, thì rất nhanh sẽ bán được rất nhiều dựa vào giá trị mà nó mang lại. Điều này thật là tuyệt vời, có thể là như vậy, nhưng nó còn phụ thuộc vào khả năng promote, quảng cáo của bạn.
Không phải mọi sản phẩm là dành cho tất cả mọi người, và do đó bạn phải tìm hiểu được thị trường. Và điều cần thiết là bạn phải nắm được thị hiếu, nhu cầu của khách hàng mà bạn đang hướng tới cho ứng dụng. Một khi bạn đã define - định nghĩa rõ được điều này, hãy cố gắng xây dựng ý tưởng của bạn quanh mục tiêu đó. Và như vậy, ngay khi bạn khởi động app, những khách hàng đó sẽ sẵn sàng tải app của bạn, vì họ cần, và app của bạn đáp ứng được nhu cầu của họ.

Chỉ Test - kiểm tra ứng dụng của bạn đến phiên bản Beta

"Two is always better than one"-"2 luôn hơn là 1" - câu này cũng vẫn đúng trong thế giới ứng dụng. Đừng quá phụ thuộc vào một vài phương pháp bạn đã kiểm thử trong bản beta test. Bởi vì khi bạn phát triển app, bạn sẽ có một vài tư tưởng kiểu như "app của mình viết chắc chắn là ngon", "code của mình chắc chắn là xịn", "chắc chắn là hết lỗi rồi",... vì bạn là người develop ra nó, bạn nắm nó rõ nhất. Và <strong>bạn biết cách sử dụng app mà không gây ra lỗi</strong>. Đây chính là điểm chết người. Khi app được tung ra, hàng đống complain, exception từ người dùng report về sẽ khiến bạn đau đầu.
Do đó, bạn nên cố gắng tìm cách nhờ bên thứ 3, hoặc một đơn vị nào đó test sản phẩm của bạn. Bạn hãy lắng nghe những ý kiến của họ, kể cả những lời khen và lời chê. Tìm hiểu ra những điểm chưa đáp ứng được, những điểm chưa hài lòng. Cố gắng điều tra xem mình đã sai ở bước nào, bạn thiếu ở điểm nào.

Không tối ưu hoá app

Bạn có thể từng nghĩ rằng "app chạy được là được rồi" khi release ứng dụng của mình. Tuy nhiên có những vấn đề có thể bạn chưa thấu đáo hết.
Một quan điểm đã được trình bày một phần ở trên, khi nói về việc mobile app không nên là một bản thu gọn của website. Lối mòn suy nghĩ (mindset) khi người dùng app sẽ khác với dùng web. Vì thế, bạn hãy quan tâm đến tốc độ xử lý, sự chiếm dụng bộ nhớ trong khi app của bạn hoạt động. Người dùng chắc chắn sẽ không thích app của bạn tốn quá nhiều bộ nhớ, hoặc xử lý quá lâu mỗi khi thao tác trên ứng dụng của bạn.
Và tương tự, chắc chắn rằng họ sẽ không thích hơn nữa nếu app của bạn sử dụng quá nhiều băng thông data, vì điều này ăn vào túi tiền của người dùng một cách vô lý. Vì vậy, hãy optimized-tối ưu hoá, app của bạn đến mức tối đa.