The Android Gets Its HyperCard
theodp writes "Steve Jobs & Co. put the kibosh on easier cellphone development, but Google is giving it a shot. The NY Times reports that Google is bringing Android software development to the masses, offering a software tool starting Monday that's intended to make it easy for people to write applications for its Android phones. The free software, called Google App Inventor for Android, has been under development for a year. User testing has been done mainly in schools with groups that included sixth graders, high school girls, nursing students and university undergraduates who are not CS majors. The thinking behind the initiative, Google said, is that as cellphones increasingly become the computers that people rely on most, users should be able to make applications themselves. It's something Apple should be taking very seriously, advises TechCrunch."
and that is because as soon as Apple does something different the competitors tend to copycat.
Self proclaimed wannabe geek. You know how it is. Most of us who read this stuff probably fit in that category.
... to contradict the previous story. Power to the people!
If this means the android market is gonna be filled up with apps made by toddlers and high-school girls.
Seriously though, props to google for making android development even more accesible, i just hope this doesnt result in milions upon milions of fart-apps and such, their largely unmoderated app-store is one of the reasons i want an android phone instead of an iphone, but this might become a tad painfull is left unchecked
People, what a bunch of bastards
This reminds me of the early 1990s trend of "programming for everyone", particularly Macromedia's Lingo in Director. Languages and environments that start this way quickly realize that the end products would be ever so slightly more appealing if they were more flexible. And flexibility is the end of simplicity. The 1.0 of this language is going to be fine for a few intrepid schoolgirls, but soon they're going to have to add basic programming concepts and structures which will leave most people scratching their heads. Haven't we already seen this dramatic arc with Director and Flash?
Go read some bible: nubible.com
This is what is great about Google they offer different services to compete with Apple. Plus the whole point of creating your own apps made easy is just really cool and a great touch by Google. I think if this catches on this could be a big selling point for Google.
http://www.thetechnologygeek.org
Can we just have a "Google" section already? This might as well be filed under Microsoft, with references being made to "Developers, Developers, Developers!"
I took a look at the demostration videos and whatnot, and the user interface seems to be a cross between XCode's interface builder and MIT's Scratch. The code is written by dragging "puzzle pieces" into place, just like in Scratch. However, I assume this uses Java rather than Squeak? Scratch is kind of a lot different than HyperCard, but, you know... whatever. If only my BlackBerry Storm hadn't turned me off smartphones forever, I might actually be inclined to give this a shot.
>and that is because as soon as Apple does something different the competitors tend to copycat.
I thought this was a story about Google doing something differently than apple.
Some of my favourite people are from th US; Vonnegut, Chomsky, Bill Hicks.
and that is because as soon as Xerox does something different Apple tends to copycat.
FTFY
PS) Thank the Lords of Kobol that Palm, HTC, Motorola, etc have been choosing to not copycat Apple!
"Be prepared, son. That's my motto. Be prepared." --Joe Hallenbeck
just give us proper scripting with proper exposure of the internals to the scripting language
like hp calculators have RPL.
i see stuff on the android market that would take 3 lines of scripting to accomplish... yet they are presented as "apps".
Looking for people to chat about multicopters, coding, music. skype: gtsiros
It is like Slashdot. If you want to look at everything at -1 you can. Naturally you will see a bunch of crap.
For android applications you can always sort things by how popular they are and find the creme of the crop.
Who knows, you may be surprised by what application may be developed by a high school girl. To ignore the potential creativity of a vast swath of society is foolish. Maybe the killer app is one that targets high school girls.
Tisha Hayes
A simple App maker like hypercard was? It is supported on Windows, OS X, and Ubuntu. It also works with both Java 1.5 and 1.6. Way to go Google! You may have finally hit upon a great way to outcompete Apple in the mobile space. I just hope you're working on improving the Android Market in a big hurry.
Apple only got where it's at by copycating. Pretty much everything else it's done has been available before. Is there anything Apple's done that hasn't fallen into this pattern:
1) Copycat something someone has done before
2) Clean up the UI/polish of the device to make it more user friendly
3) Go on a marketing blitz to try and make it popular and trendy.
4) Profit
And then I've seen in several products (but not all)..
5) Stagnate while competitors catch up with and improve upon/beyond Apple's original concepts.
And with the transition from MacOS 9 -> MacOS X...
6) Return to step 2
Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
This is a situation where, I suspect, Apple will not follow unless placed under real pressure.
Look at Apple's release model, particularly for iDevice stuff, it is the very opposite of "early and often". They are totally willing to take flack(cut and paste, MMS, multitasking, etc.) for as long as necessary in the service of delivering what they consider to be the "right" solution. Obviously, they do do iterated development as well(just ask anybody who had to endure OSX before about 10.3...); but Apple, in the present day, has a strong bias against "good enough and a lot faster/cheaper" type stuff.
Releasing an environment explicitly designed to lower the barrier to entry for application creation would have an effect precisely contrary to Apple's design aesthetic and integration philosophy. Consider the analogy of MS Access in the context of Win32 desktop software. On the one hand, the existence of that application is probably responsible for the existence of more utterly rubbish "applications" than just about anything else on earth. On the other hand, it has allowed millions of people who are basically nonprogrammers to hack together "good enough" applications to solve the weird little application-specific problems that are important to them or their business, and which are too small to pay for a real developer.
Google's "App Inventor" will very likely have similar results: large numbers of people who would otherwise be unable to create any software will create bad software that is "good enough" because, while bad, it is precisely tailored to problems that they care about. Apple could, in all likelihood, create such a system if they were so inclined; but there are two reasons to suspect that they won't(again, unless they find themselves under really heavy competitive pressure, which they haven't yet. Android has grown phenomenally; but mostly by sniping geeks, eating the WinMo and legacy-Palm markets, and pretty much crushing the "high end dumbphone", not by cutting the iPhone user base): One, Apple currently has the substantial majority of 3rd party developers, and many of the ones considered to be doing the best work. Two, "good enough" makes Steve cry, and the programs that will come out of any bar-lowering super-simple application development environment will just ooze "good enough" from every pore...
Keep in mind that among the flood of horrid homepages with purple backgrounds, jumping frogs, blinking stars and background MIDI tunes, there also emerged hundreds of thousands of highly valuable niche Web resources created by highly motivated nonprofessionals ... and Google figured out a (community-powered) algorithm for finding the good stuff.
You don't seriously think Apple held back 3G, a half-decent camera, etc., simply because they wanted to do it "right"? Apple will hold back on basic features because then they can get their users to buy the same product again in 12 months. There's nothing more to it.
The two strategies are not mutually exclusive, and I think that it is fair to say that they engage in both.
Because hardware cannot be patched, any feature delay(whether a legitimate delay caused by having a fairly small engineering team, or an instance of cynical milking) tends to look and feel like milking, and have similar economic consequences.
With software, it is harder to argue that there is a cynical economic strategy at work; because (with iPhones) software upgrades are not paid for, so the delay has no profit, only a PR cost. They might make a few bucks off the iPod Touch users; but I'd be shocked if the money made by nickel and diming them is worth a delay that might reduce the number of comparatively high-roller iPhone users they have raked in and locked into contract at a given time. The only aspect of their software strategy that is arguably "milking" is tying relatively trivial features of their OS bundled applications to OSX upgrades, in order to encourage people who don't care about APIs, or wouldn't know one if it bit them in the ass, to update anyway.
I'm sorry, the app store is already flooded with developer who are unable to create software.
... is the fact, that the guy behind this project is Harold Abelson, author of Structure and Interpretation of Computer Programs! He described LISP "picture language" in the book as a useful learning concept. He also "...directed the first implementation of LOGO for the Apple II" which seems interesting in this case.
I think Apple's thinking is that for simpler development, you can use HTML5. They actually have an already existing tool separate from XCode, that lets you pretty easily design a nice UI in HTML5 - it's called Dashcode.
It does require you install the developer tools (which are free).
That said I applaud Google for this effort, perhaps it could become a new standard for introductory programming classes in gradeschool/highschool.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
"high school girls" Why the fluck do they do this? Why pick "girls" or "boys" don't they think we can think?
It's not a matter of whether or not women can think. Rather it's about exploiting the social trends and biases that result on gender disparity in the programming industry. Today, a girl in high school is 5-10 times less likely to become a programmer than a boy in the same high school. When trying to develop a tool that caters to people with no inherent ability or experience, then, in makes sense to target girls in your study group, maybe not exclusively, but primarily. Recognizing the current trends in society and using them is not an endorsement of them, nor an implication that one gender is inherently less suited to a task. The arrangement of our society is the primary factor pushing various gender disparities in particular professions (in both directions).
I will debate the "not cutting in to Apple's iPhone user base" statement.
I know of three different "non-geeks" who had second and third generation iPhones who have switched to Android handsets. Two have switched to the Sprint EVO, one to a Verizon Droid handset (I don't remember which) in the last 30 days.
In all three cases, the reasons were simple. Their contracts with AT&T were up, and they were irritated at AT&T's issues so they went looking. In all three cases, they found features present in the Android handsets that were compelling (4G coverage, while spotty on the Sprint EVO with the tethering capability in one case, Verizon's rock-solid coverage in the other).
It's a bit early for the media and consulting houses to have picked up yet, but I suspect the story is the same: Apple introduced people to smartphones, and now that the market is ready a lot of non-techie types are frustrated with AT&T and looking for alternatives. And Android handsets are in a very good position right now to put the hurt on, and I think it is starting to happen.
Hell, even T-Mobile is beating off potential Android customers with a stick, if my recent visit to a local T-Mobile store to handle a customer service issue with my handset is any indication.
Ironic, it was the internet browser which killed the original HyperCard. The browser was more general and portable than HyperCard. Required browser updates include:
(1) Use all the new GUI features on smartphones like location info, touch screens, etc.
(2) Make better use of small screen real estate. The default should drop window borders and menu borders, etc.
Its a step backwards from the generality of a browser to have to write a custom App for everything.
Actually, as a usability expert, I really wish we were using one button mice. Well, not really. I wish Windows was designed to work with a single button mouse and that was the default type of mouse shipped with consumer systems. I'm also happy with variable-button mice which can become multi-button mice depending upon the software or user settings; but which default to a single button setup.
So, as a "usability expert", you advocate dumbing things down to a preschooler level...instead of advocating people learning how to distinguish between button #1 and button #2? Hell, even first graders can do that...ever see the "what's different" challenges in Highlights? Seriously...if someone is struggling with two buttons, they shouldn't be using a computer.
You can call that being a dick, you can call that not listening to user's problems, you can call it whatever you like....but people can differentiate between a gas and a brake pedal. They should do the same between a left and a right mouse button.
The truth is, a one button mouse setup leads to a great many usability improvements.
Source? If anything, it would make things WORSE. You would have to use the keyboard to modify how that one mouse button functions. So now, instead of just clicking the button next to one the user is already using, you want them to have to find a specific key on a keyboard to act as a modifier? They already have trouble using two buttons on the same object...what makes you think they could choose one out of 104 buttons on a separate object?
Look. I can understand what you're getting at...I just think you are way off base. Your point about tablets have some credence to them, but their problem isn't that the interfaces weren't originally designed for a single mouse-button....the problem is that tablets have no buttons. That takes time to perfect and for people to get used to. Nothing more.
Living With a Nerd
So, as a "usability expert", you advocate dumbing things down to a preschooler level...instead of advocating people learning how to distinguish between button #1 and button #2?
Maybe you don't understand what usability is. It's making tasks as easy and efficient as possible. For the most part, two button mice are wasted because the interfaces are designed by someone who does not know what the user's tasks are. For example, on a machine that ships with a single button mouse, nothing stops you from installing a three button mouse. I'm using one right now. But instead of a developer who does not know my workflow choosing what two of those buttons do, and me getting to program one of them in a customized way, I get two to customize and one is preprogrammed. That also means no functionality is "hidden" in a context menu. All of it is accessible from the regular menus, which means if a person with a mouth controlled joystick needs to use the software, they can actually get to everything.
Simple DEFAULTS don't dumb down an interface. They make it usable.
Seriously...if someone is struggling with two buttons, they shouldn't be using a computer.
In my experience that would be about 30% of users in a given day, including a network security expert that is running the show for one of the largest telecomm companies in the world and has an IQ, PhD's, and enough experience to make your resume look like crap. You want to bet you never look in the wrong menu using the wrong mouse button when trying to perform tasks? I bet you do. Almost everyone does. It's just part of how people use computers these days and something we don't pay attention to.
You can call that being a dick, you can call that not listening to user's problems...
I call that idiocy and ignoring problems and blaming users for shitty usability. That would make you the average programmer then... maybe even one at MS :)
The truth is, a one button mouse setup leads to a great many usability improvements.
Source?
Umm, every book on computing usability ever published; or very nearly. Are you joking? Have you bothered to do any research on the topic, ever?
You would have to use the keyboard to modify how that one mouse button functions.
That's one option. It's called "chording". Another, more common, option is to make everything accessible without needing a second button. A third option, for more advanced users, is to add a device with multiple buttons, or enable those buttons when present in devices with a flexible number of buttons (ala magic mouse or whatever they call it).
So now, instead of just clicking the button next to one the user is already using, you want them to have to find a specific key on a keyboard to act as a modifier?
For some advanced options and shortcuts to actions, sure. For regular users, they should never need to use options only available there. It should strictly be for shortcuts, advanced options, and user programmable functions.
They already have trouble using two buttons on the same object...what makes you think they could choose one out of 104 buttons on a separate object?
The point is, if you only have one button by default, they never have to because no programmer in their right mind puts functionality ONLY in that place, as programmers routinely do for right click menus.
Look. I can understand what you're getting at...I just think you are way off base.
But you clearly haven't bothered to do any research on the topic. You just have an opinion formed out of your own emotional baggage and with no scientific basis or evidence.
Your point about tablets have some credence to them, but their problem isn't that the interfaces weren't originally designed fo
Didn't you read the headline? Google is just copying Hypercard. Forget copying the iPhone, they're copying the 25-year-old Macintosh! Hey Google, at least copy stuff from this millennium! /snark
The enemies of Democracy are
One button mice are not so useful, but as you say, they can be replaced with n-button mice. One button trackpads, however, are the devil. They obviously can't be replaced, and many of us don't want to replace a trackpad with a mouse. I was in this situation with my first Powerbook, and I had to search out and install a semi-crappy third-party replacement trackpad driver to obtain right-click capability (which seemed to break every time Apple put out a new OSX point release).
Look, even Apple has figured this out - their laptops all come with right-click capable trackpads. Usability is important, but so is usefulness - this fetish for usability-uber-alles cripples advanced users' ability to get things done. The way to address the problems is to write programs correctly, not do the hardware equivalent of tying one hand behind our back. Consider that a pad and paper is way more "usable" than any word processor could ever be... but that's because the pad and paper doesn't do much of anything. While our situation can be improved by thinking about usability, it's ultimately unavoidable that the users are actually going to have to learn SOMETHING about how their systems work.
This is not for making apps to distribute in the marketplace, this is about quickly making apps for YOU to use. Not that Android development is hard for people who understand even basic coding, but this will let more people making things to run on their phones. The demo video is a woman making an app with a picture of a cat that meows when you touch it. This is for HER to use, not to be distributed to the masses.
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
Yes, I'm serious, and no, the G4 iMac wasn't released in '96 -- in fact, the first iMac (G3) was introduced in 1998, whose latest supported OS was Panther (2003). Oh, and the latest supported OS for the original G4 iMac was 10.4.11. Don't bother much with facts, do you?
At the risk of sounding sentimental, I think lowering the barrier for entry for app building is a step toward my personal vision of utopia. "solve[ing] the weird little application-specific problems that are important to them or their business, and which are too small to pay for a real developer" is exactly how you end up with the most diverse software environment possible, and get the really inventive, out-of-left-field creatives to participate.
A higher barrier for entry certainly has not prevented the deluge of "iFart" apps.
Hmm, all your examples are great because they're not targeting and using a particular object. With a single button mouse, how would you propose to, for example, save an image on a webpage? A lot of novice users would love to send a picture of a cute ____ to their friends. You can't long-press, do any gestures, etc, because the webpage itself might be using those actions on the page itself. The easiest, most logical way would be to have a button outside the scope of the webpage to do so.
Accidental context menu presses can be easily dismissed by not selecting anything on the context menu. =P
Different example: A friend of mine with an iPhone and myself with a Nexus One were both using the Facebook mobile site. iProducts, as you know, have one button. Androids have a context menu button. As a joke, we were messaging each other in quick succession, commenting on a photo that she had just posted. This required refreshing the page constantly since the mobile doesn't do so automatically (and shouldn't since it could unintentionally use up a bandwidth).
Me: Context, Refresh. Scroll down one more comment (since refreshing saves browser position), if available.
Her: Scroll all the way back up to the top of the page, hit refresh, scroll all the way back down. This eventually got quite annoying since the comments were piling up. Eventually took an extra several seconds to scrolling.
Comments on how to improve usability here as well? Remember, you can't single tap / long press here because most of the content is a web page that might be expecting that particular input. Additionally, the browser was occupying the full screen save the status bar at the top, so it wasn't exposing any interactive browser UI elements on either browser (just the page).
It seems that Main click = primary interaction, context click = alternate actions to interact with said object is quite easy for most people to remember. (It even works as default for most video games even on consoles -- Rpad / Leftmouse = primary fire, Lpad / rightmouse = alternate fire) If what they want isn't in the context menu, then start looking for stuff in the menu bar.
The truth is, a one button mouse setup leads to a great many usability improvements.
Source?
Umm, every book on computing usability ever published; or very nearly. Are you joking? Have you bothered to do any research on the topic, ever?
I understand you consider yourself very researched on this topic. Would it kill you to provide a quick link or at least appropriate search terms that would help the rest of us become as educated as you? Your snide remark really doesn't assist the discussion at all.
The point is, if you only have one button by default, they never have to because no programmer in their right mind puts functionality ONLY in that place, as programmers routinely do for right click menus.
Shitty programmers will make shitty programs regardless of what restrictions you put on them. If the coder thinks something belongs only in a context menu, they will put that option only in the context menu. It doesn't matter if the user has to right-click or thumb-click or mouse-gesture or mod4-click to view that context menu.
You're trying to neuter programmers in the naive hope that this will prevent poor design decisions. Instead you'll just limit your users' ability to overcome the programmer's bad decisions.
Rather than having the authors of Notepad decide what goes in the second mouse button context menu (and choosing completely useless options like what is available now) why don't we leave that to the user so I can choose useful things like running text manipulation scripts, grammar checking, automatically reformatting text into bibliography entries, etc., etc... like I do in TextEdit where I get that option and which is designed to work in a single button setting as the primary environment?
Or why not have both? Why not have an editable context menu but with good defaults chosen? There are many programs that exhibit this behavior -- "Notepad" is not designed to have that many features. Whether or not it's poor design depends on the intended purpose.
I'm not educated on usability, but what you say makes sense. Things shouldn't be hidden in sections of the UI that are not available to the simplest of control schemes. But that doesn't mean you should abolish certain sections of the UI. Particularly in a mouse-based environment, why should I move my pointer and focus all the way to an unrelated section of the screen if it's possible to right-click and get a context menu without moving? I do understand not forcing the behavior, but I don't understand not providing it.
I thought this was a fabulous submission - news for nerds, with links to balancing links to opposing points of view and a counterpoint example of a competitor's approach.
That said - isn't it time that Android got its own sub-section?
This isn't Apple news, it's Android news, and it seems to me that just putting this in the Apple area has done little to help signal to noise.
Android isn't going anywhere and it's market share is on a steady incline.
Sure, it's only a mobile OS - but it also represents a significant penetration of a desktop based on a Linux-based operating system for mobile users.
How is that not a good rationale for a new category for news for nerds, stuff that matters?
Pathological kinda promises Path + Logical - but instead, you get stuck with pathetic.
You want to bet you never look in the wrong menu using the wrong mouse button when trying to perform tasks? I bet you do. Almost everyone does. It's just part of how people use computers these days and something we don't pay attention to.
Yes, a thousand times yes.
You know, sometimes I am looking for some spare keys. I often look in the wrong drawer first, before the right one.
This does not imply that a single drawer to hold everything is a more efficient solution.
Your argument for a single button overloaded to perform all selection and option tasks is nonsense.
Da Blog
This IDE looks similar to Ares (Palm's webOS IDE, which has been out for several months now).