Our first article about the FXI Cotton Candy computer on a stick was so popular that it shattered all sorts of traffic records last fall. A tiny computer the size and shape of a USB key, the Cotton Candy captured your imagination because it can take over any screen -- even your PC or Mac -- and turn it into an Android or Linux workstation. Nearly a year after Norwegian startup FXI first demoed the product, the company began selling beta devices to select developers. We're among that fortunate few and have been able to play with the device and monitor its development over the past few weeks. What we've experienced is not just a intriguing mobile device but the beginnings of a powerful new platform.
It's called the Cotton Candy for a reason. That's because at just .7 ounces (1 ounce with its port covers on), the device is as light as the sugary confection. At 3 inches long, .95 inches wide and .5 inches thick, the Cotton Candy is smaller than many USB storage keys and even more compact than the 3.5 x 1 x .25 Android 4.0 Mini PC MK802 II stick computer.
Aesthetically speaking, the Cotton Candy is the Mini Cooper to the Android 4 Mini PC MK802 II's Kia Rio. The device has a smooth white exterior that looks almost ceramic, even though it's actually lightweight plastic, as well as a snazzy rubber port cover that covers the ports on either end. A Cotton Candy logo is emblazoned on the stick's top surface, though this device will never be sold to the public under the Cotton Candy brand as FXI intends to license its product to vendors who will rename and market it.
Ports and Connectivity Options
The right short side of the Cotton Candy holds a full-size male USB connector, which can be connected either to an AC adapter for power or directly to your PC to run the device in client mode. The left short side houses a male HDMI port for plugging into any HDMI capable monitor, including a large-screen TV. On the left long side sits a Bluetooth reset button, something we didn't need to use in our testing, and the right long side has a microSD card slot and a microUSB port for connecting peripherals.
Since most USB devices and cables connect to your computer via full-size USB, you'll need to buy a microUSB-to-USB adapter or cable. You can also run the USB port to a hub so you can attach more than one peripheral at a time. In our tests, we found that a 2.4-GHz Logitech K400 wireless keyboard / touchpad combo was an ideal input companion for the Cotton Candy because it's nearly full-size and requires just one port for both functions.
Like an old-fashioned PC, the Cotton Candy has no internal memory so you'll need to insert a microSD card with the operating system on it in order for the system to boot. Fortunately, FXI includes an 8GB card in the box, though the slot supports Class 6 microSD cards with up to 32GB capacities.
In addition to its powerful 1.2-GHz Samsung Exynos 4210 CPU and 1GB of RAM, the Cotton Candy's internal components include a couple of connectivity options. There's 802.11n Wi-Fi and a Bluetooth 2.1 radio, an important connectivity option that low-cost alternatives like the MK802 don't have.
Getting started with the Cotton Candy developer kit is easy, if you read the instructions. The bundled microSD Card is blank and it will not boot or even offer an error message until you write an operating system image to the card. Currently, FXI has two official OS images on its site (cstick.com), one for Android 4.0 Ice Cream Sandwich and another for Ubuntu 12.
To set up Android on the Cotton Candy, we downloaded the image file from download.cstick.com and used win32 disk imager to burn it to an 8GB microSD card. After popping the card into the device, we were able to boot directly into an Android 4.0 Ice Cream Sandwich desktop. Setting up Ubuntu was just as easy.
There's an incredibly active developer community at cstick.com and some members have already begun work on improving the existing builds or porting over other Linux flavors such as Gentoo, though only Android and Ubuntu images are available for now. For much of our testing, we used a community build of Android 4.0 that had some additional functionality not included in the official Android download.
Client Mode: Taking Over a Computer Near You
While lower cost Linux sticks like the MK802 can also connect to your TV, only the Cotton Candy can plug into an existing PC, Mac or Linux box and run its entire environment in a window. Unlike virtualization programs such as Virtual Box or VMWare, the Cstick client does use the client computer's hardware or network connection; all the processing is done directly on the Cotton Candy's dual-core CPU, and it's Internet connection comes from its own Wi-Fi radio. Because the Cotton Candy's sandboxed environment doesn't share any resources with its host computer, this client mode provides an ideal security solution for workers or even consumers on the go.
Businesses who want to keep their data and applications secure can give employees the a Cotton Candy and allow them to plug it into their personal laptops without fear of malware infecting the work software or data. Consumers can carry the Cotton Candy with them to an Internet cafe or other public terminal in the knowledge that their software, data and browser history will stay on the device when they unplug it.
Once we popped the Cotton Candy into a USB port on our Windows PC and waited several seconds for it to power up, the device appeared as a drive letter in Explorer. However, the drive did not give us access to the Android file system, just to a series of folders containing the client software, available in versions for Windows, Mac and Linux. While we wish the device was configured to autorun the Windows client on Windows PCs, it was easy enough to double click the Windows batch file, which starts the client software.
After launching the cstick software, you still have to select Connect from the File menu to see the Cotton Candy environment, a process that takes just a second but is an extra step you shouldn't have to take. However, FXI's CEO Borgar Ljosland told us that the company will soon update the client software so that it automatically connects you to the device upon launch and it will also update the software so it autoruns when you plug the key into your computer.
We wish we could say that the client experience was smooth and seamless, but the client software needs more work before it's ready for primetime. Whether we were using Android or Ubuntu in client mode, images were a bit blocky and jagged and we experienced noticeable lag and occasional pauses. Worse still, the client software sometimes dropped the connection and we had to reconnect. Ljosland told us that the company is working hard to improve the client software, particularly the Windows version. When we tried using client mode on a MacBook Air, images were considerably sharper, but responsiveness was still an issue.
Another problem we noticed when in host mode is that the Cotton Candy device becomes extremely hot after just a few minutes of use. Though the company says new power management capabilities in the software will keep the chip cooler, Ljosland said that the device should not burn out.
HDMI Mode: Connecting to a TV or Monitor
The performance was much smoother and the picture perfectly sharp when we connected Cotton Candy directly to a TV or monitor via its HDMI port. Once plugged in, the Cotton Candy booted into either Android or Ubuntu Linux (we tried both several times) in under a minute. Unlike the MK802, which doesn't support 1080p resolution out of the box and is often too slow to handle it, the Cotton Candy was sharp and smooth even in full HD (1920 x 1080) on both operating systems. An FXI app in the Android build allowed us to toggle between 720p and 1080p resolutions, requiring a reboot to put the change in effect. In Ubuntu, we were able to use the operating system's settings menu to make the change.
As with other stick computers, there's no power on / off button, so when you're done using the Cotton Candy you need to disconnect it from its power source. While some builds of Android for the MK802 have a shut down utility that at least shuts the OS down, the Cotton Candy's Android build doesn't come with one, though we were able to install a free app called Quick Boot to do that.
Attaching the device to a TV was a simple process, but did require a few wires and plugs that didn't come in the box. To power the Cotton Candy, we attached a USB extension cord (female to male) to the male USB port and then ran it to an AC adapter which we connected to an outlet. Unfortunately, the Cotton Candy did not come with an AC adapter so we had to fish through our collection of chargers to find one that had enough output to power the device. When we tried adapters that output 700 or 800 mAh, a typical output for a charger that comes with your phone, the device either wouldn't boot or would keep boot cycling. When we used a 1 amp (1,000 mAh) adpater that came with a tablet, the system was entirely stable. If you get a Cotton Candy, use an adapter with at least that voltage.
We then connected a micro USB-to-USB female wire to the micro USB port on the Cotton Candy and attached our wireless keyboard's dongle to the end of it. If we had wanted to use more than one USB peripheral, however, we could attached the device to a hub.
After plugging the Cotton Candy directly into one of the HDMI ports on the back of our TV, we were ready to go. However, we would recommend using an HDMI extension cable between the TV and the device, just to put less wear and tear on the HDMI jack. We worried we might damage the jack if we pushed or pulled it with too much force. The beta device's chassis is meant to pop open so developers can access the boards if necessary but, FXI told us, any final build that goes to customers will have a much firmer, sturdier build quality.
Using Android on any device that doesn't have a touch screen can be a challenge. The keyboard / touchpad combo worked well enough for navigating around the operating system and most apps. However, we found it annoying that we had to hold down the left button to simulate long pressing and bring up a context menu rather than hitting the right mouse button as we would in Windows. Some games that require touch screen or accelerometer access were just unplayable. Zombie shooter Global Outbreak would not play on the TV, because it did not recognize our mouse click as a screen tap. However, in Client mode, the system recognized our clicks as touches and swipes and we could play, though we experienced significant lag.
The official Android build for Cotton Candy doesn't come with the Google Play store or any Google apps, just the bare minimum set of built-in apps such as the stock browser (not Chrome), the calculator and the non-Gmail email client. Users can sideload any apps they want, but there is no market place. The system comes with root access, but doesn't have any of the tools you need to take advantage of that access such as the su command that lets you become an admin at the command line.
Ljosland told us that FXI is still working to get official certification from Google to install Play and its other apps. However, we didn't have to wait for Google's blessing. One of the members on cstick.com forums added Play, Chrome and a number of other apps including root-friendly tools to this disk image and reposted it. With this community build of Android, we were able to download any app we wanted from Play, but many programs simply did not work, perhaps due to DRM.
When we ran Netflix, we were able to browse titles and add them to our queue, but when we played videos we only got the sound, not the picture. A number of games downloaded from Play force closed immediately upon launch, including Glu Mobile's Blood and Glory: Legend and Contract Killer 2.
Jetski racer Riptide GP is one game that did work and worked very well. Even in 1080p resolution with the sharpness turned all the way up, motion was completely smooth as we raced around the course with vivid reflections gleaming off the water and timely splashes shooting up as we landed. Music and sounds from the game were also crystal clear and in sync with the action. Best of all, Riptide GP natively worked with our Steel Series Bluetooth game controller so we were able to play the game with a joystick.
This same game barely ran with grainy images and plenty of lag at 720p on the MK802. However, on Tegra 3-based tablets like the ASUS TransformerPad TF700, the game has an additional splash effect where the water appears to be running down the camera.
The 1.2-GHz Exynos CPU is more than capable of handling full HD videos. Streaming YouTube clips weren't always sharp, likely due to a poor Wi-Fi connection, but offline 1080p MP4 trailers for Iron Man 3 and Cloud Atlas were crisp and smooth.
Unfortunately, poor Wi-Fi and Bluetooth connections are the Cotton Candy's biggest weaknesses. We never achieved strong download speeds, no matter the network. Even just a few feet from the router in our office or house, it took a really long time -- perhaps 10 minutes or more -- to download a 200MB app. We also lost Wi-Fi a couple of times and had to reconnect, though in most sessions, we stayed connected throughout. When connected, both a Bluetooth Motorola wireless keyboard and a Steel Series controller were accurate. However, we found out the hard way that Bluetooth doesn't always work when we booted the system and were unable to navigate anywhere with our keyboard until we plugged in a 2.4-GHz wireless mouse and navigated to the settings menu to click "connect."
Android is a great operating system for content consumption and gaming, but it's not the best environment for productivity and multitasking. Fortunately, FXI has already ported a build of Ubuntu 12 to the Cotton Candy and made it available for download from download.cstick.com. As with Android, we were able to download the image file and burn it to a microSD card using Win32 Disk Imager.
Ubuntu has a ton of powerful, free applications in its software center, including Libre Office, a credible Microsoft Office alternative that's file compatible, and GIMP, an image editor which works much like Photoshop. Developers will find a ton of tools they can use to build everything from websites to Android apps. Ubuntu also has four virtual desktops to hold as many windows as you can stand. It's very easy to put your web browser next to that report you're typing up in LibreOffice Writer and the spreadsheet you're editing in LibreOffice Calc so you can apply what you're reading on Wikipedia directly to your work.
Unfortunately, the Ubuntu build we used was rather sluggish, taking a long time to load simple apps like Firefox or switch between windows. We noticed a fair amount of lag, even when doing simple things like browsing through a list of available apps or dragging windows around. We also had problems installing new apps from the Ubuntu Software Center; we sometimes got error messages saying the package was unavailable, perhaps due to our poor Internet connection. We were able to eventually install every app we selected, but the download times could be painful. Wi-Fi under Ubuntu was even dodgier than under Android.
However, it's important to remember that this build of Ubuntu for Cotton Candy is still very much in beta condition and FXI expects it to perform much better in the future. Members of the Cotton Candy community at cstick.com are actively working to port other Linux builds like Fedora and Gentoo to the Cotton Candy.
Benchmarking the FXI Cotton Candy at this stage is no easy task and the results can't necessarily be trusted, because the software builds for both Android and Ubuntu just aren't final and they have a great effect on speed. In real world use, the device and its 1.2-GHz dual-core Exynos 4210 CPU, Mali 400 GPU and 1GB of RAM are definitely powerful enough to play demanding games and process full HD video. However, Ubuntu is sluggish, Android has some moments of lag and both operating systems are laggy and pixilated when used in client mode.
Synthetic benchmarks show solid performance that's much faster than the MK802 II Android stick and its single-core 1.5-GHz AllWinner A10 CPU that actually runs at only 912 MHz. On An3DBench, a test that measures overall graphics prowess, the Cotton Candy scored a solid 7,245, well above the 6,377 offered by the MK802 IIand about on par with the 7,297 tablet category average. However, the latest Android tablets such as the Google Nexus 7 (7,782) and Barnes & Noble Nook HD (7,831) did better.
On Linpack, a benchmark that measures overall processing power, the Cotton Candy got a single threaded score of 39.3 and a multi-threaded score of 70.1. That's far better than the 13.6 and 14.8 scores on the MK802 II and a bit faster than the 38.6 and 63.5 tablet category averages.
Early Verdict and Future Directions
In the past year, we've seen a number of USB stick computers hit the market and some low-cost Linux boards like the $35 Raspberry Pi and all of these are great devices but none of these really competes with FXI's device. Only the Cotton Candy has client mode, which allows it to run in a window on a host computer while completely sandboxed away from that computer's OS. Combine that with its ability to also attach to any screen via HDMI and you have a device that, like Agent Smith from the Matrix, can take over any screen you attach it to and make it yours.
Though the product is still very much in a beta state, FXI CEO Ljosland told us that all the bugs we encountered can and will soon be fixed by software updates. When the Cotton Candy is ready for prime time, you will see it selling under different partner brands, each with its own intended use case. Some may target consumers who want a set-top box or a go-everywhere entertainment device. Others will target the Cotton Candy at businesses that want a physically secure, sandboxed work environment that their employees can securely plug into any device, including their home computers.
What we're witnessing here is not just the development of a device, but the birth of a new platform, an additional way to take your computing experience with you. From what we've seen so far, Cotton Candy is off to a promising start.