David Wolber is a Professor of Computer Science at the University of San Francisco and the author of App Inventor: Create your own Android apps along with Hal Abelson, Ellen Spertus and Liz Looney from the App Inventor team. David teaches App Inventor in his “Computing, Mobile Apps, and the Web” course at USF. The apps created by his students– mostly humanities and business majors with no prior programming experience–have been chronicled in Wired, New York Times, San Francisco Chronicle, Tech Crunch, Fortune.CNN.com, and Yahoo news.
David began teaching App Inventor as part of Google’s 2009 pilot program involving ten universities. In 2010, he received a grant from Google to work with the App Inventor team and authored the advanced tutorials that appear on the App Inventor site.

I’m reading through your draft book and doing the lessons. This is a sweet little program. Nice to be on the edge of it. If you ever teach an online course I would love to know about it.
I have a subscription to lynda.com. You may want to think about approaching them in the future for an App Inventor course.
Thanks for your hard work.
Regards!
Rich
Rich, thanks. I’ve recently become acquainted with lynda.com and they’re great. I’m also doing some O’Reilly videos which should be up soon.
Worked with app inventor to day for the first time. Thanks for your great lessons. Very good, first the take you by the hand and later on you have to do it yourself.
Great great great !!!!!
Jesse Rasmussen
The Nethelands
Jesse, thanks for the kind words and would love to hear what you end up creating.
David –
Absolutely awesome tutorials in function and implementation!
My nine-year-old and I have been going through the tutorials, and we both can follow along easily and understand the logic and reasoning behind the various pieces. Thank you so much for the great work and contribution to the Android and programming communities. Hopefully we’ll have something useful to contribute as well.
For now though, we’re just having fun. My six-year-old is anxious to get in on the action. She wants a horse you can pet that will neigh. And the nine-year-old is anxious to associate incorrect sounds with all sorts of animlas. He wants a much longer baseball quiz too – with players he knows. It has been great fun! Like I said, hopefully we’ll have something useful to contribute eventually.
It’s great to see kids looking at computer programming as fun. Bestselling author Daniel Pink would be excited to know you’ve come up with a way to make computer programming a play-like activity for elementary school kids (and adults).
Thanks again for the excellent work!
Matt & Alex
Thornton, CO
Matt and Alex, thanks for your kind words– they really made my day. I’ve been working hard on tutorials and a book we’re trying to complete, and its really nice to hear my work is helping people. I’ll pass your note to the Googlers on the App Inventor team– we all love to hear about kids having fun and building things (they may try to snatch the kids up as software engineers!)
This is really COOL !!!!
This is what Computing should be all about…the average Joe being able to Program his Computer the way in which it serves him best and not always needing a For-Profit Corporation to dictate his options.
I suggested a similar type of interface to Apple thirty years ago! Alas…I wasn’t a Programmer…LoL
Bob
Hi David,
Love the site, and the tutorials.
Is there any timeframe where we can expect to see appinventor apps being supported for import into eclipse? I’d love to see the source code for some of your apps and use the functionality to experiment with my own stuff in the android sdk/eclipse environment!
Thanks
Phil
Hi Phil and thanks. I don’t believe Java/Android SDK code generation is in the immediate App Inventor plans though it is definitely a point of discussion. For now, the only way to connect to code and the web is through the TinyWebDB component (see my site appinventorapi.com).
Dave
Hi David, sorry I’m slightly confused, why mentioned the TinyWebDB component? How is this benefical? I read over it on your site and don’t see how it relates to my question. It’s a shame you cannot export to eclipse.
How difficulut would it be to write Android, where’s my car for example in java? (assuming you are familiar enough with java!)
Philip! Yea I didn’t follow the “TinyWebDB part” either, but I wasn’t going to say anything. Maybe he meant that even if you could get the generated code for the app, and the code was java, and the code was not crazy looking, and had comments, you still could not get it off the phone as the only mechanism is webDb.
This is what you were asking: wouldn’t it be great to be able to import the code into Eclipse, after saving the java text to, say, the SD card.
It is a natural idea, and I feel confident that it will happen, and I expect that Eclipse (which I know noting about) will adopt an optional AI coding feature: you could view code, or selected portions, as blocks as text.
David,
Thank you for the fantastic site and all of the hard work. I received my invitation for app inventor earlier this week and finally had the chance to install the necessary tools on my computer and HTC Incredible earlier today.
I’m a full time physician with an idea for developing an ap to assist my patients. Before I received the invitation to app inventor I was slowly teaching myself Java and C++ via books and online tutorials.
My question for you is this… Do you think it is wise to “dabble” in multiple programming languages if I am seeking to develop an app as a hobby? I’ll be honest I’m leaning toward the multipronged approach.
Already, there are tricks I’ve learned in C++ (particularly in manipulating the command line) which have been helpful in Java tutorials and for installing the Android SDK.
Or should I just concentrate on one platform at a time. Any thoughts?
Thanks again for the great site.
Hi Dr. Onyelja. I definitely think the programming concepts you learn in one language transfer easily to another. Sometimes early on its good to focus on one language so as to concentrate on those concepts and not get bogged down with syntax and language differences.
I’d love to hear your ideas on app for patients. We are gearing up for final projects and I’m sure my students would be interested.
Dave
Respected sir,
It;s really intersting ,nice ,xlent………………….
amazing………………
so far i is concerned it’s the best tutorial for google apps
I just spent the last 2 hours completing the Basic Tutorials at App Inventor. Not being a programmer hasn’t slowed me a bit, thanks to the wonderful lessons. Just seeing the results play out on the connected phone is enough to get anyone giddy with excitement.
Thanks for your hard work and I look forward for more Tutorials.
Professor Wolber,
I teach an Engineering/Design class to 9th graders in NYC. We focus on the design process, problem solving, and teamwork in the context of a design challenge (i.e. build the slowest parachute, design a home for a post-quake Haiti). I’ve been thinking about doing an app design challenge next term. Do you think ninth graders could develop enough skill with app inventor for groups to design their own apps? How long would it take them to get to this level?
Steve
Hi David,
Thank you very much for your tutorial. I would like to use a Zigbee communication and I have found a USB Zigbee stick with Linux driver. Do you have any tips to send and receive commands and data using App Inventor?
Truly yours,
Remi Jonquieres
Hi David, I am from Honduras in Central america and I am learning about Android programming, I would like to make a variation of “NoTextWhileDriving”, something like “NoCallsWhileDriving” , “Meeting”, “Sleeping” or something, do you know if that is posible from AppInventor, becouse y dont find the options in “PhoneCall1″, I am sorry to bother you, thanks for your time, good job.
Hi David Im independent inventor.Im looking for a costomer license my invention.I just got non provisional number from USPTO.The idea is to simplify and cheaper for the consumer.The main idea, Intercom-to-cell phone communication from a distance.An entry intercom, controller system that uses a regular phone line.A microphone ,speakerand camera allow the intercom to communicate with a cell phone(Apple iphone).You can check what is going on at the place from a cell phone from a distance by calling there and listening in via the microphone,watching via the camera. Intercom (controller) will send SMS or special signal to cell phone in case of an emergency if any signal from security sensor, or other optional devices.
regards Volodymyr Sukhov
Dear Sir,
I have built an app using appinventor for calculating and sharing a person’s carbon footprint on Twitter. I wanted to extend it to Facebook ie. post on Wall with friends. I am unable to proceed on how can I do the same. Could you please help? Is there any tutorial or method to do the same?
Thanks in advance.
- Parashar
Hi Parashar. Unfortunately, there’s no Facebook component. The only way to hook into Facebook from App Inventor is to create an App-Inventor-Compliant API. See my site appinventorapi.com for instructions.
Dave
Dear Sir,
Thanks for sharing the website. I will check it out. If am successful in building one before AI team releases it, I will share it. I am a novice in Python and PHP but will still try it.
An alternative which I was thinking, is there anyway to use Activitystarter to invoke the Facebook app installed on the phone? If you have any thoughts on the same, could you please share.
Thanks,
Parashar
David
I see in the FAQs that they are working on the ability to upload a finished app to the market do you know if that has been resolved?
Your app inventor tutorials are great! It’s like building LEGO again
I did my first app in less than 60 minutes.
I would like to do a multiple choice quiz with 1000+ questions with the wrong answers randomly selected from a pool of categorized answers.
Obviously this can’t easily be done with App Inventor. I’m lazy. I don’t feel like creating 1000+ blocks by hand.
I know the programming language Python, so I’m not afraid to look at some code. Do you have a tutorial on how to get started with writing app source code? Do you recommend any books?
Thank you for creating your tutorials!
Tommy
The QuizMe/MakeQuiz tutorial should convince you that the program you envision does not need to have 1000 blocks. 50 is probably more than enough. The questions and answers could all be data.
I just some days ago found out about app inventor and want to know if it is possible to create a service in app inventor, its an app but it wouldn’t have a screen, interface. like a background application.
Professor Wolber
I really like the text you have written for the app inventor. I am doing a little translation for the text (into chinese) so that I can share your ideas/knowledge with my friends.
I do hope to try build a simple app myself. I hope it can render the forum i visited often into a mobile version. The website does have RSS feeds for different sub-forum. So someone suggests that I can use what they call RSS feed reader. I am not sure what app inventor can do in that. I understand I should first get a template, then fill it with the content generated by RSS feed.
Could u give me a few instructions on where to start (if the app inventor can create something enough just for that purpose)? I am quite amateur in programing but don’t mind trying to learn something new.
I love your tutorials. I have done almost all of them. I am really interested in the Workout app tutorial. Any idea when it will be completed? i think there are some definitions missing. And without pics I am starting to get lost.
this is the one i am talking about:
http://www.appinventor.org/workout-tutorial
My 9yr old daughter just bought a hacked pandigital 7″ tablet for $120. Thanks to you, google, and slatedroid she’ll soon be writing her own apps on it and learning how fun software development can be once you learn the tools. This reminds me of how fun it was to work through the applesoft basic tutorials in the early 80′s when I was in high school and apple liked to share all information about their products. The app inventor environment is going to revolutionize programming and help elementary school kids learn math through play.
I really love APP INVENTOR,
and I think it is the first truly great invention of the century !
Now everybody can program its own software, and it can’t but get better.
I have to criticize one thing though.
How come with APP INVENTOR you can create only executables for android, and not also exectuables for Windows XP, MAC OS, or other OS ?
Could you please suggest me a WINXP alternative to have executables running on a Windows machine ?
Thanks,
Nestor
David,
Great work!! I have been learning from your tutorials. I see your books is listed in Amazon, but not released yet. When will this be out? Also will there be further information for bluetooth integration in the book. I see that components are available, but to-date I do not see any good tutorials (for novice like me). If you have any further insight on this I would appreciate it. Keep up the good work. Best regards,
Dave
Hello David,
I am a grad student taking classes of eclipse and now app inventor and I went to take all of your useful tutorials. I do have a question in regards on how to create a register form or a sign up form once you open the app. The reason I need this is because I need to save users database into tinyDB and then be able to use the telephone numbers stored in it. Can you write a question and be sent out to a specific user once that person is registered with the app?
Thank you very much.
J.
caro professor,
nao sou versado em ingles , por isso escrevo em portugues quero parabeliza-lo por sua criação espero muito poder usa-lo . sempre tive um desejo de programar mas sempre achei obscuro os codigo agora sei que tudo vai ser diferente. Espero em breve lhe enviar um programa feito por mim…rss
continue neste caminho.
I want to design a voice recognition app for android. Where can I get a good tutorial. I want the app to listen and respond if else with a *.wav file
Hi Jimmy. The SpeechRecognizer component is not bad– you’ll find it in the “other stuff” folder. Put an if block within the SpeechRecognizer.AfterGettingText event handler, and if the “result” matches some word you’re looking for, play a sound file.
Hi guys!!! I love Android and so…..I love APPINVENTOR!!
A question: when will be ready the full version of the AppInventor book?
Thanks a lot!!
Cristian
Hi Cristian. Thanks so much! The book just went up in electronic (PDF) form. You can get it at oreilly:
http://oreilly.com/catalog/0636920016632.
It should be on Amazon and in stores soon.
Thanks Prof/ Wolber for this great tool
I love Appinventor, but I’m finding that the Apps once installed on the phone open slowly. Is there a way to speed up load times? I’m finding apps that are about 4mb take about 8 to 10 seconds to load. Once they load, they operate fast..
Hi sir. I’m a recently hired teacher for IT. I’m planning to teach my student about app inventor. You teach me a lot of this sir. Thank you so much. Hope you can visit here in the Philippines.
Great tutorial, thanks! I’ve a question for you professor, a doubt about tinywebdb component: if i use the same app (which uses tinywebdn) on different phone and so the component point to the same db url, how the app recognize the data to pick from db? Are they marked as provenient from different devices so the app knows what to use? So, if on the phone A i save “Kevin” in the “name” tag, and on the phone B i save “John”, which data i will find on the db? Both? Or just John? Sorry for bad explanation, hope it’s understandable… thanks
If you use the same app from two devices, they both will access the same data, unless the program changes the tag during execution. If the programs change the tags to use different tags, they will access different records.
Did you know you can look here:
http://appinvtinywebdb.appspot.com/getvalue
to see the data stored in the database?
Hi, thanks for the tutorials and great teaching. I wanted to make a program that allows me to speak input to text. Saving the text to a google spreadsheet. The text to speech tutorial is nice but is there a tutorial showing the speak to text and saving as a list or output to other google apps or files.
Hi Dana. Sounds cool. There is now a component for using Fusion tables– you might want to use it to store the output. You could also use the new Web component. Unfortunately, I don’t yet have tutorials for these or for speak to text.
Dave
Hello Sir, i’m just read and follow Quiz Me tutorial. At this paragraph
“The problem with the app is that it always increments the currentQuestionIndex variable when the NextButton is clicked. When currentQuestionIndex is already 3 and the user clicks the NextButton, the app changes currentQuestionIndex from 3 to 4, then calls select list item to get the currentQuestionIndexth, or in this case, the 4th item. Since there are only three items in the variable QuestionList, Android complains.
What the app needs to do is ask a question– check a condition– when the NextButton is clicked, and execute different blocks dependending on the answer. One way to ask the question is to ask, “is the variable currentQuestionIndex already 3?” If the answer is yes, you should set currentQuestionIndex back to 0 so the user is taken back to the first question.”
When i use “if test-then do” block my “next” button didn’t work after that, but if i change with “ifelse” block it works just fine.
Can you explain that? are there somethings that i forget? Can you reply to my email please? Thank for your attention sir
Благодарю от души , David Wolber !!!
Я начал изучения программирования с Вашей помощью! Моему энтузиазму нет предела!))
Awesome, fantastic! I followed the course in July, and built a great app already. Due to the discontinuing I switched to Eclipse and the Android SDK, but I hate to do the programming, despite the fact that I’m a programmer for more than 25 years. Regards, Sjaak.