San Jose-based startup DeviceVM made waves last year when it unveiled Splashtop, a nearly instant-on Linux environment stored in the flash memory usually reserved for motherboard BIOS. The company previewed an upcoming revision to Splashtop at this year's Consumer Electronics Show in January, then gave us the chance to take a hands-on look at this intriguing system software.
Splashtop does not attempt to provide the user with a full computing environment -- DeviceVM advertises usage scenarios like getting up in the morning and checking for urgent mail within seconds, not minutes. If you are in the habit of leaving your PC on overnight just to speed up how quickly you can get online in the morning, the company suggests, Splashtop can get you online just as fast, but consume no electricity overnight.
The original release of Splashtop debuted in Asus P5E3 motherboards, and featured a Web browser and Skype VoIP client as its only client applications. Since then, Asus has added M3N-H, M3N-HD, and M3N-HT motherboards to the supported lineup. With each new hardware product, the build of Splashtop included receives minor updates and tweaks. DeviceVM is readying a major revision that adds far more applications than are found on any of the currently available boards.
Testing, 1, 2, 9 ...
To take a look at this upcoming revision of Splashtop, we borrowed an Asus F8Sa notebook, featuring an Intel Core 2 Duo processor, 2GB of RAM, 802.11a/g/n wireless and wired Ethernet, a built-in, rotating 1.3 megapixel webcam, 14.1-inch screen, and a 160GB hard drive. Although, as you will see, you don't need a hard drive with Splashtop....
Splashtop gets its own dedicated hot key (this model uses a treble clef icon, which is probably a temporary choice); you can go through the normal boot sequence by pressing the system power button.
Since its previous releases, Splashtop has accumulated considerably more apps. Web and Skype are now accompanied by a chat program, photo viewer, music player, video player, and standalone DVD player. There is also a small set of utilities to configure Splashtop, including its visual theme and power management profile.
As advertised, Splashtop boots up in seconds. By my count, it took a little over nine seconds from cold boot to the main screen. In comparison, the pre-installed version of Windows Vista on the laptop takes just over two minutes to boot. While the main Splashtop menu is live after nine seconds, it takes four or five more to launch each application, including time waiting for the computer to connect to the network.
This version of Splashtop is capable of connecting to WEP-protected wireless networks, but not WPA -- an issue DeviceVM hopes to correct soon. Since I use WPA on my home network, I connected using wired Ethernet instead. When starting cold, I routinely found that I had to reload the Web browser's start page at least once before it could load a page -- not because the notebook was doing anything wrong, but because booting into the system and starting the browser required less time than my router took to dole out an IP address over DHCP.
Similarly, the media player apps allow you to access files stored on the computer's hard drive, but when you use them you have to wait for the drive to spin up and the player to find the files in the folders you specify. The F8Sa also has an externally accessible Secure Digital (SD) card slot, from which you can also play media.
Applications: a closer look
Although Skype is a proprietary application, open source is front and center in Splashtop. The Web browser is a stripped-down version of Firefox 18.104.22.168, the chat app is the Pidgin IM client, and the video player is based on MPlayer.
The browser includes Adobe Flash and MPlayer video plugins, which together give you access to a wide variety of online media, but it does not include many others, such as Acrobat or Java. Or at least it appears not to include Acrobat and Java: one of the alterations made from the vanilla Firefox build is the disabling of the about: locations, so there isn't any simple way to tell what plugins are installed. You also cannot install extensions, themes, or search engines; in fact, the search box in the navigation toolbar has been removed.
Considering the riskiness of allowing installation of arbitrary XPIs into a motherboard's EEPROM, disabling extensions is understandable. But I don't see the need for some of the other feature excisions. For instance, you cannot open file:// URIs to look at documents on the computer's hard drive or memory card. That is an everyday task that would surely be useful in the "I need it in seconds" paradigm. And forbidding common tasks like viewing page info does not make sense either.
DeviceVM spokesman Andrew Kippen explained that many of the changes trace back to Splashtop's need to use fixed-size flash memory for storage. In a vanilla Firefox build, the browser assumes that it has hard disk access -- not just when the user downloads files, but for underlying capabilities like the auto-updater and page caching.
Pidgin supports AIM, MSN, Yahoo!, QQ, and Google Talk accounts. As is the case with Firefox, the version included here has many standard features disabled, including all plugins and many of the user preferences.
The other media apps are (at least for now) closed source. DVDs are handled by LinDVD, and the photo viewer and music player were written in house by DeviceVM. When I tested them, the custom apps were no-frills: the music player supported only MP3 files, and the photo viewer supported only JPEG images. But both are capable of reading from the SD card slot and external USB drives, making them useful for quick media management.
And speaking of media management, whenever you load an SD card or attach a USB drive, Splashtop auto-mounts it and brings up a file manager -- even though the file manager app is not among the menu options.
I thought it odd that the company chose to write the music and photo apps from scratch when there are already so many Linux alternatives. But as with Firefox, Kippen explained, adapting an existing app to work on a system where it cannot access hard disk storage requires substantial changes. "There are certainly many great photo viewers and music players out there, and at some point we may adopt one of them as a Splashtop application. However, for now we decided that it was easier to create our own app than to modify an existing application to work within our environment."
Getting under the hood: VMs, source code, and SDKs
What exactly happens during the nine seconds Splashtop takes to start up? Each of the user-visible apps is a separate virtual machine. The system boots into a custom, in-house-designed real-time operating system (RTOS), and the RTOS launches and manages each of the VMs. Although the VMs are all Linux-based, the RTOS itself is not.
This is similar to the design of Coreboot, the BIOS-replacement formerly known as LinuxBIOS. The hardware initialization is very brief, and loads another OS as the main attraction. DeviceVM CEO Mark Lee describes his company as "very interested in Linux BIOS developments. Having a lighter BIOS would help us reduce even further the boot time of our Linux-based environment, and would enhance the user experience. We have been exploring synergies with the Coreboot project, and see it as a very complimentary and beneficial initiative."
The big difference between the two is that Splashtop does not replace the motherboard's normal, OEM-provided BIOS. Coreboot does, making it a risky proposition for those uncomfortable with voiding their warranty.
The Splashtop RTOS is very small, occupying only "a couple hundred K" of a dedicated flash chip -- currently 512MB in size. That leaves the remainder of the space for the application VMs and the storage of user account info (primarily account data for the browser, Skype, and IM client). The VMs can access the computer's hard disks and optical drives, but you can boot into Splashtop even with no working drive attached.
DeviceVM's Business Development Director David Speiser described a scenario where you will value that feature: hard disk failure. Even with no working drives, the Splashtop environment can boot and get you online in a hurry, either to search for help or to order additional hardware.
As long as you are going to look for fixes with the damaged machine itself, you might well ask whether Splashtop includes any disaster recovery or diagnosis tools. It doesn't -- at least not yet. Speiser suggests that such low-level tools are something best added by the OEMs, who have have their warranties to consider. But that wouldn't stop an enterprising hacker from creating a disaster recovery VM as an aftermarket add-on, would it?
The current version of Splashtop does not allow users to install additional apps. Speiser says the ability to get into and modify the system is one of the most oft-requested features, right after Asus Eee PC support (which is Asus's decision, not DeviceVM's), and requests for specific applications.
To that end, Speiser says, DeviceVM is working on a software development kit (SDK). "There are so many people out there who would love to hack into this and play with it, so that's a really important goal for us. We're using the fruits of the Linux community, and we want to give back to that." Speiser hopes to be able to release an SDK this year, but could not make a more specific prediction. In the meantime, those interested can sign up to be notified when the SDK is announced.
Developers can already download GPL-licensed source code that goes into the Splashtop product. The current release is a 49MB tarball consisting of two parts. The "core" package includes six kernel patches, and the "appliance" package contains patches to the Blackbox window manager and its utilities.
It's not an Earth-shattering bundle on its own, but the first step on a long road. As Speiser put it, "there are so many things to do, and we're still a startup, but we definitely want to make [the SDK] a priority."
Instant on appeal
Even if you are not shopping for a new motherboard or laptop, Splashtop is a project well worth watching. I used the F8Sa notebook for a little more than a week, and it required an adjustment in my thinking to get used to just how fast and how convenient instant-on Linux is.
At the beginning, I didn't expect the instant-on system to prove all that useful -- I accepted the "check email first thing in the morning" and "in case of emergency" scenarios, but that didn't sound like a lot. Plus, I have a laptop on the coffee table and Internet access on my phone.
Neither of those alternatives compares to using the Splashtop browser. Booting the Splashtop environment is both faster and provides a better browsing experience than using the phone, and you don't consume the resources required by the laptop just for something quick like looking up a character actor's name on IMDB.
Speiser could not comment on upcoming business deals, but hinted that we should expect to see Splashtop on more than just Asus products in the future. As the instant-on experience spreads, I am certain that open source developers will push the idea in new directions.