The new version of iTunes is fresh from the press, and warming my hard drive. As good as things might get, there’s still a lot I’m looking for, and it’s mostly simple stuff.

Full song preview
Let me play the whole song once or twice from the store to make a purchase decision. 30 seconds poorly chosen isn’t enough to tell me if I want the song, or even if it’s the song I’m looking for. I can just type the song title to see it on YouTube anyways (which links me back to iTunes to buy the song).

Consistent naming of items
I'm sick and freaking tired of dealing with “Tegan and Sara” vs “Tegan & Sara”. Throw some quality control at the problem. Also see my tweet on Top Gear.

Cross Country Linking
If Chris Shiflett tells me to buy a song, I'm not going to bicker about, I'm going to buy it. Likely case: I like it, and it gets a lot of play, along with other stuff from the artist. Worst Case: I’ve lost less than I tip on a poorly made drink at a dive bar. Since he's in the United States, and I use a Canadian iTunes account this can;t work. There's searching and cross matching. If it's available just make the link work.

Do that crazy "what song is that" thing and let me buy them
If I hear a great song in House (quite common), make it easy for me to find out what song that was, and buy it. License, buy, whatever, one of those song match companies and make my life easier.

Don't go posting comments saying it’s easy to find out what songs are in House, it’s not. It used to be, but then they revamped the stupid website removing the one thing I wanted, and confused the hell out of navigation since some links are show based, while others are network based. It’s dumb. Usability is Crap. The design by committee team should be shot.

Let me treat my MacBook Air like an iPod
The hard drive is tiny, I can’t shove my entire music, video, and tv show library on there, it wont fit. Let me mount it like an iPod and throw stuff over without manually dragging in Finder. This new Home Sharing thing makes it marginally better, but only marginally.

Let me store some content on a different drive
I’ve bought a fair number of shows using iTunes, I’d rather not store them on my primary drive. Make it easy for me to move them off using soft links (okay), or through some folder management (best!).

Securing content without proxying through PHP is a pretty common, and easily solved problem. You get Lighttpd (or any other webserver) to check some sort of a hash when it serves content. In the hash you include the users IP address, a timestamp, and probably the path to the file. This solution works remarkably well for the average desktop user. Sure there's outliers behind non-sticky load sharing proxies, but most people confidently ignore that portion of their user base.


Mobile users present a more serious problem. Their IP changes more frequently, under a large number of circumstances. As users move from tower to tower, or as their carrier changes moods their IP changes, generally within the same subnet. That last statement there provides almost a tease as to a possible solution: only hash a portion of the IP address to allow for greater flexibility.


Problems however, go a bit deeper.


As devices get smarter, we're now able to do nifty things like surf the web at home (on our mobile device) using our WiFi connection. As we walk outside and down the street the device seamlessly fails over to the 3G, Edge, or whatever connection and our browsing session continues. The browser being blissfully unaware of the change can do nothing to help us. During a test over the weekend, I saw tens of thousands of instances of switching within the same subnet, and a few thousand instances of changes beyond. This is a real problem for a mobile site.


In order to solve the problem I've had to balance a few needs: our need to provide even a modicum of protection for our content, the needs of our users to have links work when they view a page. To balance these I've added some checks to our software that determine if a user's IP changes, when those changes are detected the secure links generated omit the IP address but use a far more aggressive timeout. Hopefully balancing our need to protect content, with our desire to serve it to expectant customers.



Have you solved this problem differently?




I've been getting into Arduino lately, and picked up some KNex kits to provide a base for some of the things I'd like to build.

One of the kits I purchased was a Roller Coaster, seen below:
KNex Roller Coaster Light Picture

You can take a look at how I shot this picture in this how to video:

roller coaster shot from Paul Reinheimer on Vimeo.



Finally, if you're interested in the Photoshop work that was done on the image to generate the final copy seen above, I've got the video up at Watch Me Photoshop

Hi, I’m Paul Reinheimer, a developer working on the web.

I co-founded WonderProxy which provides access to over 200 proxies around the world to enable testing of geoip sensitive applications. We've since expanded to offer more granular tooling through Where's it Up

My hobbies are cycling, photography, travel, and engaging Allison Moore in intelligent discourse. I frequently write about PHP and other related technologies.

Search