I'm a big fan of Fog Creek (having worked there for 7 years). But I'm a little stumped on who this is for.
Without any persistence (Mongo, SQL, Redis, something) this is nothing more than a toy. Right now, the forums suggest setting one up via some PAAS, which obviates the whole "it's only one step" thing. Presumably persistence is on its way, as this is just a beta.
Persistence aside, it's still lightweight for an experienced developer. All of the things listed in Joel's "look what you don't have to do list" exist because they are good practice. In fact, 16 years ago Joel wrote about the 12 things that you need to make good software[0], which, coincidentally, includes almost everything on that convenience list.
On the other hand, if you're just learning to code, not having to provision a server or deal with Git isn't really fixing the hard part. Heroku and GitHub are making that easier and easier. HyperDev drops you right into an active NodeJS project without explaining what package.json is, where you define your views, or even what views are.
This leaves it serving a very narrow demographic, which is often the problem with these sorts of tools. Hopefully Fog Creek will be able to make it more broadly appealing before the shine wears off.
I think you’re underestimating the addressable market. StackOverflow has 45M unique users [1], and yet Evans Data [2] and others put the number of developers at around 20M. So there are tens of millions of people looking for help with programming issues who aren’t professionals. I think a lot of them, and professional developers with side-projects and quick scripts to write, will find utility here. The typical Git workflow best-practice is something of a one-size-fits-all at the moment, and we think it’s not a great fit in some circumstances. So this is just another option.
On persistence - each HyperDev project gets a DynamoDB. It’s definitely trickier to use than we’d like, so we’ll be getting to that, but for now here’s an example project you can remix that uses it - https://hyperdev.com/#!/project/typhoon-pine. Or there are other options like one that uses a free mlab MongoDB - https://hyperdev.com/#!/project/navy-flower that’s pretty easy to get going with.
I often go on jsfiddle to quickly do some stuff that may or may not be shown to other people. Hyperdev does that with a little twist that allow me to do even more quicker. It's not meant to make your next product, it's meant to quickly prototype something, probably for fun, possibly to do something bigger later, but certainly not to develop on some kind of commercial project.
My first thought was that I could finally teach my mum that code is not magic, and that is a very, very powerful concept.
It's all about diminishing the barrier to entry, and honestly I'm very impressed with this project. To me, this is a breakthrough. I think that combining this with a very minimalistic class could teach people that computers aren't magical, and anyone can try.
Cool tech, fun toy! I hope it is successful. I think Joel should focus on it's toy-like nature, and potential as a learning tool, rather than trying to build this into a production grade tool.
I spent years building tools for this market between professional devs and non-developers. (Backlift.com and then Brace.io) It's really tough. Most people learning to code are trying to gain transferrable skills that can help them land a job. For them, learning git is a fruitful tangent along the path to shipping. Those that aren't interested in building those transferrable skills probably don't self-identify as developers. Making developer tools for non-developers is tough.
> Cool tech, fun toy! I hope it is successful. I think Joel should focus on it's toy-like nature, and potential as a learning tool, rather than trying to build this into a production grade tool.
Agreed, and I think the latter part of the post (the "FAQ") indicates that Joel doesn't see this as a deployment strategy for professional developers...
"Listen, this is not the future of all software development. Professional software development teams will continue to use professional, robust tools like Git and that’s great. But it’s surprising how just having continuous merging and reliable Undo solves the “version control” problem for all kinds of simple coding problems. And it really does create an insanely addictive form of collaboration that supercharges your team productivity."
Basically it's a platform that makes a major trade-off: practically zero accountability in exchange for maximum usability. To us professionals, this doesn't seem like a worthwhile choice. However, to those non-programmers or budding programmers which I believe this product is geared towards, it's a step in the right direction. This feels like it wants to be the "Google Docs" of programming.
I could see this as a great tool for doing coding interviews. You get instant feedback to see if it works, and you can share the results with others almost as a code resume of sorts.
I'm excited to see this in fruition. I don't know how much of a concern this is but https://hyperdev.com/about/ loads an attachment (mime/octet-stream). I've never seen this behavior before so I didn't download it. Win 10, FF 46.0.1
You sent everyone an email[1] to participate in the discussion, and after this an over-capacity message[2] is a bit disappointing because it seems like you did expect the attention this time. On the other hand, I know that things can go wrong and I wish you a quick recovery and all the success.
Pretty cool, the idea looks similar to `now` by Zeit[1]
Platform as a service has gone from click to get a server that needs configuring (AWS), to get a server already configured (Heroku), and now to write code and get URL without even needing to think about servers
HyperDev is a little different - it has the editor and isn't, or at least won't be, Node.js specific - there will be support for several programming languages.
Yeah the timing is interesting. Given the close release dates, I don't think there'd have been time for one to inspire the other, yet now we have both. Are there any other services like this? Maybe it's a new trend.
1) host this myself. Something like apt-get install hyperdev.
2) have an integrated SQL database in the runtime. Concept of migrations should be known by the runtime.
3) have a one click deploy option that synced everything to a remote runtime, be it on my own servers or hosted by a 3rd party. Syncing to a runtime with older schema should automatically run migrations.
2) You can use your favorite Node SQL package for that. Yeah, the DB has to be hosted somewhere else, but that's getting pretty easy if you're using PAAS services.
something that might be interesting is a hosting this (https://github.com/gabrielcsapo/node-notebook). It does not have sql database support, but can use all of node's capabilities. Another plus is you can self host it
I like the theme—I'm guessing it's supposed to be reminiscent of early Mac OS and HyperCard? That seems to fit HyperDev's goal of getting up and running quickly so you can enjoy building something.
I see the big potential in having an always-on development environment in the cloud. It would enable better collaboration. It also enables features not possible with in the old way, like easier deployment, ready-made persistence, moving back in time, … .
But for me the problem with them is that the text editor is not Emacs. I guess a lot of developers who are somewhat experienced have similar attachment to their editors and scripts. And it’s not just an emotional one: it directly affects productivity.
Not trying to be negative here, but this is really an issue.
I feel as a developer I have a personal debt to Joel. So first I wish him and FC best of luck with any endeavor.
It's unclear to me which crowd this tool is useful for. I'm usually using cloud9 for the "deploy a toy now" use case.
Between wix, Heroku, google apps, c9.io, github pages, jsfiddle, ngrok... which unoccupied niche is left for HyperDev?
I really like the concept of this. Especially with node/react I found learning webpack and setting everything up takes FOREVER.
Unfortunately, platforms like these always seem ridiculously overpriced when compared to a bare metal dedicated server. I'd be curious to see how it is priced.
> I found learning webpack and setting everything up takes FOREVER.
That's because you are learning webpack and setting everything up. It's akin to setting out to learn java by learning maven first and downloading all your dependencies through that and then learning how to bundle your code into a war for deployment on a J2EE server. Of course that's going to take more time than just copying some jars in your classpath and getting to work and learning the language.
If you want to learn React, copy the latest CDN, use the in-browser transpiler, and start learning react. Add the goodies on later.
I'll have to check it out. I remember back when I was doing Angular I looked through several and none of them were even close for what I wanted to do. I think React is much more standardized.
It's a little opinionated but aligns well with the decisions I independently made after spending way too much time learning "build tool bullshit". That said, it's a little rough around the edges and development is not very active.
Cool idea, but it feels a little like using FTP to develop in a live environment. The pitch seems to be saying SCM and deployment tools are bad things, but they're valuable and useful tools.
Joel made very clear he is not saying anything of the sort. He is saying they are very useful tools for professional development, but sometimes you just want to type some code and see what it does.
Nobody mentioned AppJet yet? AppJet was exactly the same product, 10 years ago! It was awesome and I hope this product sticks around longer than AppJet did (pivoted into EtherPad and then acquihired by Google).
I haven't had a chance to test HyperDev extensively cause it's a bit early and unstable, but c9 is like a full-fledged traditional IDE supporting anything you might program while a full Ubuntu virtual machine can install anything your project needs. C9 is open source and can be deployed on your own hardware.
HyperDev is specifically for web stuff and really slickly optimized around that handling deployment and everything.
It is similar in that both allow you to create applications using web based editors but HyperDev focuses much more on simplicity. We start with the idea that everyone will experience their development environment from a web based interface in the future and try to design one as simple and powerful as possible.
I'm not an expert c9 user, but from my experience with it it is much more about recreating existing development environments on the web.
With HyperDev you don't need to pick a server OS or configure your environment to match your local, it is already set up and deployed. You just need to write the code.
I am getting a 502 message on your about page (hyperdev)...really frustrating that I get the over capacity message two weeks after signing up for the private beta, I would have thought this would have been resolved by now especially with this new press.
This is concerning as free tools often don't make economic sense. Even more concerning is how casually Joel treats this issue in the Q&A section. He should know better.
To be fair, he does. Fog Creek has been going for over 15 years. Trello started with a similar model - only free use at the start as they figured out the best way to monetize, and now they are making $10M+ a year [1]
Worse than not making economic sense, it opens the door wide for malicious users - I'm sure some guy is already working on setting up JS-based bitcoin miners that just use up these free, no-login servers' CPU capacity, or set up malware sites, child porn hosting, you name it.
The barriers - login, mainly - aren't there to annoy users.
I was looking at issues on the c9.io github yesterday and saw someone complaining that he was banned ... after running a minecraft server, slack bots and more lol.
Seems like an awesome tool. For all those pros who are wondering who will use this tool. Let me tell this, this is an invaluable tool to teach programming for web without scaring them with all complexities. And the learners still have a url where they can see things in near realtime.
The biggest potential I see with this is with helping people initially learn to program. imo the biggest hurdles with programing aren't programming itself; instead it's getting the proper setup (installing x, y, and z and configuring a, b, c properly)
1. Codepen is front-end only, whereas hyperdev runs back-end code as well (node.js)
2. Codepen gives you 1 html, 1 css, and 1 js file per pen... hyperdev lets you have as many front-end and back-end files as you want. (Technically you can have multiple files in a codepen by linking to them, but it's not the primary use-case and is not as in-your-face as hyperdev is).
That was a fast beta invite! Got errors and looking forward to when it's more stable. Curious about pricing -- if this is freemium set up like heroku, will gladly dive deeper in
We changed the URL from http://blog.fogcreek.com/announcing-hyperdev-the-developer-p... to Joel's blog post. We can change it back if people prefer, but it gives more background and is a fun read and there shouldn't be two articles about the same project on the front page.
Whenever I use these services they are pretty much never as responsive as a local editor, which is to be expected I guess, but I don't see how this could replace someones dev environment if they're a serious programmer. Big companies are going to want to have a lot more control over the backend and how things are wired together. People just learning will want to know how to actually make things work and not just have their hand held the whole time. For small freelance work this looks like it cold be good, but even then you have to learn the "HyperDev" work flow.
I just build and deploy everything in containers using Vim as my editor.
There isn't anything special about the HyperDev work flow. You can take any project that runs in HyperDev and `git push heroku master` and have it running on Heroku, or run it locally in a similar manner. HyperDev gives you an environment where you can update and deploy your code without having to set anything up to get started. You can collaborate with anyone by just sending them a link. There will always be a place for more custom environments, but we hope that HyperDev can serve 99% of developers and people who write code on computers.
Hmm. I don't know about serving "99% of developers" without support for at least top 10 languages/frameworks, catering for enterprise (which is, in my country, like 50% or more of all jobs for software devs), and an IDE that has at least the most basic of features... but most of all, I do not feel like the blog post or the site itself communicates in any way the two most important feelings I'd like to get as a developer: 1) I'm in control if I need to be, 2) I understand what's going on. These are of course related, but I have neither the sense that I can control things here, nor that I understand what's so special about this. For working alone my own dev machine is better in every regard with the exception of being able to code away from that machine; for working together I would never let a 3rd party provide glue and choice of architecture, security etc. anyway, since anything bigger would likely be a more serious (not more frivolous) endeavour... what am I not getting?
It's not a serious dev environment. It's a playground with zero setup. If you've never even touched node, you can still start writing it and have it run right now.
Without any persistence (Mongo, SQL, Redis, something) this is nothing more than a toy. Right now, the forums suggest setting one up via some PAAS, which obviates the whole "it's only one step" thing. Presumably persistence is on its way, as this is just a beta.
Persistence aside, it's still lightweight for an experienced developer. All of the things listed in Joel's "look what you don't have to do list" exist because they are good practice. In fact, 16 years ago Joel wrote about the 12 things that you need to make good software[0], which, coincidentally, includes almost everything on that convenience list.
On the other hand, if you're just learning to code, not having to provision a server or deal with Git isn't really fixing the hard part. Heroku and GitHub are making that easier and easier. HyperDev drops you right into an active NodeJS project without explaining what package.json is, where you define your views, or even what views are.
This leaves it serving a very narrow demographic, which is often the problem with these sorts of tools. Hopefully Fog Creek will be able to make it more broadly appealing before the shine wears off.
[0] http://www.joelonsoftware.com/articles/fog0000000043.html