Part 1 of this feature introduced automotive connected platforms and the Rich Internet.
Much Web content and many Rich Internet Applications are executed on the client using Adobe* Flash, a set of multimedia creation and consumption tools from Adobe Systems. It includes an authoring environment to create content such as Web applications, games and movies, and content for mobile phones and other embedded devices. It also includes Flash Player, a client plug-in for Web browsers used to run or parse Flash files. The Flash Player client supports graphics, a scripting language and bi-directional streaming of audio and video.
Flash technology has become a popular method for adding animation and interactivity to Web pages. It is commonly used to create animation, advertisements, and various Web-page components, to integrate video into Web pages, and to develop Rich Internet Applications.
A major challenge to deploying Flash movies, games and applications for consumption in vehicles is the lack of a "standard" hardware and software platform in the car. There are different versions of the Flash Player for PC devices, mobile phones, PDAs and other non-PC devices. Flash support varies greatly depending on the hardware platform and operating system used. For example, a Linux Flash Player is not currently available for processors that don't use x86 architecture (e.g. SH, MIPS, ARM, etc.). Since the Flash-authoring environment runs on a desktop platform, most Flash media and applications are initially developed on desktop PC platforms and optimized for x86 architecture. Some are eventually ported to other platforms. Most are not.
Adobe offers a Flash Player for non-x86 platforms, called Flash Lite. Flash Lite is roughly based on Flash Player 7, which is two generations behind the current Flash Player 9 for PC platforms. Even when compared to the older Flash Player 7, Flash Lite has some limitations. For example Flash Video and Rich Text Style Support (CSS) are not supported. The best way to ensure that the latest and most sophisticated Flash applications can be used in the car is to use a fully PC-compatible platform. Flash Player is an example of a plug-in, enhancing an existing application by providing a very specific function. While dozens of plug-ins are available for Intel Architecture-based systems, only a handful are available on other architectures.
Sandboxes and Virtualization
AJAX and the underlying Java development environment provide a security mechanism that allows for the creation of a special application partition, or sandbox. A sandbox is a security mechanism for safely running untrusted programs in a protected environment. The sandbox creates a "virtual machine", a tightly controlled set of resources that guest applications can access. A language interpreter controls the guest application's access to other system resources. For example, the virtual machine might allow the application to access a small amount of scratch space on disk and memory. The ability to access hardware resources of the host, such as network interfaces, storage devices and memory is heavily restricted.
Sandboxes are a specific example of virtualization. Virtualization is extremely useful in a car's infotainment platform because it enables both the bulletproof reliability expected from a car head unit and the flexibility to run personalized content and applications from the Web. Virtualization allows this flexibility by dividing the hardware into protected partitions. A user partition can be created, for example, where a virtual machine runs non-vital applications and stores individualized content. The user partition can be restricted from accessing vital system resources that would compromise the reliability of the secure partition, where mission-critical applications such as navigation can run. Thus, virtualization enables a platform that offers the flexibility and personalization of an Internet PC along with the reliability of a fixed-function head unit.
Of course, in order to execute the multitude of Rich Internet Applications, the car must be able to access the Internet. The availability of wireless connectivity varies by location and from country to country. The in-vehicle infotainment platform of tomorrow will need to access the Internet wirelessly in various ways. Wi-Fi (802.11) is a short-range wireless technology that allows the car to connect at the driver's home or in various "hotspots", locations where wireless access points are installed and available for public use.
View a full-size image