SqueezeCenter and Apple TV Take 2

I decided to take the plunge today and install the Apple TV Take 2 update on my Apple TV and attempt to get the SqueezeBox software (now called SqueezeCenter) running on it. I previously had this running on Apple TV version 1.1, but I want the ability to rent movies, so I had to update my Apple TV and decided to install the new SqueezeCenter at the same time. Unfortunately this has been quite complicated. I almost have things working.

  1. Following the instructions in this thread, I created a PatchStick to install SSH on my updated Apple TV. Prior to updating the Apple TV, I copied all the necessary SSH files off my Apple TV
  2. Pick up the latest SqueezeCenter (7.0) and the XM Radio Plugin
  3. Create a folder on the Desktop called SlimServer
  4. In that folder create 2 files. The first is called StartupParameters.plist and it contains:
    {
      Description     = "SlimServer";
      Provides        = ("SlimServer");
      Requires        = ("Disks");
        Uses		= ("mDNSResponder", "Resolver", "DirectoryServices", "NFS", "Network Time");
        OrderPreference	= "Last";
        Messages =
        {
    	start = "Starting SlimServer";
    	stop = "Stopping SlimServer";
        };
    }
    

    The second is called SlimServer and it contains:

    #!/bin/sh
    . /etc/rc.common
    
    SERVER_RUNNING=`ps -axww | grep "slimp3.pl|slimp3d|slimserver.pl|slimserver" | grep -v grep | cat`
    
    StartService() {
    ConsoleMessage "Starting SlimServer"
    if [ z"$SERVER_RUNNING" = z ] ; then
    	pushd "/Users/frontrow/server"
        sudo -u frontrow "SqueezeCenter.app/Contents/Resources/start-server.sh"
        popd
    fi
    if [ z"$#" != z"0" ] ; then
        ConsoleMessage -S
    fi
    }
    
    StopService() {
    if [ z"$SERVER_RUNNING" != z ] ; then
        kill `echo $SERVER_RUNNING | sed -n 's/^[ ]*([0-9]*)[ ]*.*$/1/p'`
    fi
    }
    
    RunService "$1"
  5. Tar up the folder:
    cd ~/Desktop
    tar -cvf slim.tar SlimServer
    
  6. On a Tiger machine:
    cd /System/Library/Perl
    tar -cvf ~/Desktop/perl.tar 5.8.6
    
  7. Mount the SqueezeCenter dmg file that was downloaded above
  8. From the image, copy Install Files/SqueezeCenter.prefPane/Contents/server to your desktop
  9. Place the XMRadio plugin in ~/Destkop/server/Plugins
  10. Modify ~/Desktop/server/SqueezeCenter.app/Contents/Resources/start-server.sh to add
    HOME=/Users/frontrow; export HOME

    before the ./slimserver.pl lines

  11. Replace the mDNSResponderPosix with the one from the SlimServer 6.5.4 as the one for SqueezeCenter apparently is a PPC only app and the Apple TV doesn’t have Rosetta. The SqueezeCenter developers are going to fix this.
  12. Tar up the folder:
    cd ~/Desktop
    tar -cvf server.tar server
    
  13. sftp -1 frontrow@appletv.local

    (Password is frontrow)

    put slim.tar
    put server.tar
    put perl.tar
    
  14. Login via ssh using
    ssh -1 frontrow@appletv.local

    password is frontrow

  15. Change the root file system to read/write using
    sudo mount -uw /
  16. Uncompress the files
    tar -xvf perl.tar
    tar -xvf server.tar
    tar -xvf perl.tar
  17. Move the Perl modules into a good spot
    sudo mkdir /Library/Perl
    sudo mv 5.8.6 /Library/Perl
    
  18. Move the SlimServer folder using
    sudo mv /Users/frontrow/SlimServer /Library/StartupItems/
  19. Make the SlimServer file executable
    sudo chmod +x /Library/StartupItems/SlimServer/SlimServer
  20. Change the owner

    sudo chown -R root:wheel /Library/StartupItems/SlimServer
  21. Disable auto updating
    sudo bash -c 'echo "127.0.0.1       mesu.apple.com" >> /etc/hosts'
  22. Restart the AppleTV
    sudo reboot
  23. From Safari goto: http://appletv.local:9000/
  24. Change the music directory in the SlimServer prefs to /mnt/Media/Media Files
  25. Use iTunes to change the ID3 tags to version 2.2.0 and use that option to Reverse the Unicode strings to repair some issues with my database

