The iPhone Software Revolution

$100 per year?! I spend $10 a year - and that’s only because my wife occasionally borrows my phone. Did you know that pay-per-minute expires after 6 months? It does, and I only recharge it the minimum each time. I’ve got about $30 right now. :slight_smile:

The iPhone has 2 annoyances for would-be hackers. You can’t test your own code without paying Apple for a licence and you can only create applications using a Mac. So that’s $1500+ if you want to see your “hello world” app on your iPhone.

As a Free Software weenie I couldn’t buy an Apple product to use as a hacking gadget, even if I never wanted to put my app on their download server. I’d rather buy an Android handset - though that too is locked down AFAIK.

Is the phone market a closed market by definition or is it that way because it has always been? Early on, computers were a closed market too. It only took a little open-ness on both hardware and software side for the alternatives to appear.

What do you make out of Android? Sure, it’s not as polished as the iPhone, no one even pretends that, but for how long?

There is also OpenMoko (http://www.openmoko.com/) with much less visibility.

How long will the cell phone market remain closed?

The original iPhone was for suckers…

er… dude, for someone who is meant to be a Technology freak that shows stupidity.

My first iPhone was an amazing piece of kit, that I quickly Jailbroke and started to hack. I am still constantly amazed how it beats the competition - the fact that you waited two years to get one shows how behind you are dude.

There’s nothing wrong with Apple, its just another multi-corporate software giant that believes in innovation. All developers MUST believe in innovation, otherwise we would all be sitting here writing COBOL on green screen dumb terminals.

Can’t believe it took you so long, but learn to live by your mistakes dude - I couldnt survive without my iphone.

Go Jobs Go!

I’ve never owned an Apple product. About 8 months ago my whole team got an iPhone. I decided to hold out for the N97, but when I finally saw real-world reviews following last Friday’s launch, I knew the 3GS was the way to go.

As for Flash support - most of us only really use Flash for YouTube, and the YouTube app on the iPhone is perfect, so no gripes here. (Yes, I know there’s the odd Flash game, and other video sites, but hey, I’m “them asses”)

ahh bless, he’s all excited because he’s finally got an iphone, don’t worry it’ll wear off soon, as it has for many of us ‘suckers’ that have had one for a while.

btw: As I predicted…

err… iPhone has been a massive success ever since its launch - what are you on about?

Well said Jeff.

I’m coming from pretty much exactly the same place. I am no Apple fanboi. In fact I actively dislike some of their practises. But in the context of the iPhone they just work.

The device itself has fundamentally evolved the way I view and use the web. I’ve worked in telecoms monitoring software and I was previously extremely sceptical of the “mobile web”/3G/UMTS as the take up rates were incredibly small.

There were plenty of Nokias etc that could do it - but it was painful to use and the reserve of geeks. A recent survey by FoneBank suggested 61% of users think their phone is too complicated and that most people don’t use most of the features on their phones.

iPhone has changed the game by taking a HUGE step forward in usability.

@Kearns - So creating a good user experience is just down to marketing?

From what I’ve heard iPhone development is a real pain.

http://www.dotnetrocks.com/default.aspx?ShowNum=454

Hey Now Jeff,

It’s amazing too how the percentage of page views are increasing from the iphone too.

Coding Horror fan,
Catto

I find the fact that Windows Mobile (or developers of it) had never really thought about a finger friendly interface until iPhone came out even though it existed many years before. It’s like “Dude, it’s touch screen! And you still need a stylus to touch! Wake up!”

I am stunned by what games can someone develop for it but in no way I would think that it is a Gameboy simply because there are no buttons. Seriously, one of the main reasons I still hesitate to buy an iPhone is the lack of a QWERTY keyboard. Finger friendly can only take you so far. My TyTN not only has a slide out keyboard but also has 15 shortcut buttons, 1 DPAD and a jog dial! You can’t imagine how convenient this is. It’s almost one press for every thing I do. Not to mention the speed and ease of typing. I would like to mention here that I use my phone as a…phone… So yes, typing a Text Message and a Note is essential to me.

For a while HTC was going in the iPhone direction and not making any keyboard versions until recently (thank god!) it announced the HTC Lancaster. Phew!

If iPhone will ever release a version with a keyboard I’m gonna be the first one to buy it, although (sadly) I don’t see this happening in the future.

I’ve been writing iPhone software for over a year now, and it is loads of fun. I haven’t made a boat load of money; what I have made is via custom development and not from my slow selling personal apps.

Things to like:
Nearly legacy free APIs and framework. Unlike desktop OS X, where there are a huge number of APIs in various states of deprecation, there are comparably few bits of deprecated cruft to waste your time or tie you down. In my day job, I am moving an app originally written in 1988 (an continuously updated since) to 64-bit Snow Leopard, and that is going to be a lot of grunt work.

It may be an acquired taste, but Cocoa+Objective C is a lovely, elegant way to write an application.

Despite what you hear about fart apps, you really are competing to make apps of quality and polish that would be unheard of even 2 years ago. If you want to develop a mobile app on a competitive platform today, you had best make it pleasing on the eye, performant, and responsive. (It’s nice to see that Palm has released such a quality competing product.)

The performance tools (Instruments) are very good. And for someone who likes to optimize for speed, and hates leaks, that’s a good thing. Also the new Clang static analyzer is amazing. You really have to go out of your way to leak memory even without a garbage collector. (And yes, it would probably be nice to have automagic garbage collection.)

Things not to like:
Worst part of the iPhone development process is dealing with rejections based on hard to figure out or anti-competitive strategies by either Apple or the big carriers. Not fun spending months writing an app, and then spending 6 months waiting for it to get into the store.

App signing is a colossal pain. The hours I’ve wasted trying to figure out what is wrong with my certificates or project settings.

Having to be a marketer when it’d be nice if people just recognized you for writing the best app.

1 Like

But a cell phone? It’s a closed ecosystem, by definition, running on a proprietary network

doesn’t that only apply in the united states?
Do other countries carriers cripple phones to force customers to stay on their networks?

I’m under the impression that is more of a USA kinda of thing.

I own an iTouch which is the iPhone without the phone. I’m not going to develop any applications for it because Apple screws you but I may create some web applications for my own use. The stupid device won’t even allow you to transfer any text files to it so I need to create web pages which can be saved just to store information on it.

But u cant even bluetooth send a mp3 with this phone?

Your list of devices the iPhone subs for/replaces is exactly the reason I don’t want one.

I carry around my cell (much smaller than an iPhone), my MP3 player, and my PDA. And guess what? When the battery in my phone runs dry, I can still listen to my music. Or look up someone’s address. And the battery life on all 3 gadgets individually is still superior to an iPhone.

On top of that, there is no way in hell I’ll pay those data fees (see: extortion).

No thanks, I’ll pass.

Nice article! I love Coding Horrors!

I believe the “censorship” we have seen in the app store will decline with the addition of parental controls to iPhone OS 3.

Apple is good at marketing. Apple is good at creating niche for itself. Apple completely sucks at influencing anything on worldwide scale.

Apple likes to present itself like a planet-sized phenomena. In reality it focuses on markets that are convenient and couldn’t care (or matter) less for rest of the world. :slight_smile:

Are you just disappointed they are not selling the iPhone in your country? Because they clearly presented a list of countries and release dates in the keynote, it did not say ‘the whole planet’.

Also consider how many yahoos are trying to submit apps to the App Store everyday. Aren’t you kinda glad Apple is ‘weeding’ out potentially malicious(viruses) and plain, broken apps for you - especially since you can’t preview an app before purchase. I think most people focus on the negative aspects and not the good.

From what I’ve heard iPhone development is a real pain.
.NET Rocks! Rory does iPhones!

And that guy did not know what he was talking about. As it happened, I sent an (unfortunately perhaps too over the top) e-mail to the .net rocks hosts, and in response they’ve asked me to be on the show to present a counter argument. Listen for it in a couple months.

  1. Objective-C is a pleasant, light weight language. It is different in syntax from C#. It has a different set of features from C#. A professional engineer with a good attitude should get reasonably proficient in a month or so.

  2. The mobile version of Obj-C does not include garbage collection, but you can use Clang to find all your leaks, so you have no leaks and no garbage collection overhead.

  3. The Instruments package make optimization fun and easy (if you are like me and get an endorphin rush when you get a 20% speed up). I happen to think Instruments on the Mac or iPhone are much better than any performance tools I’ve seen included with Visual Studio, but I will admit I have just moved to VS 2008.

  4. XCode is rapidly improving. It was pretty good in version 3 before the iPhone, and has become markedly better since, while still only being at 3.1.3. It’s gained useable code completion, better compile times, somewhat more comprehensible code signing, better device management, etc. I’ve always liked XCode better than Visual Studio (which I use every day) but I understand that PC programmers tend to like Visual Studio better. Hopefully, open minded PC programmers will accept that XCode is not half bad and has gotten better.