49 comments

[ 3.1 ms ] story [ 39.8 ms ] thread
Reminds me of AngularJS 1.x
A little bit, yes, but I feel that they are at least on to something here.
Seriously what is new here would love to know...
Look like Angular 1 to me as well.

Anyway the idea is nice!

I don't recall Angular 1.x having a shared local/remote persistent storage API with built-in local and remote drivers and a storage driver SPI.

There's considera le feature differences in the simple templating functionality of this vs. AngularJS 1.x, as well (Angular seems a bit more powerful overall, but this seems to make some of the common things simpler), but I think it's the storage integration which is more of a fundamental difference.

I'm slightly confused... this seems like a cross between WebComponents and a very simple template language. With a bunch of pre-built components.

It's a neat idea but I feel like I'm missing something. Which part if the approach is "new" here? I'm not criticizing, I honestly feel like I must be missing something and would like to know what.

without a single line of programming code

A bold statement that doesn't really seem to be supported by:

   <p property="name" mv-default="[readable(to(filename(image), '.'))]"></p>
I assumed the claim was based on differentiating a markup language from programming languages. HTML (and CSS) is code, but not programming code.
I see what you're saying, but that looks like a function call embedded in the HTML.

Embedding your programming into HTML doesn't make it any less programming. Otherwise, you could say web programming doesn't exist since it's all just HTML script tags.

Hmm, yes, the readable() value does look like a function call with the sort of unforgiving, indecipherable syntax that can give a non-programmer trouble when they have to do more than paste a sample (e.g. actually enter a filename, including the path). That blurs the "programming" line more.
Spreadsheets have function calls as well, and yet non-programmers can use them. We don't care about making a theoretically pure distinction, we care about making something that non-programmers can actually use.
I didn't intend to denigrate your work - I think it's really interesting.

However, to advertise it as not being programming seems bogus to me. In Excel, you click the "fx" button and choose "SUM" and then select some cells with your mouse and it pops in there =SUM(A1:A4) for you, which feels in practice quite far from what I would consider programming, and I think people who are non-programmers but have the right sort of mindset can usually fathom this stuff.

The example I quoted above, however, looks a lot more like programming to me, and the nested parentheses alone would be enough to scare off a lot of non-technical types. I have dealt with many people over the years who have to do a bit of programming in their roles but really aren't programmers in the conventional sense, and they find things like the difference between A(B(1,2,3)) and A(B(1,2),3) extremely hard to grasp.

I don't understand why there is such negativity about this. They state it is not perfect and it is work in progress near the bottom of intro.

What I like about this, is that it allows quickly to make simpler sites that can be edited. I don't want to program upload images ever again, or edit fields. Why do this?!

Anyhow, storage seems to be confusing some of you, they explain/document that here http://mavo.io/docs/storage/

I think this is neat idea and we really need to innovate and move past coding crud apps all the time. Developer bootcamps are proof we are not doing anything new.

> I don't understand why there is such negativity about this.

I'm not sure I'm reading the same comments as you. None of the ones I read seem overtly negative. Mine is the closest to negative and I explicitly said that I'm just trying to understand not criticize.

You may be reading into them too much. For example, the person saying it is like Angular 1.0 could be negative or very positive depending on your view of Angular.

Edit: I take that back. The one about "not a single line of code" is actually more negative than mine. Although it also happens to be true. That is code.

They are negative, that doesn't make you a bad person. All good.
"without a single line of programming code," the adjective is important.
It is neat for sure, so are using appventor (blocks to build android apps)[1] and other shortcuts to build websites and apps.

The problem is that it says simple, while talking about Git for goodness sakes; commit permissions and such. It says no code. I disagree... you need to know HTML basics to even comprehend the Mavo way.

Why not just make a vanilla HTML page if that is all you need? HTML is not hard... and how is this moving us past CRUD?

In the storage docs they mention that you do not need to know Git to use Mavo. They simply use Github as a backend for storage. So a beginner would merely have to setup a Github account to get persistence for their app.
Right... here is a bit of a sarcastic retort: "just use this thing called Github. Don't worry that you have no idea what Git actually is... log on to Github and start saving stuff there. Commit you ask? Don't worry, don't code anything!"
I think some comments reflects that very similar things has been done for 10 years or so. And this don't seem to solve all problems, only a few of the problems.

It looks like you would end up with one html page per page in the site. And when you have 50 pages or more and decides to change the structure you would have to change all the pages. I'm not even sure the tool supports that, you might have to start with git and a standard html editor and change all files. Then you are back to editing html and have not gained much. For _very_ simple sites this might help and it does look very nice.

It seems to be missing simple authentication. I really like how Azure Web Apps[0] do it for example. Then you could use that to authenticate with some external storage.

The idea of websites being just a way to access and modify data that you own entirely (private Git or else) is really neat.