I’m still trying to get the XM Radio plugin to allow 2 simultaneous connections, but other than that, I’m done. This has been a torturous process, but I figure by the next time I have to do this, I’ll be able to do it in minutes 🙂

Outstanding customer service

Last week before I left for Macworld, the screen on my Parrot CK 3100 car kit went blank. I sent email to Parrot and even though the kit was far out of warranty, they said they’d send me a new screen. They never asked for my serial number and a new screen arrived today. I’ll box up the old one and send it back. This, I must say, is one of the best customer service experiences I’ve had in a long time. Thanks, Parrot!

Macworld 2008 Summary

Now that I’m done with Macworld 2008, here are my reactions.

  • Apple’s announcements were pretty much snoreville.
    • The MacBook Air is an interesting device for some, but for me, it is lacking. I need a machine that is faster than my current 2.16 GHz MacBook Pro (Core Duo) and has a significantly larger hard drive (I have a 7200 RPM 100 GB drive). I only have one main machine, so I’m looking at a 2.8 GHz MacBook Pro with a 200 GB 7200 RPM drive. I’m going to wait as my machine is quite adequate for now (it does have a nice dent in the corner when I dropped it a few months ago when trying to put luggage on a cart; it works fine, but has a dent in the corner near the power connector).
    • The AppleTV announcement was pretty much a given based on the rumors. I’m excited to have the free software update, but will have to wait until someone hacks it so I can install the SlimServer software back on it.
    • The iPhone/iPod Touch updates aren’t of much use to me, as far as I can tell. I did try out the GPS-like stuff in Google maps and it worked adequately.
    • Time Capsule – not a whole lot of use to me as I use a local Time Machine backup and use SuperDuper! to backup daily
  • There was still a lot of iPod/iPhone stuff on the floor, but less than previous years. I could do without this. How many iPod/iPhone cases can you use?
  • Nothing really new in the hardware front. A few new scanners, more junk from Canon, HP, and EPSON.
  • No new software that I didn’t already know about. I think that BusySync is an interesting competitor to Spanning Sync (I’ve know the folks behind BusySync for years as they used to do Palm software.)
  • On the positive side, I’m excited about ReceiptWallet as I got some real good ideas for enhancements. However, I don’t have enough time to implement them!

The bird had the right idea!

I installed the software for the IRIScan Express and was not surprised to see that it isn’t TWAIN compliant. However, the ReadIRIS software that comes with it DOES use TWAIN compliant scanners if they exist. In poking around, I see that the software opens up a bundle specifically for the scanner. (I used a tool called opensnoop to see what the app was opening.)

 501   1867 Readiris       6 /Library/Application Support/IRISScan/IRISScan 1.6.bundle 
  501   1867 Readiris       6 /Library/Application Support/IRISScan/IRISScan 1.6.bundle/Contents 
  501   1867 Readiris       6 /dev/autofs_nowait   
  501   1867 Readiris       7 /Library/Application Support/IRISScan/IRISScan 1.6.bundle/Contents/Info.plist 

TWAIN drivers live in /Library/Image Capture/TWAIN Data Sources. It doesn’t look like the IRIScan folks did the right thing and create a TWAIN driver. Instead they created their own system for talking to the scanner. The scanner is a Plustek scanner (according to USB Prober). I haven’t found Plustek drivers, yet, but will keep searching.

So, the IRIScan scanners won’t work with ReceiptWallet. Piece of crap scanner. I’ve sent email to them asked where the TWAIN drivers are as the sales guy told me it was TWAIN compliant and how can I return the scanner. I’m sure I’ll get a great response to my message.

I should have heeded the advice of the bird and returned the scanner while I still had the chance and before I left the show. Anyone have a need for a paperweight? Their software is so awful that I wouldn’t even think of using it.

A sign from the heavens?

I went ahead and purchased the IRIScan Express 2 scanner today to give it a whirl. When I handed the guy my credit card, he started to write down my name on an order form and was about to write down my credit card info when I asked if he’d take cash. He said, “Yes”, so I handed him $100. I wasn’t about to have a company write down my credit card number and have it potentially lost who knows where. In this case, I trust electronic transfers of my information rather than paper as the commotion of a tradeshow could easily cause them to lose the piece of paper.

Anyway, I was walking between the show halls and luckily zigged as a bird that came out of nowhere decided to poop. The poop landed within about 3 feet of the bag I was carrying the IRIScan. If the poop landed on the scanner, it definitely would have been a sign about the scanner. I’m still reserving judgement until I get a chance to crack open the box and see if it has a TWAIN driver.

