They better get their shit together before Monday... 2

Posted by Toby Sat, 30 Jun 2007 17:57:00 GMT

This iPhone launch has really been screwed. Unlike some of my friends, they haven’t deactivated my old phone yet (mostly, I think, because I didn’t call Verizon to tell them anything) but I’m sure they will do so long before I get the email telling me that my iPhone is activated if the rest of the stories are at all accurate.

At this point, I don’t even care who’s fault it is. The thing Apple had to know is that, whomever is to blame, customers bring this thing home and sit in front of their program on their computers to activate it and that fact makes it Apple’s fault. I don’t even believe that its largely Apple’s fault technically, but again, it doesn’t matter.

Lets look at this from a higher-level perspective. If you are Apple, you:

  • had to know how many units you were going to ship out to stores and thus the exact maximum activation load AT&T could possibly have to handle
  • had to know how long the average purchase was going to take, since making activation offline then turns the point-of-sale into the same experience of buying an iPod, and thus could model the time series of activations relatively accurately (again, being conservative to make sure the launch went smoothly)
  • had to understand demand would be higher on the West Coast because you sell a bunch of other shit that has higher demand levels on the West Coast and the demographics between those customers and iPhone customers are largely the same (if they aren’t, you can’t assume they aren’t, anyway)
  • had to know that your partner is basically incompetent

Apple has retail stores, for chrissakes! They’ve launched wildly popular items before! (recently, even) They had to have this data. Not mining it correctly was negligent of them.

There are two important meta-points in all of this that I’d like to iterate.

First, this is Jobs’ legacy product. The “going out on a high note” dealie. He can’t be pleased with how this launch will be remembered at this point. I can imagine him sitting in front of his iPhone screaming at AT&T execs, voice hoarse from having done so since about 7PM PST Friday night. This may all wash over in the end, but he’s just got to be upset right now.

Secondly, this had all better be worked out by Monday morning.

Why?

Because the people buying iPhones have jobs.

It costs too much for it to be otherwise on a large scale. Those people need to make calls. Having to wait 24 hours to make or receive a call again is not a tenable situation for the vast majority of them. If this rolls into Tuesday, expect to see massive returns of the iBrick.

I think they can pull it out if they work it out by Monday. However, if not, I really can’t see anything good coming of it, since Monday is also the day the news media wakes up and they are all just pining for the opportunity to smash a big pie in Apple’s face. That’s schaudenfraude for you. If they don’t work it out by then, the choice of headline words in news stories goes from “bumpy” to “disastrous”.

iPhone Woes

Posted by Toby Sat, 30 Jun 2007 11:00:00 GMT

As everyone I know who bought an iPhone is currently experiencing the awesomeness of the AT&T end of the Apple-AT&T collaboration , I figured I’d post up this story I found in the forums about one guy’s well-put experience with the iPhone to date:

Getting the iPhone was easy. Getting it to work, however has been more of a Microsoft type experience.

I walked right into the flagship 5th Avenue Apple store last night at 10PM to the still roaring cheers of employees lined up at the entrance.

As I marched down the shiny spiral staircase, the view of the crowds reminded me of Moses’s descent from Mt. Zion, masses of people welcoming me, while at the same time occupied with their own business of conducting their iLifes. I was ushered like a movie star into the iPhone line corral, which had about 5 people in it and in less than 2 minutes flat, my Green Amex card was being silently swiped and I was handed a bag with what looked like a small box of very expensive cologne inside.

I had been “gifted” the most coveted tech prize at all and could hardly contain my excitement as I rushed into the round glass elevator full of other devotees with their little black bags. Walking out it felt like I had won the marathon – more cheering and adoring fans. “Where was the champagne”, I asked myself?

I hopped on my bike and rode home to the Upper upper west side and in seconds flat had the bag and it’s contents opened, eager to inspect the candy inside.

I was not disappointed – the phone, and it’s packaging are a model of Apple simplicity and style, well worthy of all the hype and upholding the companies tradition of doing things right that sings a compelling song to my organizational heart. The packaging is minimal and there are no instructions to speak of. The phone told me to connect to iTunes for set up, which I already knew having seen the video on Apple’s website. After a small bit of frustration with nothing happening, I decided to check for updates and realized my iTunes wasn’t the latest version, so I downloaded that version (again with classic Apple ease and simplicity) and re-started iTunes.

This time, my phone was recognized and I was prompted to set up my new AT&T account. “Hooray”, I shrieked, eager to have the phone up and running so I could show it off to a friend who was stopping by any minute now.

