Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
HyperDev – Developer Playground for Full-Stack Web Apps (joelonsoftware.com)
473 points by GarethX on May 31, 2016 | hide | past | favorite | 92 comments


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.

[0] http://www.joelonsoftware.com/articles/fog0000000043.html


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.

But I think you should just try building something with it - here’s a good excuse: https://hyperdev.com/blog/developer-contest-get-back-nature/. From what I remember from Aavardk’d [3] you’re a keen photographer so it should be your thing!

1 - https://www.quantcast.com/stackoverflow.com 2 - http://www.computerworld.com/article/2483690/it-careers/indi... 3 - https://www.youtube.com/watch?v=0NRL7YsXjSg


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.


It looks to me like this is for getting started quickly at hackathons.


The power of a REPL should not be underestimated. This is like that for web development I guess.


the idea looks like: 'why not extend jsfiddle/splunker to a real running website ?'


Even without persistence it has its uses. I have a couple of proxy services on heroku that would fit, for example.


And I made a Skype bot. Persistence would improve some things about it but it works just fine without it.


What's wrong with toys? I think that's what this is supposed to be.


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.


We're on the front page of some major sites so things are blowing up a little bit, but we should have it sorted out soon!

Thanks for your patience!

- A frantic HyperDev developer


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


Oops, good catch, a CloudFront misconfiguration pushing the fix now.


Same issue for me on android. In my case, it wont even download, just sits there waiting for information.

Edit: Posted then the fix appeared. Love the speedy response to everything here.


Getting 503 error on hyperdev.com.

> {"status":"Error","statusCode":503,"statusDetail":"Waiting To Serve for cosmic-panther: No service found running on port"}

Nice sense of humour at least ;)


cosmic-panther is your random word set for your instance.


Your site also didn't work the two times I tried to use it after it was first on HN. It has to be a lot more reliable.


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.

[1]: http://i.imgur.com/ZazMSgt.png

[2]: http://i.imgur.com/NXyTHBB.png

edit: BTW I reloaded the page and the error disappeared but now the whole thing is unresponsive.


I think that's a little bit unfair. HN posts can be a giant hit-or-miss in terms of popularity.


But this isn't the first time they are popular on HN. This attention should give them more motivation to upgrade the servers, at least.


If it's not the first time they have issues like that, being them I'd have load tested before posting and promoting again.

But tradeoffs and stuff!


Sure, but a "new thing" from Spolsky et al is something that's more likely to have traction.


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

[1]: https://zeit.co/


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.


Could someone please help me understand why I would use Hyperdev over say JSbin or JSfiddle (if I were only using html/javascript/css)?

Also, would Hyperdev be capable of PHP, MySQL?


Because this allows you to run server side code.


I think its just node at the moment.

I think the code editor is 'Ace'[1] and that supports lots of languages.

[1] https://ace.c9.io/#nav=about


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.


There are indeed. You can build with Nodal [1] and deploy without hesitation to Polybit [2]. :)

[1] https://github.com/keithwhor/nodal

[2] https://polybit.com


I would be interested if I could

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.


1) Check out Meteor. It's very similar and can be self hosted. https://www.meteor.com/

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.

3) Yeah, that'd be nice.


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.


"Looks like we're over capacity... [Get notified when we're back]"

Wish the site wasn't down, but I like this as a way to handle the blow up during launch.


> [Get Notified When We're Back]

The email notification during overload is a very thoughtful feature. Awesome UX enhancement especially for a dev service.


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.


vi master race! shakes fist


“What if I literally type ‘DELETE * FROM USERS’ on my way to typing ‘WHERE id=9283’, do I lose all my user data?”

Nope, you'll just get an SQL syntax error.


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?


Sounds like it would be useful for prototyping / proof of concept stuff (in other word it will end up in production).


"Prototyping" is done by developers. We have many existing tools for that use case.


This still saves a ton of setup time.


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.


Having a "clone this site" option would be great - spin off or make copies of a read only project you want to learn from.

Ah perhaps the "remix" button serves this function.


That's right remixing gives you your own copy of the project that you can then edit.


There should be plenty of bootstrap projects for node/react to get up and running quickly, e.g. http://yeoman.io/


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.


How do you find the right one?


I'm a fan of projects like https://github.com/petehunt/rwb

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.


I know it's down right now but I used this a couple of weeks ago and it was very powerful. Well worth bookmarking and checking out later.


Could't get anything to load.

Got a message saying Hyperdev has hit capacity and to try again later.

:-\


same issue for me


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).

https://en.wikipedia.org/wiki/AppJet


+1 Had the same thought when I saw it. AppJet was awesome.


I just checked my own site and noticed I was retargeted with a HyperDev ad; I guess they are agressively pushing this?

http://i.imgur.com/icNiRy1.png


Ok they are down and I did read the announcement.

How does this compare to c9.io?


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.




I'm trying to see what's here: https://hyperdev.com/about/?utm_source=fcblog&utm_medium=ref... but all I get is:

{ "status": "Error", "statusCode": 503, "statusDetail": "GetPort: Application failed to start on container cosmic-panther" }


Sorry about that - a lot of the same detail on that page is included in the blog post at https://hyperdev.com/blog/hyperdev-open-beta/


"Oh, and it’s free."


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]

1 - http://www.forbes.com/sites/alexkonrad/2016/05/23/trello-get...


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)


Looks interesting - I'm not a node user myself but will probably take another look once other languages are added. Might be useful for prototyping.

I also found refreshingly honest: > This is still a beta so don’t ask me how many 9’s. You can have all the 8’s you want.


The names looks alot like HyperDex (http://hyperdex.org/). I found it weird that the HyperDex DB was pivoting to full stacked Web Apps.


Interesting to see someone willing to trust strangers in their containers.


So for folks who've used both, how does this compare to CodePen?


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


I think the interesting opportunity here is can bring this real-time workflow to professional software teams that use git and micro-services?


As Heroku starts to put away free users, this will help a lot of people.


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.


> I don't see how this could replace someones dev environment if they're a serious programmer.

Joel explicitly says that it does not.


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.


About as useful as their "language" Wasabi http://www.joelonsoftware.com/items/2006/09/01b.html.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: