
I am doing a startup (putting virtual machines on the web) - pkrumins
http://www.catonmat.net/blog/i-am-doing-a-startup
======
barrkel
I wouldn't be so positive about open-source everywhere. I'd recommend keeping
some amount of the server-side closed source. The risk I see is that
competitors can simply use your code and run the cheapest hardware they can
find, while you have to run the cheapest hardware you can find _and_ maintain
and improve the software. Unless you have a different edge on the hardware
side, you have no sustainable competitive advantage.

So I'd suggest you stick with the open API, and perhaps have an open reference
implementation, but add value in a secret sauce on the server side which
competitors can't simply copy.

~~~
Goosey
It's fine; the source code to their product is not a competitive advantage (
<http://blog.asmartbear.com/unfair-advantages.html> )

~~~
thaumaturgy
That's absurd.

------
duck
This is one of those things that you would never think of, but once you see it
you're blown away. Very cool and promising. Great job Peter.

~~~
pkrumins
Thanks!

------
ydant
I was skeptical from the title. My first thought was "isn't this what EC2, and
every other VPS provider does?" I have to admit, your pitch won me over - this
looks interesting.

On second thought, you did say "web", not "internet". I'm so used to people
treating the two as synonymous that I didn't make the distinction myself. So
I'd say make that more clear.

~~~
pkrumins
Well, for most of the people "web" and "internet" are the same things.

I think there was a Google experiment where they asked what is the internet,
and people would just say internet explorer, meaning web is their internet.

