Samsung SmartTV Application Development Overview

Chúng ta đang sống trong thời đại mà mọi thứ đồ vật đều có thể trở nên thông minh hơn (smart), nhờ bàn tay và khối óc con người như: smart-home, smart-phone, smart-classroom, smart-wheelchair, smart-car, smart-office, smart PC (tablet PC), ... và Smart TV.

Trong bài viết này, tôi cố gắng tóm lược những nét chính yếu nhất của Samsung Smart TV để các bạn có thể nắm được và tham gia vào cuộc thi sáng tạo apps cho Samsung Smart TV (http://tvapp.mlab.vn/). Ngoài ra, tôi còn trình bày một số nhận định mang tính chủ quan về hệ thống Smart TV này, nhằm gợi mở ra cho các bạn những hướng nghiên cứu, phát triển.

Giới hạn của bài viết này là mang tính chất định hướng nghiên cứu và thảo luận mức ý niệm, những chi tiết về mặt kỹ thuật đã được trình bày khá kỹ ở Samsung Developer Forum (samsungdforum.com) nên tôi không lặp lại nhiều ở đây.

1. Giới thiệu Smart TV. 
Smart TV là gì ? Trước hết, nó là một cái TV, dĩ nhiên rồi. Nhưng hình như chức năng chính của nó là xem truyền hình bị lu mờ bởi nhiều giá trị gia tăng của nó mà nhà sản xuất gọi nó là "thông minh" hay "smart".

Thực chất là một máy tính chuyên dụng có chức năng chính là phục vụ nhu cầu giải trí multimedia cho người dùng. Smart TV có kiến trúc y chang như một máy tính: Linux Operating, CPU (dual cores, quad cores), RAM (+1GB), Storage Card (khoảng 2GB-8GB, tuỳ model), các cổng giao tiếp USB (dành cho mouse, keyboard, external HDD), cổng vào HDMI, cổng vào anten TV, cổng Video,  kết nối mạng (Ethernet, và Wireless) để có thể kết nối vào Internet.

Hình 1 mô tả  tương quan giữa máy tính và một Smart TV. Ở đây, giao diện của TV được xem như là một browser lớn, mà các ứng dụng được chạy trên nó là những ứng dụng Web. Do đó nền tảng kỹ thuật chủ đạo để viết app trên Samsung Smart TV đó là HTML5, CSS, Javascript.


Hình 1: Tổng quan về Smart TV

Trên cái remote của Samsung Smart TV có một nút bấm (hình 2) được xem như là phím home của TV. Khi bị lạc đâu đó, chỉ cần bấm phím này sẽ trở về home.
Hình 2: Smart Hub Logo 
Vậy tính thông minh của Smart TV thể hiện ở đâu:

  • Smart TV có hệ điều hành, có thể kết nối Internet 
  • Smart TV có những giao tiếp người-máy thông minh (HCI): nhận dạng cử chỉ, nhận dạng giọng nói.  
  • Smart TV cho phép nhà phát triển phát triển ứng dụng viết app và kinh doanh trên SmartTV. 



2. Giới thiệu Smart TV SDK. 
Bộ SDK có thể được tải về ở đây: www.samsungdforum.com/

Một lưu ý quan trọng là bộ SDK này hình như được xây dựng trên nền tảng Java 32bit, do đó phải được cài sử dụng JDK 32 bit.

Thực chất, SmartTV SDK kế thừa toàn bộ bộ Eclipse IDE, Samsung chỉ viết thêm phần Smart TV plugin để hỗ trợ việc đóng gói và run on emulator mà thôi.

Trong quá trình cài đặt Smart TV SDK, chương trình có hỏi bạn có muốn install thêm apache web server hay không, chọn Yes, đây chính là web server mà các package sẽ được export lên để Smart TV install. Sau khi cả bộ SDK cài thành công, kiểm tra xem eclipse có trỏ đến đúng thư mục không: Ví dụ:  C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\

3. Cách install app đã viết vào Smart TV 
Đây là điểm quan trọng và cần phải nắm để test được trên máy thật.
Có 3 thiết bị liên quan đến việc install app vào Smart TV trong quá trình phát triển: Smart TV, Apache Web Server, và Developer's Computer. Xem hình 3.1

  1. Cấu hình máy của lập trình viên: Kiểm tra lại cài đặt: Menu --> Tools --> Preferences --> Server: C:\Program Files\Apache Software Foundation\Apache2.2\htdocs. Lưu ý, server có thể là máy của lập trình viên  (1.2.3.2) hoặc 1 apache server riêng (1.2.3.3). Sau đó click phím phải chuột để làm thủ tục đóng gói (packaging). Khi đóng gói thành công thì toàn bộ các file htmls, css, javva scripts của app sẽ được zip lại thành 1 file. 
  2. Smart TV phải được kết nối vào Internet. Đồng thời phải login vào develop account. Lưu ý đây là một account ngầm định, email chỉ có 1 từ là develop mà thôi. Password để trống.  Cách thực hiện (trên TV 2013: Bấm nút Smart Hub trên remote (hình 2) --> Chọn Smart Features --> Chọn Samsung Account --> Nhập email: develop --> Bấm Login. Nếu thành công, TV sẽ báo là logged in as Develop. Lưu ý quan trọng, Smart TV phải connect được vào Internet, nếu không có kết nối internet thì bước này sẽ không thành công. 
  3. Thiết lập IP address của web server, nơi mà TV sẽ tìm package để download về và Install. Cách thực hiện: Bấm Smart Hub --> dùng phím mũi tên, browse xuống dưới mà hình để nhìn thấy chữ More Apps --> Bấm Enter --> Nhìn góc phải trên cùng sẽ thấy mục Options: --> Chọn IP Address/Setting (đây chính là web server chứa package mà developer đã upload lên). 
  4. Start App Sync: cũng trong menu option (bước 2), ta sẽ thấy mục Sync và click vào. Lúc này Smart TV sẽ tìm lên server đã thiết lập ở bước 2 để lấy về package có timestamp mới nhất và install vào TV. Nếu install thành công, ta sẽ thấy icon của app mới được xuất hiện trên TV. Chúc mừng bạn đã install thành công app đầu tiên của mình! 



Hình 3.1. Quá trình install apps 


4. Thảo luận: The good, the bad and the ugly  
4.1 The good: 
Có thể tóm gọn vẻ đẹp của Samsung Smart TV trong 3 điều sau: i) chất lượng hình ảnh (màn hình) đẹp tuyệt,  kiểu dáng trang nhã (cả chân đế cũng được chăm chút, cả TV rất nhẹ!), ii) dễ dàng viết app và cài đặt app, iii) giao tiếp người máy thông minh (HCI).

