substack edited this page Oct 8, 2010 · 39 revisions

This is an ongoing list of ideas that we come up with:

A web Interface

  • Drag and drop files between VMs
  • Copy/paste terminal text
  • VNC and rdesktop an option too
  • Embed a VM in your blog posts to let people try stuff out!
  • Should work in mobile phone browsers
  • Text console via qemu -serial /vm/consoles/ttyvm0, and then read data from /vm/consoles/ttyvm0 serial device.
  • infinite canvas
  • exposé-style vm window focus and tiling craziness
  • zoom in and out
  • make individual vm windows pop out as new browser windows then they can be minimized and used somewhat like regular vnc clients.

A graphical networking configuration

  • Create various network configurations easily with just a few clicks

The interactive vmcast

  • stop playback at any time and play with the state of the system
  • screen capture with audio tracks and youtube uploader
  • capture screenshots and upload to imgur/twitpic + tweet
  • let people navigate to hh:mm:ss of the vmcast via a special URL

Open APIs

  • users could write their own VM window managers

Deals with vendors to let users rent apps on a vm instead of buying.

  • We could make deals with application vendors to let users rent a vm with their app for some time, instead of having users buy the whole app (like Mathematica that costs $1000), they could rent a vm with it for a day for $1 or something. (2010.03.21)

Deals with software vendors to demo apps

  • Plans for a percentage of sales, by demo usage, or a fixed price.

VM Disk Images

  • mobile phone VMs?
  • embedded systems?


  • good for publicity
  • another objective to deliver

Synchronization between server and software desktop client

  • Developers can work on a local copy of a vm and push it out into production with a binary diff so that the exact system the developer was working on runs instead of a system that is slightly different

Allow users to share their screenshots and vmcasts

  • User generated content is always good, more pages, less work for us, more search engine rankings

user login pages

  • User’s will have their user-page, where they will be able to power up/down/reboot all their machines, see their status. They’d login on, from which they would get snippets on embedding their vm anywhere they wish, or use vm from there, obuy more vms, or increase their power, or make vm networks!

Google Summer of Code

Have StackVM on GSOC! Let other people hack on it!

User queue

  • limit the number of VM instances a user can spool up
  • if the limit is reached, people who are connected have a usage time limit
  • you are user number #$number, maximum wait time: $time
  • this is pretty much what happens at public libraries when lots of people want to use the computers

Allow users to share individual applications in their vm with others

For example, allow the user to share his shell temporarily with a colleague in another continent to help him solve a problem. Or allow to share Word with someone who’s willing to proofread what you have written. You both see updates in real time.

Social networking

Wherein users network their VMs to each other to create something highly excellent, like a sustained and decentralized game of capture the flag.

Add a typesystem to javascript or write haskell code that outputs javascript.

So that we had to write less tests, and had more confidence over our code. (Too indirect to be productive right away, good research topic for later).

Add keyboard like google now has near searchbox.

Add various keyboard sets, so people can type russian, german, etc without having the right keyboard.

shared filesystem

With dropbox integration, howabout?

A chat between single VM users

  • A chat window. I just demoed stackvm to several people, and they told me they’d like to talk between them while using stackvm, so it would be a nifty idea to add it.

wine + vnc

  • individual apps via vnc!

read only vms

  • restrict access to vm to read only (just ignore input)

penetration testing

  • companies upload images and network configs of actual systems with confidential data scrubbed out
  • prizes for hackers who can exploit vulnerabilities and offer writeups

interface testing

  •, or your own VNC automation client.
  • see testing in action
  • record sessions for browser compatibility for web apps

NaCl for Chrome

  • Google guy is saying that NaCl will be the future of webapps, so let’s look into it.
  • Could offload video encoding onto the client with this

Lease spare cycles

Organizations running stackvm for their intranet can lease their spare cycles out to us.
Organizations win since their spare cycles go to good use and they make some money and we win since we can cut down geographic latency and we don’t need to build as much infrastructure ourselves.

Tie a domain to VM

Serve the VMs for people who want to access their VMs through his/her domain (like Easily doable by having them point their domain A records to our servers, and then just have a record in database, that is customer xyzzy.

(Idea by

Allow to ssh into VM the regular way.

If the person has VMs that have sshd, allow them to connect into them from their own shell, not necessarily via our stackvm web interface.

(Idea by

Offer old systems.

There may be a market there. Maintain old operating systems and keep them running. Some legacy software won’t run on the new hardware, but will on your VM’s.

If you can emulate old hardware that is not maintained anymore, then companies who have this legacy code that can’t be replaced will come to you to host their processes and they can access their programs through the browser to your VM’s.

(Idea by maeon3)

Regarding Scientific Computing.

Scientific users of EC2 pay by-minute rates, iirc. This is cool because oftentimes a user will want resources for only a short amount of time, in order to run a tough calculation, but will only want one (or even none) for development.

(EC2 also auctions its spare cycles and machines for cheaper rates, which is win-win—-People wanting to crunch numbers can get a speed increase on the cheap, while the providers don’t have to sit on unused hardware. Awesome!)

One particular issue with places like ARSC is that, due to government bureaucracy, there can be a lot of crappy, out-of-date hardware, and even important libraries like lapack and blas can be missing. On the other hand, they will often have access to proprietary software, such as COMSOL. Being able to offer modern tools alongside proprietary software to researchers could be huge.

Modules and virtual environments and such are also important to researchers, since they don’t like to fix what’s not broke (as they say). I think virtual machines makes virtual environments pretty easy to deal with, and modules is pretty easy to install, but there’s definitely value in hackman, old machines (and old configurations!) support, and even in easy vm image uploads (if you can swing such a thing—maybe for premium users). I can imagine a “roll your own” interface for designing/configuring a vm that could be pretty sweet.

Allow users be admins of their own stackvm

Meaning they can create new users and optionally re-sell the service!

Make it easy to get at a developer’s localhost in the VMs