------
mleonhard
When I read your headline, I was excited to think that someone was building a
VM service that was tailored to hosting webapps. I wish there was a service
with a UI & API for configuring sites and starting up VMs to serve different
areas of the site. For example, I could set up mysite.com on this service and
then have requests for mysite.com/blog proxied to a VM running WordPress on
PHP/MySQL. Requests for mysite.com/manage would be proxied to CherryPy stack
running on another VM. Other requests for mysite.com/* would be served out of
an S3 bucket. And of course the hosting service would do logging, monitoring,
automatic error recovery, automatic scaling, backups, etc.

You two are doing something different with StackVM, and it looks cool. I
currently use FreeNX on EC2 and the NoMachine Windows client. Here are a
couple of feature suggestions:

1\. StackVM would be much more useful to me if the windows could pop out of
the browser. I don't want to use a remote-desktop client that is confined to a
browser window.

2\. For real productivity, cut & paste must work between StackVM windows and
other native apps.

3\. Get James or someone with a lighter accent to do the demo video
voiceovers.

4\. Make it easy to deploy test environments, execute integration tests, and
capture the results. For testing webapps, make it work with Selenium and keep
videos of tests that fail. I would pay for this if it was sufficiently
developed.

I'm looking forward to the private demo. Good luck, you two! :)

~~~
pkrumins
Thanks for the wishes.

Now to address your suggestions:

1\. That is awesome, I have added it to our wiki. This is easily doable and
we'll probably implement it.

2\. We haven't yet looked into implementing cut&paste. Should be doable.

3\. James will join me in the next videos.

4\. We're definitely building a test environment. We couldn't do it earlier
because we didn't have a good remote method call execution framework, but now
James wrote dnode [1] and we can get to implementing it!

[1] <http://github.com/substack/dnode>

------
nailer
Nice. I'd suggest demoing Windows XP before the Linux OS - not only is it more
widely recognizable but there may be more users who have old desktop XP (or
98, etc) apps that could use your software.

~~~
pkrumins
Thanks for the suggestion. Well, can't change this video anymore but I'll note
that for future videos we'll be making!

------
patrickk
This is very cool. I could certainly see myself using this.

The very best of luck with your YC application.

A similar project you may get inspiration from:

[http://lifehacker.com/5590935/phpvirtualbox-manages-your-
vir...](http://lifehacker.com/5590935/phpvirtualbox-manages-your-virtual-
machines-remotely)

------
bootload
_"... At the moment StackVM is in its 3rd major iteration already and is
almost entirely built on node.js. Since we're doing everything open-source,
we've written a bunch of reusable node.js modules: ..."_

Most significant bit, many thx.

------
blueberry
Based on the confusion that others and I had, I suggest changing your name and
dropping VM from it. It really doesn't convey what you are trying to
accomplish. When I first heard it, I thought you were making a VM together
with an OS with an eccentric stack allocation algorithm or sth.

~~~
trainwreckin
Personally I think that the chaps should focus on making the product even
better instead of branding - the name can obviously change later when they
decide to push for market release and by then they probably would be clever
enough to seek the wisdom of someone to help them there.

------
blueberry
Looks really impressive, congrats. I don't really see why it is called VM
though, did you actually implement an emulator? How does this differ from
online remote desktop solutions (say logmein)? Also if you want to reach
beyond the geek community you might want to focus on a few of the ideas
instead of the many ones that you currently have. For example, making the
screencast great or making the demo of an application on a StackVM great. If
you don't come up with a particular use case you might need to compete with
giants like VMware or XEN.

~~~
pkrumins
Hey, thanks.

We didn't implement an emulator but since we're bringing virtual machines to
the web, we decided to add 'VM' to our title to give an idea that this is
related to virtual machines.

Addressing your other questions, sure, we won't have like 100 features where
we get lost ourselves. We'll have a small set of standard features and we'll
have an API that will let developers hack on stackvm and make it do all other
wonders.

I don't know much about logmein at this point but they are corporate company
and we are awesome and enthusiastic hackers.

~~~
mitjak
I think it's actually the name that plaguing you at this point: it suggests
that you're going to present another VM or, perhaps, something EC2 like.

------
d0m
I would use it instead of always have to re-download putty when I'm not on a
linux box.

For the money part, you might also consider setting up the domain and redirect
for a small fee. For instance, my-name.com could be my VMs securised with a
password.

Also, what is the limit of GB I can put on the VM? Say I want to upload files
and mp3s.. is there a limit? May I pay to increase it?

Finally, I would like to be able to connect to my VM from other way than web.
Say I'm on my linux box with my terminal prompt, it would be nice if I could
just ssh to my-name.com and get my VM.. upload/download stuff with scp, and
connect to it with FTP. But of course, this would work more with the linux
part I suppose :p

Anyhow, congrats also for the "I started my startup" which is, in my opinion,
amongst the hardest part (starting!).

------
rapind
". You can easily rent 10 virtual machines with Linux, Windows, MacOS, and
other operating systems and test your software."

Linux I can see. Windows and especially OSX though, won't that create
licensing issues and a special deal with MS / Apple to provide those VMs?

~~~
pkrumins
We still have to figure out the licensing. We're currently more busy with
hacking our software than thinking about licensing. So I don't have an answer
for your questions.

------
vijaydev
Nice idea! Congrats for the venture!

A small feedback about the site. The email signup UI is the coolest I have
seen. However, I would like the string "you@example.com" to be retained when I
click in the text box and then click outside. Currently, it disappears when
out of focus after clicking inside the text box once.

~~~
andreyf
That's called placeholder test: <http://diveintohtml5.org/forms.html>

~~~
vijaydev
Thanks for pointing out the right term. However, the site does not use HTML5
placeholder and instead rely on plain JS to do the trick. What I wished for
was a behavior like in the demo here:
<http://diveintohtml5.org/examples/input-placeholder.html>

~~~
andreyf
I'd just use placeholder, and screw anyone using an old browser. If people can
upgrade their cell phones every year, they can install a modern browser. ;)

------
chunkbot
The use cases are really interesting; online product demos will be a killer
feature, and we wouldn't have to worry about piracy (we're able to monitor the
piracy rates of our desktop app, and it's about 25% of our paid
subscriptions)...

~~~
pkrumins
Hi chunkbot,

Wanted to reach out to you through email but was unable to find any contact
information.

We'd like to work more closely with you on perfecting the online product demos
feature. Would you be interested in testing it out on your website soon?
Please contact me at peter@catonmat.net!

Peteris

------
cmurphycode
First, I have to say that this looks ambitious. There are some pretty exciting
things in the gameplan; I am especially interested in the vmcasts idea. While
I have to wonder if they can accomplish all of the ideas they lay out here,
given the posts I've seen from catonmat.net before, I think they can do it.
From what I can tell, Peteris is not just clever, but very motivated and loves
to code and introspect his talents. This is usually a winning combination.

I am excited you decided to open everything, but I wonder if you're going to
be able to raise the money necessary to fund the infrastructure. Do either of
you have a lot of business experience? If you can seize your opportunities
well enough, you can probably monetize your idea while letting others do what
they will with the code.

Looking forward to see how this evolves.

~~~
pkrumins
We don't have any business experience but we hope to gather enough attention
that by the time we launch everyone wants a copy of our software already. :)

------
japherwocky
I worked for a "startup" in LA that did something like this. They had big
funding, and big names, but were kind of incompetently run.

I'll just say this: the government / military was verrry interested in the
honeypot angle.

------
michael_dorfman
That is a very cool idea, Peteris. I wish you the best of luck!

A question, though: how do you plan to monetize it? Without a business model,
it's a web app, but not really a startup.

~~~
pkrumins
I thought the monetization was pretty obvious. I also mentioned it in the
post. We're simply going to take care of your virtual machines (host them and
make sure they always work) and give you awesome software to work with them!

~~~
michael_dorfman
Sorry, my bad-- I don't know how I missed that paragraph!

Doing this as a paid service from day one is definitely the right way to go.
Again, good job.

------
samwillis
I think the most interesting aspect of this is that you have implemented a VNC
client in JavaScript and HTML. That realy is your core technology and probably
has the most value. I could see that being realy useful for implementing
things like 3d CAD in the browser, the interface and controls could be plain
HTML/CSS and use your vnc technology to show the 3d graphics being drawn on
the server.

Could you offer some insight into how your JavaScript vnc works?

~~~
pkrumins
I'll soon start doing in-depth blogposts with examples on how stackvm works.

But a quick summary is that we have node-rfb collect VNC updates, push them to
node-png or node-jpeg which merges the updates and creates an image that then
gets pushed via dnode to browser, which then draws it at the right location
(absolute positioning of images).

------
tomstuart
Brilliant.

I'm so disappointed you didn't open the XP VM inside XP's Chrome!

~~~
johkra
That's exactly what I was wondering after he opened the terminal inside XP:

What happens when you open a VM inside a VM?

~~~
pkrumins
I tried it out, but forgot to do it in the demo.

You get an awesome feedback/recursion effect!

I'll try to do a video about it in a few hours and post it here. :D

------
gsk
Excellent execution. I'd certainly be interested in the paid service when it
comes out. The 100% opensource idea is probably a distraction you can do
without at the moment. I want the paid service to be great. I won't care if it
is opensource or not.

~~~
pkrumins
The 100% opensource is actually very motivating. We want to create new libs
that everyone else can use, then the same people who use it contribute back
and fix bugs for us. It's lovely.

And we can also reuse our libs later in more projects. Very awesome.

------
barmstrong
Very impressive - so is the main use case remote desktop without installing
any software (Goto My PC killer)? Or browser testing? Or what?

I think it's awesome I'm just having trouble visualizing a use case that isn't
super nerdy.

------
gojomo
Cool. Is it only a matter of time before someone implements hardware
virtualization in pure Javascript? Perhaps FireFox 10 will open machine
instances as a supported MIME type.

------
jefffoster
Have you seen <http://www.spoon.net/>? It seems very similar to the StackVM
idea.

~~~
ydant
They poorly handle the OS requirements (both in terms of implementation and
notification). I had to go into the FAQ to find this:

> Spoon currently supports Internet Explorer 6, 7, and 8, Firefox 3 and 3.5,
> and Safari 2, 3, and 4, on the Windows platform. Support for the Chrome and
> Opera browsers is coming soon!

Which isn't even mentioned where you might expect - where they discuss the
plug-in. If you go to any individual app in Linux (Chrome, FF3.5) you just get
"this browser isn't supported".

~~~
substack
Wow I had no idea! StackVM is all html and javascript and we've taken great
care to make sure it works on all browsers without any silly plugins.

~~~
blueberry
you might want to rethink about plugins depending on your expected audience.
People who are looking for good remote desktop solutions would be OK with
installing plugins. I played the game on the front page on spoon.net and there
was very little lag, it was a smooth experience. People who use remote desktop
would prefer smooth experience over ease of installation.

~~~
SnowLprd
Completely disagree with this idea. If you can avoid browser plugins without
major issue, and it seems you have been successful at that so far, by all
means continue to do so. Not only will the technorati appreciate not having to
install yet another piece of (usually unnecessary) software, but corporate
customers will be more inclined to deploy in their environments if it means
there won't be another piece of software for them to install and maintain
across their entire enterprise.

~~~
blueberry
curious: Did you ever have to access computers using a web interface remote
desktop client? Very few of them are good and does the job. Anyone who wants
to do something real would no doubt install the plugin. Also in the winXP demo
there was obviously a lag between the real cursor and the cursor on VM. It
might not seem annoying until you need to use it for an extended period of
time.

I agree that they should avoid plugins if their app works fine on html & js,
however, this is unlikely with the current html and js. (Think of playing
games). Maybe with the improvements in HTML5 this might be achievable, but
currently it's not.

~~~
SnowLprd
Hmm. Where to start...

1\. This isn't a web-based remote desktop client. 2\. Your concept of
"something real" is clearly different from mine. 3\. Their app appears to work
very well, in my opinion, without having to resort to browser plugin
messiness. 4\. This particular solution's primary value proposition is that it
will work on almost any recent browser, _without_ other installed software.

------
peteforde
I just wanted to say congrats, good luck and one of you should be a 51%
partner. Trust me, it's painful if a 50% partner takes off.

Give this a read, paying specific attention to founder share vesting:
[http://startuplawyer.com/startup-issues/if-i-launched-a-
star...](http://startuplawyer.com/startup-issues/if-i-launched-a-startup)

------
ivenkys
I can see a few use-cases where this can be quite useful especially if easy to
use.

To me the more interesting aspect of it is the - Complete open-source , idea-
open and source-code open. For a startup looking for funding (applying to YC)
, this is new, i wonder how it would gell with the investors.

~~~
substack
Yeah, it is one of the big unknowns we are testing with this startup, but for
us it makes a lot of sense. By being open about our technology, we hope to
gain eyeballs, traction, and goodwill from fellow hackers who might be our
future customers. By being open about our ideas, we expose them to criticism
so that we can reform them to be more realistic and to exploit new
opportunities that we hadn't considered.

------
surki
That's pretty neat.

If you are going to support Windows, how does stackvm compare against
"Terminal Services Web Access (TS Web Access)" [1]

[1] [http://technet.microsoft.com/en-
us/library/cc771908(WS.10).a...](http://technet.microsoft.com/en-
us/library/cc771908\(WS.10\).aspx)

~~~
pkrumins
Well, right here:

"You must install TS Web Access on a computer that is running Windows Server
2008."

With stackvm you don't have to install anything, no plugins, not even flash
and you don't need a modern web browser.

We're making our software work in all the browsers, even as old IE as 5.5.

~~~
surki
OK, didn't see that one. But technically it should be possible to do
that(i.e., pure web rendering through JS) for TS as well.

What I meant to ask was - how does it compare using VNC against RDP. Probably
you have through and rejected RDP, so was curious to know the technical
details. (xrdp for Linux exists as well)

~~~
pkrumins
To be honest, we haven't looked at RDP yet. We're been building everything on
top of VNC. We did not look because we didn't have the necessary libraries
written like node-bufferlist (for easy binary protocol parsing) and dnode (for
sending stuff around easily). But now that we have, we'll soon look into RDP.

------
kirvyteo
Cool stuff. The first thing I thought about was the latency. One of the
problems running VNC or remote desktop over internet is always latency. I
tried running VNC to EC2 instances for a test but the experience is terrible.
It will be nice to see this run faster.

------
koevet
The use cases are exciting, I see a lot of potential for education purposes.
Good luck!

~~~
pkrumins
Thank you!

------
moolave
This is awesome. Our company also does virtual appliances through different
operating systems. It'd be nice to learn more. We also use the virtual
appliances for exchange, saas, NFS, and web servers.

Keep up the good work.

------
theBobMcCormick
Have you considered offering a customer self hosted option? It sounds like you
could easily position it as a lightweight alternative to Citrix and Windows
Terminal Services.

~~~
pkrumins
Sure, since the software is opensource, anyone can set it up and use it for
self hosted vms.

~~~
theBobMcCormick
I was thinking some kind of supported version or support agreement. _Lots_ of
companies won't run anything internally that doesn't come with some kind of
vendor support.

------
msy
It's awesome to see a startup developing some genuinely new interesting tech
rather than yet another project management or GTD app on $framework. Really
neat stuff!

------
pasbesoin
Wishing you much luck. It's great to see you launching.

------
DrJokepu
Very interesting!

Assuming that you will have reasonable pricing and a fast connection, I would
be very interested in using this service for my own startup.

~~~
pkrumins
Hi DrJokepu,

I couldn't find your contact information so I am replying here. Can you reach
me at peter@catonmat.net?

I'd like to know more about how you'd use stackvm at your startup, so that
when we launch stackvm we already had a usable product!

Peteris

------
altuzar
I would love to see the recursive XP desktops. And a Hackintosh too! (Tiger
runs well with VMWare, so maybe that's possible)

~~~
pkrumins
Here you go: <http://www.youtube.com/watch?v=EKFjJ9m_P8Y>

------
aquark
This looks great! Any comments on how feasible Windows VMs will be to offer
from a licensing perspective?

Best of luck with this.

~~~
pkrumins
We haven't really looked yet into licensing stuff. We'll do that quite later
when we get ready to start offering the service. For now we're just building
the stuff up and not thinking too much about anything else.

~~~
pbhjpbhj
That strikes me as dangerous - if MS Windows licenses then rule out what
you're wanting to do you're up the creek without a paddle (perhaps you'll
still ahve a spoon to paddle with, same system but only OSS VMs). If the
licenses can be worked around then you're better building that I'd have
thought.

------
indrax
>(like putting a virtual machine in a blog post)

If this phrase were used in CSI it would be a joke by now.

------
coffee
This looks great! Very excited about it after watching your demo video. Great
job so far....

------
arvinb
There's good potential for these kinds of app, especially now in the age of
cloud computing.

------
kaens
This is just insanely impressive.

------
teisho
What are you using for the underlying virtualization?

~~~
pkrumins
Currently VMWare and qemu. Virtualbox should also also work. Anything that
runs VNC actually.

------
ndimopoulos
Very good idea! I liked very much what I saw in the video. I agree with koevet
this would be awesome for educational purposes.

Keep up the good work!

------
flyosity
FWIW I think saying "doing a startup" sounds pretty childish. Why not say that
you're starting a company? "Doing a startup" sounds like you're just messing
around with a concept, testing the waters. "Starting a company" makes you look
more serious, like you know what you're doing. Just my opinion.

~~~
kordless
I think there is a certain sense of excitement and anticipation in the term.
This is a new beginning and a start of a new life for these guys.

Frankly, I could care less how they reference what they are doing, or whether
or not they put .ly on the end of their name! As long as they are doing
something relevant and are having a good time doing it, more power to them.

