From Apple’s Xcode description: “Xcode is… a productive and easy-to-use development environment, and is the same toolset used by Apple to produce Mac OS X and iOS.” If that’s true, I pity everyone who works at Apple.
You see, Apple has a… creative… definition of “easy to use”. They’ve redefined it to mean “backward and counter-intuitive even when it’s not actively fighting you”.
Did you know that removing a source file from your Xcode project (without deleting it from disk) won’t remove it from the compile process? Xcode merrily compiles it along with the rest, and if the file conflicts with your other changes you’ll get build errors with no indication of where in your project the problem is occuring.
There are two file-browsing panes. Near as I can tell, the one on the top only lists the files you’ve selected in the one on the left. In other words, it’s a complete waste of screen space.
The UI designer is a separate application. Enough said.
The code auto-completion tool (Xcode’s answer to Visual Studio’s vastly superior Intellisense) is completely broken… especially in Objective-C, which is ostensibly Apple’s favored language.
Yeah, they’ve done *that* poor a job with their IDE. I said I pity Apple’s developers, but maybe I should be impressed at how much they’ve accomplished *despite* Xcode’s epic suckiness.
A while back I posted a picture of the six (!) identical postcards I received from AT&T on the same day. That proved AT&T doesn’t filter their snail-mail to remove unnecessary mailings. Here’s proof that they’re not filtering their e-mail advertising either:
Lovely AT&T advertising e-mail
There are three sections highlighted in red there.
First, they claim, “Now it’s time to upgrade your phone”. That implies they’re checking who’s eligible for upgrades… we’ll see that they’re not.
Second, they list the “number(s)” that they claim are eligible for an upgrade. They list all five lines on the account. Only one of those lines is actually eligible for an upgrade; the rest of us have upgraded within the last six months and are not eligible for an upgrade for another year at a minimum.
Third, at the bottom they say “Ask about offers for other lines on this account”. Five is the maximum. I couldn’t add another line if I wanted to. They do this all the time. I regularly get e-mails from AT&T telling me I can add another line. When I log on to my account on their website, I get an “Add another line” link, even though I can’t actually add another line. Next time I get an e-mail telling me to add another line, I should call and demand they let me do so, and threaten to sue them for false advertising if they refuse.
Is it really too much to ask that their advertising not feel rubber-stamped?
I was idly scrolling around my iPhone 4 home screen last night, when suddenly this happened:
I got it stuck between the first two pages on the home screen. This is repeatable; you just need to scroll to the right pixel. It takes a few tries, but it’s fairly easy to do. The buttons on the “active” page (the left half) work as normal, even the folders, but the buttons on the “inactive” page (the right half) do not. The left half is always the “active” half.
I could not reproduce it on the iPhone 3Gs.
Now, a few hours after taking this picture I was fiddling with it some more. I got it stuck between two pages, then I tap-and-held on one of the buttons on the right half of the screen. The screen scrolled to the “active” page, and the folder was gone! It was nowhere to be found.
I had to reboot my phone before I could get my icons back, but when I did so, every folder except one was gone, and all my icons were scattered randomly across five home screen pages. Took me another half hour to sort them again.
So, next time you’re fiddling with a software bug in iOS4, don’t be surprised if things aren’t as you expect when you reboot your phone…
That’s right, I’ve betrayed everything for which I’ve stood for the last three years.
I think I just got tired of hearing about my friends second- and third-hand. Nobody tells people anything anymore, they just throw things up on Facebook and assume everyone will see it.