On 11/13/2013, Amazon launched a Limited Preview of Amazon AppStream, a service that lets developers run all or parts of their applications from the cloud. The allocated beta slots are filling quickly, and developers have been providing great feedback to the service.
One of the most interesting observations I’ve had so far is the diversity of use cases using Amazon AppStream. There are games using the service, but an equal number of utilities, productivity apps, and entertainment titles as well. And while my focus is on mobile devices, I found that Amazon AppStream developers target Macs and PCs just as much as they do mobile devices.
Perhaps one of the biggest “ah-ha!” moments I’ve heard about is when participants realize that they can build a hybrid app; one that partly runs in native code on device, and partly runs in the cloud. I asked the AppStream team when this might be a good idea for developers. Here’s what they had to say:
“If you typically write native apps, you might think about using Amazon AppStream to beef up key graphics and scenes when the user is on a lower powered computer by using the richer graphics that a powerful server can generate. Another benefit of having a blended solution is that you can take advantage of any native features or APIs you might want to use.”
While writing blended apps sounds intriguing, one of the valuable aspects of Amazon AppStream is that it lets developers deliver rich experiences on more screens more quickly than re-writing applications in native code.
Certainly other streaming and virtualization technologies exist, but many have suffered from issues with high latency and low resolution. Amazon has managed to mitigate those issues by using the proprietary Amazon AppStream STX protocol, which streams H.264 encoded video and audio over the UDP transport layer, as well as capturing input from the user. Using this technology, Amazon AppStream is able to produce 720p video at 30 frames per second under a variety of different network conditions (very cool!).
While it’s not as simple as pressing a button, optimizing for Amazon AppStream requires much less work than rebuilding you app for different platforms. To see design considerations for an Amazon AppStream app, see this page.