iTunes Export 1.2.0 Released

I released a new version of my iTunes Export utility.

iTunes Export exports your iTunes playslists as M3U or WPL files, allowing you to setup playlists in iTunes and use them with other software or devices.

This release adds the ability to export playlists as WPL files, and now handles playlist folders. Thanks to Rishi Dhupar for helping with both of these features.

I have received several new feature requests and bug reports recently and I plan on getting to them soon. Don't be afraid to ask for new features (

Edited - 3/1 - That is release 1.2.0, not 1.1.0.

Google Apps Go Corprate

The net has been buzzing recently about Google's announcement of Google Apps Premier Edition. I've heard a lot of talk, mostly how this is the Microsoft killer, or that the apps are useless and humble in comparison to Microsoft Office.

I think these are both true, to a degree. I have used Google Docs and Spreadsheets (as well as Reader, Adsense, Blogger, Gmail, Search, and probably others, so maybe I'm just a Google fanboy) and I think it does an excellent job at what it is.

I've spent most of my time in Spreadsheet. I have used it collaboratively as well as for my personal documents. For collaborative efforts, it certainly outshines the typical 'email around a document and everyone revise' workflow. There was a case recently where I was on the phone with a coworker and we were working up a spreadsheet to model something. This worked brilliantly for this task, as we could both update it and see the updates in real time. I've also had another situation where I wished we had gone down this path. Instead, we were all looking at the same Excel document (each on our own computer) trying to explain the concepts to each other without being able to illustrate our points.

It is not Excel. As far as I can tell, you can't graph or import graphs. It is a basic math spreadsheet. If you want a graph, or fancy formatting, etc. you will need Excel. This is OK for many people but some people will need to use features in Excel that are not in Google Spreadsheet.

Over time, the feature set will improve, and if Google does well with reliability and security, people will gain confidence in the service. If we trust the web for our Email, RSS Feeds, etc. why not to edit documents?

After all, the network is the computer, right?

Last Dance

This past Wednesday was Chief Illiniwek's last dance at the final home game this season for the University of Illinois men's basketball team.

The battle over the chief has been long and the best the 'Save the Chief' side can ever really manage is status quo. It does appear though that the battle is over, so we may as well enjoy the last dance.

Chief Illiniwek's Last Dance

The beginning is a montage of the history, and his actual last dance starts about the 2 minute mark.

I certainly wish I could have been there, but I'm glad I was able to enjoy it during my time as a student. Hopefully the Chief will live on in future generations just as American Pie and
O'Mally's has.

Google Reader Shows Dominance

As I run through my feeds in Google Reader today, I find that my prediction from my last post rings true (well, close enough) for more than just my own blog. Every post I've read today that mentions new subscriber numbers from Google Reader show huge increases. Here is a quick rundown:

Parent Hacks - 60% - 43%
John Battelle's Searchblog - 42% - 34%
AllThingsFinancial - 33%
Tim Bray - ~30%

I'm sure the blogs with the biggest jumps are more prone to report this news, but if this is representative of the average blog, Google Reader looks to own at least 30% of the feed reader market.

Not every one of Google's new products is a hit, but I think it is safe to say Google Reader is well on its way. I'm certainly a fan.

Google Reports RSS Subscriber Numbers

This is a bit of an 'inside baseball' post, but...

Online feed readers, such as Bloglines, Google Reader, etc. allow many people to subscribe to a single feed without actually querying the feed for each user. This means that tools such as FeedBurner are unable to track the number of subscribers accurately unless the tools report the number of readers. Bloglines has done this for a while, but today Google announced that they are now reporting the number as well. Finally.

Feedburner says the number will be incorporated into their reports tonight, so tomorrow my number should double... to 2. :)

Google is a little late the the party here, but I'm glad they finally showed up.

Convenience or Quality?

37Signals has a (somewhat) recent entry Convenience over Quality. This is a debate I've had several times with people, and I feel that the decision about quality or convenience depends greatly on the medium or function we are talking about.

There is no doubt that the trend in audio is towards convenience. Compressed audio (MP3, etc.) has taken over, and high quality audio formats such as DVD-Audio have been failures. I think this is largely because listening to music is a secondary activity. Very few people spend significant amounts of time listening to music as their primary activity. They listen while they exercise, drive, work, etc.

Video, especially TV and movies is different. People are buying HDTVs in large numbers and paying additional money for HD content from providers (cable, satellite). People are buying up-converting DVD players, and now Blue-Ray and HD-DVD players are out. I think the major difference here is that watching TV or a movie is a primary activity.

There are always trade offs. TiVo is a disruptive enough force that initially people traded picture quality for the convince of digital time shifting. With the evolution of new TiVo devices that is now (mostly) unneccessary.

So, for primary activities, quality is very important. For secondary activities, convenience is much more important. There are still exceptions in both of these cases, where the change in quality or the change in convenience tips the scales.

iTunes Export 1.1.0 Released

I released a new version of my iTunes Export utility.

iTunes Export exports your iTunes playslists as .m3u files, allowing you to setup playlists in iTunes and use them with other software or devices.

This release adds the ability to copy the music files in a playlist to an output directory. This was requested by several people, including Jason Clarke.

This release also excludes files that are just web links from exported playlists.

An interesting note on this release: I found Jason's post in my referrer logs and added a comment asking for additional information on what they were looking for. I received a couple email responses and was able to understand what their needs were.

This project started because I had specific need (an 'itch'). As it continues to develop over time I begin to understand what other people are looking for and address their needs. I have a couple of other feature requests I still need to work on as well, so look for more new release. Don't be afraid to ask for features (

Proprietary Apple

I've been thinking about this post for a while, but unfortunately Rolling Stone beat me to it. It makes some interesting points, but it doesn't really target what I was thinking.

Apple is VERY proprietary. Now, this is a double edged sword. Apple components (iPods, Wireless Routers, Music Players, etc.) all play very well together, and can be setup very easily. However, many of these systems are very locked down.

iTunes Music Store -> iTunes -> iPod is a closed system. You can add your own MP3s to iTunes (prohibiting that would be a non-starter for nearly everyone), but beyond that, you can't really swap any of these parts. Want to buy from another music store? Too bad. Want to listen to your music on a different device? Too bad. Want to sync your non-iPod with iTunes? Too bad. There is no doubt that this drives the popularity of the iPod. Syncing your iPod with iTunes is easy, and much better than the compatible experiences. Using a Dell DJ, even with additional 3rd party software still doesn't compare.

Contrast this to my D-Link Media Player. It comes with its own server software, but there are also several open source servers I can use to stream music/video/pictures to the device. The same is true of my Rio Receiver. But I keep my music in iTunes, so I had to write a utility (iTunes Export) to share my playlists with these devices.

The iPhone is another example. In a recent post I pointed out some reasons why I don't think the phone is great for me. There was a lot of excitement about the phone initially, but I find it interesting that while they tout that it runs OS X, it is also a closed platform, or at least its undefined how 3rd party apps could be added.

The amazing thing is how Apple gets a free pass on this. Microsoft is the 'evil empire' partially because they are said to leverage their market domination in one area (Windows/Office) to compete unfairly in others. I've always contended that developing using Microsoft technologies can be great as long as you stay on the Microsoft path. Use all the MS tools and follow their conventions and you can be extremely productive. With Microsoft, at least you CAN stray off the path.

I think it will be very interesting to see how Apple copes with its increasing market share and product line. I expect there to be a backlash at some point as Apple goes from being a cool niche to mainstream. I think we've already started to hear a growing frustration with Apple, and time will tell whether they will be able to handle the increased popularity.

That said, I've seriously considered switching to a MacBook before, and now that they are on the Intel platform it is even more appealing. OS X is becoming a very popular OS among Java developers, and I even have a friend who develops on Windows running in Parallels on his Macbook Pro. For now, I'll stay an Apple watcher from the sidelines.

Apple's Position on DRM

Apple is at an interesting place with DRM. Some have implied (Cory Doctorow) that it is in Apple's best interest to use DRM because it locks users in. Since iPods already have a huge market penetration, this is a real effect, whether intentional or not.

However, Steve Jobs recently suggested that Apple would prefer to distribute the content DRM Free. This is an interesting position for Apple to take, and one could assume it is simply a bluff.

I could give a full analysis of this, but it would simply be a rehash of John Gruber's post at Daring Fireball.

Go read that. What I would say is that I personally think the call is more or a bluff than a serious desire to release the music DRM Free. I think this is a response to the growing chorus of complaints (mostly in Europe) raised to open up Apple's DRM. I agree with John's analysis that this is unrealistic and something Apple won't do. This feels like a way to respond to those complaints without really having to do anything.

I've been planning on writing a post about how Apple is really very proprietary, and I think even more so than Microsoft. Cory's position about DRM certainly added fuel to that fire, although John does make some effective arguments against it as a major motivation. Regardless, I still think my position has some meat, and I'll work on getting that post out.

Cancel or Allow

OK, in case you think I'm an Apple basher because of my iPhone post, I thought I'd pass along the new 'Get a Mac' commercial. The newest commercial, entitled Security, depicts the new Vista security enhancements, which prompt users asking if they want to allow a program to execute an action that may be risky. While this is a good concept, apparently it is a little too aggressive in Vista based on what I've read.

