I've been watching nudge evolve for a while and must say I'm really impressed by the overall design, performance and ease of use. There are plenty of tools for rapid prototyping these days, but nudge just gets out of your way and exposes an incredible time-to-value proposition. Considering the approach to modular add-ons, I can envision this simple tool turning into a powerhouse in the near future.
TL;DR: spend at least 15 minutes playing with it and imagine the possibilities
This seems objectively neat, but I'm curious what the target use-case is. I would image most web developers want more powerful tools (a real console, their editor of choice, their commandline tools, etc). And it has too much power for non-technical users to break stuff.
Maybe it's a tool for neophyte devs, somewhere between random-free-hosting.biz and using aws?
Target user at the moment is entry level devs on up who want to start developing in seconds.
Medium term the target is small multirole teams (developer, designer, copywriter), who want to work more collaboratively using specific tools for the types of things each is most qualified to edit (code/schemas, mockups/styles/images, copy).
"Sorry, we are currently experiencing heavy load. Please check back later."
Thanks, but I prefer my IDE to be available anytime I want it. Even if this IDE-in-a-browser isn't tied to their website, it doesn't inspire confidence that they can't handle a surge in web traffic.
Sorry about that, we temporarily turned off new sites on the main server so our current users on that server have uninterrupted access to their sites. Most production sites are not running on nudgepad.com, but on other servers running NP. NudgePad.com is more of a demonstration server. We haven't tested it with more than 10,000 projects on a single machine and didn't expect this big a response tonight. It will be very easy to scale--just need to shard new projects across servers--just haven't gotten to that yet.
Happy to send a direct link to anyone who wants to try it--breck@nudgepad.com.
Its list handling seems broken? tojson(fromjson(x)) !== x.
Paste { "name": "John", "age": "29", "foo": [1,2,3] } into the JSON side, and click in the left and move the cursor to force it to update and see what happens (I see it drop the first two list items).
Correct. We can turn all JSON to Space easily, but there's no canonical way to turn all Space into JSON (although you can do it easily for a particular use case).
Unlike JSON, in Space order is important and you can have duplicate properties. So in JSON you can't do this:
```
{
'h1' : 'hello world',
'h1' : 'this is a test',
}
```
It can't handle lists. A spaces object is a JS object whose keys contain no newlines or spaces, whose string values contain no newlines, and whose non-string values are spaces objects (definitely not null/boolean/number/array).
Space is great for building DSLs on top of. You often want to have additional types that your domain specific code recognizes. For example, your example could also be written in a DSL that is also valid space:
```
test [1,2,3]
```
Space is best for cases where you have small to medium sized objects that are often viewed/edited by humans, such as APIs, config files, schemas, or database objects.
I don't get it, either. I guess it's supposed to be Space:JSON::CoffeeScript:Javascript? But it seems less useful: in their example, the user clearly wanted to create an array of colors. What they got instead was a map with colors as keys and empty objects as values.
I think this is very cool. This could really lower the bar for entry level developers who don't want to deal with running a web server. It reminds me of github pages, but even further along.
TL;DR: spend at least 15 minutes playing with it and imagine the possibilities