Có thể nói, điểm ấn tượng  nhất của Smart TV là chức năng TV :-) Màn hình LED mỏng, đẹp rực rỡ. Hơn nữa, các Smart TV cho buổi demo đều là loại kích thước lớn 55 - 60 inches nên sẽ mang lại ấn tượng hoành tráng ngay từ cái nhìn đầu tiên. Các chân đế của Smart TV cũng được chăm chút thiết kế mang lại nét dịu dàng cho cả cái TV.

Ngoài ra, với màn hình rộng lớn ( từ 32 inches trở lên), Smart TV đã mang lại cho nhà phát triển ứng dụng một không gian rộng lớn để trình bày sản phẩm của mình trên đó. Khác với các thiết bị thông minh khác như smartphone, tablets, desktop pc, màn hình bị giới hạn, nay các apps trên Smart TV cần phải được những tư tưởng thiết kế giao diện mới để lấp đầy không gian rộng lớn này.

Hình 3. Một mẫu thiết kết Smart TV 
Điểm thứ hai khiến Smart TV khác với cái TV thường là nó cung cấp môi trường cho nhà phát triển phần mềm phát triển & cài đặt app lên nó. Khán giả ngồi trước TV bây giờ không chỉ là một người xem thụ động, họ có thể lựa chọn, cài đặt, tương tác, hoặc kết nối với bạn bè trên khắp thế giới qua mạng Internet. Hơn nữa, khán giả và developer còn có thể kinh doanh qua mạng dựa trên nền tảng Smart TV.

Điểm thứ ba, mà bản thân tôi và những người nghiên cứu về computer science cảm thấy thích thú đó là Samsung đã mạnh dạn đưa những nghiên cứu mới nhất trong lĩnh vực computer vision, image recognition và voice recognition vào trong 1 sản phẩm thương mại, điều mà trước đây chỉ có trong các đồ án môn học, đề tài tốt nghiệp của sinh viên. Giờ đây, lập trình viên chỉ cần dùng 1 dòng lệnh là có thể nhận dạng được bàn tay, 2 bàn tay và xử lý sự kiện khi có bàn tay xuất hiện như thế nào thôi. Lập trình viên không cần phải lo lắng việc nhận dạng bàn tay thế nào nữa (hình 4).
Hình 4. Thử nghiệm smart tv gesture recognition 