Either way, it is a great commercial.

No iPhone for me

About a month has passed now since the announcement of the iPhone, and I think enough information has leaked out of the Jobs' Reality Distortion Field to begin to talk rationally about what it is and what it isn't.

The iPhone is the next gen iPod. It is first and foremost a media device, capable of listening to music, watching movies, pictures, etc. It will be less effective at the music portion than an iPod, but will be much better at video than the current generation of iPods.

It happens to have phone and internet features added as well, but don't mistake it for being a smartphone, ala a Treo or Blackberry. The iPhone can make calls, and you can browse the internet, but that isn't what this device is about.

Smartphones are primarily used by so called 'business users'. People who use the device to track their schedules, communicate via emails, and track information specific to their industry or organization. They also use their phone all day long. The iPhone is not targeted at these users.

I'm not exactly sure who the target audience is for the iPhone. The price of the iPhone $499 or $599 with a 2 year contract is pretty expensive. An iPod nano of the same capacity sells for $199 and $249. That leaves a $300 premium for the phone and video features. Cingular sells the Palm 680 smartphone for $199 with a contract. Price however is just part of the story.

The iPhone, just like the iPod, has no removable battery. This may be acceptable in a device that simply plays music, but in a phone that plays videos, accesses Wi-Fi and cellular networks, and also plays music, it just doesn't cut it. Apple claims a battery life of 5 hours when watching video or using the network. For an active business user, or even someone on a trip, this just doesn't cut it.

Also, I'm very curious to see how the touchscreen keyboard works in real life. I'm a big fan of tactile feedback in my devices, as it allows me to use them without looking where I'm typing, etc. Palm did an excellent job to make the Treo navigable using one hand (using the 5-way button). When you need to type you use two hands (or thunbs really), but to navigate the menus, applications, etc, the 5-way works great one handed. Also, as winter slams us this February, I wonder how will the touch screen will work with gloves (if at all). Again, the Treo works (well enough) with gloves to keep my hands from getting frostbitten.

Also, Apple chose to use the relatively slow EDGE network instead of the CDMA EVDO network, or Cingular's own 3G network. For a communication device, this seems to be an odd choice. Apple is obviously choosing to focus on the multi-media experience over the phone experience.

Finally, they have a long term (5 years?) exclusive agreement with Cingular. Maybe I'm just lazy, but I don't plan on switching my cellular provider just for a chance to own a specific phone.

Apple has had some amazing successes. Their Powerbook laptops are second only to the (now defunct) IBM Thinkpads. iPods of course are second to none. However, Apple isn't foolproof either. The Newton, the Cube were both aggressive failures. However, even if the iPhone's first version does fail, it is hardly down for the count. Apple can and will innovate, and with their existing iPod market domination, they will have several chances to make this concept successful. I'll be tracking how this develops (from my Treo).

Development Frameworks

It seems that Java has as many development frameworks as it does developers. While that is an exaggeration, it is only a minor one. The .Net platform has a growing number of frameworks, although a large number are ports of existing Java frameworks. (It is interesting to look at the two communities and see why this exists (or if it isn't accurate, then why this is my perception), but that is a topic for a later post.)

Over time, I've been guilty of writing a framework or two. However, as time passes my opinions about frameworks have changed.

First, one basic tenant about productivity is that it is faster to use a good enough tool that your development team is familiar with than the perfect tool. Whether it is Java vs. .Net, Struts vs. JSF, etc. For every application you write, there is probably a different 'perfectly suited' framework.

Second, you should almost never write your own framework. This is an offshoot of the the previous tenant. You may come up with a framework perfectly suited to your problem domain. However, your developers will be unfamiliar with it, it will be untested in a production environment, and most likely, someone has already written something good enough.

I'm also becoming a bigger fan of agile (or at least iterative) development. This also helps drive the decision to use off the shelf or existing tools/frameworks. Otherwise, the deliverables from your first several phases will simply be framework components that you will need to assemble later. This prohibits you from getting valuable feedback from the business/requirements owners early on, which is a major value of iterative development.

There are times where the investment and cost may be justified. This may be true if you will be building and actively maintaining the system for a long period of time, and you require very fine grain control over how it works. If you are developing a system that will be delivered to someone else, it is even more important that you utilize well known tools and approaches to enable easy support and maintenance.

Finally, when electing whether or not to use a framework, you need to carefully weigh the cost of learning and working with it compared to the theoretical time savings gained. For smaller applications, it may often be worthwhile to use a more traditional brute force approach than to get elegant.