Veteran tech watcher David Pogue has taken a look at Google's new building-block based development environment for Android, and he's not impressed. The Android App Inventor follows a long line of breakthrough environments that promise to simplify application development to a series of mouse clicks. Unfortunately it seems that …
Permit me to be the first to remind El Reg that it's "LEGO(tm)". As a former coach in the FIRST Robotics world, this was drilled into our heads early on and it's hard to forget.
Not bad, but could do better.
I am in the closed beta at the moment and it is not quite what I was hoping. Working in a school and seeing scratch being used by students all the time, I don't think App Inventor is quite there yet. I am giving it an open mind as it is still in beta. However knowing Google, will stay there for a long time to come.
Program spec fail!
The project is called "HelloPurr". However the button makes a 'meow' sound rather than a 'purr'.
My son would like that...
It looks like Scratch, also from MIT.
That was the first thing that struck me too...and the pussy connection is just too much of a coincidence, surely ?
can the guy read?
It took me about 30 minutes to get the finger painting app up and running following the tutorial, i think its great
""It’s extremely unlikely that a nonprogrammer could actually invent anything with App Inventor without the assistance of a teacher or an experienced friend, or hours poring through the App Inventor message boards""
This was never billed as a product that can turn a non-programmer into a programmer, the limited signups were only open to schools, colleges where guess what, TEACHERS are....
I think you lost the plot somewhere along the line and missed that part of the requirements.
may as well learn java
I got my invite to the beta week before last and spent a couple of hours trying the tutorials and playing around and to be honest I find it easier working in eclipse...
The end of programming?
We've seen it before.
Show my age?
Can anyone remember back in the days of yore when Netscape was name on everyone's lips and a small company called Macromedia made an app called Dream weaver, that created an mental image of weaving your very dreams into the web, and with a real wysiwyg editor it ...... turned out that you needed to know HTML in the first place to make it work well.
in DW you could design stuff that worked fine just using the design view. of course the code could be horrible but its what many of us learned to code complex websites in.
i still use it but mainly in split view with the majority of the screen in code view and a physical representation above (design view) - its still a great workflow tool
Fine so far
I've been using it for the past three weeks and will agree that it isn't a Point and Click tool.
For basic text and button based apps, weight conversion, length conversions its pretty straight forward. Start adding in IF criteria and I can see the average joe scratching their heads. I'm basing this on the general assumption of office workers understanding of Excel, anything more than colouring cells and columns in and they walk away. Mention IF statements or Vlookups and they faint.
Going from this, App inventor will scare anyone away who cant just say make me a game.
But I like it, I can see potential. And if matey boy spent half a day failing to make one app that worked, he's possibly in the wrong job.
Turn motor on. Turn Motor off.
Sounds like the state logic used in some PLC's.
No, more like simplistic robot programming...
... which is probably very close, if not identical to PLC programming.
I should probably fetch my lego(tm) set back and fiddle around with it one of these days, just to have some fun. I tried the 'building block" programming approach with my mindstorm set, but ended up doing what everyone else probably ended up doing- pulling down a proper set of coding tools for it off the 'net and mucking around with it as well.
Reminds me of Scratch, and will probably be useful in a similar way for extending the school curriculum beyond "how to make text bold" - I do like the interlocking blocks concept; helps make things clearer for beginners.
I have to agree with TeamEvil; if Mr Pogue wasn't able to get his head around something like this, then it may reveal more about Mr Pogue than about the platform in question. Just sayin'
I'll know more when (if) I get my invite. :)
Don't be so quick to judge....
I quite often find that when they try to make computers "user friendly", they do so by hiding the underlying logic from the user. However, the end product still requires knowledge of that logic in order to be used efficiently.
The problem is that the guys who program computer programs are computer programmers, and they have a biased concept of what's natural and logical.
The biggest problem with graphical programming interfaces in particular is that rather than make relationships between items more clear, they tend to draw a simple connection and leave it to the user to work out what the connection *means* (see also database schemas in MS SQL Server!).
This is a problem we all faced as spotty undergrads when dealing with arbitrary orders of arguments in C, but by the time we get to develop our own systems, we're so used to it that we forget how much of a problem it was... and still is (incorrect argument order still accounts for a pretty high percentage of code bugs).
The challenge for "layman programming" is to work out a way to make the code logic clear and intuitive, rather than sweeping it under a shiny carpet and saying "ooooh... look at the pretty colours."...
I think really the main point of these kinds of graphical programing environments is to make it look easy and inviting for a novice, not actually to make it easier. And that has some value, there are many people who wouldn't even consider trying something that required writing *gasp* code. But once they're eased into it they might find it's not as hard as they thought.
In a similar way I was impressed by a free utility called AutoHotkey, which at first appears to be a simple macro system, but when I was on their forums I regularly saw newbies discovering that it wasn't hard to start adding logic and before they knew it they'd have a nice little script to help with some task or other.
Maybe this says more about Pogue ...
than it does the Google Application.
There have, over computing history, been several iterations of D-I-Y programming with varying levels of success.
Just because one guy can't hack it doesn't mean to say others won't succeed. One thing is for sure, it is a damned neat way to interest people in Android than Job's sterile walled yard.
looking forward to it
waiting for my beta enrollment - and looking forward to access to this tool. should be interesting - currently doing Android development on a MacOSX system with the SDK and Eclipse....
there have been 4GL (4th generation language) environments for a looong time. The first i read about was advertised in the early 1980s. Three problems they tend to have:
1) non-programmers don't tend to thibk things through logically. So, the 4gl tool may simplify things, but when it comes time to make some state diagram, or feed building blocks together, or whatever, they're still lost.
2) programmers want to see the underlying code. Which tends to be a mess.
3) flexibility. If one wants to do something the 4gl designer didn't envision, the non-programmer (or someone just using the 4gl environment) probably can't do it at all. And the programmer -- see point 2. They are digging into messy messy code to get things done.
i don't think point 2 will *have* to be true forever, an envrionment some day could make nice code. So far i haven't seen it though.
Dumbed down programming...
...produces dumbed down programs.
When you take an otherwise complex process, and you try to simplify things down to the point that any layman can understand, you get schlock software that doesn't work.
All the good programming practices we've learned go out the window, forget about maintenance, making sense of the mess for bugfixes and the likelyhood of updates vanish since if the "programmer" didn't want to go to the trouble of even learning a pretend programming language, what makes you think they're going to bother actually improving their original mess?
You've heard about "make something idiot proof, and someone will find a better idiot", heck, this just INVITES idiots.
Reminds me of RPGMaker
Years ago I used two of the programs in the RPGMaker series - '95 and 2k. They both involved this sort of point-and-click 'programming.' This style of programming is counter-productive - sure you can create complex systems, but it requires so much extra work compared to the alternative.
And if this development kit allows one to work on things in an actual programming language, I see things quickly spiraling out of control as either you're not allowed to go back to graphical programming from that point, or the codebase becomes a giant mess.
I've had my fun, so that's alright.
I have had an account for a few days, but haven't played enough owing to work commitments. Considering the massive interest that my lightly customised "hellopurr" generates and the popularity of "soundboards" in the market, I think it will has the potential to be a massive driver of Android takeup.
This assignment should have been given to someone with at least a fractional clue index - it isn't a vehicle for the "killer app" to get to market or a programming environment for idiots. A serious mobile app will almost inevitably depend on server-side programming anyway. However, any schoolkid with the desire and half a brain can use it to develop their own custom screenful of taunts, fart noises or whatever and as such the platform will introduce all sorts of programming concepts - also as a sketchpad for someone exploring the platform it is plain good fun.
Good but certainly not for non-programmers
I like App Inventor but you certainly need to have a vague idea about programming. You still need to think about variables, counters, loops, functions, objects and attributes. The blocks just save you typing.
Getting the environment set up isn't exactly easy either. Most non-programmers will fall over at the first mention of SDK.
It's an introduction to programming not a replacement for it.
I think this seems like a useful for tool for new programmers and programmers that are new to the platform/language its always good to see how the language developers intend their language to be used by looking at best practice code blocks, other than that hard core programmers will find something a little less restrictive over time
Development isn't for eveeryone
Development on any platform just isn't going to work "For the masses".
It might be a good lead-in to a career into dev, if you pick it up at school (as mentioned above) but most GUI based editors are quite limiting and really only give you a foundation into a language. IE they might be a good way of learning the code base, but you'll rarely ever produce an application that has a 'magical' user experience with one.
Could be a training tool tho.
Showing my age too...
Two words... Amiga Vision. Entirely drag and drop, used the flow-chart paradigm with screen and window WYSIWYG GUI. I personally used it to create a Video Store Kiosk on an Amiga 600 with a 50 MB (yes 50 Mega Byte) hard disc. The app had a database to track movie titles, genres, directors, stars, and the picture of the VHS box, it used a light-pen for the interface, had an on-screen qwerty keyboard, and a rolling attract mode that featured the current weeks new-releases and in-store specials, all with sound and animation. Total development time for that project was just over a week.
4GLs don't have code
As an early adopter of 4GLs in 1983... 4GLs don't generate code - they are data structures that are interpreted at run time. Code generators are simply that - code generators. 4GLs still exist and are ideal for the kind of RAD espoused by proponents of iterative software development. Checkout www.revsoft.co.uk for a Windows based 4GL with a 27 year pedigree....