Can Amazon AppStream effectively replace OnLive's SL Go? There was a lot of talk around that question recently, and I put it to Cristina Videira Lopes (aka Diva Canto), a Xerox PARC alum who's now an ICS professor at UC Irvine and a longtime innovator in virtual worlds. She deferred on whether AppStream was right to stream Second Life in particular, preferring to talk about using AppStream for commercial applications of virtual environments. (Which she uses, as it happens, for her OpenSim-based world.)
Short version? The main obstacle is cost: At the moment, AppStream costs 83 cents an hour per user, so much more expensive than SL Go. So AppStream is probably not a good fit for extended use -- but appropriate for virtual world use for shorter, business/real world/educational based applications.
Anyway, here's Diva's full breakdown:
Firewalls
"The main obstacles to using MMO platforms for business applications have been the difficulties these environments bring in terms of networking and graphics... Real-time applications often require punches on firewalls. This is not much of a problem in home networks, as Internet providers don't usually block ports, but it's a major problem in commercial settings. You make a demo inside a company, and chances are the client software doesn't work because the network is configured to not let that kind of traffic flow in and out. This is a major show stopper.
"To get around it, people who develop business applications try to make the most out of port TCP 80, which is the port where Web servers usually listen, and very often the only port that firewalls allow. Hence the interest in WebSockets and WebGL, for example, which follow the Web design philosophy.
"But there's only so much you can do by channeling real-time traffic through TCP port 80, so that limits the amount of interactivity and may increase lag. A virtual PC on the cloud solves this problem by acting as a proxy: it uses all the fancy networking it needs to talk to the servers, and sends back just the video through port 80.
Graphics
"Graphics is another big problem, and it's a twofold problem. First, companies don't usually have PCs with good video cards. Any kind of advanced rendering that looks great on good video cards tends to bring ordinary PCs to a crawl, making the experience quite disappointing. Second, the variety of video cards and, more generally, delivery platforms (tablets, etc.) is a daunting challenge for developers of these environments. Hence the interest in technologies like Unity3D, which let developers define these environments in a generic way and output code for several platforms. But, again, there's only so much you can do if you develop for the lowest common denominator.
"Again, a virtual PC with a good graphics card on the cloud solves this problem: we can essentially ignore the variety of platforms out there, and focus on developing for those high-end virtual PCs, knowing that the end-user platforms consume only video.
AppStream Trade-Offs
"There are some tradeoffs in using AppStream, though. The first one is the cost. AWS AppStream costs $0.83/hour. That can add up. The second one is that, although the technology is advanced enough to make it really easy for developers to put their graphics-intensive apps on the cloud, the simple clients available aren't necessarily the ones we want in production. So there may be an additional cost associated with developing better clients, and even re-architecting the existing graphical applications to work better for a streaming scenario. For example, right now the client that runs on people's machines doesn't support sending audio back, which means that voice communication doesn't work. It is possible to bring voice back, but it requires engineering work.
Final Assessment
"I have doubts about using this technology for hard-core gaming, as dedicated PCs in players homes still offer the best possible experience. But there are many uses of these virtual environments that go way beyond gaming, and that have been hampered by those challenges I mention above. While hard-core users of social virtual environments may not be willing to cover the extra costs of streaming, I suspect there is a large untapped market that is willing and eager to do it.
"Overall, I am personally quite excited about this. Networking and graphics have been a major pain the neck for the non-gaming applications I have been involved with. I looked at WebGL/WebSockets and Unity3D, but was disappointed by both. Application streaming has the potential to be the ultimate solution to these problems.
"Let's hope more players come into this market, and that the technology becomes more ubiquitous and affordable!"
Please share this post:
Just build a platforms where users can't wear six digits amounts of triangles and as many textures as they want and the client won't require an enthusiast level graphics card or streaming service in order to still not run at 60 FPS.
If SL2 is built with proper resource limiting of avatars and other rezzed things in mind, they'll actually be able to live up to whatever Minimum and Recommended System Requirements they advertise like every other application we all have on our systems and no one is thinking about purchasing Amazon AppStream for.
Posted by: Ezra | Thursday, April 23, 2015 at 05:38 PM