The Use of Scalable Vector Graphics in Flexible, Thin-Client Architectures for Tv Navigation
Total Page:16
File Type:pdf, Size:1020Kb
THE USE OF SCALABLE VECTOR GRAPHICS IN FLEXIBLE, THIN-CLIENT ARCHITECTURES FOR TV NAVIGATION Michael Adams Solution Area TV, Ericsson Abstract Support rapid development of new applications without the need for new Today’s subscribers are demanding more software download to the set-top and more from their service providers: Enable personalization of a service to each subscriber’s preferences Personalization: New behaviors from a Allow full customization of the user- new generation of “digital natives”, (who interface, including branding expect the service to adapt to them!), Allow the use of third-party developers, powerful search capabilities, and using Web 2.0 service creation methods recommendations engines. Provide set-top independence and Communication: Multitasking, social multiplatform portability networking, and sharing the viewing Decouple CA/DRM certification from new experience through chat and instant features and applications development messaging Interactivity: Polls, games, and enhanced INTRODUCTION programming Today’s subscribers are demanding more And subscribers want all the above and more from their service providers. What services and features to be delivered as a they want can be grouped into three main single, integrated service experience across categories: any device, anywhere, and at anytime! Personalization The Internet has shown how to deliver all Communication kinds of services by means of thin-client Interactivity approaches using the Representational State Transfer (REST) model. Meanwhile, most Personalization deployed cable architectures still rely on a “state-full”, thick-client approach. I want my service to adapt to my needs. I need recommendations to sort my Can thin-client architectures really “wheat” from the “chaff”. satisfy large cable system requirements for I want to watch anything, on any device, performance, scalability, high-availability, at any time, anywhere. emergency-alert system requirements, and compatibility with existing interactive Personalization provides the subscriber application environments such as EBIF? with a better experience, tailored to their needs, and creates “stickiness” for the This paper will show how a thin-client, operator. browser-based approach can: 2010 Spring Technical Forum Proceedings - Page 46 Communication savvier, more educated subscribers (often called “Digital Natives” [1]) that desire new I want to share my experience with my features. Nevertheless, TV is still a living friends in real-time room experience and pure web-style I want to interact with social networking navigation doesn’t work. sites I want to be notified when I have a phone Personalization, communication, and call and to be given an option to pause my interactivity require a dynamic, flexible, movie if I choose to take the call. extensible, high-performance user-interface. Moreover, as the subscriber starts to like, and Communication is a basic human need. take advantage of new features, the Many subscribers are already using a laptop infrastructure that supports them must be while watching TV to turn viewing into a scalable. The system cannot slow to a crawl if social experience. The TV experience can be everyone presses the “red button” at the same extended to allow all subscribers to time (for example, during a Super Bowl communicate while they are watching TV to a commercial). greater or lesser degree, depending on their preferences. CURRENT USER INTERFACE Interactivity Today, most set-top box (STB) “guides” I want to request more information about are limited in their ability to support the products when they are advertised. requirements of personalization, I want to be able to go directly to the communication, and interactivity because of movie after I see the promo. the way they are developed: I want to be able to play along with my favorite game shows The user-interface logic is embedded into I want to be able to vote online about a monolithic “resident application” that is important issues. downloaded to the STB. Because any changes require extensive testing before Numerous studies have shown that they can be unleashed on unsuspecting interactivity can help to keep subscribers subscribers, each subscriber ends up engaged. Interactive programming includes getting the same guide as every other such things as play-along game shows, subscriber. audience polls, and the like. Interactive The user-interface is developed in a low- advertising is also an important opportunity. level language such as c, c++, or Java. Highly-paid software developers are Interactivity is more natural on devices needed to modify the user-interface or to like a mobile phone or tablet PC than the TV, create new applications. Any changes because these devices can allow more natural must be designed, approved, developed, user-interfaces through the use of touch tested, certified, and signed-off; a process screens. that can take 6 months or more. The result is expensive applications that arrive to User Interface Requirements market late or not at all. In summary, subscribers are ready and Embedded user-interfaces were the only willing to extend their TV viewing option when STBs had a small memory experience. There is a new generation of footprint and limited CPU power. For 2010 Spring Technical Forum Proceedings - Page 47 example, in 1998, a typical STB had only 1-2 unacceptably slow if a synchronous MB of memory and a 27 MHz CPU [2]. execution model is used. Reliance on a guaranteed high-bandwidth Today, a system on a chip (SOC) can communications path between the server provide extensive capabilities, and these and client. This model cannot continue to limitations no longer apply. For example, the provide basic navigation when the return Broadcom BCM7400 includes a “dual path is lost. threaded 350-MHz MIPS32 with FPU class Need for high-performance server “farms” CPU” [3]. Typical memory footprints are at to keep up with client transactions. least 256 MB. Despite these changes, the thick-client model has persisted. TOWARDS A THIN-CLIENT SOLUTION USER INTERFACE ALTERNATIVES The advantages of a thin-client solution are attractive; however the limitations must be Over the past 15 years the user-interface overcome to make this a viable model for the model has been revolutionized by the Internet TV. and the World Wide Web, and the thin-client model has become more and more popular. The goal of this paper is to demonstrate Netbooks are now the fastest growing that careful system design can yield a thin- category of portable computing device, client solution with all its advantages and requiring only a browser on the client while none of its limitations. the “heavy-lifting” is done by servers in the network. The proposed solution is based on the following: The advantages of the thin-client model are: 1. Asynchronous execution model 2. Browser-based STB software environment Extensible; new user-interface logic can 3. Scalable vector graphics be introduced at any time merely by 4. Sophisticated authoring environments that linking in additional web pages. support rapid development of new Dynamic; changes in the application can applications be made without a STB firmware reload 5. Personalization through different user- or reboot. interface styles Rapid authoring of new applications by 6. Multi-level caching for better user- graphic designers (not software interface performance and lower-latency developers) with a much faster, shorter testing cycle. The development cycle of Asynchronous Execution Model new features can be reduced from months to days. One of the main limitations of early High availability and horizontal scalability client-server implementations was that they is achieved by means IP load balancing. were synchronous, waiting for one event to complete before starting another one. The The limitations of the Internet model are: effect is that all of the network latencies are serialized and can add up to a slow user- Performance – even a small round-trip experience. latency makes the user-interface 2010 Spring Technical Forum Proceedings - Page 48 This problem has been addressed by the JSON (Java Script Object Notation) is AJAX (Asynchronous Java script And XML) used as data-interchange format. client-server model, which supports asynchronous execution. (See Figure 1) This standards-based architecture allows Client (STB) each JavaScript object to be transferred asynchronously to the client, eliminating the serialization of transactions and increasing performance of the user-interface. The server-side implementation is not constrained at all. However, Java Enterprise Edition Server (still commonly known by its Communication (AJAX, JSON) old name of J2EE) provides a useful container-based environment. Browser-based Set-top Box Software Environment The client that runs on the STB is an advanced web page. Client-server communications are handled by JavaScript Server and AJAX technology (as previously described). The software framework, both on Figure 1: Client-Server Model client- and server-side, is responsible for loading any required JavaScript objects. The client-side implementation is typically (but not constrained to): The framework also wraps the STB- specific JavaScript Application Programming HTML (HyperText Markup Language) Interfaces (APIs), enabling new applications pages, which are navigated by the user as to run on any compliant STB. she interacts with the user-interface. JavaScript, which provides embedded Advantages of this approach are: functions that