7 ms·
App Inventor for Android - Android Software Development for Everyone
- talbina 16y agoThis is going to be huge. From the NYTimes: "A program by a nursing student at Indiana University enabled a phone to send an emergency message or make a call, if someone fell. It used the phone’s accelerometer to sense a fall. If the person did not get up in a short period or press an onscreen button, the program automatically texted or called the person designated to receive the alert. " "For example, one student made a program to inform a selected list of friends, with a short text message, where he was every 15 minutes. The program was created by putting three graphic code blocks together: one block showed the phone’s location sensor, another showed a clock (which he set for 15-minute intervals), and third linked to a simple database on a Web site, listing the selected friends. " http://www.nytimes.com/2010/07/12/technology/12google.html?_r=1&partner=rss&emc=rss http://www.nytimes.com/2010/07/12/technology/12google.html?_...
- sendos 16y agoA program ... enabled a phone to send an emergency message or make a call, if someone fell. It used the phone’s accelerometer to sense a fall. If the person did not get up in a short period or press an onscreen button, the program automatically texted or called the person designated to receive the alert. The text above, quite adequately describes the functionality of the app. If someone gave a programmer the above description, the programmer would have enough information to write the "backend" code for the app and leave the UI and details (like the length of time before sending the text message) to be filled in later. It's sort of a shame that you have this two-sentence sufficient description of the app and then need to spend months to create the code to implement what took you 10 seconds to describe. This question may need its own thread, but I always wondered if there would come a day when you could describe an app like the one above, in English, and a "compiler" would create the program for you, leaving you to decide things like themes, button locations, etc. I call this artificial intern-level-intelligence: You describe the app in English, and the intern (or AI intern) creates the code, and asks questions about details like the theme, the images, the length of time before the program sends the text message, etc. Do you guys think computers will ever get close to artificial intern-level-intelligence?
- rincewind 16y agohttp://en.wikipedia.org/wiki/Rice%27s_theorem http://en.wikipedia.org/wiki/Rice%27s_theorem
- dpcan 16y agoThere's a lot of "cool" happening here, but the alarm clock conversion feature didn't thrill me. It feels very "edge case" given the brilliance of some of the other ideas. The thought that the bottom section of the phone can detach and flip around seems clunky to me. Like someday that piece might get loose and fidget a little, making my phone feel cheap and broken.
- talbina 16y agoI think you are commenting on the wrong thread - probably because this and the other intended android concept thread are both at the top of the front page.
- k7d 16y agoSo is Google now going to have a toy-app contest, like they did originally for real Android apps? Jokes aside, I guess I'm a bit skeptical about these pseudo-developement envirnoments. It's a nice concept to demo but does it realy have any practical applications in real world? I mean, really practical, something that people create not just because they can, but because they need it.
- talbina 16y agoWhat's wrong with creating things just because you can? I remember two decades ago when I used to program using QBASIC as a 6 year old. I didn't need any of the applications I made - but it sure looked like fun. This new Google initiative might not be about general masses, but more aimed at helping children with their creative processes.
- k7d 16y agoI didn't mean it's wrong to create things just because you can. I do it all the time, and learned pretty much everything I know this way. Totally agree it's a great thing for educational purposes, I was just questioning if it can be considered as something more than an educational tool.
- patio11 16y agoThere has been a lot of academic interest in doing something like this for Java, generally with a pitch like "If we took all the scary syntax out of it, programming would be accessible to $GROUP_OF_INTEREST." My personal opinion is that, with the debatable exception of Microsoft Excel, every project along these lines seems to rediscover "Oh yeah, syntax is rather useful for doing non-trivial work" roughly forty five seconds after the conclusion of their most advanced published tech demo.
- k7d 16y agoExactly.
- abhat 16y agoI doubt it, your statement reflects Ignorance. Have you tested for all $GROUP_OF_INTEREST s ? E.g. Chemical Engineers use flowchart based system to design and test plants which has a set of complex programming language associated with it. There isn't any syntax involved as such and serves the purpose really well. You seem to be living in your own small world.
- abhat 16y agoAlso simulink which is part of matlab package is quite successful. It has an underling syntax, but that hasn't led to complete abandonment of the gui. People dont write set of XML (Yuck!) files describing connections between individual components.
- credo 16y agoTrue, but the goal here is not necessarily "make programming more accessible". The goal is "make it possible to create an app with NO programming knowledge". The ability to create "trivial" apps and then run them on your cell phone can be exciting for many people. I think this will increase the appeal of Android as a consumer device. Of course, a big flood of trivial (tool-created) apps in the Android market may reduce some of that appeal, but overall, this seems like a good move by Google. It will be interesting to see if more people buy Android phones because they can now create and run their own apps on their phones
- abhat 16y agoI love this idea! What point of having 100k apps in my marketplace, if it cant run my own? I feel this is the feature that truly differentiates Computers from Other appliances. We can reprogram computers you cant reprogram a toaster. IMHO thats why we need to avoid trap of Smart Phone is just another PSP or Toaster.
- robryan 16y agoI think this is best suited as an entry level tool, then when someone wants to progress to code to do some things they need to make it easy to start. An example of what not to do would be net beans, which allows you to create a drop and drag UI fairly easily but creates a mess of code if you actually want to customise it later.
- antichaos 16y agoCome on, Google. Software development is not for everyone. Making it easy for amateurs to write crappy HelloPurr apps brings no good to the Android eco-system. Focus on building a mobile platform that attracts more professional developers, please.
- bkudria 16y agoBut, it should be! Programming ought to be the new literacy, and the phone, which many already have, is an excellent platform to get started. Sure, their approach might be amazingly ignorant of history, but you can't fault them for trying.
- davidw 16y agoWhat would that statement have looked like 20 years ago? 40? 10? "Come on PHP, web development is not for everyone. Making it easy for amateurs to write crappy dynamic web sites brings no good to the web" And, yeah, PHP has made a lot of crappy things possible. But some of those crappy things go on to become good things, and wouldn't have been possible had it not been so easy to get started.
- rmc 16y agoThere are loads of simple programmes on Android/iPhone that are popular (e.g. Fart apps). Simple apps aren't always bad, sometimes they are just what people want. This tools allows the creation of certain kinds of programmes that people want. This is a good thing.
- roel_v 16y agoSo true. Last weekend I've been hunting for a 1x1 battery status widget. This is (in its basic form) a 'hello world' type of application, so there are maybe 20 or 30 different ones on the app stores. Yet none of them looks good or offers any of the functionality I had on my Palm Treo battery management software. The App Store is a huge dumping ground of all sorts of crappy weekend projects, with a great professional app here and there, but buried among all the thrash. The rating doesn't help, because as soon as people start charging for an app, the bar is raised so much that the only thing commenters and raters do is bitch and complain. I have no idea how to fix this though.
- tf 16y agoAlthough this isn't going to replace programming by any means, I think its a really cool idea to get people interested in app development. Obviously, the next step for them should then be to learn some real programming, but a lot of people are never going to get to that second step if there isn't some easy way for them to build that first app, without any prior experience. This is especially true for younger kids who have a great idea and don't know where to take it.
- duncanwilcox 16y agoThe problem with attracting "developers" with a limited skillset is you're asking for low quality applications. I'm not against the idea, and if this kind of tool attracted people who care deeply about human factors, interaction and graphics design I'd in fact be totally in favor of it. But this doesn't look like much more than Visual Basic or, as Gruber put it, Hypercard.
- dagw 16y agoBut Visual Basic (and VBA) revolutionized the way people used computers and was one the main killer apps on Windows. Most people, given a choice between an ugly app that does exactly what they need and a beautiful app that doesn't do exactly what they need, will choose the ugly app. And what better way to make sure an app does exactly what you need than to write it yourself. Sure Visual Basic programs written by non-programmers are often a monstrosity in every way and most of us no doubt have our share of horror stories. But the point is that most of those monstrous apps actually work and solve a real world problem, and had they sat around and waited for a programmer to come along and solve their problem correctly they'd probably never get their program.
- nadam 16y agoTrivial programming work is extremely cheap nowadays: it is done by hobbyists or students or it is usually outsourced to countries where unfortunately wages are very low. It think there is high supply of people with basic programming knowledge. Creating a system to help creating even very trivial software without programming knowlede is very hard, and I think there is very little economic demand for that. Also creating an application in one of these "software creator packages" can become quite complex. For me it is even harder to create something in them than using a traditional framework and programming environment.
- rmc 16y agoOne advantage of this above, say, outsourced work, is that it allows people who would never programme to programme. These people will then get a nice warm fuzzy feeling of acomplishment when they make a programme to fix their problem. I think spreading feelings of acomplishment is a good thing.
- mdeboard 16y agoSo Google repurposed Scratch. Looks great. I concur with the remarks stating programming ought to be the new literacy. I am a fledgling programmer (just getting my feet wet with Python and Django) but i installed Scratch on my daughter's computer. She's six so a little too young to really get it but she plays around with it from time to time and sadly at times it seems like she's almost on par with my skills with Python. This tool is awesome.
- jsz0 16y agoYou can write an app that periodically texts "missing you" to your loved ones Just remember to disable it if you ever see them in person again. Could get awkward. Anyway, it's nice to see these platforms getting more accessible to non-developers. It's always been off putting to me when learning a language just how difficult it is to get some tangible results. It's a huge uphill battle if you're just approaching it as a hobby or learning experience. Depending how quickly you hit the celling of this platform it could inspire people. I'd like to see some combination of Interface Builder and OSX's Automator on the iPhone platform.
- cyen 16y agoI used it and watched high school students use it for a couple of hours/week over a period of 8 weeks (varying degrees of technical expertise, in an entrepreneurship mentorship program with an end goal of the students building their own apps) and found that while the easy access to phone functions is pretty cool, it's still very limited and clearly aimed at non-programmers (think scratch). likes: - lots of powerful features that make necessary mobile app features (e.g. "pull up your contacts list!") super easy - "puzzle piece" logic building inside app inventor is really easy to understand (ish), and pretty well done - the process* is easy for non-programmers to do / understand / see in action dislikes: - how difficult it is to go beyond app inventor's available functions, if you know exactly what you want to do, or how you would do it if you could just pull up code (e.g. it's really hard / awkward right now to have multiple "screens" in an app) - the android "look" in general, and the strict limitations of app inventor wrt visual styling - the emulator is, unfortunately, _not_ easily accessible for non-programmers - everything runs inside a java vm, and generally feels a little cumbersome - the process* is slow and full of 30-second chunks of lost time * process: make changes to the program -> "package" the app -> take a photo of the generated QR code -> download and install the app -> test your changes on the phone
- klenwell 16y agoIs it possible to use generator to stub out an app and then work on the generated source? I would love something like that as an gateway to app development as a developer w/o much previous Android/Java experience.
- torpor 16y agoMeh. Wake me up when you can use the device itself to write software for the device. Until then, the barrier to entry is still too high.
- camtarn 16y agohttp://code.google.com/p/android-scripting/ http://code.google.com/p/android-scripting/ "The Android Scripting Environment (ASE) brings scripting languages to Android by allowing you to edit and execute scripts and interactive interpreters directly on the Android device. These scripts have access to many of the APIs available to full-fledged Android application" Not as simple as Inventor, but pretty powerful.
- mikecarlucci 16y agoThink about people who don't have an Android phone and are deciding between that and the iPhone. If you are a casual tech person who keeps their machine in good shape, edits a bit of HTML/CSS from templates but hasn't taken the full leap into programming this could be the turning point. Just like during elections the key isn't the hard core linux user or the unwashed masses who can't use their remote, it's the independents/people in the middle.
- deleted 16y ago[deleted]
- wallflower 16y agoLetting grade schoolers write software that runs on their phones could influence more people to build an interest in computer science, even before they understand exactly what CS is about. It could be this generation's C-64 equivalent. I have fond memories of whiling away hours of time in C-64's Basic.
- nadam 16y agoI am not sure. I've learned programming on the C64 when I was 12 years old. I used Basic. On the other hand a friend of mine used a so called 'game maker' to create games. His games (which he created without programming) looked much more professional than what I wrote in Basic. In fact he had to configure so much things, that it was overwhelming to me, so he was a king in my eyes. But unfortunatelly he never learned to program and I bacame a software developer. I think a Logo interpreter or something which has something to do with creating algorithms is a better tool for a child to start. A tool like this does not teach what is the most interesting if someone really has affinitiy to programming: algorithmic thinking.
- wallflower 16y agoWhen I watch my niece gleefully play with sand, dirt, and water, I love it because she is as engaged or even more focused then when she is watching some Nick Jr. show. I think the new Google tools are an important first step from pre-teens mindlessly playing/texting with their mobile devices (consuming) to making something, even if it is a toy app (producing). And maybe they'll get a bit of the ego boost that comes from making something other people like/want. Maybe it will become cool to make your own little apps. Imagine if Seventeen magazine had a monthly contest for best app. This could be more than a technological shift, this could be a shifting of cultural attitudes towards programming / IT at the subsurface, tectonic level. As for teaching logic, I think it really comes down to how the person is wired internally. Some people just think that way.
- wglb 16y agoThe motivation for the design of COBOL, in part, was similar. The thinking was, "Oh, programming is too hard for accountants. Let's design a language that they can use". Well, some accountants did pick it up, but they became programmers and many didn't do accounting any more. Perhaps Google will have better luck, but I can't remember a time since COBOL first tried this that some effort hasn't been ongoing to do just that. Anyone remember Fifth Generation Languages? And before that Fourth Generation Languages, or 4GL?
- st3fan 16y agoPurrr kitty apps. The new fart app?
- bbwharris 16y agoThe idea of a graphical programming environment is interesting, but I have never seen one that is good. I used LabView in college and it was okay. I interact with another graphical programming environment in my current contract and I hate it. I probably wouldn't hate it if I didn't know how to read and write code. I don't see these things as good training wheels either. They obfuscate the details that are required to be a good programmer. It would probably be more daunting to a newcomer to lift up the hood and see miles of code that they can't easily relate to the graphical version. Im skeptical, but if it does create more interest in the platform, that is a good thing.
- spot 16y agothese systems are designed for people who don't have the option of using regular written programming languages. they are not intended to be training wheels either. they are for making programming more accessible.
- bbwharris 16y agoI would argue that programming is very accessible. All languages in use today can be obtained and learned for free, save for ones time. I would agree that these environments make programming easier and more approachable.
- spot 16y agoit's worth pointing out that not only does apple not have an app like this but they have actively prohibited anything like it. remember when they appealed to the education market?
- omaranto 16y agoNot only did they theoretically forbid it, they actually took something very close to this out of the app store: this app maker is based on Scratch and there used to be a Scratch player for the iPhone (it wouldn't let you create Scratch programs on the iPhone, but it would let you run ones you had made on your computer) and Apple removed it from the App Store.
- jqueryin 16y agoI saw this on twitter this morning and noticed a glaring similarity in the GUI design and that of MIT's SCRATCH programming language geared at teaching children how to program. They both utilize the concept of visually displaying code segments as "building blocks" which fit together like puzzle pieces to give a visual representation of whether or not code will work. I commend the approach to get more parties interested in programming and mobile web application development. Perhaps this opens up a whole new world of potential for getting mobile applications development into the classroom at a very young age. On the downside, we might end up with an influx of even crappier Android applications in the market. I already have a hard enough time filtering through the craplications as it is. Here's the link to SCRATCH for those unaware: http://scratch.mit.edu/ http://scratch.mit.edu/
- wonkytonk 16y agoread the description they have credited MIT in the section Standing on Shoulders of Giants. also about flooding app store with crappy Apps. A good quality app will standout by reviews/word of mouth and Advertising. Sad how Apple makes people idiots
- jonturner 16y agoNow that you mention it, yes, it does resemble SCRATCH, and I would also suggest Lego Mindstorms programming environment. I am showing my age, when I admit that my initial reaction was to note the similarity with Novel's AppWare circa 1995. ( http://support.novell.com/techcenter/articles/dnd19940502.html http://support.novell.com/techcenter/articles/dnd19940502.ht... ) Appware, like Scratch, took a modular approach of assembling software building blocks and connecting the output of one to the input of the other, dealing with triggers, events, etc. As a programmer coding to native APIs (WinAP and MacOS, in C++) I found AppWare to be an adequate and fun prototyping tool, useful for quickly testing an idea or stringing together a quick & easy widget to solve a basic problem. Even moreso, considering it was a cross-platform (MacOS & Windows 3.0) system, which was novel for that time period. However, when it came time to build a full-featured application to deliver to others, in my experience Appware fell short. I suspect I'd feel the same way about this tool for Android but I'm willing to give it a shot. I suspect that much of the HN readership feels the same, but we are quite the minority, and this tool is designed to address the needs of what my non-programmer wife charmingly refers to as "normal people" -- non-hacker people who don't really care how things work, but instead use the device as a tool in order to get on with their lives rather than a means unto itself.
- Anechoic 16y agoAll of the people hand-wringing over the possibly of amateur developers making crappy apps for mass-distribution are missing the point. This isn't a tool for allowing non-programmers to develop apps for mass sale/distribution (although I'm sure there will be plenty of that). This is a tool for allowing non-programmers (like me!) to create tools for a mobile platform to make our own custom apps to fulfill our own niche needs. This could be huge - yeah, I'm sure the apps won't be as polished, fast, or optimized as an app written in the native language and using the native API's, but I'm a professional mechanical/acoustical engineer who spends my time working on my job and I don't have the time (or inclination) to learn to be a software engineer/programmer. Similarly, programming my own DSP filter in C would probably result in a more efficient analysis tool, but Matlab/Octave gets the done while allowing me to concentrate on my engineering projects rather than dealing with memory management, etc. Don't look at it as a developer's tool, it's a high-level RAD environment like VB, Excel, etc. Now of course the proof is in the pudding and we'll have to see how it works in the real world. I will say that I'm a current Nokia smartphone user who has been sitting out the iOS/Android war, but if if App Inventor works well, Google will have brought me over to the Android camp.
- wonkytonk 16y agoThanks, this community is too crowded by hip programmers, and iFanbois to realize there is world outside. This is the exact reason why windows won over, windows allowed cheap hardware and throwaway easy programming using visual basic. If app inventor succeeds there could be a serious market for cheap android devices (~150$) which could be programmed easily. The whole App Store is a sordid tale, and the good Apps will always beat crappy apps by marketing. But if i do wish to have an App specifically tailored for my group then why the fuck do i need to conform to requirements of Apple?
- Spyckie 16y agoI used to play with scratch to test it out. I really like it - it is a real programming language, but the big difference is that the blocks tell you all the options you can do while a text editor only shows you white space. The blocks also enforce syntax (prevent spelling/usage errors) and allow you to witness the execution of the program step-by-step (see how your program runs). I think most of the mental barriers and frustrations of learning a new programming language is not knowing what you can do with it, not knowing the right syntax, or not knowing what the program is doing during execution - the block interface removes most of these problems while still preserving a programmer's mindset. Hopefully this will convince some of the 'hardcore' programmers that it is a legitimate language, even if developing with it is a bit slower than typing. I haven't played with it for a while - they were planning to add function blocks, but I don't know if they did. Also - lots of kids actually have played with scratch. If you look at the website, there are 1.1 million projects and 150,000 members. So - this next generation is really poised to make this platform their own. Maybe it will be their TI-83?
- mikecane 16y agoHow do revolutions begin? How do tipping points start? Here is a clue: http://www.youtube.com/watch?v=8ADwPLSFeY8 http://www.youtube.com/watch?v=8ADwPLSFeY8 So someone sees that, creates their own. Shows it to a friend. "Ooh, I want to do that for my cat too!" And since that person is just about to buy a new phone, they go and get one with Android. Then that person shows a friend their own new kitty "app" and that person who is getting a new phone ... repeat. Everyone looks for a great big downpour instead of a light rain to change everything.
- shawndumas 16y agoScratch, HyperCard love child!
- yardie 16y agoThis is excellent. I'm not really all that psyched about android but this is a great way to bust out proof of concepts, prototype, and useful one off apps. As a programmer nothing sucks more than getting deep into development than stopping halfway through, wasting days and hours, because you realized that what you envisioned wasn't going to work anyway. It's also a good way to teach the basics of programming and OOP, which frankly a lot of programmers still can't grasp. In 2010 no less!
- extension 16y agoNow support extensions written in Java, that you can sell in the Android Market, and kaboom - middleware explosion.
- protomyth 16y agoA lot of Visual Basic's success was the ability to buy components that were easily hooked into your programs.
- Zak 16y agoSomething struck me about the visual programming language used here after looking at it for a few minutes: it's Lisp. It doesn't have parens, of course, and sometimes the blanks on the blocks are positioned so that arithmetic appears to be infix, but it's most certainly Lisp. It would be trivial to create a 1:1 mapping between the visual representations and s-expressions. My guess is that behind the scenes, that's exactly what's going on. After this realization, I noticed that Hal Abelson is involved in the project: http://googleresearch.blogspot.com/2009/07/app-inventor-for-android.html http://googleresearch.blogspot.com/2009/07/app-inventor-for-...
- dpritchett 16y agoThe visual editor builds on Scratch which is somewhere between Logo and Smalltalk. The compiler is based on Scheme. From the article: "The blocks editor uses the Open Blocks Java library for creating visual blocks programming languages. ... Open Blocks visual programming is closely related to the Scratch programming language, a project of the MIT Media Laboratory's Lifelong Kindergarten Group... The compiler that translates the visual blocks language for implementation on Android uses the Kawa Language Framework and Kawa's dialect of the Scheme programming language..." Language overviews: http://progopedia.com/language/scratch/ http://progopedia.com/language/scratch/ http://www.gnu.org/software/kawa/Features.html http://www.gnu.org/software/kawa/Features.html
- wonkytonk 16y agoTo those who are bickering about how this in not optimial programming and how give me my GWBasic. Read the whole page before commenting. It is a project of Harold Abelson, the Co-Author of SICP,
- stevenbedrick 16y agoThe video is perfect. I've said it before, and I'll say it again: aside from porn, pictures of cute animals are the best way to get people to use a new technology.
- dpcan 16y agoI'm not worried. Web designers are still doing fine, and WYSIWYG is everywhere. At the end of the day MOST people don't want to create their own apps for their own needs, they want to pay $0.99 and be done with it. Here's the difference: Real programmers don't see programming as work. It's a hobby, it's fun, and spending 20 hours on a small app isn't a waste of time or money. It's worth every second. I stay up until the wee hours of the night writing my Android apps because I love it. Every programming problem is a puzzle, and when I'm done I feel accomplished and pleased. Joe-non-programmer sees this 20 hours as time and money lost. They could have been playing with their kids, or working their real job making money. They could be watching a baseball game or playing video games, or spending time with friends. If something is out there for $0.99 then there is no way in hell they will spend any time making their own apps. It's as undesirable as fixing the leaky facet that's been leaking for 6 months. It's for the guy who likes to tinker, or the student with a ton of time on their hands and they aren't worried about making money anyway. If anything - there may be more crappy apps in the Market, but it will require real developers to step up their game to get noticed amidst the garbage.
- plemer 16y agoThis is not about Apps. This is about people. When running for President JFK gave people buttons, had them run call centers and letter campaigns, and anointed them block leaders. Many people think the sole value was what these people produced (letters, phone calls, pamphlets etc), but at least as much it was making the people themselves strong Kennedy advocates. It gave people a chance to be involved and stand for something; they became strong unpaid advocates that had influence on and access to their personal network of family in friends in a way no radio spot or ad in the paper could possibly rival. That's how "the establishment" starts a grassroots movement. How does this relate to Google? Beyond the mass appeal of any power-to-the-people message, if you write your own app (and even just knowing that you could), even if it's shit (and most of these will be), you feel like you're on the Team Google. This is just one more brilliant way Google is building itself into a ubiquitous, and well received, cultural force.