Mac Market Share Increasing!

I was at the local library today to do a couple hours programming in a quiet environment without the normal distractions of my home office. To my surprise when I looked around I saw a sea of Apple MacBook and MacBook Pro laptops. Sure, there were a few Toshiba or HP laptops too, but the majority of the machines in the room had shinning bright Apple logos on the screens.

My unscientific survey in the library today yielded the following numbers:

System Count
White MacBook 2
Unibody 13″ Macbook 1
15″ MacBook Pro 2
12″ PowerBook 1
Toshiba 1
HP 2
IBM 1

That breaks down to 60% Apple, 40% Microsoft.

Now that’s what I like to see! Maybe the recent discussion on the macsb about Mac market share isn’t so far fetched after all. Here are a few interesting links:

Who knows if this is all true or not. With the recent announcement that Steve Jobs will be taking a six month leave of absense from Apple due to health concerns the future for Apple is less clear than it once was. I’m sure Apple will do just fine over the next 12-18 months since there are a number of products already in development. The big concern has to be about the sort of innovations that Apple can concieve of and execute on after the current pipeline runs dry. Will there be other folks at Apple with the same vision and forsight as Steve Jobs? Probably, but it is far from certain.

Atleast for now it seems like the market share for Apple will continue to climb. Microsoft will have to hit a home run with the new Windows 7 operating system if they want to fend off the onslaught of Mac OS X. Being a long time developer on both platforms I can say that from my point of view having more users on the Mac makes me happy! I look forward to developing, releasing and selling more applications on the Mac platform.

Software Design: Want vs. Need

I am always surprised at how short-sighted some folks are who design software. It seems like there is no shortage of people who feel that you just have to listen to your customers to build great software. In my experience, if all you do is build what the customer says he/she wants then your software will likely be obsolete in a year (maybe even less time) and your customers will ultimately be very unhappy with you.

To build great software you have to listen intently to what the customer is saying so you can identify the pain and suffering that usually lies unexpressed just below the surface of comments like “All I need is a widget that does X.”

Check out what BusinessWeek magazine had to say about this phenomenon:

“It’s really hard to design products by focus groups. A lot of times, people don’t know what they want until you show it to them.”
— BusinessWeek, May 25 1998

Probably my favorite quote about building great software came from someone on the team that built the NeXT computer. I think they really understood what it takes to build quality systems (software and hardware) that last.

“It took us three years to build the NeXT computer. If we’d given customers what they said they wanted, we’d have built a computer they’d have been happy with a year after we spoke to them – not something they’d want now.”
— Someone on the NeXT Team

It all comes down to making a decision to apply your knowledge and understanding of technology to address the immediate problems for the customer and to push beyond so you can give the customer a system they can grow with. The ultimate measure of success is when a user says “Hey, now I need to do Y with the widget.” and you can reply with something like “Okay, this is how you do that with the system we built.” If you find yourself replying with something more like “Hmmm, we could add that to the software but it will cost you.” then you are doing it wrong!

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!

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!!!!!

Apple iPhone SDK — Catch-22 for Developers

Way back on March 6, 2008 I signed up for the Apple iPhone SDK along with many other developers. Everyone watched the Apple announcement by Steve Jobs about the SDK and iTunes Application Store; everyone heard about the $99 enrollment fee for the developer program; everyone heard about the 70/30 split on application sales through the store; and most important of all, everyone heard that the store would go live toward the end of June. That was a clear signal to all developers hoping to sell applications for the iPhone or iPod Touch. The message was Start developing your applications now so they are ready in time for the grand opening.

Sadly, the reality of the iPhone Developer Program for many developers has been very different. What has actually transpired is essentially a Catch-22 for independent software developers wishing to build applications for iPhone/iPod Touch.

Many (possibly most) developers who signed up for the program on the 6th were greeted with the following message after the multi-step enrollment process:

Thank you for submitting your information.

While we process your information, please visit the iPhone Dev Center to download the iPhone SDK and access a wealth of technical resources. Please note, the iPhone Developer Program will initially be available to a limited number of developers and will expand in the coming months.

Next Steps

You will receive notification of your enrollment status. Enrollment ID: xxxxxxxxxx

No additional information was provided. No channel for posing questions about the progress in letting developers into the program was provided. No means of determining if you would even be accepted into the program before June. Nothing. Apple is dead quiet about the status.

The lucky few developers who have already been selected by Apple are all under NDA, just like everyone else who is trying to join the program. This means there is little if any information being shared by these developers regarding what Apple may be telling them about the June launch of the store.

Apple is asking us to all download the SDK and begin developing our applications using the iPhone Simulator. They are asking us to blindly trust that once we invest significant time and resources into developing these applications that we will someday be able to test them on actual devices and eventually be able to sell them in the store.

Back on March 6, 2008 Apple indicated that the number of developers in the program would expand in the coming months. It is now roughly one month before the application store is projected to “go live” and many developers still do not have the ability to test their applications on actual devices.

Apple is asking all independent software developers to risk a lot of their own resources while the developers remain in limbo. We don’t know if/when we will have the opportunity to test our applications. We don’t know if/when we will be able to get more details from Apple regarding the store. We don’t know if/when we will be able to submit applications to the store for sale.

And, to rub salt in the wounds of developers everywhere, a few days ago Apple reminded all of us that the deadline nears for submitting your iPhone applications for consideration in the 2008 Apple Design Awards held at this WWDC this summer.

You might say “So what, just submit the applications you build with the iPhone Simulator”. That would be a perfect solution but for one small problem. In the release notes for the SDK Apple mentions that some portions of the SDK code cause crashes on the simulator. They offer two methods to work around the issue. First, you can forgo using the Interface Builder tool and place your controls on the screen manually. Second, you can just do your testing and debugging on the actual device. That would be the perfect solution except we cannot load applications onto the device because we have not yet been accepted into the iPhone Developer Program.

Steve, please level the playing field for independent software developers everywhere who want to develop applications for this fantastic new platform you built. Continuing to ask independent developers to sholder so much risk and uncertainty is not what we expect from the company that asks us to Think Different.