The Future of Software Development Will Be Online
In 2008 a senior person associated with a VC in Seattle was helping advice this VC firm on an investment. He asked me what I thought about developing software on a browser. Yes, instead of a full-fledge IDE, a browser-based IDE. I thought that was one of the dumbest ideas I ever heard and I told him. My primary thought was that I could not get the rich experience of a native application on the browser, I couldn’t work (safely) offline and everything would be incredibly slow.
I’ll take all that back and I’ll make a prediction: the future of software development will be on browser-based IDEs.
Let’s ignore the technicalities of how to make it work, but picture this: Your IDE is available wherever you have a browser. All your source code is in the cloud. Sharing code or doing code review is as easy as sharing a picture online. Your code can be deployed from your desktop to the cloud at breaking speeds (after all, it lives on the cloud already). You could execute performance testing, browser compatibility testing and unit testing in seconds. Wouldn’t that be awesome?
This is a lot closer than we think and a lot of those pieces already exist here and there.
There is a huge market for native IDEs that will fight to prevent that from happening, but it won’t be long before startups create this software development utopia. Maybe someone is already doing it and I’m unaware. The closest thing to this I know is jsFiddle.net, an amazingly simple yet powerful JavaScript editor. It lacks hundreds of features, but it’s the beginning.
Imagine leaving your work desktop, opening your laptop at a coffee shop, then going home and opening your home computer or iPad and continue to edit the same code. I did that yesterday. It’s absolutely awesome. I used 3 different computers. I didn’t check-in/sync. It was just there, like a Google Docs.
The current state of web browsers allows a lot of that vision to take place. Combine that with the power of cloud computing and you can have 1/60th of an hour of 60 computers to run an amazing complex test scenario in just 1 minute, instead of having 1 server running some unit test for an hour. There won’t be more downloads, versioning issues between libraries, mixed DLLs or jQuery libraries. It all works, just like when you open Gmail and it is there, anywhere, fast and consistent. I’m looking forward to that day.