Apple Doesn’t Seem To Want My Money

Yesterday, like six billion other people, I tried to pre-order a new iPhone 3GS from the Apple Store online. After trying multiple times getting multiple timeouts, I was finally given a message stating that they could not complete my request online, and that I needed to go to a brick-and-mortar Apple Store to complete it. This didn’t completely shock me since when I bought my first generation iPhone, I could not activate it through iTunes, and instead had to visit an AT&T store.

Shortly afterward, I received an email from concierge@apple.com, with this text

Thanks for starting your iPhone purchase online. To finish the process, come to the store you selected and look for a Concierge in an orange shirt. We’ll help you complete your purchase, activate your new iPhone, and set it up for you.

Apart from the fact that I didn’t select a store, this was in sync with what the online store told me. A pain to have to visit an actual store, to be sure, but it didn’t sound like it would be too painful.

So today, I drove to the mall and visited the Apple Store. As soon as I entered, I spied an orange-shirted “concierge” and approached her. “Hello,” I said, “I tried to preorder an iPhone 3GS yesterday online, but it said it couldn’t do it, and I needed to seek out an orange-shirted person at an Apple Store. Can you help me with this?” She looked pained as she responded, “I’m sorry… we don’t actually have a system in place to pre-0rder the 3GS.” She went on to say that they did have a pre-order system for when the 3G was launched, and she assumed they would move that system over for the 3GS, but they had nothing now, and I should come back on the 19th. She also said that “lots” of people had been coming in today, who had also been told to visit a store to complete their purchase.

That just sucks out loud.

I’m trying really, really hard to throw money at Apple and they just won’t take it. They clearly underestimated how many people would try to pre-order online yesterday, otherwise they would have had more server bandwidth to handle it. The fact that they sent me (and others) an email telling me to go to a store to finish the process, when they have no such process in place, is just sloppy. I’m not happy about this one little bit, and I want people to know about it.

Does this mean I’m not going to buy a 3GS and, instead, go with a Pre or something else? Of course not, and Apple knows this….

Skype For iPhone Is Full Of WIN!

We’re on vacation in Colonial Williamsburg, and the AT&T signal in and around our hotel sucks! This seems to be a common theme for me. At home, I have next to no AT&T signal. I swear, if it weren’t for the iPhone being such a loverly machine, I would never have gone with AT&T. Anyway, so we’re here in Williamsburg, and in the hotel, there is no cellular signal at all. But there is free, and fast, WiFi. So I fired up the Skype program on my iPhone and would you believe it worked a treat? It did. I have now made two calls with it. One to a restaurant in town, and the other to my brother-in-law back in GA to check on our dog. Both calls were crystal clear, with no lag or dropouts. I only have a 1G iPhone, so I can’t test it over the cellular network, but over WiFi, it was darn near perfect. I have a Skype unlimited subscription, so these calls were essnetially free. In any event, it was better than paying the $0.75 the hotel would have charged me for each call, plus whatever rate the local phone company charged. But beyond the cost, it was just plain cool!

I’ve been a fan of Skype for several years and we use it extensively where I work. I call into meetings and conference calls using it all the time, and I only very rarely have problems. I am now equally impressed with Skype for iPhone. Great job, guys! Keep up the great work.

Smiley

Help Me With iPhone Dev Graphics Question, Please

Usually when I learn a new programming language or framework, I am plagued by the fact that I can’t think of anything to build with it, or I can only think of things that are too difficult. With iPhone development, I have two ideas for apps, both of which should be fairly easy to write. I’ve gotten a good start on the first app, but now I’ve hit a roadblock, and I’ve been stuck here for a while. I thought I’d ask for help.

Obviously I can’t disclose too much of what the app does, since I do eventually want to sell it in the App Store. Essentially, it allows for a very specific type of photo manipulation. I’ve got the basic UI built, and I’ve hooked into the camera framework, so you can either take a new photo, or use one you already took. I am displaying the photo in the main window, currently scaled to fit, but I will eventually add zoom and pan. I have the code written that allows the user to define a region of the photo to work on, by drawing a rectangle or ellipse. I draw the shape using Quartz 2D, which results in a red rectangle or ellipe drawn on top of the photo. So far, so good.

This is where I’m stuck. I need to do “something” to the bits in the photo in the region defined by the rectangle or ellipse and, at some point, a freehand shape. (Obviously I can’t reveal what the “something” is.) So, I have looked through the Quartz 2D docs and am trying to figure out how I can

  1. get the bits in the region defined by the user’s drawing
  2. swizzle the bits with my secret sauce to produce the desired effect
  3. get the swizzled bits back into the photo for display to the user

And here I sit. I have never done anything with graphics before, so this is all completely foreign to me. I can’t see how to do any of those three steps.

The next question, then, is should I be using OpenGL ES instead of Quartz 2D? The iPhone dev book I have taught a little bit of both, and the OpenGL stuff looked far more complicated than Quartz, which seemed like overkill for my situation. I don’t know.

