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 =).
"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.
I'm your target market. Apart from my tech company, where I'm definitely not the technical founder, I also own a consulting company and construction firm. I've been patching together solutions with excel, trello, google calendar, etc, and this is exactly what i need.
Get it working, I always need tools customized to a particular task that a simple app would solve.
That's fast, nice! I wonder if you could "anonymize" the phone, which looks too much like an Apple device for my taste. I think Mozilla has always shown the right direction for net neutrality, and trademark neturality is also important in my mind.
LOL, yes, this is exactly what I did. It felt like I wasn't supposed to be seeing what I was seeing, like the software was some kind of funny inside joke at Mozilla or something.
All I could think after that was - Is Random Cat funny? Is this something I should know as a developer? Am I out of some loop?
At any rate, it was so odd I just decided not to do anything else, and left. I think they goofed here, but once it's fixed, I'm sure people will go back.
That being said, it does go down as possibly the biggest tutorial fail I've seen to date - and I'm a little shocked given the source.
There is a GREAT lesson to be learned from this - and that's probably that leaving strange humor out of sign-up processes and tutorials is a good idea. I've seen other sign-ups that try to be "funny" and it just throws me off.
Agreed. Reminds me of a joke at the end of Django tutorial:
The tutorial ends here for the time being. Future installments of the tutorial will cover:
* Advanced form processing
* Using the RSS framework
* Using the cache framework
* Using the comments framework
* Advanced admin features: Permissions
I get it now. It now seems kinda funny. But when I was new to Django, I thought it was serious. I used to visit the page once in a while to check if new tutorials have been added yet. Fortunately, 1.4 was the last version which included this "joke".
Looks like a bug. I tried it out and it had a component called 'randomcat' on that part. It was just as straightforward as the button. But I just tried it again to take a screenshot to show you, and it didn't come up.
It's like that Simon Says game. You have to complete all the previous steps plus the current one in order to progress to the randomcatfireworksratingsplosionbutton final stage, at which point you are deemed worthy of conquering the app store. If only I could get some kind of Mozilla Appmaker certification badge...
True, but most of all we value working in the open so that we can both do user testing and find people who might want to contribute. In my book our mistake was not to prioritze issues 306 and 386 until we showed up on HN. Oh well!
Can I suggest not using alpha/beta - they are labels used to indicate the state of a proprietary project - how "polished" it is - whereas you are continuously exploring. if you must I suggest using a target audience - contributors, early adopters. etc etc
- 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).
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.
1. The color flow as a broadcast-reception link is an interesting idea but not immediately intuitive. Once I figure out what it was for, I managed to blaze through it fairly quickly.
2. Broadcast trigger actions need to be clearer. For instance, I know there a trigger for the randomcat but the fact that clicking the random cat is the trigger isn't all that intuitive.
3. Make chaining triggers a thing? I know it's not as easy as it seems but some combinations do lend themselves to chained triggers. For instance, I wanted to emit the random cat to the chat room with each text (as a test) but there was no way to chain triggers.
4. Publishing the app seems to lose the custom name assigned to form buttons. The app I posted above should say "Clear Chat" where it says submit.
5. Allow me to save my apps under a custom name? And publish the changes to the same app after Edit? Not sure about the latter - haven't tried it yet.
Overall, it is a brilliant achievement for something that is pre-alpha or pre-pre-alpha! I'd like to see where this leads!
I am now heading back to construct a simple clicker game. Wish me luck! :D
EDIT: Both Chrome & Firefox seem to throw errors about a few js files (primarily ceci.js & designer.js) in the console while loading the page for the first time. CTRL+F5 solves it. JS caching issue, I'm guessing? :)
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.
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.
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.
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.
It hangs on the "Loading" animation to the left of the screen. Chrome 30.0.1599.69 m, Win8x64.
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
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.
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
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.
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.
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.