PDA

View Full Version : App Inventor in Action



ErosOlmi
13-07-2010, 21:26
http://www.youtube.com/watch?v=8ADwPLSFeY8&feature=player_embedded

http://appinventor.googlelabs.com/about/

MikeStefanik
13-07-2010, 22:13
I'm sure they're hoping this will do for Android what Visual Basic did for Windows back in the day. It should be interesting to see how it all plays out. Personally, I'm rooting for them (and hoping that Microsoft doesn't bork WP7).

kryton9
13-07-2010, 23:38
It is nice to see something like this from Google. At least we know there are people behind the scenes that realize we are in the 21st century and are offering development tools like this. Hopefully this will start a new trend that never fizzles out!

Thanks for the video and links.

LanceGary
14-07-2010, 01:34
http://www.youtube.com/watch?v=8ADwPLSFeY8&feature=player_embedded

http://appinventor.googlelabs.com/about/



Dumb question. Is the idea very different from (say) Algorithm2? See

http://www.algorithm2.com/

As far as I can see purely visual language have been much less popular than languages in which code is written. I have wondered if there is not some cognitive or algorithmic efficiency in the syntactic approach of code writing compared with pushing and pulling visual components around.

Lance

danbaron
15-07-2010, 10:55
[font=courier new][size=8pt]My initial impression is that it is, "computer candy", designed to get people to use Android.

It reminds me of, "Become a rocket scientist without any brains or formal education. Point and click your way to a well paying and secure job. Jump start your career today!".

Or, "Now, anyone can create a novel without any imagination or ability to write. Design the storyline and the characters, by just moving icons on the screen!".
(You might be able to make something, but no one will mistake it for Shakespeare.)

Someone could also design a simplified version of the English language, using a subset of its vocabulary and grammar. However, the more you restrict the language, the more limited is what can be expressed in it.

Dragging objects on the screen to make a program, reminds me of choosing from a list of pre-constructed paragraphs, to make a document. There are an infinity of possible paragraphs (if the length of a paragraph is not restricted). For anyone who knows how to construct a sentence, it is easier to put sentences together in his head, rather than trying to find an appropriate paragraph from a list. As the complexity of an idea increases, I think, so must the complexity of the method used to express it.

I can't think of a simpler way to express complex computer algorithms, than by constructing a program by combining the words of a particular programming language. I think that always, if you make a program from pre-constructed program "parts", you will be able to express less than if you just write the code. I think that trying to pre-construct every possible combination of a language's words, is much harder (and wasteful and unwieldy) than requiring the user to combine the words himself.

For computer languages, I think the lowest level (of abstraction) is machine language, and, probably the highest level are some of the scripting languages. I think that, theoretically, machine language is the most expressive. The higher level languages sacrifice expressiveness for ease of use. They have many structures and functions that compensate for their lack of expressiveness, which are built using assembler (or maybe C, which is built using assembler). So, the high level languages already do in a more advanced way, what App Inventor and Algorithm2 do, in a more primitive way. I think that always, as the level of abstraction increases, the potential for expression, decreases. So, if the level of abstraction is very high (App Inventor, Algorithm2), so that everyone can use them, then, either what they are able to do will be very limited, or they will become huge, similar to the huge libraries of functions in the high level computer languages.

In other words, let me know when you can numerically solve, the traveling salesman problem, with, "NO programming knowledge".

(These are just my ideas, I didn't write them in blood.)

:oops: :x :twisted:
Dan

LanceGary
15-07-2010, 16:26
I agree with you Dan.

Many years ago I read something about a Law of preservation of complexity. I think trying to make something very simple means that you have to do a great deal if you want to use that something for a complex task. Anyway I suppose the proof of the pudding is in the eating. If it becomes very popular and thousands of apps are built we will be proved wrong.

Lance

kryton9
15-07-2010, 19:19
I think it can be done correctly now that we have so much computing power and higher resolution graphics. Think of them as Program Flow Diagrams with life. You make your Flow Diagram with these modules, then put the appropriate code inside of them. I think it will be very beneficial in visualizing complex huge applications and making the most out of Object Oriented Programming. But there is real coding going on if you want it. This just helps organize, access and visualize it easier. Also you can usually work in the source directly when you want to or if you prefer. At least in some that I have played with.

danbaron
15-07-2010, 21:01
[font=courier new][size=8pt]I'm glad that Lance agrees with me.

I also see what Kent is saying. Don't PowerBasic Forms, EZGUI, FireFly, Real Basic, etc., attempt to do this?

I guess that what struck me about the advertising for App Inventor and Algorithm2, was the impression I got that they were implying you can program without knowing anything about programming, in other words, that you can get something for nothing (Generally, people always want to get something for nothing, yes? Isn't that what "con" men depend on?). I sensed that they were intentionally not telling the whole story. Maybe, in the future you will be able to speak into the computer and describe the program you want, and it will automatically be written for you. But, I think that will only work for simple programs. I don't think you will be able to fully describe a complex computer algorithm to the computer using simple English speech. Or, if you can, it will be more work to do so, than to just write the code; that's what Lance said. Each idea or task has a minimum (floor) level of complexity, below which you cannot go, without corrupting the idea or task. Didn't Einstein say something like, "Everything should be made as simple as possible, but not simpler."? For instance, I don't think anyone will ever be able to fully describe string theory, using only ideas and language that an average five year old can understand.

I think that if there was no limit to how much a particular thing can be simplified, then, even my dogs and cats could become physicists or mathematicians. However, I think that today, advertising often spreads that impression; that there is no limit to simplification, that, everyone can do everything. Nothing requires talent or study. By advertising in that manner, they apparently can attract the largest number of people, and, I think, attracting the largest number of people (who have money), is the fundamental goal of advertising. So, I think that, the fundamental purpose of App Inventor, is to generate profit for Google. And, now I see that Algorithm2 is also a money making venture. I guess I am cynical, but, I think the bottom line is, that the backers of both products, want your money. Additionally, the people in charge of the advertising, may know very little about the capabilities of the products. Isn't that usually the case?

:oops: :P :(
Dan