Jonathan Hilgeman

Everything complex is made up of simpler things.

Napster Bad!


I tried Napster long ago and decided to give it another shot based on a review on another site.

Overview: 6 bad marks, 2 good marks

BAD: Inconvenience
I was looking for a specific album, so I wanted to see if they had it BEFORE I signed up, but they don’t have an easy way to do it.

BAD: Signup Process
During my trial signup, I got to the payment page, and immediately hit the Back button, since I didn’t want to put in my payment information if they didn’t have what I was looking for RIGHT NOW (why would I pay for an on-demand service that doesn’t meet my current demand?).

After I hit Back, I was suddenly logged into Napster’s web interface without having filled in my payment info, so now I could see their available tracks.

BAD: No-warning Gears Popup
The site apparently uses Google Gears, which is good for speed purposes, but it would’ve been nice to have some warning before the installation warning popped up in my face. I cancelled it the first time, and then the next page popped it up again. No means no, but in the interests of not dealing with a popup on every page, I went ahead and installed it.

BAD: Sluggish UI
The site still felt sluggish, which shouldn’t happen on Gears-enabled sites.

BAD: Bad navigation
This was the real kicker. Bad navigation UI was everywhere.

Once I finally found the section I was looking for, getting around to seeing the albums I wanted was a chore. Napster kept trying to give me the “top 10” of everything from new releases to popular tracks. I wanted to just see new releases and be able to keep paging back to see results 11 through 20 of the New Releases section, but that’s not possible.

I finally found a “Browse by Artist” page (you would think they’d have a “Browse by” set of buttons for other things, like album, release date, etc, but nope). Guess what? The list isn’t sorted alphabetically and there’s no way to do it. So all I could do was search the page for the name, which worked fine, but it’s definitely not intuitive.

Some of the UI felt like it had been copied from iTunes, but without any thought to how the users actually used the site.

BAD: Selection and information
Not only did they not have what I wanted, but the artist page had “featured tracks” and then a list of his albums. The “featured” tracks list contained tracks that were on albums that were not in the list of his albums, and I know there wasn’t a compilation out there yet, so someone messed up somewhere.

GOOD: MP3 format
Even though I didn’t end up buying anything, at least they use DRM-free music.

Experts Exchange Activity


Lately, I’ve been been a bit more active on Experts Exchange. I’ve been a member since 1998, but I’ve just recently become a little more active in answering questions. I’ve been writing more technical articles and posting them only on Experts Exchange to help build up their new Articles area. I re-posted my E-mail Delivery blogĀ (with a few enhancements and tweaks), as well asĀ four other articles:

Read the rest of the article...

Version Control – SVN vs. VSS vs. Git


Someone asked a question about version control software on Experts Exchange recently, and my answer turned into potential blog material:

Version Control Concepts

I’ve used Subversion (SVN), Visual SourceSafe (VSS), and Git. The concepts are all the same, though. Version control basically means that all of your application files are “checked in” to a big container (called a repository) that sits in some central location (usually a server) that your developers can all access.

Read the rest of the article...

Using Sessions Securely


When using sessions, usually your biggest concern is cross-site scripting (or XSS for short). Without getting into too much depth, XSS is basically when one of your users can steal the cookies of other users. The malicious user (call him Bob) is able to write a script that is displayed to other users. That script (when viewed by other users) reads the cookie from the viewing user’s PC, and then transmits the cookie back to Bob. At that point, Bob can take the cookie and pretend to be any of the users whose cookies he stole.

Read the rest of the article...