MobileMe Mail Error

Here we go again. Software Update just notified me that “.mac is now MobileMe” and that an update to Mac OS X was available. Being a masochist I went ahead and ran the update. Everything went smoothly for the most part. I was even able to connect to MobileMe Mail using Safari. I logged in successfully and started poking around the web interface. Guess what….

Yup, once again Apple’s servers are not up to the task. Here is the message I was greeted with shortly after the initial user interface was displayed in the browser window:

Picture 1.png

Apple builds some killer hardware, a great desktop OS, a great music device, some excellent applications, and a really cool phone. They just don’t seem to be able to get server computing right though.

I’m not sure if it’s that they don’t allocate sufficient engineering resources to the problems, or if their data centers are under-powered or what, but these problems just aren’t acceptable. This isn’t new territority. Companies in the on-line space such as Google, Amazon, eBay and AOL have been doing this for years. Building scalable, robust server farms that can handle the kind of load .mac subscribers (oops, I meant MobileMe) exert on the infrastructure just isn’t rocket science.

The new user interface in MobileMe looks promising. I just want it to work reliably and to always be there when I need it.

Come on Apple. You make great XServe servers. Throw more of them at the problem if it’s just a resource issue. Looking at the growth of Apple stock share prices, the increased sales of Mac desktop and notebook computers, and the insanely successful iPhone I think you can afford to hire some top-gun server developers if what you need is more engineering talent to correct this problem.

Please, make MobileMe something everyone loves and can’t live without. Show the rest of the on-line world you mean business here!

Finally, accepted into the Apple iPhone Developer Program!

The subject of this post says it all. I just received an e-mail from Apple indicating that I have been accepted into the Apple iPhone Developer Program and that I need to fill out some information to complete the registration process. I sure hope everything goes smoothly. I, like many developers, have been waiting to try my application on the iPhone for months.

Upgrade to iPhone OS 2.0 Fails – Unknown Error (-9838)

The new iPhone 3G went on sale this morning at 8:00 AM and I’m sure there are long lines at various Apple stores around the country. I already have a first generation iPhone and was looking forward to the iPhone OS 2.0 upgrade. Sure, I’ll still have to live with the EDGE network speed when not connected to a WiFi hotspot and I won’t have a GPS, but other than those two shortcomings (and not being able to get one in white) my first generation iPhone is working just fine.

So, this morning when I sat down at my desk and pressed the “Check for Updates” button in iTunes with my iPhone connected it said that the iPhone OS 2.0 update was available for download and installation. I ran through the process and everything seemed to be going well right up until when it restarted the iPhone with the new 2.0 software. Then I get the dialog box shown below.

Picture 3.png

WTF! An unknown error? What sort of an iTunes Store failure is this? My phone appears to be bricked at this point. All I can do is make an emergency call. Oh boy, just what I wanted from Apple! If only I could make an “emergency call” to the Apple technical support line maybe they could let me know what the -9838 error is. I am not very happy right now.

The dialog box says to try again later. Well, I have retried this operation by ejecting and reconnecting my iPhone at least ten times now, and each time I see the same dialog box.

When I get this resolved I will post an update. For now, if you are eager to get the iPhone OS 2.0 I would suggest that your best bet is to go buy a second iPhone. Clearly Apple has not fully baked the iPhone OS 2.0 support for the first generation iPhones. How disappointing!

Update @ 9:05 AM

It is now 1 hour after I started this upgrade process and the iTunes Store is now reporting a different unknown error code.

Picture 4.png

What fun!

Updated @ 10:12 AM

Still no luck getting my phone to work. I am getting the “unknown error occurred (-4)”, and have been for more than an hour now.

There is a discussion of this issue on the Apple support site. Here is the link:

Topic : Cannot connect to store (error -9838): can’t activate iPhone !

Someone at Apple should be held to the flames for not anticipating this sort of issue and taking steps to eleminate it. They had very similar problems when the first generation iPhones were released and people couldn’t activate them.

Think Different, indeed….

Updated @ 10:20 AM

Finally!

Picture 5.png

Apple is very fond of reminding people that they build great user interfaces for their applications. Here is a perfect example of where they failed miserably. I think a lot fewer people would be complaining about this server scalability issue if the iTunes application had a “retry” button. Instead of just asking you to try later the software should do that for us. After all, the computer is more than capable of retrying the connection until it succeeds. There is no reason at all for all of us humans to be sitting here clicking on play lists and then clicking on the iPhone item and then waiting for an error and then repeating the process FOR TWO AND A HALF HOURS!

Apple, you need to put more engineering resources into this sort of thing. The scale you are dealing with on the iPhone and the iTunes Store and now the App Store is way beyond what .mac ever was. You need to THINK DIFFERENT!

Building Team Cohesion Quickly

When forming a new team to build that Killer Web App ™ it is very important that the team work as a cohesive unit. Much has been written about how to build a collective team spirit and I won’t rehash that here. Sufice to say, if you don’t have a cohesive team you probably won’t be able to execute on your grand ideas and the project will eventually fail.

Today on TechCrunch there was a terrific article that details how one group of like-minded individuals came together to build a web application in a few days for a meer $10,000. Check it out.

Microsoft Professional Developers Conference 2008 – See you there?

logo-flat.png

