
Mavo – A new, approachable way to create Web applications - techbubble
http://mavo.io/
======
felipeccastro
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.

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

~~~
choward
Also, you lose all type information when your template language is its own
special language.

------
bshimmin
_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>

~~~
leaverou
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.

~~~
bshimmin
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.

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

------
teniutza
Additional information can be found at
[https://www.smashingmagazine.com/2017/05/introducing-
mavo/](https://www.smashingmagazine.com/2017/05/introducing-mavo/) and
[http://lea.verou.me/2017/05/introducing-mavo-create-web-
apps...](http://lea.verou.me/2017/05/introducing-mavo-create-web-apps-
entirely-by-writing-html/) .

------
desireco42
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/](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.

~~~
throwaway2016a
> 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.

~~~
extra88
"without a single line of _programming_ code," the adjective is important.

------
speps
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...](https://azure.microsoft.com/en-us/blog/announcing-app-service-
authentication-authorization/)

~~~
mgiannopoulos
Dropbox is supported as well.
[https://mavo.io/docs/storage/](https://mavo.io/docs/storage/)

~~~
kawera
And Firebase too:
[https://plugins.mavo.io/plugin/firebase](https://plugins.mavo.io/plugin/firebase)

------
chrisjamesc
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!

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

~~~
leaverou
Yup, we have! Here's the paper:
[http://dl.acm.org/citation.cfm?id=2984551](http://dl.acm.org/citation.cfm?id=2984551)
and here's an open version:
[http://people.csail.mit.edu/karger/Papers/mavo.pdf](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.

~~~
RubenSandwich
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.

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

~~~
avsaro
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.

~~~
dragonwriter
Also, neither the local nor remote storage providers it uses were available 10
years ago.

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

~~~
monkmartinez
Might as well just use vanilla HTML, CSS and JS... no?

~~~
leaverou
That cannot be updated by the non-technical people in the company.

~~~
Piskvorrr
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/](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").

~~~
WhiteOwlLion
Sometimes I think a static CMS like Lektor may be a better framework to set
up. The static nature prevents any of the dynamic exploits but still maintain
templating system without adding complexity after the initial setup.

[https://www.futurehosting.com/blog/lektor-is-a-static-
site-g...](https://www.futurehosting.com/blog/lektor-is-a-static-site-
generator-that-can-be-used-by-non-developers/)

------
kkirsche
Reminds me of AngularJS 1.x

~~~
desireco42
A little bit, yes, but I feel that they are at least on to something here.

~~~
fazkan
Seriously what is new here would love to know...

------
canada_dry
When this becomes easily available to use along with redhat's rhcloud or
heroku (vs. github pages) this will be an amazing solution!

------
equalunique
Open this in IE 11 and scroll below "A new, approachable way to create Web
applications" \- prepare to laugh!

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

~~~
leeoniya
it really depends on your audience. i can tell you that ie11 is alive and well
with our customers (ecommerce, home remodeling)

------
proyb2
There isn't a tutorial on how to save data or layout, there someone mentioned
REST.

~~~
RubenSandwich
There is, it's contained here:
[https://mavo.io/docs/storage/](https://mavo.io/docs/storage/).

Note: Not on the team, just searched the docs.

------
redtuesday
Seems like it could be used for the same purpose as NetlifyCms.