Sending the “big guns” to Macworld

Sprint had a booth at Macworld showing their modems and how fast their EVDO network is. I love EVDO and thought it was cool that they care about the Mac market. Well, I was a bit wrong. I asked one of the guys there if the modems support LBS. He didn’t know what LBS was; LBS, Location Based Services, came up as the second link in my Google search, so it isn’t too obscure. When I said what the acronym stood for, he said yes and showed me the Novatel modem which had it. I looked at the guy’s name tag and it said “Retail Sales Consultant”. So it looks like Sprint sent people from the local store to man the booth. Are Mac users not good enough to get people from Sprint corporate? While I’m ranting about Sprint, I saw their new connection manager software. It is worse than the “Delicious Generation” type UI. It is a UI that is completely un-Mac-like and is in your face, not just a little menu bar thingy.

Hardware vendors, hire me to do your UI

I always harp on UI as I think that it shows a lot about a product. While the old saying is to not judge a book by its cover, in the case of a UI, it shows me that developers are either lazy or clueless and what else is wrong with the software if they can’t spend a little time working on the UI.

Many hardware vendors make decent hardware, but rush out the software, have it done in a foreign, non-English speaking, country, or just don’t care. If they spent a little time and money on the software (in some cases, maybe half a day), they could have a much nicer looking (and working) product.

I am serious that if hardware vendors want to contact me, I’d be more than happy to take a look at the software and give them an estimate on what needs to be done to clean up their UI.

Ill informed sales guy

One of my stops today was to see the IRIScan Express2. It seemed like an OK scanner, but with crappy software. The guy demonstrating used their Readiris 11 software to scan. I happen to have a copy of Readiris that was free with my Fujitsu ScanSnap. Here’s a screenshot of the version I have (the one he demoed looked the same).

I asked him if it was TWAIN compliant and if I could use it in other programs (for instance, ReceiptWallet). He swore it was. I asked if I could try using Image Capture to scan; he said I could. It didn’t show up. Image Capture should show all TWAIN compliant scanners. Next I looked in /Library/Image Capture/TWAIN Data Sources. It was empty; all the TWAIN drivers should be there. I decided to stop arguing with the guy as he obviously didn’t have a clue, unless they somehow used some magic TWAIN driver that only shows up in their app.Now here is the dilemma. I’m going to have people ask about the scanner and my answer right now is “I haven’t tested it.”. They have a show special that makes the scanner $99 (normally $149) which is pretty good. Should I get it? I probably will and then if it doesn’t work, I’ll warn people to avoid it. They have a more expensive version (IRIScan Executive 2) that has the same hardware, but includes Cardiris 4 for scanning business cards. It doesn’t seem all that impressive, but I’ll reserve final judgement until I try it out.This leads into another one of my rant; why do hardware vendors have such crappy looking software?

NEAT Receipts could be quite slick

I know in the past that I wondered if NEAT Receipts would take some of my UI and put it in their Mac product. I stopped by their booth today and was pleased to see that their UI didn’t take anything from me, in fact, they have some ideas that I’d like to use in ReceiptWallet! They have an iTunes like source list on the left that is separated with things like Library and Collections (I can’t recall exactly what the titles are). That definitely makes the app look more up-to-date than ReceiptWallet (not that ReceiptWallet’s interface is all that old). In addition, their “image” view (like my thumbnail view) is actually useful; my thumbnail view has small thumbnails or receipts that I personally think is useless. In their implementation, they have decent sized receipts on the left side and the metadata on the right side. So when you scroll down, you see the receipts and the metadata. Finally, they do have a Cover Flow like view of the receipts. I’m not sure how useful this is, but I’ve had a user ask for this in the past, so it has been on my radar, just not high up on my list.

I don’t have any plans to do UI changes in ReceiptWallet, but the next time I do, I think I’ll re-visit iTunes to see how it does things. However, I do have some issues with iTunes and am not sure it is the perfect UI, either.

Macworld Expo Newbie

Right before I saw Jesus, I was crossing the street and some guy was coming towards me handing out flyers. I learned a long time ago not to take stuff from strangers (Have you seen the people handing that stuff out? They really are strange.), so I steered clear. However, the guy next to me hadn’t learned the same lesson; he was a bit older than me (and probably twice my width) and he pushed and shoved to get the flyer. I glanced over after he got it and saw that he got a flyer for porn or some smut like that. I almost burst out laughing, but just smiled.