Bắt đầu từ công việc mọi người cần làm
Hãy hình dung một công ty bảo trì đang lên kế hoạch cho hệ thống mới. Kỹ thuật viên hoàn thành một lượt đến hiện trường, chụp ảnh và ghi lại những thứ cần thay thế. Về văn phòng, một người khác kiểm tra lần bảo trì đó rồi sắp xếp công việc tiếp theo. Đây là ví dụ giả định, nhưng giúp ta so sánh những lựa chọn cụ thể.
Kỹ thuật viên dùng điện thoại. Nhân viên văn phòng dùng máy tính. Như vậy, giao diện cần hoạt động trên nhiều loại thiết bị. Nhưng những câu hỏi quan trọng vẫn còn đó: nơi làm việc có sóng không, ảnh có cần được gửi ngay về văn phòng không, và điều gì xảy ra nếu ai đó đóng phần mềm khi đang làm dở?
Những tình huống này nên dẫn dắt việc chọn ứng dụng web hay ứng dụng cài trên thiết bị. Nếu chọn tên loại ứng dụng trước, các quyết định khó sẽ bị đẩy về sau.
Dùng điện thoại không đồng nghĩa với việc phải cài ứng dụng
Ứng dụng web mở trong trình duyệt. Nó có thể được thiết kế cho cả điện thoại lẫn màn hình lớn. Ứng dụng cài trên thiết bị là phần mềm người dùng cài vào thiết bị của mình. Một số ứng dụng web cũng có thể được cài đặt, nên hai nhóm này có phần giao nhau. Việc một ứng dụng được “cài đặt” không cho biết nó được xây dựng như thế nào.
Câu hỏi hữu ích là phiên bản được đề xuất có làm được việc cần làm trên những thiết bị mọi người thực sự dùng hay không. Chẳng hạn, ứng dụng web có thể cho phép chụp ảnh. Hướng dẫn của Google về khả năng của ứng dụng web mô tả các tính năng thiết bị mà ứng dụng web có thể dùng và sự khác biệt về mức độ hỗ trợ. Trình duyệt, thiết bị và quyền truy cập đều quan trọng. Một tính năng chạy được trên một chiếc điện thoại chưa nói lên nhiều điều về những chiếc điện thoại khác của cả nhóm.
Đặc biệt, hãy nêu rõ yêu cầu về thông báo và những tác vụ phải tiếp tục sau khi người dùng rời ứng dụng. Hỏi điều gì xảy ra trên từng thiết bị dự kiến sử dụng, kể cả khi người dùng từ chối cấp quyền. Phương án ứng dụng cài trên thiết bị cũng cần được kiểm tra hành vi thực tế, không nên mặc định là sẽ hoạt động.
“Hoạt động ngoại tuyến” cần được nói rõ hơn
Kỹ thuật viên trong ví dụ có thể cần đọc ghi chú hôm qua ở tầng hầm không có sóng. Lưu một báo cáo mới sau lần bảo trì là yêu cầu khác. Tải lên một bức ảnh dung lượng lớn lại là yêu cầu khác nữa. Hãy xác định việc nào bắt buộc phải hoạt động trước khi quyết định xây dựng gì.
Đọc thông tin khi không có sóng
Thông tin nào phải có sẵn trên điện thoại? Hãy xác định kỹ thuật viên cần xem gì và làm sao họ biết thông tin đó có thể đã cũ.
Lưu công việc mới
Báo cáo sau lần bảo trì và ảnh có thể tạm nằm trên thiết bị không? Hãy cho kỹ thuật viên biết rõ công việc mới chỉ được lưu ở đó hay đã tới văn phòng.
Khi kết nối trở lại
Nếu văn phòng sửa thông tin của cùng một lần bảo trì trong lúc điện thoại ngoại tuyến thì sao? Hãy thống nhất thay đổi nào được giữ và khi nào cần một người quyết định.
Cả phần mềm chạy trong trình duyệt lẫn phần mềm cài trên thiết bị đều cần được thiết kế kỹ để xử lý những tình huống này. Cài ứng dụng không tự giải quyết cách lưu dữ liệu hay cách xử lý các thay đổi mâu thuẫn. Hướng dẫn của Android về ứng dụng ưu tiên hoạt động ngoại tuyến giải thích những điểm khác nhau này đối với ứng dụng Android. Đây là ví dụ về công việc cần làm, không phải lời hứa cho mọi nền tảng.
Thử tác vụ có thể làm thay đổi quyết định
Trước khi đặt làm cả hệ thống, hãy yêu cầu một bản trình diễn nhỏ cho yêu cầu khó nhất. Với ví dụ này, hãy dùng một chiếc điện thoại đại diện để mở thông tin về lần bảo trì, ngắt kết nối, lưu báo cáo và ảnh, rồi kết nối lại. Dùng hồ sơ và ảnh giả trong một môi trường thử nghiệm riêng để phép thử không làm thay đổi công việc thật hoặc gửi bất cứ thứ gì cho khách hàng. Khi phù hợp, hãy so sánh tác vụ đó trong trình duyệt dự kiến dùng và trong phương án ứng dụng cài trên thiết bị.
Quan sát những gì người dùng nhìn thấy khi xảy ra lỗi. Họ có biết báo cáo của mình đã được lưu chưa? Họ có thể hoàn thành sau khi bị gián đoạn không? Điều gì xảy ra nếu quyền dùng máy ảnh bị từ chối? Một bản trình diễn trên đúng môi trường dự kiến sẽ cho bạn căn cứ vững hơn tên một tính năng trong đề xuất.
Ghi lại chính xác thiết bị và trình duyệt dùng trong bản trình diễn, những gì đã hoạt động và những gì vẫn chưa được hỗ trợ. Xem lại lựa chọn nếu một tác vụ thiết yếu vẫn chưa có cách thực hiện khả thi.
Tính cả việc cấp quyền truy cập và duy trì hoạt động
Hãy hỏi nhân viên hoặc khách hàng sẽ được cấp quyền truy cập thế nào, họ nhận bản cập nhật ra sao và ai xử lý sự cố. Nếu kế hoạch có cửa hàng ứng dụng hoặc hệ thống thiết bị do công ty quản lý, hãy tính cả công việc và yêu cầu của kênh đó. Đừng mặc định ứng dụng sẽ được duyệt hoặc phân phối tự động.
Bạn có thể chọn ứng dụng web, ứng dụng cài trên thiết bị hoặc các phiên bản khác nhau cho từng công việc. Phương án kết hợp có thể phù hợp với kỹ thuật viên và văn phòng trong ví dụ, nhưng mỗi phiên bản đều cần được triển khai, cập nhật và hỗ trợ. Hãy tính đến trách nhiệm đó khi so sánh các đề xuất.
Tại LINK-V, chúng tôi cung cấp ứng dụng di động theo yêu cầu và ứng dụng web. Khi trao đổi về một trong hai phương án, hãy nêu những tình huống phần mềm phải xử lý. Điểm bắt đầu hữu ích là mọi người cần hoàn thành việc gì, trên thiết bị nào và trong điều kiện nào. Sau đó, phạm vi, hỗ trợ và điều khoản thương mại có thể được thống nhất cho dự án cụ thể.
Những câu hỏi cần đặt ra trước khi chọn
Ứng dụng web có thể hoạt động ngoại tuyến không?
Có thể thiết kế ứng dụng để hỗ trợ những tác vụ ngoại tuyến cụ thể. Hãy nêu rõ mọi người phải đọc hoặc lưu được gì, dữ liệu nào ở lại trên thiết bị và điều gì xảy ra khi kết nối trở lại. Kiểm tra hành vi cần thiết trên các thiết bị và trình duyệt dự kiến dùng.
Chụp ảnh có cần ứng dụng cài trên thiết bị không?
Có thể chụp ảnh trong ứng dụng chạy trên trình duyệt. Mức độ hỗ trợ và quyền truy cập phụ thuộc vào môi trường dự kiến, nên hãy trình diễn toàn bộ tác vụ chụp ảnh trên những thiết bị đại diện trước khi chọn.
Nhân viên dùng điện thoại thì có nên cài ứng dụng không?
Chỉ riêng việc dùng điện thoại không quyết định điều đó. Hãy chọn theo tác vụ, tính năng thiết bị, điều kiện kết nối và cách mọi người nhận quyền truy cập cũng như bản cập nhật. Ứng dụng cài trên thiết bị, ứng dụng web hoặc phương án kết hợp đều có thể phù hợp.