Hồ Lê Minh Thạch, 22 tuổi ở TP HCM, là đại diện Việt Nam duy nhất trong danh sách chiến thắng tại cuộc thi Swift Student Challenge 2024 của Apple. Sản phẩm của Thạch là phần mềm Mindful Eating, xây dựng trên nền tảng Swift Playgrounds. Dù chưa phát hành chính thức, sản phẩm được đánh giá tốt bởi sự sáng tạo, tận dụng thế mạnh của ngôn ngữ lập trình Apple, đưa cậu trở thành một trong những sinh viên xuất sắc trên toàn cầu giành giải năm nay.
Ứng dụng với khả năng đếm số lần nhai
"Cuộc sống hiện đại khiến mọi người làm gì cũng nhanh, ngay cả việc ăn uống. Điều này khiến chúng ta bỏ lỡ niềm vui đơn giản trong từng miếng ăn, cũng như không tốt cho tiêu hóa", Thạch kể về ý tưởng thúc đẩy cậu làm gì đó để thay đổi thói quen này của mọi người nhiều năm trước. Tuy nhiên, việc học chiếm nhiều thời gian khiến cậu phải gác ý tưởng này lại.
Cho đến tháng 2, khi Apple mở cuộc thi toàn cầu, cậu sinh viên năm cuối ngành kỹ sư phần mềm thuộc đại học RMIT Việt Nam quyết định thử sức, với mong muốn có một sản phẩm kỷ niệm kết thúc thời sinh viên.
Ý tưởng về phần mềm "ăn chánh niệm" ngày nào quay trở lại, đặc biệt khi xem hàng trăm sản phẩm của những thí sinh đạt giải Swift Student Challenge các năm trước và bị thu hút bởi những ứng dụng có tính tương tác cao, sử dụng công cụ thực tế ảo tăng cường (ARKit).
"Tôi thấy phần lớn ứng dụng dùng ARKit để theo dõi chuyển động của mắt. Một app chuyên theo dõi quá trình ăn dựa trên chuyển động của miệng có lẽ sẽ tạo sự khác biệt", Thạch nói.
Đúng dịp nghỉ Tết Nguyên đán, cậu bắt đầu dành thời gian hệ thống hóa ý tưởng, nghiên cứu công cụ lập trình và bắt đầu những dòng code đầu tiên. Thời gian nghỉ lễ kết thúc sau hai tuần cũng là khi phần mềm hoàn thành tính năng, đưa cho một số người thân dùng thử.
Mindful Eating tập trung vào theo dõi quá trình ăn của người dùng, đưa ra những gợi ý ăn uống "chánh niệm", đồng thời tạo môi trường phù hợp để làm điều đó qua hình ảnh, âm thanh. Ví dụ trước khi vào bữa, người dùng sẽ làm dịu tâm trí bằng các câu thiền, đồng thời máy phát hiện các cử chỉ hít thở qua camera và thể hiện bằng vòng tròn co giãn liên tục trên màn hình. Cách tương tác này thúc đẩy người dùng tạo những vòng tròn to hơn, đồng nghĩa hít thở sâu hơn, tạo trạng thái tâm lý tốt trước khi ăn. Khi dùng bữa, phần mềm có thể phát hiện mỗi lần người dùng đưa thức ăn vào miệng, đếm số lần nhai và hiển thị thống kê trên màn hình.
"Nhờ ứng dụng, người bạn của tôi phát hiện họ chỉ nhai vài lần rồi nuốt, trong khi một số tài liệu khuyến nghị nên nhai khoảng 20-30 lần. Họ đã thay đổi thói quen kể từ đó", Thạch kể.
Khai thác thế mạnh của Swift
Trước khi làm Mindful Eating trên Swift Playgrounds, Thạch từng thử một số công cụ lập trình khác nhưng không đạt kết quả như ý. Ví dụ, với tính năng phát hiện nhai, nhà phát triển phải sử dụng một thư viện từ bên thứ ba hoặc tự xây dựng bằng các thuật toán, nhằm phát hiện bộ phận trên khuôn mặt và theo dõi sự thay đổi diện tích miệng. Điều này có thể làm tăng thời gian cũng như thiếu độ chính xác.
"Trong khi với Swift, tôi chỉ 'gọi' ARKit vào và dùng luôn. Điều này giúp tạo hứng thú trong việc viết ứng dụng", Thạch nói.
Swift là ngôn ngữ lập trình mã nguồn mở, do Apple tạo ra năm 2014 dựa trên Objective C, được dùng cho các nhà phát triển xây dựng các app cho iOS, Mac, Apple TV và Apple Watch.
Thạch cho biết cậu từng được học về ngôn ngữ lập trình này ở trường và cậu nhận ra rằng việc xây dựng ứng dụng tích hợp cả yếu tố phần cứng như camera đòi hỏi nhiều kỹ năng hơn. Thư viện sẵn có và nền tảng Swift Playgrounds giúp cậu dễ dàng hơn trong việc xây dựng app như Mindful Eating.
Trong thông báo cuộc thi, Apple cho biết yếu tố nhận thức và khả năng tiếp cận tài nguyên về lập trình và phát triển ứng dụng là điều quan trọng đối với người học. Khảo sát của hãng cho thấy 85% học sinh, sinh viên muốn học lập trình dù chưa bắt đầu tìm hiểu, 48% người được hỏi nói không biết bắt đầu từ đâu. Đây cũng là một trong những lý do hãng tạo ra Swift Playgrounds, giúp người học bắt đầu từ dòng code đầu tiên cho đến khi thiết kế được ứng dụng trong Swift.
Nguyễn Ngọc Duy Luân, lập trình viên hơn 10 năm kinh nghiệm, đánh giá các thư viện về AR hiện đều có có các hệ điều hành di động phổ biến như ARCore của Google hay ARKit của Apple. Tuy nhiên với lợi thế về hệ sinh thái thống nhất từ phần cứng đến phần mềm, việc phát triển app bằng ARKit sẽ dễ hơn.
Theo ông Luân, ngôn ngữ lập trình Swift có ưu điểm dễ học, dễ hiểu, đa dụng, có thể dùng viết từ các script cơ bản đến xây dựng giao diện ứng dụng. "Cú pháp của Swift cũng gần giống tiếng Anh nên người dùng làm quen nhanh, trong khi vẫn đảm bảo việc tự phân bổ bộ nhớ, type-safe, hoàn toàn có thể dùng cho các dự án quy mô từ nhỏ đến rất lớn", ông Luân nói.
Về phần mình, Thạch cho biết sẽ tiếp tục hoàn thiện app để phát hành chính thức. Mindful Eating thời gian tới có thể thêm tính năng mới, cải thiện UX, UI nhằm giúp người dùng có những trải nghiệm bữa ăn tốt cho sức khỏe, ứng dụng Machine Learning để phát hiện cử chỉ trong những tình huống phức tạp hơn.
Ngoài ra, Thạch kỳ vọng ngôn ngữ lập trình Swift có những phiên bản mới mạnh mẽ hơn, bổ sung công cụ về AI để giúp người lập trình và người dùng có thêm những ứng dụng chất lượng.
Lưu Quý - Tuấn Hưng