
Appmaker - co_pl_te
http://appmaker.mozillalabs.com
======
davidascher
Whoa. Definitely wasn't ready for HN-style exposure.

As bmoskowitz pointed out we have some rough words about the project. For this
group, I'd in particular point out the roadmap and CONTRIBUTORS.md documents
on the github repo:

    
    
      https://github.com/mozilla/appmaker/blob/master/ROADMAP.md 
      
      https://github.com/mozilla/appmaker/blob/master/CONTRIBUTING.md
    

I wrote some earlier words at [https://github.com/mozilla/appmaker-
words/wiki](https://github.com/mozilla/appmaker-words/wiki), but that's quite
possibly out of date.

At the highest level, we're exploring whether it's possible to make a tool
that lets non-devs (_not_ you folks!) who currently see their phones as a pure
engine of consumption, as a place where they can create something fun or
useful.

It's very, very early software, and it's public mostly because a) we kinda
don't know how to do anything else, and b) we're going to use early and
frequent user feedback to correct the aim on the product.

If people are interested, we're more than happy to entertain questions either
here or on github, irc, the mailing list, etc.

Oh, and yeah, many of the components are broken, brittle, etc. This is still
just a prototype.

That said, we're getting positive reactions from people close to our target
audience, such as high school teachers, people teaching others how to make
their first app, etc.

I'm sure we have loads of x-browser compatibility bugs, as well as known
issues with respect to accessibility, absent localization, no great mechanism
for contributing new components, and many more.

Oh, and the gamification bits in particular were really just testing the
gamification APIs -- the levels we have in place are deeply unuseful =).

~~~
canweriotnow
"That said, we're getting positive reactions from people close to our target
audience, such as high school teachers, people teaching others how to make
their first app, etc."

I bet. But this is part of the problem with many of Mozilla's products
targeting the education space (Open Badges, I'm looking at you). Teachers,
administrators, bureaucrats think they're the cat's meow. But (of course) they
want nothing to do with the implementation details. But they do expect them to
be usable.

"At the highest level, we're exploring whether it's possible to make a tool
that lets non-devs (_not_ you folks!) who currently see their phones as a pure
engine of consumption, as a place where they can create something fun or
useful."

That's a fantastic idea. So are open badges. But "us folks" are the ones that
(whether we work in edu IT, at an edtech company, or are fellow travellers)
are expected to make these half-baked great ideas work, reliably, in the real
world, for educators and students.

I'm not trying to rant. Mozilla has great ideas for education. But the poor
(maybe I should be more generous and say incomplete) implementation of so many
of these great ideas (Persona, Open Badges, and now Appmaker) is maddening
when they're presented in a way that "not us folks" expect them to be
available for production implementation.

~~~
davidascher
Yeah, we need to do a better job of distinguishing "really early" from "ready
for use". Expect a change in the landing page within a few hours (the team is
currently scattered over three countries).

------
JoeCortopassi
"Oh wow, that seems neat. I should check that out"

 _clicks link on Hacker News_

"Hmm, not sure what this is about. I'll just hit the 'Start' button"

 _Hits start button. 'Add a button' dialog pops up_

"That seems pretty straight forward, I'll just add drag that thing labelled
'Button' from the left window pane, on to what looks like a smartphone"

 _Drags button over. Gets 'Congratulations' box_

"Wow, this is really intuitive so far. With a little effort, something like
this would be a real game changer in the mobile space!"

 _New dialog pops up: 'Add a randomcat component to your app_

 _Looks around for anything labelled 'randomcat'_

"Huh, thats strange. I wondered if it's labelled something else and I'm just
missing it"

 _Looks for 'random', 'cat', 'Cat.random()', and any other possible
combination_

"Wtf mate?"

 _Gives up and leaves_

~~~
mentos
I got passed the randomCat but got stuck trying to add the 1 star rating

~~~
extempo
I think you need to add a button. Same thing in level 4 with fireworks.

