The Future of IDEs?
Feb 21, 2013 · CommentsComputer ScienceDevelopment
Action.io
Early Private Beta Preview
I was recently invited into the private beta for Action.io, the cloud IDE platform. For me, the neatest feature of the IDE was having the development VM built into the platform. To give you some background on why this was a big deal for me, consider by current Python workflow:
- Write code in PyCharm
- PyCharm automatically pushes code to my local Linux VM
- Run tests in PyCharm but execute them using a remote interpreter on the VM.
- View any web pages on the VM in my local browser
- Commit to git and push
- Jenkins runs all the tests on our DEV server
- If tests pass, upgrade production servers
Now I develop on Mac OS X, a POSIX system, so you may be thinking something like this: “Why go to all the trouble of running a Linux VM? Why not just use Python on your Mac?”
As it turns out, Mac OS X is not the OS on the server where I am going to deploy the code in production, Ubuntu Linux is. Mac OS X is a descendant of BSD Unix, running a completely different kernel than Ubuntu. If the code runs on my machine but not on the server, I may not discover the problem until late in the development cycle. The experienced developers reading this are likely nodding their heads, having seen exactly this happen when it’s time to deploy and application.
Saying, “But it runs on my Mac,” is a poor salve to a customer who doesn’t understand why the system you promised them would be ready, isn’t online yet.
So that’s a long winded way of saying, The development OS and the production OS should be the same OS.
That brings us back to why I think Action.io is such a cool idea. Developing on a host, and executing on a VM is sort of a wonky process right now. People are trying all sorts of things to make it easier, but nothing is really easy. Additionally you need to have a fairly powerful machine to run a VM (I have 16GB of memory in my laptop) and this may not be an option for some people. So how does Action.io change things?
The development environment virtual machine is integrated with the IDE, and it is very (very) easy to set up.
Think that Action.io is for you? Here is my quick overview of the pluses and minuses of the young IDE/Dev Platform.
The Pros
Simplicity
Action.io makes developing on the deployment OS easy, finally. In just a few clicks, a new VM is set up and you have access to a good looking IDE in the browser.
Standardization
Developers can use any client machine they want to, and as long as they have a browser everybody gets the same IDE and the same VM. No more dealing with VMWare Parallels and Fusion and Workstation and Virtual Box, etc…
SaaS
Software-as-a-Service is almost always the way I prefer to access my applications. The pricing is simple, and I am always running the latest version. I never have to fork out thousands of dollars to upgrade dozens of developers to the latest version of our IDE.
The Cons
Youth
Action.io is very young as a platform and as a company. The IDE clearly lacks some things that I currently take for granted in PyCharm (and VIM). This isn’t so much a con as a realization that it takes time to role out an IDE, one of the most complicated pieces of software to develop.
Choice
Right now you can develop on any sort of VM you want as long as it’s the one that Action.io offers, which right now seems to be:
$ uname -a
3.2.0-37-virtual #58-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux
Also, there are not a lot of language/framework options:
These are clearly the choices of some very bright computer scientists. These are the frameworks I like to use, but lots of people like use PHP (gasp!). As this well known info graphic illustrates, most of the web developers out there are using PHP. Action.io would be wise to include them.
Conclusion
I think what the Action.io team is doing is great. Right now I’m planning to use it for my simpler projects and as it matures hopefully I’ll be able to also use it for the more exotic stuff.
Also, the success or failure of the company as a business will depend on how much friction there is for new developers to sign up. There are a lot of young guys that don’t have the resources to pay for anything and are developing with a text editor. Figuring out a way to bring the people just starting out into the fold will be key.
I think back to my days learning Computer Science, and I can see how a tool like this would be perfect for a University CPSC Department. Any of the available languages/frameworks would be great to learn on. Maybe Action.io can work something out with a couple schools.
Final Word: I’m excited to see this product mature. The game changing integration of IDE and VM is there, now they just need to fill out the IDE feature set.