I think I can accomplish what I want by creating an image mask, applying that to my original image, and then displaying the new image, but the mask creation function, CGImageMaskCreate, has me confused. I get most of the parameters, but I don’t understand the CGDataProviderRef parameter. Can anyone offer any sort of pointers to get me moving again? Are there any really in-depth Quartz 2D tutorials? The Apple docs on Quartz that I’ve read are very basic, and don’t really give examples.

Thanks for any help or pointers. I know I haven’t given you much to work with.

iPhone OS 2.2 – Meh, So Far

I happened to be up and working for the man at 2:00 this morning when I saw a note on Twitter saying that Apple had released version 2.2 of the iPhone OS. Being the fanboy that I am, I immediately started the update process. The whole thing, from first click to iPhone ready-to-use, took about 15 minutes. Not bad, and certainly better than some previous upgrades.

Engadget has a rundown of the new features. One of the biggest additions is Google Street View, which lets you see street-level views while working through driving directions. You can also get walking directions from the Maps app, but since I never walk anywhere, that doesn’t really help me. The rearranging of the URL bar and Google box in Safari is another. You can also download podcasts over the air, but I use my 60 GB iPod for podcast listening, so this feature doesn’t do anything for me, either.

Basically, I’m just hoping that they’ve squashed bugs and made the OS more stable. I love my iPhone, but it does have its problems. I don’t know about everyone else, but I have to reboot my phone about once a week to keep it responsive. I know it’s time to reboot when I’m typing on the keyboard and I’m about 6 letters ahead of what’s shown up.

Oh yeah, Steve has still not decided that we’re worthy of copy & paste. Even though about 99% of iPhone customers are begging for C&P, it’s almost like Steve is keeping C&P away from us out of spite. Maybe in 3.0…

I Am Full of Teh Happy

Yesterday was a good day for me on several fronts. Let me tell you them.

First, whilst searching for various things in the iTunes store, I saw that Metallica had released their new album, Death Magnetic. I had bought the first single, My Apocalypse, a couple of weeks ago when it came out, and I was excited that Metallica might be good again. I was a Metallica fan from way back in the 80’s. I loved, loved, loved every album up to and including …And Justice For All. I didn’t like “the black album” at all for several years, but then it grew on me. I thought everything after that, starting with Load, sucked out loud. I listened to the samples of the new album and immediately clicked the “Add to Cart” button. I’ve listened to the whole album about 5 times now, and it’s playing again as I write this. This album is full of awesome. It’s fast and heavy with glorious Kirk Hammett guitar solos throughout. If you liked “old” Metallica, you will love this album. Buy it. Memorize it. Love it. Standout songs include “My Apocalypse,” “Broken, Beaten & Scarred,” “The Judas Kiss” and “All Nightmare Long.” 

I was also happy to see that iTunes had finally added 0 + 2 = 1 by the very strange band NoMeansNo. I had this as a cassette, back when it was originally released, but I haven’t been able to find it in any format since. iTunes had one or two NoMeansNo records, but not this one. I have been checking periodically, but they never had it. Until yesterday. I’ve listened to it twice since buying it. It’s heavy and a bit odd, but very good. “0 + 2 = 1” and “The Valley Of the Blind” are the best songs on the record.

And if that weren’t enough musical goodness, Dar Williams’ new album, Promised Land, was also available. I think this is one of her best albums ever. I have her entire catalog, and this album has already moved to the top of the list for me. It has her signature lyrical twists, and it’s quite upbeat, with beautiful melodies. I’ve only listened to it twice since buying it, but it’s really good. My favorite songs, so far, are “It’s Alright,” “Buzzer” and “Troubled Times.”

Yes, I have eclectic musical tastes.

Next, as anyone with an iPhone knows, Apple released iPhone OS 2.1 yesterday. I was really looking forward to this update because OS 2.0.2 had lots (and lots) of problems and annoyances. The biggest problem I had was with how long it took to backup the phone. Every time I plugged it into my Mac, it would easily take over an hour to do a full sync. That’s absurd. I have less than 2 gigabytes of stuff on the iPhone and it took one-hour+. I have 60 gigabytes of stuff on my iPhone, and a sync never takes more than a few minutes. The other major annoyances were a terrible lag when using the onscreen keyboard, and the fact that when you updated an application, it didn’t stay where you put it, instead moving to the first available open spot. Not good. 

I’m very happy to report that iPhone OS 2.1 has fixed these problems, for me, anyway. A full sync is taking around five minutes, which is completely reasonable. The keyboard feels responsive, and after updating applications, they stay where I put them. Bravo, Apple. Keep the goodness coming, KTHX.

And finally, the first two discs of season 3 of Weeds arrived from Netflix. I watched the first three episodes last night, staying up far, far too late in the process. Damn, I love this show, even though I know I shouldn’t like it, if you know what I mean.

My iPhone Battery Drain – Solved

Ever since upgrading my iPhone to 2.0.2 last week, I had noticed a marked drain on my battery. I don’t use my phone that much, so it surprised me that the battery was going down as fast as it was. I never let it get fully drained, but it would easily have lost its full charge over three days, which is unusual for me.

