Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Regrettably one of the biggest offenders in terms of usability for kids apps is Apple itself. The introduction of multi-touch gestures made a complete mess out of kids apps. For example, if you've ever watched a young one interact with an iPad you would have seen them plant their paws on the screen and do things with 3+ fingers very frequently.

Imagine what happens then: The whole app moves up, down or worst, sideways and switches to another app altogether. This interrupts the experience and is very confusing. I've seen this first hand. It is truly perplexing for children in the 2 to 7 year old range.

Another side-effect is that this makes it nearly impossible to write apps that actually encourage the little ones to fully engage and plant their paws on the device. Without turning off multi-touch gestures the app won't be good for more than three seconds of use. What's worst is that you also stand a good chance to get negative reviews on the app store from frustrated parents who don't understand that this is not the developer's fault.

Imagine the thrill of driving around town while your kids is playing with the iPad in the back seat and complaining/whining/crying every thirty seconds because he/she accidentally switched from the nice educational app you had them play with to your Facebook page due to accidentally using the app switching gesture. Brilliant.

While multi-touch gestures might be a good idea (I as an adult never use them) they provide no way for developers to disable them within their app, thus causing usability problems for kids (and probably some use cases with people with motor impediments).

Yes, the user can disable multi-touch altogether from settings. As an app developer you have to decide whether or not you want to put up a notice, warning or info page on your app warning parents about this problem and recommending that they disable multi-touch. Might you incur Apple's wrath for doing so? Don't know.



I think this is probably a significant part of why multitasking gestures are turned off by default. They won't ever be on for any device whose owner doesn't feel comfortable poking around in Settings.

I've seen an app on startup recommend turning them off if they're on. (Which doesn't mean that Apple considers that OK, of course, just that the reviewer of that one app did.)


> As an app developer you have to decide whether or not you want to put up a notice, warning or info page on your app warning parents about this problem and recommending that they disable multi-touch. Might you incur Apple's wrath for doing so? Don't know.

Ouch. I hadn't even thought of that.

I was just going to say it's ridiculous that you have this powerful device with advanced touch screen and you're developing software for it, but Apple prevents you from simply exerting control over the device.

A non-crippled OS should give you near exclusive access with minimal meddling, like Desktop PC games. Full screen, raw touch data and no accidental gestures.

I don't understand why hackers could abide by this.

(the next part is a bit off topic btw, but maybe some professional iOS app devs can shed some light on the matter for me?)

I work with kids (a bit older, ages 8-12) teach them to do creative things on the computer (GameMaker, GIMP, some HTML, etc). I'm still working to figure out a good method to learn them actual code (not all, but some are definitely smart enough). A lot of them ask me if I can teach them "how to make apps". I don't know (don't have a smartphone or tablet), but at some point I thought ok let's figure that out.

The kid had an iPod Touch so we started looking around for some iOS SDK or whatever (I feared writing a whole app would be too large of a project for him, but now I wanted to know and it taught us both a valuable lesson).

Can anyone who writes iOS apps maybe confirm this for me, because it seems pretty much impossible:

- You can't actually load an app that you just coded onto your own device, to try it out. Instead you can only test it in an emulator.

- The only way to get the new app onto the actual device is via the AppStore. Is that really true? Do even professional app developers not see their app run on an actual device instead of the emulator before the app is in a suitable state (as judged from the emulator tests) to place on the AppStore and even then only if they or someone buys it? Really?

- This SDK/emulator kit is only available for the Mac. So if you don't own a Mac, you can't develop iOS apps.

- Money. Does the SDK/emulator kit cost money or not? I couldn't figure it out because I stopped looking as soon as I saw it was Mac-only, anyway. But depending on which route I took through the Apple ID developer program website, it alternatively told me it was free and that it cost me $100. And then to be able to place the program onto a physical device I own, I need to pay a yearly $100 for the AppStore?

(I probably got some details wrong here and maybe I missed some programs or ways to do things so please correct me)

The centre I work at is mostly run by volunteers and doesn't use Macs or has $100/yr to give to Apple for the "privilege" of teaching a new generation of hacker kids how to develop applications for their petty locked up hardware/software universe. So there won't be any "how to make apps for iOS" lessons in the foreseeable future.

That's what I learned. And the kid that joined me on this wild goose chase learned that he most definitely will be getting an Android as his next smartphone.


The iOS devkit is Mac-only. You will also have to pay a $99 yearly fee to Apple for the right to develop apps that get listed on the App Store.

However, that $99 fee also includes the right to get a testing certificate that lets you push what you develop onto an iPhone, iPad, or iPod Touch to test with. So if you sign up for the developer program, you can test on a real device. You just can't get it loaded onto other people's devices without going through the Apple approval process.

Xcode (the IDE) itself is free. You can probably run iOS apps in a simulator (note it is NOT an emulator) with the free download, but forget about testing on an actual device.

Clearly this program is aimed at professional developers, and for them it is worth the price -- the iOS ecosystem and SDKs being far more developed and refined than Android's. But for a bunch of young padawans just starting out in coding it is prohibitively expensive unfortunately.

Aside from these problems, Objective-C is a bit much for a rank beginner, especially a kid, to bite off and chew. So, for that matter, is Java. It would be possible, and probably a lot more practical, to introduce them to JavaScript and have them develop "Web apps" that run inside an iPhone's Safari web browser. Some quite sophisticated games are possible this way with HTML 5.


Awesome, thanks for that answer!

The testing certificate makes sense, I was really wondering about that, there's only so much you can test in a simulator (touch screen behaviour, for instance. I'd assume you could emulate it with a mouse, but you can't test the full UX that way).

Good call on the JS/webapps too. I hadn't really considered what language one develops iOS apps in when I started investigating, but from what I've seen about Objective-C, I agree it would be a bit too much.

Personally I was aiming to get them interested in writing simple Python programs, perhaps with PyGame so they can quickly get some graphics on the screen (text console output doesn't have a lot of appeal I'm afraid..). Most important reason is that Python lacks boilerplate--I don't want to make the kids do all sorts of boring set up coding before they get to see some results. (second most important reason is that it's the language I'm currently using most)

Boilerplate might be a bit of an issue with JS web apps too. But "can I put my (GameMaker) game on my website?" is a question asked even more often than how to make apps :) [it is possible btw, but not with the free version of GameMaker]. So maybe I could set up some simple framework with a JS Canvas and see if they'll bite. Maybe even better would be just to code some simple game for myself, for fun, show it off, and I already know of at least two kids that will try real hard to figure out how I pulled that off, and they'll be happy to find out it was written inside the same HTML tags they wrote their website with :) (another good reason is, before I caught the Python-bug, I was coding JS all day :) )

Anyway, thanks again for your explanation!


Personally I was aiming to get them interested in writing simple Python programs, perhaps with PyGame so they can quickly get some graphics on the screen (text console output doesn't have a lot of appeal I'm afraid..).

I know some (adult) people who are itching to get into (video) game design. The first thing I always tell them is "Learn to program. Start with Python." Then I point them to PyGame to let them get started building the kinds of programs they set out to build, quickly.

This despite Scheme being my favorite programming language, and the one I "think" in. But Python really is the micro BASIC of the 21st century. It's the best "type commands at it and see what happens" language for beginners. Not to diminish its obvious appeal to professionals, of course.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: