Vanity Search

April 4th, 2007

I told someone the other day that they could Google me and I’d show up. Today, I tried that and it didn’t work. Googling ‘Aaron Evans‘ shows no sign of aarone.org. I’m still in their index; just search for aarone.org and this site shows up. I’ve seen Google leave me out of their results for a day or so but I usually show up in the top three. Let’s hope I show up again.

Well, I have to ask myself how “good” other search engines are at finding me:

Look’s like they’re all pretty consistent although I’d say Altavista does a slightly better job (I’m kidding).

Note: I think I figured out what the problem was. An improperly configured .htaccess file caused non-root links to show up as 404s. Doh!

iTunes2web 1.1

January 17th, 2007

iTunes2web 1.1 has been released. It should now run properly on Intel Macs.

Building Subversion 1.4.x with SSL on Mac OS X

January 15th, 2007

I’ve built it before but I seem to always forget how it’s done. Here are the steps:

  1. Configure, build, and install neon 0.25.5. You must use the specific version required by subversion and at this time, subversion requires 0.25.5. Configure neon as follows: ./configure --with-ssl=openssl --enable-shared
  2. Build and install Apache 2 as instructed from Apple’s developer site (don’t worry about configuring Apache as a webdav server).
  3. Download the latest version of Subversion 1.4 source
  4. Configure, build, and install Subversion using the configure options given at the second link above.

Reflections on the iPhone

January 11th, 2007

The Macworld keynote has passed and Apple has introduced the iPhone and Apple TV. The biggest surprise of the keynote was the lack of announcements: no iWork or iLife updates and silence regarding Leopard. Everyone thought that Apple was announcing a phone and the iPhone still surprised everyone.

Like many Apple products before it, the iPhone must apparently be seen and held to be fully appreciated. Cade Metz of PC Magazine got to play with it for ten minutes and said:

“…an absolute revelation.” “Seeing the device in action is one thing—but actually using it is another,” Metz said. “Each application is impressive in its own right, from photo-management software to the Safari Web browser, but it’s the overall touch-screen interface that takes the breath away.”

A revelation. As if it came from the God of consumer electronics.

It’s funny to think that before the iPhone was introduced, there was a belief that small devices could not be made to be simple to use. What did the Palm CEO say in November regarding the prospect of an Apple smart phone?

We’ve learned and struggled for a few years here figuring out how to make a decent phone, PC guys are not going to just figure this out. They’re not going to just walk in.

I wonder if he feels stupid right now.

Today, I saw that a Palm VP was quoted as saying the following:

How do you compete with vaporware? You sell the product that only costs half as much, and is available now. Palm’s not going to try to market against product that they haven’t seen yet.

Palm’s strategy is apparently to not think about competing with the Apple iPhone until they have one in their hands. That gives them six more months of good times. This makes zero sense to me. It seems like you’d want to try to start making a better product today to compete in the future.

The other interesting subtle point that Palm is making is that the Palm phones are cheaper than the iPhone and that that’s a competitive advantage. This seems like the same strategy that Creative attempted to take when the iPod first came out. Look at us; we’re basically the same thing but cheaper! The iPod was sexier from the start and they didn’t understand that most consumers don’t care about a feature set when they buy a product. It took several incarnations of the iPod and economies of scale to make the iPod cheaper than Creative’s comparable offerings. At that point, Creative had no competitive advantage. I think history just might repeat itself with Palm taking the place of Creative. My tip to Palm is to start working on making your phones awesome as opposed to cheap.

Markdown, TextMate, and WordPress

January 7th, 2007

This blog uses WordPress for its backend. Until today, I was using ecto to publish my posts and formatting my posts using HTML. In general, it works ok. For the sake of change, I decided this morning to try a new blogging workflow:

  • Format posts in Markdown
  • Write posts using TextMate
  • Keep WordPress as my blogging backend

Markdown is great. I like being able to easily read and write my fomatted posts.

TextMate has a great blogging bundle. The screencast should sell anyone who is on the fence about using a text editor for blogging. ecto supports Markdown as well but I really like the syntax highlighting and shortcuts that are provided by TextMate.

The final piece of this puzzle is installing the PHP Markdown plugin to allow WordPress to transform Markdown into HTML. The installation is simple and works fine as far as I can tell.

Why the iPhone will succeed and succeed greatly

December 23rd, 2006

Bill Ray of The Register writes that the iPhone will fail and fail badly. The device doesn’t even exist yet and we’re already trying to predict its failure. Let me try to break apart his argument.

First, Ray contends that a critical aspect of the mass adoption of the iPod was that it could hold all of your music. The argument is that people will not want an iPhone if it can only hold a portion of your music library. It is true that people hadn’t thought about portable music players as holding all of your music before the iPod. However, iPod sales are heavily biased toward the smaller, cheaper models that cannot hold your entire music collection. This has been true for as long as Apple has sold these smaller models. The iPod’s success is not predicated on holding your entire music collection. The iPod’s success can be attributed to its appearance, its ease of use, and its near perfect integration with iTunes that is still unmatched by other vendors. In other words, Apple’s success come from two things that it has always been better at than other companies: industrial design and hardware/software integration.

Next, Ray says:

The clever design of the iPod stretched into the software - the clean and simple interface is indeed easy to use, and users seem very comfortable with iTunes on their PC. But creating a simple interface for a single function is one thing. Replicating that experience to manage all the functions of a mobile phone is another thing entirely. Mobile phones are not complex to use because of bad interface design, they are complex to use because they are complex devices with a myriad of features. The fiercely competitive mobile phone business has driven interface development at an astounding rate: it has become de rigueur for every new handset to feature a revolutionary new interface mechanism.

Yes, that ‘clever’ Apple iPod interface that was copied into iTunes….. It was the other way around: the iTunes interface precedes the iPod interface. The clever aspect of the iPod interface is the click-wheel, not the hierarchical layout of music that is present in both iTunes and the iPod.

Why will Apple succeed where other phone manufacturers have failed? Why should we believe that Apple will be able to create a simple interface for these very complicated (sic) devices? Even if we accept that these devices are somehow unique in their complexity, has Ray ever compared the UI for Windows Media Center, which manages a vastly complex set of varying functions, with Apple’s FrontRow? Apple can make seemingly complex devices very simple.

Again, Apple’s advantage in the phone market arises from its great industrial design and its ability to integrate hardware with software. While phone manufacturers may be trying to ‘get’ industrial design they do not get hardware/software integration and they will not unless they start building Windows apps to sync with phones. Cell phone manufacturers choose to clutter their interfaces to allow for video downloads. Apple will allow iTunes to sync videos to your phone. Cell phone manufacturers have bizarre sequences of dialogs that allow you to enter contact and calendar info into your phone. Apple will simply remove this capability and allow iTunes to sync your calendars and contacts to your phone, just like it already can do with your iPod. Apple has such a clear advantage in leveraging iTunes to make their devices simple and clean that it’s hard to see how phone manufacturers could hope to compete with Apple in this respect.

Ray continues by explaining the economics of the cell phone and the relationship between cell phone manufacturer and network operators. He explains that network operators subsidize the cost of phones so that they can entice new customers and that in return, cell phone manufacturers go out of their way to please the network operators. The logic is that Apple will either have to succumb to the demands of the network operators or choose to sell its phone at a very high price.

Most analysts believe that Apple will become a mobile virtual network operator (MVNO). This means that Apple will pay some large operator like Cingular to use its service and then act as its own operator on top of Cingular’s network. Apple would be left to sell their phones at some very high cost (maybe $500-$600 ?). Ray dismisses this idea:

Some have suggested that Apple will simply set up their own Mobile Virtual Network Operator (MVNO) and just fund the subsidy; making the money back on calls and use of the iTunes service. However, iTunes has always existed to sell hardware, not subsidise its production. The service isn’t supposed to make money, and while it might or might not lose a great deal of money it certainly can’t be called upon to cover the cost of a stylish handset any more than it could cover the cost of handing out iPods for free.

First, he is under the assumption that Apple cannot sell a phone for over $500. I think they could. Second, how much does Apple make as an MVNO? This unknown quantity is critical to any analysis of how much they could discount their phones. Third, why do we assume that Apple wants a heavily discounted phone? Any attempt by Apple to directly compete in the low-cost phone market will only cannibalize iPod sales.

I’m not entirely sure how MVNO will work but its my assumption that customers would send Apple a monthly check for service and that some portion of that goes to Apple while the bulk of it would go to Cingular. So, if Apple can sell the phones at $500, they make money on the phone and the service. No network operator or phone manufacturer can say that. Moreover, if Apple provides a very compelling service, they can charge a premium for the service.

To understand why Apple will be able to sell a phone for $500, we need to understand the changing market of the high-end iPod. The high-end of Apple’s iPod lineup is currently stagnant as portable video is unlikely to drive more sales. With music as the major attraction to any iPod, there is little more demand for a 120GB iPod than there is for an 80GB iPod.

In addition, flash densities are increasing so quickly that 40GB flash iPods are probably only a few years away. The high-end, hard drive based iPod can only last so long in its current form. Without the high-end iPod, Apple becomes one of many vendors offering similarly small and inexpensive music players.

As a corollary of Moore’s law, the features in the high-end iPod slowly migrate toward the cheaper variants. Customers who may not spend money on an expensive iPod when it is released are likely to at least know the features of the expensive iPod and want one. When the features of the high-end migrate downward, the customers already understands the features and is a likely buyer.

It is for these reasons that it is essential for Apple to keep the high-end iPods as the most desirable product in the iPod portfolio. An Apple designed phone that could replace an aging iPod would be very desirable to many consumers.

Apple will succeed in the phone market but Apple’s success will not be defined by overall marketshare. Apple’s version of success in the phone market will be in the form of a successful replacement of the aging high-end video iPod whose functionality can slowly migrate to cheaper and smaller iPods. Apple is not interested in taking over the mobile phone market but rather in solidifying their leadership position in the market for portable, cool devices. Apple’s ultimate goal is still to use these devices and their seamless integration with a PC to drive Mac sales.

libicucore on Mac OS X

December 10th, 2006

Mac OS X 10.4 includes the ICU library but no simple way to actually use it. ICU is an open source Unicode library developed by IBM for Unicode and Locale-dependent functionality. Apple provides the library (/usr/lib/libicucore.dylib) in a standard Mac OS X installation but no headers to compile against the library. ICU provides many different features but the feature that I was most interested in was support for regular expressions. The ICU regular expression library is used by Java and Xcode and a lot of other software. The classic regular expression functions regexec() and friends do not support Unicode and that makes them undesirable for use in modern applications. There are many other Regular Expression libraries for the Mac but it would be nice to use ICU as it is powerful and installed on Mac OS X.

I’m not the first person who has tried to use ICU on Mac OS X. There was a thread on Cocoa-dev and also one on the Xcode-users list. Here’s the info I got from the latter thread from Apple’s “Unicode Liason”, Deborah Goldsmith:

Apple does not currently support direct developer access to ICU. We are considering such support for a future release of Mac OS X. It is possible to access ICU by downloading it from icu.sourceforge.net, building it to produce the header files, compiling against those headers, and then linking against /usr/lib/libicucore.dylib. You need to be aware of the following: 1. You need to use the right version of ICU for the version of Mac OS X you are using: a. 10.2.x and earlier do not have ICU at all b. 10.3.x has ICU 2.6 c. 10.4.x has ICU 3.2 For example, if you need to run on Panther, use the ICU 2.6 headers; if you require Tiger, then you can use the 3.2 headers. If you need to run on 10.2.x then you cannot rely on ICU being present. 2. You must not use draft or C++ APIs, or your application may crash when run on future versions of Mac OS X. If you are using the ICU 3.2 headers (or later), you can do this to hide draft APIs: #define U_HIDE_DRAFT_API 1 before including any ICU header files. Never include a C++ header file. 3. Apple does not support this usage of ICU. I think it will work, but cannot make any guarantees.

Unfortunately, this isn’t quite enough information to successfully use ICU on Mac OS X. Here’s what I did to successfully use ICU:

  1. Built ICU 3.2
  2. added the icu headers from the build to my project and included them in my header search path
  3. add the define for U_HIDE_DRAFT_API to hide the draft APIs
  4. declare the URegularExpression type that is now missing due to the previous step.
  5. add #define U_DISABLE_RENAMING 1 to disable renaming of functions
  6. include <unicode/uregex.h> (after the new defines) in your project.
  7. verify that code that uses ICU can be built

I’ve created the Cocoa ICU Library which wraps the ICU Regular Expression functions in a Cocoa API based on the ICU C++ API for the RegexPattern and RegexMatcher classes. It should be useful for anyone interested in using ICU-based Regular Expressions with Cocoa or for anyone interested in using any other ICU functions on Mac OS X.

now hosted by TextDrive

November 26th, 2006

aarone.org is now hosted by TextDrive. I’m so happy with this web host. Here are the features that appeal to me:

  • WebDAV access
  • subversion hosting
  • ssh/sftp access
  • ability to create users with restricted privileges
  • support for trac
  • webdav access
  • iCal hosting
  • MySQL, PostgreSQL, and BerkeleyDB support
  • much more…

I’m sold.

2006 stock picks revisited

November 22nd, 2006

While the market is doing well I thought I’d opportunistically review my stock picks from 2006. Here’s a breakdown of my picks:

Stock$/share Jan 2006$/share Nov 2006% change
Starbucks3136+16%
Verizon3135+13%
Apple7590+20%
Whole Foods7749-36%
Google442508+15%

Ouch! What happened to Whole Foods? If you happened to invest in those stocks equally you would have returned %5.6. Good thing I don’t have enough money to buy all those stocks: I only own Apple and Starbucks.

uptime

November 14th, 2006

Apple hasn’t released an update that has required me to restart in a while: aaron@localhost > uptime 20:59 up 29 days, 14:35, 2 users, load averages: 0.90 1.23 0.78 That’s pleasant.