~~~
Lerc
I added a star gadget and a submit button. No joy.

------
davidascher
Hey HN, if you're curious about this, I suggest you watch this video
([http://youtu.be/RaRIdLgZTPI](http://youtu.be/RaRIdLgZTPI)) which shows a
quick demo, and/or:

\- opt out of the levels thing on first load, it's not ready. \- instead, jump
straight in the designer and run through these few steps:

\- drag & drop a button, click on it, notice it sends out messages on the blue
channel \- D&D a counter, notice that it listens to a blue channel, and that
the button clicks cause it to increment (that's how we "program" these
components \- D&D another button, make it emit on a different color, and
configure the counter to "count down" on that color. That way one button
increments, the other decrements

\- D&D the fireworks component, configure its "shoot this many rockets" to a
third color (and clear "shoot rocket); make the counter emit on that color.
Enjoy the fireworks show.

\- Other components that work well for understanding things are:

\- ratings widget \- input widget connected to a map widget will center the
map on a place name (although HN will likely exceed the limits on our usage of
the OSM server; need to setup another one =() \- flickr widget can do both
topic and location searches

Let us know if you have ideas for components we should build (or submit a
PR!).

The publish button will create "hosted apps" which can be installed on
FirefoxOS, Firefox for Android, and incidentally recent builds of Firefox
desktop, although the focus for Appmaker is very much mobile apps).

~~~
sjosi
This looks promising. I would love to see a basic HTTP component which can
recieve broadcasts and in its simplest form perform HTTP GET to a specified
URL. Also with the possibility to broadcast the response from this HTTP GET
request to another component.

I am playing around with a Raspberry PI / Arduino solution and the PI has a
webserver which relays commands to the Arduino. Now, it would be very neat to
have a mobile app to trigger these commands. For example, pushing a button to
turn a light on or off. As I do have minimal time creating GUIs, this tool,
with the flexibility of a HTTP module, would be perfect to use for prototyping
such solutions.

This could be used to trigger commands as described above, but also possibly
for embedding content from other sites etc.

Probably not where you wanna go with this tool, but it would be neat for
situations where you want a quick GUI to control stuff.

~~~
Schwolop
This is my use case for this too. It would be absolutely perfect for quick and
easy web-app remote controls.

------
bmoskowitz
From someone peripherally involved in the project:

This is an open source project, community-built from the beginning. It's pre-
alpha. Pre-pre alpha, even. There has been no public launch or fanfare. That's
why you'll see no blog posts or explanatory text yet, why many of the
components don't work, and why the tutorials aren't built.

But it's cool to see that it's already found its way to HN.

It's meant to be like Hypercard for mobile apps.

If you want to learn more, check out the repo:

[https://github.com/mozilla/appmaker](https://github.com/mozilla/appmaker)

or the vision stub / wiki:

[https://github.com/mozilla/appmaker-
words/wiki](https://github.com/mozilla/appmaker-words/wiki)

------
bmelton
Since nobody can seem to figure it out -- As near as I can tell, this is a
not-quite-fully working app-maker demo, that 'publishes' to static HTML and
Javascript files hosted on Amazon S3.

The gamified GUI is a little bit confusing, and you end up with a resulting
'app' (that sometimes takes a few reloads to work, oddly) with an Install
button that doesn't seem to do anything yet -- but which I suspect will be a
link to save 'as an app' icon to your mobile phone's homescreens.

It's not fully baked, at the moment, and it appears that some of the widgets
aren't loading, but it's definitely a neat proof of concept, that was either
leaked early, or is for some reason swamped under load, or something.

~~~
davidascher
Yup, thanks for jumping in, that's a good summary.

------
geuis
Sadly, as it seems to be the comment I leave most these days, it doesn't work
on mobile browsers. At least mobile Safari.

I understand that there are some interfaces that aren't meant for mobile.
There are some that aren't meant for desktop. But at a minimum, you have to
make some small effort to give a message to those visiting from unsupported
platforms. It shows that you care.

If it doesn't seem like you care about the experience I'm having with your
product then I have no motivation to go back and try it again.

~~~
davidascher
We care, we really do -- just haven't gotten around to that part yet!

Filed as
[https://github.com/mozilla/appmaker/issues/387](https://github.com/mozilla/appmaker/issues/387),
thanks.

We're actually very interested in mobile browsers, so much so that in fact
we've got plans (with no code to back them up yet) to let people author apps
wholly on a phone.

~~~
geuis
Please! Resubmit a link when the mobile version is ready. Again, I don't care
if it works or not. All I'm saying is that since we're all browsers at some
level we support basic html. Just put a notice it ain't ready for mobile and
that's good enough.

------
leokun
I couldn't figure out the Cat.random thing. I'm pretty sure I could code a
Firefox mobile app from scratch, but that UI is confusing, though pretty.

~~~
devd
There is a widget called as randomcat... took some time to figure it out.

~~~
erid
I can only see the suggested widgets, I'm guessing the rest of the widgets
must be somewhere else... (Chrome v29)

P.S. I was able to get random cats by using a button and a flickr though, it
didn't work either.

------
abrichr
It hangs on the "Loading" animation to the left of the screen. Chrome
30.0.1599.69 m, Win8x64.

Console output:

    
    
        Unexpected identifier in definition of component "app-image-gallery". ceci.js:502
        SyntaxError: Unexpected identifier
            at Window.Function (<anonymous>)
            at Ceci.processComponent (http://appmaker.mozillalabs.com/vendor/ceci/ceci.js:497:19)
            at Array.forEach (native)
            at processComponents (http://appmaker.mozillalabs.com/vendor/ceci/ceci.js:541:16)
            at XMLHttpRequest.xhr.onload (http://appmaker.mozillalabs.com/vendor/ceci/ceci.js:573:15) ceci.js:503
        Uncaught SyntaxError: Unexpected identifier in definition of component "app-image-gallery". ceci.js:497

~~~
gavinpc
I got the same thing when cookies were blocked. Try with cookies enabled (if
yours weren't). Worked for me.

(Of course, if you routinely browse without cookies, you'd probably guess this
quickly.)

------
hardwaresofton
Maybe change the icon (think it's still using the default express icon), and
the drag/drop doesn't work for me:

Google Chrome 30.0.1599.66 (Official Build 225456) OS Linux Blink 537.36
(@158213) JavaScript V8 3.20.17.13

~~~
davidascher
Filed:
[https://github.com/mozilla/appmaker/issues/389](https://github.com/mozilla/appmaker/issues/389)

~~~
hardwaresofton
Thanks a bunch, I kept dragging and dropping, thinking I was doing something
collosally wrong

------
yesimahuman
As someone that makes tools like this for a living (Codiqa and Jetstrap), and
I have to say it's quite well done. Nice work, and I'm sure the bugs will get
ironed out.

~~~
davidascher
Thanks, that's very kind!

------
sejje
This entire experience was quite opague. I can't figure out if it's a game or
some GUI for basic apps or what.

I lost interest fairly quickly, and half of the components seemed broken.

~~~
bmoskowitz
Yeah, not yet ready for primetime. This hasn't launched yet, and won't for a
while. But you can look under the hood:

[https://github.com/mozilla/appmaker](https://github.com/mozilla/appmaker)

and check out where we're intending to go:

[https://github.com/mozilla/appmaker-
words/wiki](https://github.com/mozilla/appmaker-words/wiki)

------
glesica
Doesn't seem to work in Chromium... I just get a "loading" message in the bar
on the left side.

~~~
null_ptr
Firefox too, probably not browser-specific.

------
arnley
I could publish a very simple app, but I'm not sure where I can "install" it?
Mobile Firefox maybe? Anyway, pretty neat visuals but a bit of lack of
documentation right now. But I assume it's not yet ready to use as they did
not communicate on this right now.

~~~
devd
Yes Firefox mobile. Tools -> Apps lists all apps

------
hayksaakian
Interesting. What I'd like is a chrome packaged app to Firefox app porting
guide.

That'd seal the deal for me.

------
MarcScott
The tutorial crashed for me, but after a refresh I made an app that took a
photo and stored it in a gallery. There seems to be a lack of useful widgets,
and few ways to customise them. It certainly has potential though, and I'll be
showing some of my students on Monday

------
ricksta
Looks neat, However, the widgets are not loading for me.

~~~
quink
Ditto, using Chrome 30. Going to try Firefox, then will see if it's some HTTP
request not working.

Edit: Working in Chrome now.

~~~
gcb1
with webkit here it did not load on the tutorial but loaded when i quit it.

------
Schwolop
Did I miss something? Is there no way to get any of these components'
broadcast channels to GET/POST to an API? Or their input channels to accept an
HTTP input? I couldn't see this on the roadmap and it seems like such a no
brainer that I then figured it was already baked in and I just couldn't find
the GUI element to trigger it. Now I'm confused.

If such a thing were added I would use this every single time I end up making
a crappy little html webpage to drive something. I've lost count of the number
of these I've made.

------
devd
Cool - Created a simple app and pushed the app to Firefox on Android

------
isnotchicago
Using Chrome 30 on OS X, I am getting the following error when trying to play
the video:

"[blocked] The page at
[https://appmaker.mozillalabs.com/](https://appmaker.mozillalabs.com/) ran
insecure content from
[http://www.youtube.com/embed/RaRIdLgZTPI?autoplay=1."](http://www.youtube.com/embed/RaRIdLgZTPI?autoplay=1.")

------
netghost
I assume it's not quite done. I liked the channels for publishing things, lots
of little rough edges, but it seems like a neat idea in general.

------
hiyou102
This reminds me a lot of Android App Inventor. The main difference is that app
inventor is a bit more advanced programming wise.

~~~
davidascher
Indeed, we're inspired by AppInventor. We're aiming at higher level components
and a more simplistic model.

------
michaelpinto
I look at something half baked like this and my first thought is "I wish Steve
Jobs didn't kill HyperCard"

------
shn
I liked the idea of channels with colors and connecting components with it.
Although it is primitive as it is, if it evolves it can be used as a great
mock-up tool at the least. It is mistake to consider it for people who program
for a living. Let's not shoot down ideas/concepts/proof of concepts.

------
Gravityloss
It's clearly being built right now. I get different pages at different times.

------
fununclebob
This is what I see as soon as the page opens:
[http://i.imgur.com/XQlQfXl.jpg?1](http://i.imgur.com/XQlQfXl.jpg?1)

Note that it's hard to read the white text in the foreground.

------
nathanathan
I really like the concept of building apps out of widgets connected by
broadcast events. It reminds me of meemoo
([http://meemoo.org/](http://meemoo.org/)).

------
devd
nice Signals/Slot mechanism, similar to Qt. The color of the line needs to be
matched to connect a signal to a slot. Customization of signals/slots seems to
be not supported atm.

~~~
bmoskowitz
That's right—and the priority is to let people with little or no progamming
experience make their own mobile apps. Think Hypercard.

We're shipping a bunch of starter components to begin. In the future, we're
looking at opening to contributors to submit their own components. We may have
some advanced component editing at some point in the future, but the priority
is a delightful experience for people who don't know how to code.

------
jackmaney
As the kids say nowadays: what is this, I don't even...

------
pearjuice
So how long does it take before the widgets are loaded?

------
uxwtf
Tried it out, one star rating does not work for me.

------
ilaksh
I think this should be the normal way that devs build apps. There just needs
to be a good and easy way to author components.

------
xdd
I accidentally invented iphone mark 55

