views:

306

answers:

8

Google Labs will be rolling out something called Google App Inventor (for Android). CNet says:

"To use App Inventor, you do not need to be a developer. App Inventor requires NO programming knowledge. This is because instead of writing code, you visually design the way the app looks and use blocks to specify the app's behavior," the Google project description states.

I sense a big, big development here. This is big. The Android platform is really gaining ground on a big range of devices: phones/pda's, netbooks, tablet pc's and embedded systems.

The underlying Android SDK is a well-written framework, but only a reasonable java-programmer has the knowledge to use the components to build a proposed piece of software.

I spoke a lot of people about the android platform. A phone with Android is not a phone. It's a device with wireless and 3G internet capabilities, bluetooth capabilities, a camera, a speaker, a microphone, a touchscreen, a motion sensor and a GPS receiver. These components can be combined in endless ways, the sky is the limit.

Until now, you would need to hire a Java programmer to build that 'genius app' for you.

But now, everyone and his sister will be building them, publishing them, and improving them.

Don't you think this is going to be big?

+3  A: 

No, I don't think that it is going to be big. Not really.

It's not going to be nearly as big as the hype, which will fade. There have been dozens and dozens of programs that have tried to make it possible for non-programmers to create applications. They have all dramatically under-delivered, and even though I respect the heck out of Google, there is no special reason to think that they have solved the intransigent problem of programming being hard.

Also, it is important to remember that Google LOVES to release products that are still immature and requiring significant polish. They also kill under-performing products without any sentimentality. This looks tyo me like a classic Google trial balloon app. Don't be surprised or heart-broken if it suddenly disappears with no fafare.

Adam Crossland
Labview and Simulink are very good, and rather popular in their nice markets. The main problem is that they are both incredibly expensive. I haven't used App Inventor, so I'm not sure if it can offer the same capabilities.
Adam Shiemke
The quality of the produced applications is of course a factor of two things: The tool, and how people use it. Before using App Inventor, I want to see where the 'boundaries' of the tool are. Does this tool allow me to continue my work in Eclipse using the Android SDK? If it does, I'm sold. I want a pragmatic tool to hook things up and define the logic, and I want a precise tool to shave the edges off, so I can fine-tune the app to exactly as I had envisioned.
Symen Timmermans
@Symen: if the code that is generated behind-the-scenes is relatively clean and modular, it may boost the productivity of people who could do the work already anyway. However, Fred Brooks made an extremely compelling case in No Silver Bullet that there is no langauge, framework or tool that can increase programmer productivity by a factor of 10. Likewise, I would argue, you can't make a non-programmer a tenth as productive as a programmer, and at that point, the usefulness of a tool that tries to do that drops off sharply.
Adam Crossland
@Symen, if you are a competent programmer, I'm not sure I see why having a bunch of puzzle piece widgets flying around is going to "shave the edges off" better than solid programming practices and perhaps unit tests, etc.
BobbyShaftoe
@BobbyShaftoe: I meant using Eclipse/android SDK to shave things off. But you are absolutely right - I mean, I would not consider using Inventor as a crafting tool if a company is paying me. They deserve well-thought out designs for ensuring accuracy and dependability.I am really talking about non-programmers OR programmers who do such projects in free time - like I also sometimes try.Like the internet is turning from company-generated content into community-/individual-generated content, the tools on peoples devices could become community-/individual-generated with this Google-product.
Symen Timmermans
A: 

I think that this could be problematic... I mean even seasoned java developers are creating apps that interfere with the main thing that the platform is there for ... the users phone.

App inventor might be useful for games, but do you really think that it can be used to create media player apps, security apps, etc?

ekawas
The media components in App Inventor are: ImagePicker, Player, Sound, VideoPlayer. The documentation is on Google's site.I don't think security apps are really relevant, because ideally, security is something that should be implemented at OS level.
Symen Timmermans
+3  A: 

I take issue with the statement that developing a program will require "NO programming knowledge". This is bordering on marchitecture.

So-called "programming knowledge" is more than just being able to remember syntax and string together text that can be compiled into something a machine can execute. It requires problem solving skills, the ability to develop and analyze algorithms, wrangle with complexity, modularization, so on and so on. These are essential skills of a programmer more so than the ability to recall syntax.

If anything this may make simple programming tasks more approachable to people that have problems understanding/remembering precise syntax, but it will hardly eliminate the need for programming skills. I can see it being useful in an educational environment where the goal is to lower the barrier to entry for understanding programming topics without syntactical nuances getting in the way.