What I forgot was that after installing 2.0.2 I also setup a mail account on the phone to my company’s Exchange server. The problem was that even though I had “Push” turned off in the “Fetch New Data” section of Settings, when I added the Exchange server, it defaulted to “Push.” Once I discovered this, turned “Push” off and told it to fetch every hour, my battery life is right back where it has always been.

So, if you’re losing battery life faster than you expected, check your “Push” settings, not just in the Settings tool, but for each email account you have setup.

iPhone OS 2.0.1 – Installed

I just finished updating my 2G iPhone to OS 2.0.1. Usually when I sync my phone, I skip the “backing up iPhone” stage because it takes too damn long, but tonight, I figured I’d better let it complete. That stage alone took over an hour. After the upgrade, the entire sync process took under three minutes. That’s a serious improvement. As for other changes, I haven’t had time to play with it yet. I will be sure to note any improvements or annoyances I find.

iPhone OS 2.0.1 Is Out

I just read that the new version of the iPhone OS is out. I’ll be installing it in an hour or so. I’m really looking forward to this update, since 2.0 is buggy as hell.

BTW, I posted this using the WordPress iPhone app. It’s a very cool app, but it would be so much better if the iPhone had bloody cut & paste!!!

A Few Things I Hate About iPhone OS 2.0

I love the new iPhone 2.0 OS, mostly, though I really think they should have let it bake for another couple of months before releasing it. There are parts of it that just don’t feel fully cooked. For instance, one application dying should not cause the entire phone to reboot. That doesn’t happen in OSX, nor does it happen in Linux. It does happen in Windows, but that’s another story. It’s happened to me at least six times with different apps, and that’s just not cool.

Next, it’s really difficult to actually delete an application from the phone. I’ve figured it out, but here’s what I went through. The first time, I deleted it from the Applications panel of iTunes and said “yes” when it said that they would be removed from the phone the next time I did a sync. Perfect. Except it wasn’t. The next time I did a sync, I got a dialog saying that there was purchased content detected on the phone and did I want to transfer it. A parenthetical note advised that failure to do so would result in the content being removed from the phone. I answered “transfer” because I wasn’t sure if I’d installed anything directly to the phone or not. Of course, the only content that was on the phone that wasn’t in iTunes was the apps I’d just deleted. Actually, the very first time I tried to delete apps this way, I didn’t get the “purchased content on phone” message, because I’d seen it once before and had checked “always transfer” as the default. That means that it would be impossible to ever remove apps this way, since iTunes would always transfer them from the phone back into iTunes.

So then I tried deleting the apps from the phone itself. I pressed the icon and held it down until the screen went “wiggly” and then pressed the ‘X’ on the icons I wanted to delete. They got removed just fine. Until I did a sync with iTunes again, at which time they were dutifully reinstalled.

What this means is that there is only one surefire way to delete apps: delete them from both the iPhone and iTunes before doing a sync. You could just delete them from iTunes and then answer “don’t transfer” from that dialog the next time you sync, but you have to make certain that the only “new” content on the phone is the deleted apps, and not something that you want to hold on to. Good luck with that.

Finally, I hate the fact that every time I do a sync, iTunes will gladly spend 20 minutes backing up the iPhone. It apparently goes brute force and just backs up everything on the phone, whether it needs to or not. Some of the installed apps, like Apple’s Texas Hold’Em, have tons of images and audio files, which take forever to backup. And once those files have been backed up, there’s no reason to ever back them up again; they won’t ever change! A little checksumming of files could go a long way towards solving this.

I still love my iPhone and the ability to install apps on it is awesome. I’ve paid my $99 to Apple to get into the developer program, and as soon as I come up with something decent that needs writing, I’m going to write it. So even though this post contained the word “hate,” I still love you, iPhone. XX OO XX

A day or so ago Apple began seeding iPhone OS 2.0.1 to developers, so I’m hoping that goes GA quickly and that it addresses some of these problems. Just like Leopard had problems at launch and a relatively quick point release solved them, that’s what I’m hoping for with the iPhone.

07-26-2008 16:20 Update: When I sat down to write this post, it was originally “Three Things I hate…” but at the end, I’d really only included two. So I changed the name. But a little while ago, I remembered the third thing, and that’s when you update apps with new versions, they don’t stay where I had them. For example, just this morning, UrbanSpoon had an update and when it was updated, it moved from page 2 to page 5. That’s very uncool, too.

I Paid My $99 To Apple

As I said yesterday, I finally got my acceptance letter from Apple that essentially allows me to pay them $99 in order to develop iPhone software. I have just now paid the $99, so now it’s just a matter of waiting for the license or whatever it is that they will send out. Let’s hope it doesn’t take as long as it did for the acceptance letter.

As I write this, I am downloading the iPhone SDK. I played around with the first beta Apple released, but I haven’t really done anything with it since then. That was before they got Interface Builder going, so it should be a lot better now than it was then. I’m looking forward to getting started; now I just need to think of something that needs writing.

07/13/2008 00:37 Update: About 20 minutes after posting this, my Activation Code email arrived from Apple. Fun times ahead.