Why the hell (Android) App Inventor is ONLY for amateurs / no developers!?

Update Note (March 14, 2012):

Google has discontinued App Inventor on December 31, 2011. Fortunately, it’ll now be maintained and evolved by MIT which has already relaunched it’s new beta version. You can check it at: “http://appinventoredu.mit.edu“.

In a near future, unlike Google’s version, I hope that MIT will let us export the source code of our apps created with App Inventor, and then continue it’s development on an IDE, like a usual Android app.


Original Article:

Today I decided to play a little bit with App Inventor for Android

I already knew that App Inventor has some limitations, for instance, currently it can’t be used to develop multiple screen apps. But that’s ok if your App doesn’t need to use those unavailable features.

I was thinking to try App Inventor and if I’d like it, maybe I could use it to create the base/core of some Apps. Then I’d export those Apps code to continue their development with Eclipse and Android SDK.
In this way I supposed that I’d be able to overcome those App Inventor restrictions, as far as I didn’t need to get my App back to App Inventor again.

So, after setting up my system (Mac + Android phone) I’ve started the first tutorial, Hello Purr. Below you see an App Inventor screen-shot with this tutorial App.

Figure 1: App Inventor - Hello Purr Tutorial

I was quite happy with App Inventor, specially with its Block Editor which is very interesting, specially because we can visually build Apps without writing on line of code! πŸ™‚
It’ll certainly allow some non developers (and not only, I hope) to create their first Apps and it may motivate some of them to go further away and start learning how to program.

Figure 2: App Inventor - Block Editor

Kudos for Google folks by, as they say on the site, having reused the Open Blocks Java library (for creating visual blocks programming languages) distributed by the MIT’s Scheller Teacher Education Program which derives from thesis research by Ricarose Roque.

I’ll not describe blocks here but if you want to know more about it, take a look at the App Inventor Blocks Reference.

This is really great and I think that in a few years, much of the code programming (if we still can call it that, then) will be done with tools like Block Editor.

Now, let’s return to the topic of my post…
After happily hear the meoowww πŸ™‚ of my tutorial cat on my phone, I was already thinking how it would be nice to use App Inventor to start porting our next iPhone App to Android.

But, then in the FAQs I realized that I can’t do it in the way I want, without being limited to the App Inventor features:

Can I develop in App Inventor and export the source code to Eclipse or some other IDE to work on it further?

No, App Inventor does not generate Java source code.”
(from: http://appinventor.googlelabs.com/learn/userfaq.html)

πŸ™

Well, I hope Google will reconsider it…
What do you think?

Do you think Google is right by not allowing the export of those App’s code, targeting App Inventor only to “amateurs” as I called it (with no pejorative intention) to designate non programmers which want to start creating their Apps?

Let me know what you think…

13 Comments

  1. Well, I guess I fall into the category that you speak of. I am a (complete) non-developer with some great ideas for android apps that are not currently to be found in the app store.

    While I guess I could have used a site like http://99designs.com or http://www.freelancer.com/ to hire someone to build these as custom apps it just wouldn’t feel right vis-a-vis my natural geeky can-do personality.

    As a result I’ve been devouring every book I can get my hands on to learn how to code for java. I recently (today) got my invitation to Google App Inventor and look forward to diving in later this evening. If all else fails I suspect I’ll learn something or make a hobby of all of this.

    I agree with you that it would be great for Google App Inventor to re-consider and make the apps produced by the engine compatible with standard java code and IDEs like Netbeans (which I’m also learning). I guess only time will tell!

    Thanks for your blog. I stumbled upon it looking for info on App Inventor and I suspect I’ll be back.

  2. guess google have some hidden code they dont wanna show then^^
    i totaly agree with you by the way. seeing the code would be a good way to learn new stuff too

  3. @Chukwuma Onyeije, M.D., first of all thanks for your comment… except a lot of SPAM comments, it’s the first real comment on this my new blog!
    I think I should have some prize, like an iPod or something for the 1st comment, but I’ve not, sorry! :p However, be WELCOME!! πŸ™‚

    It’s nice to see someone like you, a non-developer, to take action reading books and learning how to program, in order to transform your ideas into real Apps!! Good luck… and if I can help, feel free to comment here or send me an e-mail.

    Hope to see you around, till next time…

  4. @john, except for beginners, I really don’t understand Google’s strategy for App Inventor. Maybe they want to test and improve it before they allow the download of generated code by developers.

  5. @Chukwuma Onyeije, M.D., though Java is/was one of my preferred programming languages and a good language to start with, I think you should also keep an open eye and consider learning HTML5 + CSS3 + JavaScript.

    It also depends on the kind of Apps you intend to do, if you want do do some “complex” games, you should go with native Apps, due to their better performance and integration with the platform where they’ll run.
    But for a lot of other simpler Apps, I think you should consider it!

    I’m planning to use HTML5 + CSS3 + JavaScript for some Apps, since that will allow me to easily “port” and publish my Apps across several different platforms like Android, iOS (iPhone+iPad), BlackBerry and so on…

    Take a look at this nice HTML5 demos from Apple: “http://www.apple.com/html5/“.

    PS: If it wasn’t for mobile development, even only knowing a bit of it, I’d tell you that one of the simpler and best languages for you start learning how to program, is Python! πŸ˜‰

  6. I have read where you can de-compile/unpack the .apk file and get at the sourced files (.manifest, etc). Have you had a look at this way?

    I had a go at writing apps for Android systems in java using Eclipse, etc, and I find the App Inventor is great for getting my ideas into the system to see how they go. I haven’t yet reached the limit of what App Inventor can do, though.

    • Hi Scouris, thanks for sharing that tip with us.
      I haven’t tried that method yet, maybe when I go back to Android development, in this moment I’m more focused on iOS but I hope to turn back to Android in a few months.

      Scouris I’d love that you continue sharing with us, your experience and other impressions about Android App Inventor…
      Ricardo

  7. For more tutorials and sample apps, visit-
    http://www.appinventorblocks.com/

  8. It’s true. I agree with you in 100%.

  9. The real deal-breaker I think is the inability to pre-populate the TinyDB/TinyWebDB widgets. Google offers these supposed database tools but you can’t even do the basic things databases are supposed to do.

    SQL database support would be nice.

    Feel free to share your App Inventor grievances

  10. It would be awesome to have blocks there for coding purposes, where you could enter more code to do more sophisticated stuff.
    AppInventor is a brilliant tool, the best RAD I saw for Android.
    Is it so hard to develop something like this for other programming platforms like .NET or Delphi?
    Everyone is trying so hard to do too much. A RAD based on a common development language like C or pascal would be awesome, and could leave place for improvement in time.
    I agree that java is a great prog language but I personally consider it slow and not applicable to RAD.

  11. Although an Android program could be made accessible by developers
    through their sites, most Android apps have been uploaded and published on the Android
    Market, an online shop dedicated to these applications. The Android Market features both free and priced programs.

    Android programs are written in the Java programming
    language and use Java core libraries. They are first compiled to Dalvik executables to run on the Dalvik virtual machine, and it will be a virtual machine especially created for portable devices.

Leave a Reply

Your email address will not be published.

© 2024 myDevNotes

Theme by Anders NorénUp ↑