Vấn đề voice recognition cũng là một điểm thú vị. Nhưng hiện tại Samsung chỉ hỗ trợ một số ngôn ngữ (US English, UK English, Australian English, American Spanish, Canadian French, German, French, Italian, Spanish, Dutch, Swedish, Portuguese, Russian, Korean, Japanese, Chinese(Mandarin), Chinese(Cantonese)) [1]. Tương lai có thể hỗ trợ nhiều hơn. Tôi đã test thử việc nhận dạng voice và thấy Smart TV nhận ra hầu hết các từ (nằm trong bộ từ đã được huấn luyện).


4.2 The bad 
Tuy Smart TV đem lại một kênh giải trí tự chọn và cơ hội kinh doanh phong phú trong lĩnh vực giải trí gia đình, nhưng Smart TV còn cho thấy một số điểm yếu kém sau: i) khả năng kết nối internet, ii) lỗ hổng về  an ninh (security threads, see http://vimeo.com/55174958).

Trong quá trình chúng tôi phát triển App phục vụ cho cuộc thi tvapp.mlab.vn, và demo tại Samsung Accademy thì thấy rằng mọi việc đều cần đến kết nối Internet để phát triển, update, cập nhật thông tin trên Smart TV, ngay cả khi máy của lập trình viên và Smart TV nằm trong cùng 1 mạng local.

Điểm nguy hiểm nhất ở Smart TV là nó được thiết kế ở mức rất dễ bị tổn thương. Các cảnh báo mới nhất cho thấy TV có thể bị hacked và nó trở thành thiết bị theo dõi chính chủ nhân khi xem TV (http://vimeo.com/55174958).

Ngoài ra, bạn có thể test điều này ngay với bộ ảnh máy ảo do Samsung cung cấp để reset password root và login từ xa đến TV bằng secure shell một cách dễ dàng. Tuy nhiên, tôi nghĩ trong những version kế tiếp, các lỗ hổng này sẽ nhanh chóng được fix.


4.3 The ugly: 
Trước hết, theo quan điểm của con nhà nghèo thì giá cả là một điểm hạn chế của cái TV này (khoảng 80 triệu cho 1 cái TV 55 inches).

Âm thanh cho TV kém quá, do để đạt độ mỏng của TV nên phần speaker không được chú trọng lắm. Nhưng điều này cũng có thể châm chước được, vì dân mê công nghệ không ai nghe loa trực tiếp từ TV cả, họ sẽ có cả dàn HiEnd ampli, loa để nghe cho được hay hơn.

Cái remote TV có quá nhiều nút bấm cũng là một yếu tố làm giảm tính tương tác cho người sử dụng. Đặc biệt là người lớn tuổi, ít tiếp xúc với công nghệ. Ngược lại, trong các phiên bản TV đời 2013, cái remote có touch pad khá nhạy cũng là một trở ngại khi phải dùng nó để nhập ký tự.

Khả năng giao tiếp "thông minh" cũng là một yếu tố hạn chế của Smart TV. Như dân làm trong khoa học máy tính, khoa học nhận dạng đều biết, hiểu và thông cảm với nhau rằng việc nhận dạng không bao giờ đạt kết quả chính xác 100%. Điều này không ngoại lệ cho Samsung Smart TV. Khi đưa ta ra điều tiện, đôi khi Smart TV nhận không ra bàn tay, hoặc tay người điều khiển bị run thì rất khó điều khiển các nút bấm trên màn hình. Điều này cũng có thể nói một cách dí dỏm là Smart TV sẽ rèn luyện cho ta được sự điềm tĩnh, tính kiên nhẫn tuyệt vời.


5. Kết luận 
Tóm lại, Smart TV đã và đang mở ra những cơ hội mới cho cả nhà sản xuất, người tiêu dùng, và nhà phát triển ứng dụng, nhà phát triển nội dung số. Những yếu kém, khuyếm khuyết của một sản phẩm là luôn luôn xuất hiện. Nhưng gạt bỏ những mối bận tâm, e ngại trên, Smart TV đã cho chúng ta một cơ hội để được thể hiện những ý tưởng sáng tạo của mình trên một thiết bị giải trí thông minh.

Chúc các bạn thành công

[1] http://samsungdforum.com/Guide/ref00008/recognition/dtv_recognition.html

Nhận xét