Actually, I would be tempted to use this topic as an interview question and weed out any candidates who claim it allows you to develop a program without any programming knowledge or otherwise level the playing field between programmers and non-programmers.

Joe Holloway
I never claimed it will allow you to write a program - by your definitions - without programming knowledge.I am claiming it will provide creative minds with tools to write programs - by their definition.
Symen Timmermans
+1  A: 

I don't think this is going to be big but I do think that this will open the door for non-programmers to be introduced to programming and possibly increase the supply of programmers after non-programmers get a taste for software design. As other posters have mentioned this has been done before. What makes this different is the popularity of Android. My guess is that this will bring in 3 different types of people:

  1. Business men and women who have an idea for an app and want to avoid hiring a programmer,
  2. Non-developers that are interested in learning how to program and use this as an introduction to the mindset, and
  3. Existing developers that just use this as a means to develop apps faster and easier.

I don't think this will change the way people program though. My guess is that this will only allow you to create basic apps and in order to get into the more complicated stuff you'll need to dive into the code. This will open the door to more "developers" though.

Adam
A: 

General purpose visual programming tools have been attempted and subsequently failed, hard, since the 60s. Possibly even the '50s.

The only ones that have done "okay" - to my knowledge - are ladder logic tools and Labview. They are fairly limited in scope.

So Google App Inventor probably will mean the rise of a few nifty widgets, a slew of "meh" ones, and a long tail of failures. Much like other programs. But I don't think it'll Radically Change The World. I could, of course, be wrong. Google may have gotten with a disruptive idea and has a realistic visual programming model. They have the money and the brain trust to find or happen upon one.

Paul Nathan
Please take the 'reach' of Google (put one link on google.com?) and the speed of penetration of the Android platform into account.
Symen Timmermans
@Symen: it's not the reach of the company, it's the actual feasibility of doing graphical programming, the intrinsic hardness.
Paul Nathan
A: 

This sounds like an advertisement or something. No, I think App Inventor is subset of what MIT's Scratch is and I think this will just be a vehicle to deliver millions of useless porn clips and wallpapers. I found Google's video to be laughable, of all the things, a woman makes a cat wallpaper app that purrs? I think it is very naive to think that this will "democratize programming" or whatever cliches people like Seth Goden are likely to bandy about.

BobbyShaftoe
I can assure you I am in no way affiliated with Google. So no, this is not an advertisement.
Symen Timmermans
+1  A: 

While I think the other answers have got it right that programming is a slowly learned skill that cannot be replaced overnight with a nifty interface, there are a couple of things that may yet make this pretty interesting:

  • Built-in support for interfacing with popular services like twitter, etc..

  • The ability for power-users to do crazy and interesting stuff by stringing together some formulas. Sometimes a power-user with a crude tool can be more in tune with solving real problems than a programmer who is trying to brainstorm an app that will sell. I'm thinking primarily of Excel here, where a business user can learn a powerful mini-language to solve their personal problems, often in ways that are either brilliant or horrifying.

Will it result in tons of crappy apps? Probably. But it will also put pressure on Java developers to up their game and produce better stuff - or get buried in the flood.

allclaws
+1  A: 

There's been exactly one really successful end-user "programming environment" since Basic that I can think of and it's not Visual Basic on Windows or Rexx on the Amiga or even Logo for kids. It's HyperCard.

HyperCard spawned a huge number of people doing stacks for their own needs and for others like I've never seen. There were even commercial programs (even games) written using it as an environment.

So how well does this emulate the things that made HyperCard a success?

  • Well, HyperCard came with new Macs and was reasonably cheap unbundled, App Inventor is free so that's even better.
  • HC had a very simple paradigm that was easy to understand, I've yet to see what the programming environment is like for App Inventor, but it's hopefully not too bad.
  • HC could be hooked to almost anything via various extensions. App Inventor is Java under the covers, I think we can safely say that it is a full powered language with connectivity to everything under the sun.

The biggest problem with Google is that they lack the things Apple is best at, hand holding, packaging, removing layers that might intimidate newcomers, sizzle. You only have to watch (perhaps cringe) through one of Google's I/O conference keynotes and compare it to the slickly produced product rollouts that Apple has done for years to get a sense for how well they can sell things. Selling is not their forte, and that, more than anything else, can temper the adoption of App Inventor even if it's great.

John Munsch
Thank you for a great supplement to my original call for opinions.
Symen Timmermans