EDIT: actually they do handle authentication but it's GitHub only. Also they seem to support REST APIs (from a custom backend) but no demos or example of that.

[0] https://azure.microsoft.com/en-us/blog/announcing-app-servic...

Seems like it could be used for the same purpose as NetlifyCms.
After working with React/Inferno and some of the other virtual dom frameworks, I simply can never go back to templating languages baked into HTML. While this seems like a nice idea, I don't think I could use it for that reason. It's incredibly limiting to try to write your code into HTML with a small programming language built in. You spend more time fighting the embedded language then making content.
Also, you lose all type information when your template language is its own special language.
I could see this being useful for individual or small businesses that don't have a tech savvy or IT staff. The business pays a web designer to set up the site. The content can then get updated over time. WordPress sometimes is overkill and something simpler is definitely a plus.
Might as well just use vanilla HTML, CSS and JS... no?
That cannot be updated by the non-technical people in the company.
And your examples are somehow better readable to "non-tech...company"? How? Better, as compared to...oh wait, not compared to anything, tested on a sample of 20 people. Passing that off as "This is not wishful thinking; it’s published, peer-reviewed research" (your front page) is dishonest at best. And it gets better. Those people in the study were recruited at "local web design meetup groups". Non-technical? How's that for selection bias?

It seems just like Angular to me - and worse, buggy Angular: how does "Born on time property="birthday" datetime="2014-06-01" 1 Jun 2014 /time" get transformed into "Adam Catlace Born on 1 May 2014"? ( http://mavo.io/docs/primer/ , current Google Chrome, version 58, no extensions, no weird timezone one month behind the rest of the world)

The language does seem nice for the tasks at hand, and the learning curve looks shallow, but you are overhyping it way too much ("no programming", "better readable").

Congratulations Lea Verou and MIT CSAIL!

I'm curious about if you've done any research with this experiment yet and if so where can I find it? I'm very curious on ways to make programming more friendly/approachable, but I have found very little research that even begins to examine what a friendly/approachable programming language would even look like.

Yup, we have! Here's the paper: http://dl.acm.org/citation.cfm?id=2984551 and here's an open version: http://people.csail.mit.edu/karger/Papers/mavo.pdf Look at the References and you'll find more :) There's a whole area of research about end-user programming, though it doesn't usually involve languages, but more GUIs.
Thanks so much. Yeah, I was specifically looking for research related to programming languages, but I'll give it a look. Good luck! Thanks for putting this out and helping slowly chip at the divide between consumers and creators in computing today.
Well done!

This has great potential to democratize the building of simple website applications for the masses. Great concept so far!

Open this in IE 11 and scroll below "A new, approachable way to create Web applications" - prepare to laugh!
IE 11 is a dead browser. Development stopped 3 years ago. There will never be an IE 12, it's just Edge now (which Mavo works in just fine).
it really depends on your audience. i can tell you that ie11 is alive and well with our customers (ecommerce, home remodeling)
Same problem on the in-app browser in Boreal (the iOS Hacker News reader I'm using).
When this becomes easily available to use along with redhat's rhcloud or heroku (vs. github pages) this will be an amazing solution!
Probably an odd question, but am I the only one who thinks this would have been a godsend about 10-20 years ago?

I mean, it's useful for some cases now (like as mentioned, non programmers wanting to make more dynamic sites), but back then a lot of cheap/free hosting services didn't support any server side scripting.

Something like this would have let you build an ad hoc CMS on a free hosting service like Geocities. Which would have been pretty useful for the utterly skint.

Now though? It's still useful for some people, and I do think it's something I'll test myself at one point, but I feel the easy access to free/cheap hosting for server side scripts has likely cut down on its usefulness a fair bit.

I am not sure but I think it is fair to say something like that would not be possible with speed of javascript engines of 10-20 years ago.
Also, neither the local nor remote storage providers it uses were available 10 years ago.
This is a very interesting project, and all attempts to simplify web development at this point are more than welcome. However I really wouldn't call it "a new way to create Web Applications". With such an ambitious title, no wonder folks here are thinking it's on the same category of libraries like Angular.

It looks like a great tool for non-programmers and power-users creating simple CMS kind of sites, which is already a great deal. However, typical Web applications are much more complex than what this tool could possibly do, so I would recommend to reconsider that message. Javascript, servers and databases are not the assembly of the web, there's good reason for their existence and in slightly more complex scenarios they simply can't be abstracted away.

It's not just about the message, it's about settling on a specific audience, and with that, focusing the efforts to provide as much value as possible for them. Trying to stay on the middle term for any generic "web applications" might mean the tool will never be flexible enough for professional web apps nor feature complete enough for non-programmers use cases.

This kind of work shows a great direction for the future of web development. It's true that the HN community might be more incline to programming than others, however this library makes building web pages user friendly while still keeping it close to the language. Also, huge props to Lea Verou who's been notable at working on improving the web and CSS!