“You just code. It just runs.”
As a newly developed web developer, front end variety, I found this pitch intriguing. I’m in love with the actual process of creating web apps, but not so much with the aftermath. All those decisions — FTP? Cron job? Third-party PaaS? — and debugging the SNAFUs that inevitably follow no matter which road you choose. Lead me not into the bureaucratic hell of deployment. Dude, I just want to code.
And now here comes HyperDev, with a tagline telling me it understands.
HyperDev, brought to you by Fog Creek Software, is an open-source platform aiming to be a one-stop, full-stack solution for developers who identify more as coders, less as administrative flunkies. The web-based platform, currently in beta, allows developers to quickly and seamlessly stand up Web applications without standing up a server stack…or mucking about with SSH keys, or worrying whether Git and Jenkins are talking to each other this particular afternoon, or any other such tedious details.
HyperDev combines a typical IDE (integrated development environment) workspace with a dedicated virtual Web server deploying changes live, practically instantaneously, as you work. No saving, no refreshing — just your glorious code, making its magic. Live not just in your local browser, because what’s so special about that, but simultaneously live on the internet for anyone visiting the custom URL automatically generated by HyperDev whenever users initiate a new project.
All this happens in a split second: changes saved and uploaded, server restarted with new code, and browser refreshed — without so much as pressing the return key (though the very first time you ask HyperDev to display the results it is necessary to click on the little sunglasses icon to see the “show Live” in action. After that it stays live). No Git gyrations, no configuration, no prayers to the great gods of SIGHUP. You just change the code, and the server just, well, serves it up.
Talk about up and running.
All Together Now
Well, the first concern that pops into mind would be that this definitely sounds like a solo gig. How could something so streamlined be anything other than a single-developer solution? HyperDev, however, absolutely aims to be a community-oriented project space. Thus there’s a big shiny “Invite” button; clicking this generates a link you can send to co-conspirators. When your friends show up at the link, they’re inside the HyperDev gates and editing, live, right alongside you in the very same document. It’s the same way Google Docs works: simultaneous productivity, with everyone hacking away at the code together, or individually addressing disparate tasks.
Which sounds both terrifically productive, and utterly terrifying. Because one thing HyperDev does not currently offer is any form of version control. According to Fog Creek Software co-founder Joel Spolsky, plans are in the works to add “the world’s simplest ‘branch’ feature, so that optionally you can have both ‘dev’ and ‘live’ branches.” Until then, though, users on the HyperDev platform will be working without a net. Though there is an impressively resilient and deep-reaching “undo” feature built into the platform, that is just not the same warm fuzzy comfort of a nice, long commit history.
Spolsky — who, incidentally, is also CEO of Stack Overflow — maintained that “having continuous merging and reliable Undo mostly solves the version control problem.” He readily admitted, however, that HyperDev, currently in Beta, is aimed at small teams undertaking relatively straightforward development projects. “Listen, this is not the future of all software development,” he wrote on his blog, Joel On Software while introducing the platform, adding, “Professional software development teams will continue to use professional, robust tools like Git, and that’s great.”
Clearly, HyperDev’s most compelling asset is the whole instant gratification thing — which, let’s be honest, is pretty freaking great even as a single-developer solution. Foggy Creek is banking that the platform’s split-second responsiveness will also provide small team power-up potential. According to Spolsky, HyperDev’s aim is to create “an insanely addictive form of collaboration that supercharges your group productivity.”
The only way to test that hypothesis, obviously, would be to put up a project on HyperDev and unleash a half dozen web devs to work on the same code at the same time. This exact scenario is in the works; watch this space for a follow-up report on the results. For now, however, let us focus on the single-user HyperDev experience.
At first glance, HyperDev is not much different from other IDEs. GUI is stripped down, nothing extraneous beyond the Fog Creek development team’s apparent fondness for emojis. The one user option so far available is the ability to change between dark and light themes. Straight nuts and bolts are fine, makes it all the easier to just start throwing code. Drag and drop assets or chunks of code into the appropriate folders. The container is a generic VM running Node.js so you may add any package your little heart desires simply by editing package.json. Cut and paste any JS you like from Stack Overflow — nothing’s gonna break. You can export to, or import from, GitHub.
(Though the current beta is public and open source, HyperDev does include a “secret” .env folder for storing proprietary secrets and config variables that only invited collaborators are able to see).
Still Hyperdev has no substantive difference in function from, say, CodePen, except for that sweet instant online presence. Which really does turn out to be huge.
Case in point: my HyperDev test drive consisted of building a quick prototype site for a client’s side project. Once the main pieces were in place, I was able to invite him to take a remote peek via the HyperDev-generated URL. The client watched, live, as we iterated a couple of different functional possibilities for the main products page. He was able to see on the spot what worked best, what he liked, decisions were made — and just like that the project leapt forward. No endless meetings or email chains.
This was one straight line developer → client scenario, but consider that same agility applied in a large infrastructure environment. There is great potential value in the ability to quickly prototype a change in or addition to existing applications while receiving virtually live feedback. Not hooked up to the database, no persistence, just pure experimentation: does this work, and what do users think? This, said Daniel Moore, HyperDev development lead, is one of the platform’s most compelling benefits.
“What you make and what is actually wanted or useful are not always the same thing,” Moore explained in a recent New Stack At Scale podcast. “When you can prototype and go live with something in literally one hour, you might save yourself months of production time if you have this quick version and see that people aren’t even say clicking the action button.”
Though corporate and enterprise versions of HyperDev are still in the works, Moore considers large, complex organizations — constantly challenged to fit together all the myriad moving parts of big infrastructure — as the platform’s ideal target market. Even if they don’t know it yet. “Sometimes all you need is a little bit of glue to smooth them over,” Moore said. “HyperDev is that glue.”
In other words, HyperDev is all about agility — or, as he called it, “the fast iterative.” You make a change, you get something out in the world, you get real-time feedback from the world, and then use that data to move the project forward. Lather, rinse, repeat.
Gotta say, it worked for me.
Stay tuned for a follow-up look at HyperDev’s performance when we put the platform through its paces in a group hack-a-thon.