CSU recently hosted an iOS app development seminar with a couple apple representatives. One was clearly a sales guy, the other was the guy who spoke code.
It was interesting. I learned quite a bit about building a basic 'Hello World' application. In the end, the tech is no different than any other I've learned. (though objective-c syntax is a bit unusual compared to the other c based languages I've met.)
So, all that is fine, but I started to get a crappy feeling in my stomach when I asked this question:
Me: So, speaking of accessories what does it take for me to develop, you know, stuff that plugs into the dock, and things like that?
AppleGuy: You have to be a member of the made for ipod program which is a separate program from the standard developer program and that is a little awkward because that is hard to get into.
Me: Which is why we don't have very many dock accessories on the market right now?
AppleGuy: Well, I was pleasantly surprised I was in the apple store in boulder and there were at least 3 different credit card readers in the apple store. So these things are starting to come out. The made for iPod program was initially for people who made things like speaker docks and clock radios and headphones and that kinda stuff. But we're starting to see it happen a little more widely. It's unfortunate that that particular framework is not really available to ordinary developers. I mean it's a separate program that's a little awkward.
Me: So you can't even touch the dock pins or anything with the out of the box stuff even if you're not gonna deploy it, or build anything.
AppleGuy: The made for ipod program, once you've signed up for that you get access to the external accessory framework and you get all the documentation for creating EA Access objects that talk either through the dock or through Bluetooth. I hope some day this will be a supported part of the main program but it isn't right now. We're still, sorting some of this stuff out.
So, here we are about 4 years after apple changed the cellphone industry with their hardware. I distinctly remember 2 points in which Steve Jobs has pulled the rug out from under me.
The first, was when the first generation iPhone was announced. In the keynote, Steve said "the best part, is this is running osx!". That was exciting. To me, that meant I'd finally have a computer in my pocket! This is great! Then it came out that, it's osx, but we're not allowed to touch it. Web apps only.
The second, was during the 2009 keynote when they announced dock accessories. Steve paraded out this great blood sugar device, a pressure cuff, stuff like that. I instantly thought of about 5 devices I'd like to have. The first and foremost being a basic oscilloscope / volt meter that used the iphone as its display. I waited, and waited, and accessories were never mentioned again, and i never saw much more than a charging cable show up on the net.
It's almost 2011, and as this guy says, we've got 3 variations on a credit card reader. The reason we have 3 variations on a credit card reader is that you have to essentially partner with apple before you can even prototype some hardware! With a system like that, you'll never get any tinkerers. You'll never get the garage based maker to start a business building oscilloscope hardware for a tiny fraction of iphone users who would want something like that.
The app store has some 200,000 apps in it. I think it is safe to say, that Apple is raking in money hand over fist by selling things they never even dreamed of to people who occupy the statistical 'long tail'. Why wouldn't they think they could do that with hardware?
I think of myself as a pretty good programmer. I love this hardware and think its capability is revolutionary. When I think about paying apple $100 so I can send them code that they can prevent anyone from getting for almost any reason they can think of... I get sad. (and I go program somewhere else)