Aug 20 AT 2:17 PM Clark Wimberly 47 Comments

Building a Twitter client with Google App Inventor

A couple days ago (and again yesterday, it seems) Google started sending out rounds of invites for its new App Inventor beta. Google App Inventor is a web-based, drag-and-drop Android application building tool.

Using App Inventor for Android you can easily develop in real-time on a live device (as you build the app it is rendered live on screen). Making changes in the designer or blocks editor (more on those in a bit) instantly updates your device, ready to test.

Before you get started, there is a minor amount of setup (including installing some App Inventor helper software on your machine) but the process seemed fairly simple. There is also a great selection of tutorials up already, featuring complete instructions to build numerous different apps.

blocks editor

the blocks editor

How App Inventor Works

I cover most of this in the video, but for the skimmers I thought I’d quickly try to sum it up in writing. App Inventor is composed of two basic pieces: the designer window and the block editor. The design page is where you actually construct the interface, name elements, etc. The blocks editor is much more fun, featuring a drag-and-drop building block style for creating functions (making your app actually do something).

As you build and edit in the designer, the blocks editor will automatically update, adding new blocks and functions. The blocks are clearly and logically labeled, making building with them a breeze.

Let’s get building!

The recording ended up running a bit longer than YouTube allows (about 20 minutes total) so I had to split the file in two. You can find both parts below or click over to Vimeo to watch the whole thing.

The Aftermath

While tinkering with App Inventor has been a blast, it’s also been bring back weird flashbacks of building horrible WYSIWYG pages with Geocities. In a way, I’ve highly enjoyed it. That feeling you get when you make something work for the first time, even if completely assisted by a 3rd party, is something worth experiencing. On the flip side, I worry about every yahoo online releasing a flood of fart apps and soundboards.

For the time being, App Inventor apps aren’t allow in the Market. You can’t even set a custom icon. Given those two facts, I’d assume for the time being that we are safe from an all-out, mediocre app assault. But we want to hear what you guys think.

As a learning tool I think it is top notch and I’ve already seen numerous people on the mailing list claim that App Inventor spurred them into learning real development techniques, which I think is totally great. See you guys in the Market!

Clark is a developer living in Austin, Texas. He runs ClarkLab, a small web firm with his wife, Angie. He's a big fan of usability, standards, and clean design.

    Most Tweeted This Week

  • http://Website Nick

    Great videos! Now if Google would just send me my invitation I could start making an RSS app for

    • Clark Wimberly

      Bust out some Legos and get in some practice while you wait

      • http://Website Nick

        I actually got some Legos for my birthday last month!

        Wondering if you’re planning on doing a second tutorial to show how to tweak the UI and make the app a lot more visually appealing. Looks like you can add BG images and use actually images for buttons.

        I have an idea of what my first app will look like, just hope the tools will be able to make the design I am envisioning.

        • Clark Wimberly

          I’m actually thinking about building and releasing a set of graphics that people can download and use in their personal projects. Something like a bunch of buttons and some backgrounds in varying sizes and colors. Only thing I worry about is how well App Inventor will handle graphics and varying resolutions. I’m particularly picky about my pixel-perfect PNGs, haha.

  • David Shellabarger

    I got my invite a couple of days ago and played with it some. Its very restrictive but it sames like it would be very good for introducing people to programming in an educational setting.

    I haven’t tried downloading the apk from my phone and unzipping it to see if I can derive any useful code from it. There is an app that removes the obfuscation from the layout xml files for instance.

    Maybe google well improve the layout creator in eclipse for us devs.

  • http://Website Tim

    ” it’s also been bring back weird flashbacks of building horrible WYSIWYG pages with Geocities. In a way, I’ve highly enjoyed it. That feeling you get when you make something work for the first time, even if completely assisted by a 3rd party” <====ME!

    Im definitly a 3rd party houligan!!!!

  • PixelSlave

    Even though I love my Droid, and I would definitely stay in the AndroidLand, comparing the App Inventor or Eclipse’s development tool with Microsoft’s tools for mobile development, we are like living in stone age.

  • Ricky Spears

    Great demo! Thanks for sharing it!

    I’m a developer but haven’t used Java in many years and didn’t much with it back then, so I’ve been brushing up on that. For new developers, it might be helpful if some people showed how to create an app in App Inventor and then how to create the same app directly in Java. It might help some people see connections and understand objects a little better.

    • Angel

      Great idea!

  • http://Website Chad

    I was planning on going to college to become a software engineer but programs like this one discourages me because it’s likely that there will be too many software engineers in the future.

    • http://Website Clark

      Then aspire to be the one building programs like this.

    • http://Website Irfan Samuel

      I used to code but not now and using the app inventor. Its no way near to what you can do with coding knowledge.

      Its good for casual/personal programs. Like I’ve designed an alarm app with custom voices for my friend :)

      • http://Website Kruiser

        I would hope that there would be the capability to call code that you want to utilize that goes beyond the capability of the tool itself. Given that, the tool could be a quick easy way to build a framework, and for the coding gurus, they could extend it to do what they want with their coding knowledge.

        Anyone know if this may be the case with this tool?

  • http://Website Gregs

    The tool is good for creating basic apps and seeing how it all works. But it is not a substitution for real app development with the SDK. you can download the AppInventor source but it wont import it into eclipse. at this time the components are limited but you can create an app in a day.

  • Adam Clark

    first video is 9 mins and second video is 11 mins and 4 seconds.

    you can’t edit out at least 4 seconds?

    • http://Website Clark

      I could have but considering the limit is 15 mins I’m not sure what difference it would’ve made.

  • http://Website Irfan Samuel

    the file size is considerably large. my basic alarm app was ~1.5 MB.

    whats the file size of your app Clark?

    • Clark Wimberly

      Basic apps with no assets and little function usually weigh in over 1mb, so yeah, its not looking super-efficient.

  • keridel

    i have been wanting to make a twitter app where it sends an automatic tweet when i reach my house. this is a great starting point thanks :) just need to figure out the gps side of it.

    • http://Website THE STIG

      I think you can already do this with the app Tasker, at least I’ve read someone set it up as to where it would send a text message when the person got home. Perhaps you can customize it so it sends from your twitter app.

  • Nabeel Ahmed

    I am not a good developer but what if a user presses the “Tweet” button before logging in. Shouldn’t It should show notification to login.

    • Clark Wimberly

      If you hit tweet you get an error popular alerting that the user isn’t logged in. To fix it you could just repeat the steps I used to disable/enable the status textbox.

  • Scott

    Is there a way to break down built apps or extract code to reassemble into an actual app?

  • Jeice

    Does this mean I can finally build myself a app?

  • http://Website Lithium98

    I’m determined to learn how to use this once I get an invite so I can eventually learn (the proper way) how to make an app for (blogging site). Our community is in dire need of an app and the moderators aren’t working on anything, so I’m taking the initiative. It’s so sad, the site doesn’t even have a mobile version. It’s a pain to even try and to navigate the site with any android browsers.

  • http://Website Jeroen

    Still waiting for an invite :(

    Can’t wait to play around with this, seems like good fun.

    I would really like to make an rss app, would that be possible with AppInventor? Not just a one feed app, but allowing the user to input multiple feeds?

    Also, are you limited to 1 screen at the moment or can you use multiple pages and/or tabs?

    Thanks for the video, gives some nice insight to those still waiting ;)

  • http://Website Platoon

    Frustrating for a developer – and for the consumer as well on a long term. Because the hours invested to actually code good apps does no longer seem to pay out with these kind of tools.

    It’s a natural progression that these tools are replacing developers on this particular market segment. As mentioned above, write a software like “google app inventor”, but quality will suffer and the community of skilled coders will go where the money is, because it’s our daily bred.

    this wasnt a clever move from google as far as i concern.

    • http://Website Jeroen

      A bunch of drama if you ask me. One only needs to take a look in the Market to see the countless terrible hand-coded apps to realize that hand coding does not equal better apps.

      Has the arrival of WYSIWYG editors diminished the need for actual trained and professional web developers? No, it has not. It won’t differ much with mobile apps.

      Editors like appinventor will never reach the same amount of flexibility hand coding will provide. So there will always be a need for good coders. This however will provide good fun for those who would like to make their own apps. Heck, it may even entice some people to take it a step further and start learning to code.

  • http://Website mark

    Really fantastic introduction for people just coming to the world of programming. I would imagine it could prove really useful in an educational setting or for roughing out ideas as part of discussion around apps that may be considered for development. I would imagine that over time more blocks will become available too which may allow for small operations to create small, organisation specific apps that are not viable for commercial development.

    On a personal level I received the invite yesterday and jumped in to play. really liked the block editor and the potential inherent in it. The only issue I have for further enjoyment is the need to install HTC Sync in order to get my device playing nice with the AppInventor. For some reason HTC Sync has always caused real issues with my laptop and causes all kinds of slow downs and issues, meaning I had to uninstall it. Does the emulator shown in the video come with the SDK or is it available elsewhere, so that I can carry on playing. Otherwise, does anyone know where I can get hold of the required HTC Desire drivers without installing the HTC Sync bloat on my laptop? I can see myself wasting hours on end if I can resolve these issues.

    • http://Website Mark

      Actually, ignore that … the required drivers are on the phone after uninstalling HTC Sync from my laptop, so all working fine. Now to hit the tutorials ;).

  • Manuel

    Nice tutorial. :)
    Any infos on OAuth login via App Inventor? Don’t think this app would still work next week. ;)

  • http://Website Alasdair Lumsden

    Great video, love it. Showing the simplicity and usefulness of App Inventor. I hope this becomes a series, hint hint. I searched google for app inventor stuff and found this. I am so pleased I did.

  • http://Website Naman

    Great tutorial clark..
    I want to ask that is there way in this application that we can also extract the timeline of the user which is logging on ? And does this application comes under the Domain of REST Client Application ?

  • http://Website cadupper

    I followed step by step the first part of the guide but when tested the login is “twitter login failed. Please try again. What can be?
    I read this topic ( can be a problem with twitter?

    • http://Website Naman

      hi cadupper I was also facing the same problem. Have u found solution to this problem of failed login ? Plz let me know.. thanks

  • Richard Bashara

    Hello! Just dropping by to let you know we featured this post in SoftCity’s roundup on application development. Thanks for the great info and links!

  • http://Website 404Error

    What a great tutorial and literally one of the only google app inventor tutorials (besides the google ones) I have found on the net.

    I have zero android coding experience and just as a hobby, i have been tinkering with android slowly learning as i go using the sparse source examples for simple apps i could find. This was a great watch.

    Any way you can do something with RSS next? Maybe a simple one site rss app or widget?

  • Reply SMS Hindi

    It allows consumers to create their own applications rather than hope developers create what they need and get it into an app store. Some of those consumers will want to become better at creating apps and make the move to becoming developers.

  • http://Website Ali

    Hi All
    (excuse me, i cant speak and writing english very well)
    In appinventor wehn i add twitter component, in Codeblock i found twitter. but when i select it. it doesnt have “Twitter.Login”.
    i Need personal twitter client
    please help me
    Are you have this project for download?

  • http://Website ScottT

    Ya, I can’t seem to find call twitter1.login.

    Must have either upgraded the process and removed it due to a bug.

    Great tutorial though!

  • http://Website Samuel

    Now, there is an actual component for Twitter on App inventor, so this tutorial could do with an update :)

  • Pankaj Bhambhani

    Yes, the Twitter Component has changed and now redirects the User instead of asking Username and Password.

    Can you please update your tutorial accordingly.

    I am having problems since I dont know Twiitter 4J library and I am facing this exception

    401 Twiiter error: Authentication Credentials are missing or incorrect

  • http://Website Russell

    I am wondering the same as above, the twitter thing has changed to use OAuth

    I already got my API Key

  • Dips

    I have created An Twitter App in android, I want to include SignOut Function in it,but not able to do it.can anybody help me..

  • Charles Kerr

    How can i use an emulator with the app inventor so that i can test it out as i go along/make changes? How could i do it so it works how you did it in the video?