The last time I attended the Microsoft Professional Developer Conference was back in 2001, shortly after the attacks of September 11th, 2001. Just over 6000 people made the trip to Los Angeles to learn about the latest technologies from Microsoft, as they were in the midst of rolling out the .NET Framework. They were pushing Hailstorm (I still have the free book they gave everyone with the Hailstorm API in it. I never did get a chance to use it though.). Everyone was excited about building new web services using .NET and C#.

A lot has changed since then. Vista and Windows Server 2008 are here, the .NET Framework has gone through three major revisions, Visual Studio has seen major improvements supporting team development, Intel has delivered multi-core processors and Microsoft still hasn’t delivered on the promise that was Hailstorm.

The preliminary agenda for PDC 2008 has some interesting sessions listed. Topics I am hoping to learn more about this year include:

  • Silverlight
  • Visual Studio 10
  • Windows 7
  • Multi-core Programming Techniques

Even though Bill Gates is now officially retired it looks like he is scheduled to speak at the conference as well. For a geeky college dropout with a whiny voice he does a great job delivering keynotes to developers. He doesn’t have the stage presence of a Steve Jobs, but he isn’t running Apple either. I look forward to hearing what his message for Microsoft developers is this year.

The dates for the conference are October 26 – 30, and the event is being held at the Los Angeles Convention Center once again. I hope to see you there.

Simple UI Refinements Increase Developer Productivity

Recently I have been thinking a lot about what it takes to create a good user interface versus one that just gets the job done. Whole books are available about UI design, but I think most developers steer clear of them, adopting a Git-R-Done attitude instead.

Most developers that do UI work know how to use the various widgets, can follow the general patterns that can be observed in other platform applications (i.e. copy the UI “feel”), and have a vague sense of how to lay out the elements of a dialog box. What we all seem to forget is that the field of human interaction is separate from programming, and that there really is something to it.

A very good example of how subtle changes in a UI can make all the difference can be found in Visual Studio and Xcode; the development environments for Windows and Mac OS X. In both tools a dialog is provided for manipulating the compiler and linker settings that control how the project is build.

Visual Studio 2005 – nice set of property pages that can be navigated by a tree on the left. The problem is, you have to already know where all the properties live (under which tab) in order to quickly navigate to the properties you want to change. Take a look at the screenshot to see what I’m talking about.

vc2005_properties_thumb.png

Apple took a similar but subtly different approach on their project properties dialog box. They list all properties by default, grouping them by category. The developer can scroll up/down through the complete list to browse all of the properties. The search box at the top of the dialog provides a more powerful user interface than the tree control in Visual Studio. This one little addition makes all the difference in the world for a busy developer.

Xcode Project Properties_thumb.png

Here we see how this simple addition can increase the productivity of a developer. By simply letting the developer type a free-form string that describes part of the property he/she wishes to change the list of properties is narrowed to display only those that are a match. In the screenshot below you can see how this makes it very easy to get at the preprocessor definitions to make a quick change. In Visual Studio the developer is expected to remember which category the property appears in, remember the name of the category, and then navigate to that tab before he/she can make the change.

Xcode Project Properties (Narrowed)_thumb.png

This is just one small example of how similar user interfaces can be very different when actually used. Both provide a way to manage the properties of a project, but only Xcode provides solid UI features that support the day-to-day use cases for a busy developer.

So, it should be clear that spending time on UI design can pay off. Your users may not recognize the amount of effort that was put into the UI, but they will appreciate the increased productivity that a well though out UI provides.

iPhone developers put on hold by Apple

The Apple World Wide Developer Conference (WWDC) for 2008 kicked off Monday with a keynote presentation by Steve Jobs. As was expected, a new 3G iPhone was announced and there was a lot of discussion about the new capabilities in iPhone OS 2.0. Steve mentioned that the iPhone SDK has been downloaded 250,000 times since the release in March and that 25,000 developers have signed up for the iPhone Developer Program. Of those 25,000 developers Apple has selected 4,000 for participation in the beta program.

No mention was made of when (or if) the remaining 21,000 developers who wish to participate in the beta program will be permitted to do so.

Based on the numbers I think it is clear that developers are very excited about building and selling applications on the iPhone platform. Unfortunately, Apple seems far less excited about helping these developers get started. They have let a mere 16% of interested developers into the program. The remaining developers cannot build and test applications on real devices. Effectively Apple has put all these developers on hold. They want to build applications that use the accelerometer, the camera, the GPS, etc., but cannot since the simulator has none of these capabilities.

To illustrate what a ridiculous approach this is for supporting developers take a look at the following post that recently appeared on craigslist. Whoever this developer is, he/she really wants to get their application tested and running in time for the Apple AppStore launch.

Someone with influence at Apple Computer needed (santa clara)

I need my application to the iPhone developers program approved so I can get a certificate to test my applications on a real iPhone. Without one I can only run it on a simulator. I have a compelling application that I am working on that will be sold commercially.

Apple computer received my application two months ago and they have my credit card number for the $99 fee.

In return I can give you some cash or services or maybe a gift certificate for dinner someplace. Whatever you think is reasonable.

Apple and Steve have been positioning the iPhone OS (CocoaTouch) as a new platform for application development. The developer community seems to agree with this and wants to develop applications for the platform. Apple, please let the remaining developers who signed up for the beta program in. We all want to give you $99 so we can start running our applications on real devices. We all want you to take 30% of any revenue from the sale of our applications when they are sold through the AppStore. We all want to help make this a great new platform for application development.

The simulator just doesn’t cut it! Give us the ability to run on actual devices, PLEASE!!!!!