Shtaggle is a bit of a mashup and uses a few things to make it tick...
- First off, its written in XCode, and intended for Mac OS X.
- It is a Python-Cocoa (or Cocoa-Python I guess) app, which means it uses the bridge between Python and Objective C. Which means I can code it without learning Objective C. Which is nice.
- The tag cloud is written by Robert Pointon, and you can find it here
- The lyrics are pulled from LyricWiki.org which is a really good lyrics site. The lookup Shtaggle does (is pretty horrible screen scraping... I should really make it use the SOAP API...):
http://lyricwiki.org/Artist_With_Spaces_In_Name/Title_Of_Track
- The (sometimes seemingly random) tags that are pulled in to the app come from Last.FM, which if you like music I highly recommend checking out. The tags are what other users have tagged the tune as (the lookup Shtaggle does is in this format:
http://ws.audioscrobbler.com/1.0/track/Artist%20With%20Spaces%20In%20Name/Title%20Of%20Track/toptags.xml
- This website is powered by Django, another Python based doohickey. Its also rather nice (obviously, otheriwse I wouldnt be using it.)
- Shtaggle interacts with iTunes using AppScript which is the Python (surprise!) bridge to Apple Script... Shtaggle polls iTunes for data (the track path and position), then if it finds the path changes, it will re-poll for the rest of the data (rating, tags, lyrics etc etc...).