Almost 12 hours later, I am still waiting, the “Your Activation Requires Additional Time To Complete” message still taunting me when I open iTunes. I guess you could call it the Hangover. I woke up at 2AM and when I was still greeted by the annoying, sorry you’ll still have to wait message, decided to call the customer service number on the screen. After an 8 minute wait on hold, I was told by the very nice AT&T lady that I would just have to wait until I got said email.

Again, I am still waiting. I imagine there are tens of thousands of us still waiting. AT&T couldn’t hold up their part of the bargain and must have been overwhelmed by the desire to create new accounts. The thing that baffles me and I find somewhat amusing at the same time is, why did the part that involves human beings (going to store, waiting in line, having credit card and other information exchanged and then getting the phone, take less than 5 minutes, while the supposedly automated part, signing up for service take 10 hours and counting? Is this what one can expect from AT&T? Should I really be dropping my Verizon service?

I’m baffled. I’m annoyed. I’m feeling like I bought an Apple product, operated by Dell.

Its really quite a shame. This was Jobs’ legacy product, to be sure. Now it will be marred by this widespread failure to activate smoothly. Initially, I thought it was ingenious of Apple to do offline activation of these phones, but its clear that they and AT&T weren’t prepared. People are without their phones. I imagine there will be a big dip in sales after this hits the news. Good thing they released on a Friday ;-)

Nettica DNS and Amazon EC2 1

Posted by Toby Tue, 26 Jun 2007 20:13:00 GMT

When I started using Amazon’s EC2 service I realized pretty quickly that the traditional load-balancing solution of putting a big, honkin’ F5 BIG-IP in front of the servers wasn’t going to work out. Amazon doesn’t currently rent F5’s ;)

So, I went looking around for a DNS-based load-balancing solution that would be flexible enough to deal with the dynamic environment that EC2 provides. However, I pretty quickly found that the existing dynamic DNS APIs of most of the providers were not up to the task of programmatically updating a DNS record the way I needed. Specifically, I wanted to be able to register and deregister an EC2 instance with a round robin A record automatically upon instance startup and shutdown.

In the end, I was only able to find one dynamic DNS provider whose API was up to this task: Nettica.

Once I found them, it was pretty easy to wrap their SOAP-based API into a binary to drive this type of dynamic management of my DNS records. Apache Axis took care of turning the WSDL into Java (the only library that could do so across three programming languages, by the way) and the code for driving that wrapper was pretty simple. The end result of that effort is now open sourced for all to use.

The way I use the new Nettica client is to have the init script automatically register an instance on startup with the Nettica service. However, I remove the instance from Nettica a bit before shutting down the instance itself in order to deal with DNS caches that sustain the now-removed IP for longer than the specified TTL value. You might be able to automate this by throwing a sleep LARGENUMBER into the shutdown portion of the init script, but I haven’t tried this yet.

In any case, I hope people find this client helpful when using EC2. I look forward to hearing about experiences with it and improving it for others. I’m planning for a release pretty soon to add support for RPM packaging, as most of the AMIs used today appear to be RedHat RPM based. Watch this space for updates.

Nettica DNS client for EC2 version 0.0.1 released

Posted by Toby Mon, 25 Jun 2007 17:57:00 GMT

I’ve just released by code to update EC2 instances on start up and shut down with the Nettica DNS service. You can find it here:

http://code.google.com/p/netticadns/

With this code, you can set up your EC2 instances to automatically register/deregister themselves with the Nettica DNS service on start up and shut down. There’s no RPM packaging at this point, but there is a dpkg available for it.

I’d appreciate any feedback or patches. Have fun with it :)

sipscreen v1.0

Posted by Toby Sun, 10 Jun 2007 06:27:00 GMT

My buddy mct just created an awesome little piece of software called sipscreen which allows you to filter out VoIP calls based on rules of your own choosing on your Linux gateway.

Here are some example call policy rules:

exit 1 if $name =~ /TOLL FREE CALL/i or $number =~ /^(800|877)-/;                                                                                                          
exit 1 if $number eq "000-000-0000" and $hour >= 3 and $hour <= 9;                                                                                                         
exit 0;

If you’re using VoIP and have it connected to a Linux gateway, you should definitely check this out. Its way easier to accept/reject calls than having to fire up a full Asterisk install.

Erlang Presentation Slides

Posted by Toby Fri, 08 Jun 2007 07:11:00 GMT

I just gave a presentation about the Erlang programming language to the Philly Linux User Group on Wednesday night. The slides are available in the first link. It was an introductory talk focused towards a programming-oriented group. Let me know what you think :)