subscribe
18 Mar 2012

XKCD – Remote Control

Author: Tom Philip | Filed under: App Releases

The XKCD Boxee app has some new features. It now has a remote control, to navigate to more comics.

xkcd remote control

The remote control is tucked away in a drawer at the bottom of the screen. Push either up or down on your remote to open the drawer. The remote control has 5 navigation buttons (from left to right)

  • Latest – navigates to the latest comic
  • Skip forward – skips forward 20 comics
  • Random – jumps to a random comic
  • Skip back – skips back 20 comics
  • First – navigates to the first ever comic

Menu key(back) or up/down closes the drawer.

It’s also available outside of Boxee as XKCD Couch in the browser.

Enjoy :)


30 Jan 2012

XKCD App Reborn

Author: Tom Philip | Filed under: App Releases

Introducing the all new XKCD app for Boxee. With the Boxee remote in hand you can now sit on your couch and flick through XKCD comics.

In this first version you can navigate left and right through comics one by one and hit the select key to show the alt text for the comic. Features like, jumping to first/latest comic and random comic are on their way.

XKCD Boxee App

The new app came about because the XKCD app from the Great Boxee repository has been broken in the Boxee Box for a while now. There was no information in the logs as to why, it just didn’t load, which left me stuck (btw in 1.5 it just started working again! typical). So I have re-written the app from the ground up as a html5 type app. It’s available now in the Boxee app library (not via Great Boxee’s repositoty). As well as a Boxee app, it’s also available outside of Boxee at http://xkcd.greatboxee.com, allowing a lot more people to reach the app.

This marks the beginning of the end for the Great Boxee repository.  It seems there isn’t much love for them at Boxee and problems in the past have made them unworkable. I will keep it open for the time being for those still on Boxee 0.9.x as the new XKCD app, being a html5 type one, only works in Boxee v1.0 and above. The current app works fine in the 0.9.x clients.

Enjoy :) and I welcome your feedback.

For more about the technology behind it on my personal blog.


1 Dec 2011

Boxee Boilerplate

Author: Tom Philip | Filed under: Best Practice

This is a Boxee app template, with useful common setup and bits, to kick-start your Boxee app development. Removing the need to go through common setup tasks and little best practice. Hopefully this will makes things quicker when creating new Boxee apps.

Features

This is a very much a work in progress and I will add useful bits as they come to mind. Feel free to add your own useful bits and submit a pull request. What’s currently in there is:

  • PSD template for creating thumbnails for your apps. With sashes(implemented as layers) to identify your different app flavours within Boxee – development, staging, live.
  • .gitignore file specific for Boxee development
  • A prefilled descriptor.xml with common values and guidance to add the necessary customisations. Plus an example descriptor file.
  • Packaging script for automating the packaging/zipping of your apps ready for deployment to your staging repository or official Boxee repository.
  • First xml layout to instantly get started.

Instructions

To create a new app based on this template/boilerplate. Navigate to the Boxee apps directory in a terminal. Then run:

git clone git://github.com/tommysqueak/Boxee-Boilerplate.git developer-id.your-app-id

The developer-id should be your unique prefix for you or your company. Mine is ‘greatboxee’. The unique app id you intend to use for the app. Eg grooveshark, so the full id, and dir, would be greatboxee.grooveshark

Then open up the descriptor.xml (located in the developer-id.your-app-id directory eg greatboxee.grooveshark) in your editor of choice and fill in the blanks. Open Boxee and check it runs ok. Make a kick-ass app.

If you’re using Git for source control, rename example.gitignore to .gitignore


21 Oct 2011

The DSP Project

Author: Tom Philip | Filed under: App Releases

Introducing the latest app coming out of the Great Boxee stables.

The DSP Project is all about music production and technology in the studio and on the stage.

Host Rupert Brown reviews audio gear, gives tips & tutorials on electronic music production with Ableton Live as well as interviewing a range of music producers, audio engineers and other interesting people.

Check out the videos in the app, there’s a wealth of music production information contained within. I love the music just wish I could get the technical side of it. It’s available now in the Boxee App Library.

Enjoy!

Need an app? Get in touch.


6 Oct 2011

Automate Your Boxee App Packaging with Rake

Author: Tom Philip | Filed under: Best Practice

This is about a Rake script that will consistently package your Boxee Apps for deployment to your repositories and the official Boxee App Library.

This is based on the NAnt version I made, with some added improvements. Since I wrote the NAnt script I have moved from Windows to Mac. So the NAnt script is no longer useful and Rake means it can run multi platform.

Why Do You Need One

If you’re an agile developer, you’ll be showing your app to your client regularly, in order to get feedback and iterate. Having an automated packaging solution ensures you can package your app quickly, easily, consistently and without mistakes. By being quick and easy it lowers the barrier to deploy often.

The best way to show your app to clients is to have your own custom repository. If you don’t have one, you can still use this script to package your apps for the official Boxee App Library.

What Does it Do

It packages your app into the Boxee zip file format, for each specified repository environment. You can specify as many environments as you wish. I usually specify 2, my staging repository (which clients use to see the apps) and the official boxee repository.

In Detail

  • Packages the app into a zip file, in the right structure, ready for deployment
  • Strips out unwanted files (.svn, .git, thumbs.db, Eclipse projects files etc)
  • Automatically removes the test-app tag
  • Version management automatically increments the version of your app, embeds the version into your descriptor file and appends to packaged zip
  • Keeps an audit trail of packaged apps, in case you need to go back to a deployed version
  • Allows you to easily identify between the different flavours of your app in Boxee. Eg The one your developing locally, the version in the staging repository and the version in the official Boxee repository.

Why does it package the app for each environment at the same time? When the client is happy with the app that they see in your staging repo.  You can then deploy exactly the same app you have just shown them to the Boxee repo. No room for mistakes.

Packaging

Prerequisites

You can either clone the Boxee Boilerplate repo (more to come on this) if you’re starting a new app or copy the build folder to your current app directory.

You’ll need Ruby, Rake and bundler installed (gem install rake, gem install bundler) to run this script.

From a terminal run the following, to install the gems the script depends on.

cd build
bundle install

One Time Configuration

Open build/environments.yml and fill in the blanks. Give the app flavours different names or logos, so you can distinguish between them when they are listed in Boxee App Library. You can also add any other descriptor properties you want for an environment.

To Package

From a terminal:

cd build
rake

This will create the packages under build/packages directory.

Any problems, let me know.


4 Apr 2011

Automate Your App Packaging

Author: Tom Philip | Filed under: Best Practice

If you’re developing apps for a client in an agile fashion, you’ll be showing the app to the client many times as you introduce new features in order to get feedback as soon as possible. Ensuring you have a nice tight feedback loop and the right app gets built. Any kind of friction will only slow you down and perhaps even avoid deploying as often. An automated solutions works in seconds, is consistent and avoids mistakes.

To be effective at getting rapid feedback you will need 2 things:

  • A custom repository to deploy your apps to, for clients to use your app and give feedback.
  • A build script to automate packaging and deploying the app to your custom repository. That’s what this post is about.

I did have an automated package and deploy until API keys were introduced, so at the moment this only packages. I’m hoping to redevelop that part, if it’s possible, so I can deploy in seconds too (joy).

The Build Script

The build script packages your app into a zip file, ready for publishing to a custom repository and the official Boxee library. Your free to download the build script and use it in any type of Boxee app development you like. It’s good to go as it is without and configuration (as long as you adhere to some conventions, although it’s easy to change if you like). It uses NAnt, so Windows only I’m afraid. I’m currently transitioning to a Mac, follow greatboxee on twitter or subscribe to this blog to hear when that’s out.

Features

  • Packages the app into a zip file, in the right structure, ready for deployment
  • Strips out unwanted files (.svn, thumbs.db, Eclipse projects files etc)
  • No need to remember to remove the test-app tag
  • Version management automatically increments the version of your app, embeds the version into your descriptor file and appends to packaged zip
  • Keeps an audit trail of packaged apps, in case you need to go back to a deployed version
  • Easily identify the version of the app your coding, the version in the custom repository and the version in the official Boxee library

Getting it Working

Download the build script (GreatBoxee.Builds\package.build) from the Great Boxee GitHub repo and put in a folder inside your app in a folder called ‘Build’. There’s also an example app there with it working.

Create 3 descriptor files in your app root, one for each location the app will exist or be deployed to. They must have these names (conventions!).

  • descriptor.xml – the version of the app that your developing in your current apps folder on your dev machine. This will have the test-app tag in it. eg App Id – greatboxee.myvids
  • descriptor.beta.xml – the version of the app that will be deployed to your custom repository eg App Id – greatboxee-beta.myvids
  • descriptor.prod.xml – the version of the app that will be deployed to the official Boxee repository eg App Id – myvids

You can also give the app different names or logos so you can distinguish between them, when they are listed in Boxee App Library.

Then navigate to the Build folder in a command window and execute nant package. I use a little batch file to run which is in the example app on GitHub too. This runs the packaging task in the build script and only takes a few seconds. This creates 2 zipped up apps, ready for deployment, in your build location (see build.dir property, the default will create it in your ‘Build’ folder). One is for the custom repository and one for the official Boxee library. You get 2, so when your client says “That’s fantastic, I’m happy with that make it live” you can then deploy exactly the same app you have just shown them in your custom repository. No room for mistakes in going to package the app as it stands on you dev box (or source control).

This packaging script is just a part of the puzzle that is continuous integration.With a build server you can automate the entire process (test, package, tag, deploy). Triggered by checkin into your source control or manually.

Get the Build Script


8 Feb 2011

The Add To My Apps Jig

Author: Tom Philip | Filed under: Tips

The Problem

Apps in 3rd party repositories don’t auto update in Boxee Beta (the version running on Windows/Linux/Mac). You upload a new version of your app to your 3rd party repository. Perhaps to get feedback from a client before putting it live in the official Boxee repository and they can’t see the updates. ;)

The Solution

The Add to My Apps Jig

  • Step 1: Remove the app from ‘My Apps’ – Open App and select ‘Remove From My Apps’
  • Step 2: Add the app to ‘My Apps’ – Open App and select ‘Add to My Apps’

Note: I believe apps in 3rd party repositories auto-update in the Boxee Box?


2 Aug 2010

TheSurfNetwork.com

Author: Tom Philip | Filed under: App Releases

I’m very proud to announce Great Boxee’s first commissioned app, made by Great Boxee for TheSurfNetwork.com. Available now in the Boxee App Library.

If you love surfing or are more of an armchair surfer, then this app is for you. Now you can sit on your couch, remote in hand and watch surf videos through Boxee. TheSurfNetwork.com offers the largest collection of premium surf videos for your viewing pleasure.

TheSurfNetwork.com already supports an impressive number of platforms and devices, such as iPhone/iPod Touch, iPad, iPod, Android, Apple TV, Computer/Browser, providing a range of differing ways to watch your surfing videos (one of the best I’ve seen for a video streaming site) and now they have added Boxee to that list.

If you have an account with TheSurfNetwork.com, you will find the app in the App Library (No need for our GB repository).

Login with your account details. You only have to do this the first time you open the app.

Browse through all your purchases, ones you’ve recently watched and favourites.

View the details and watch.

Enjoy! and of course feedback is always welcome.


18 Apr 2010

XKCD 2.0

Author: Tom Philip | Filed under: App Releases

Version 2.0 of the XKCD app brings only one new feature and it’s a great big one. This release brings the xkcd ‘Archive’, the entire back catalogue of over 700 comics, going right back to the 1st one ‘Barrel – Part 1‘. Now you can view every comic that was ever made, on your TV.

The very first xkcd comic in xkcd boxee app version 2

Feature Rundown

  • Using left and right on your remote/keyboard you can flick through all the comics one by one.
  • As there’s over 700 comics, these don’t all get downloaded all at once (you’ll be glad to know). The comics get downloaded in batches of 10, so you’ll notice a small pause, and the working dialog appear, every 10 comics viewed.
  • There’s 2 buttons in the top right that allow you to skip to the very 1st or very latest comic.
  • It’s in beta for now as there’s a few kinks and improvements required.

Now the bad news, for those of you that already have the xkcd app. There’s a bug in Boxee that means that this update wont appear for you automatically. The good-ish news, is there’s a workaround. If you already have the app in ‘My Apps’ in Boxee, remove it from ‘My Apps’ and then re-add it. For anyone that is new to the xkcd app, you’ll just get this version 2.0 of app. Please give your support and vote up the bug to get it fixed. Thanks.

To get XKCD in Boxee add our repository http://dir.greatboxee.com in repositories under Apps.


2 Feb 2010

Testing Boxee Apps Using Virtual Box

Author: Tom Philip | Filed under: tutorial

When it comes to acceptance testing your app or repository. It’s good to be able to run through different scenarios, on different operating systems using different boxee versions (alpha/beta). A common scenario is releasing a new version of an existing an app to users, some of whom already have it and some that don’t. Using virtualisation you can mimick those with v1.0 and those without, with a clean Boxee install just like your users customers will be using.

As always there’s more than one way to do this. This is how I did it for free, installing Sun’s Virtual Box v3 onto WinXP box (the host machine) and running Ubuntu as a virtual machine (the guest machine). If you want a more robust testing environment, the legal way, costs money for OS licenses and you’ll need something besides Virtual Box if you want Mac OS as a guest machine. It’s a balance between time/cost and risk. For me, I was moving my repository sub-domain to a different location at my hosts and I needed to be able to check that the repository was up and running OK. The best way to do this was on a boxee install that didn’t already have my repository and apps added.

1. Download and install Virtual Box

Download the edition of Virtual Box for your OS. http://www.virtualbox.org/wiki/Downloads and install it. It will disconnect your network connection for a few seconds and reconnect again.

2. Download Ubuntu

Download the ubuntu iso from http://www.ubuntu.com/getubuntu/download The latest 32-bit desktop version is fine. I’m using 9.10 Karmic Koala.

3. Setup the Virtual Machine

Open Virtual Box and click ‘New’ to launch the new virtual machine wizard.

Step 1 – OS Type

Give the virtual machine a name, choose Linux as the Operating System and Ubuntu as the version.

Virtual Box - New Virtual Machine Step 1

Step 2 – Memory

Go for 512MB of RAM. This is Boxee minimum system requirements. It can also be changed later if it’s too slow

Virtual Box - New Virtual Machine Step 2

Step 3 – Hard Drive

Go with the defaults.

Virtual Box - New Virtual Machine Step 3

Next it takes you through the ‘Create New Virtual Disk Wizard’

Step 4a

I wasn’t sure how much space I’d need for the virtual machines harddrive, so I opted for Dynamically expanding storage.

Virtual Box - New Virtual Machine Step 4

Step 4b

Next you need to tell it where you want the hard disk to be stored and it’s size. The default size of 8GB is fine, this is the Ubuntu’s recommended system requirements.

Virtual Box - New Virtual Machine Step 4b

Then click though the rest of the confirmation screens until you come to the end. You should now see the following.

Virtual Box - New Virtual Machine Final

4. Prepare the Virtual Machine for Ubuntu & Boxee

Open up ‘Settings’ and choose ‘Display’. Up the video memory, I only have a small cheap graphics card so I went for 100MB of Video Memory, although less might also be acceptable. Enable 3D accelaration, this is needed for OpenGL that the Boxee clients uses.

Virtual Box - Settings - Display

Now Choose ‘Storage’ to mount the Ubuntu iso you downloaded earlier. Select the CD image, under IDE Controller node, that’s  labelled Empty. Use the folder button to add/browse to the previously downloaded Ubuntu iso file. This is the virtual equivalent to inserting the Ubuntu install CD into your drive.

Virtual Box is quite good here as it remembers what you’ve mounted before and you can mount these, plus any other iso, whilst inside the Virtual Machine (the virtual way of changing changing the CD in your CD drive).

Virtual Box - Settings - Storage

You’re now ready to install Ubuntu. Click ‘Start’ to boot-up the virtual machine. NB You can tweak anything in the Settings dialog at anytime later on.

5. Install Ubuntu

The Ubuntu installation is really simple and well documented elsewhere, so I wont repeat the steps here. If in doubt with any option go with the default, they’re just fine. Official Ubuntu Installation Guide

6. Install Guest Additions

Amongst providing other useful features (copy and paste between host and guest, higher resolution, prevents capturing and keeping the mouse), this package will get OpenGL up and working properly for the Boxee client. The first time round I forgot this step and Boxee just hung.

With the guest OS running, from the Devices menu select Install Guest Additions… Ignoring any prompts from Ubuntu about applications to launch.

Virtual Box - Install Guest Additions

This will put the a disk called VBoxAdditions_3. on your desktop. Open it and run autorun.sh and this will install guest additions. Reboot for changes to take effect.

Virtual Box - Guest Additions Disk

If this doesn’t work, you can manually mount the Guest Additions iso. In the same way that you mounted the Ubuntu iso in Step 4, mount the C:\Program Files\Sun\VirtualBox\VBoxGuestAdditions.iso. Now when you start your Ubuntu VM you will see the disk on the desktop, open it and run autorun.sh and this will install guest additions.

7. Install Boxee

Login into the Boxee Website on the guest machine and follow the installation/download instructions. Once installed it’s worthing logging into Boxee (to check all is cool) and adding your accounts, so you don’t have to do this step each time you want a clean boxee install.

8. Take a Snapshot

At this point you should take a snapshot of your Virtual Machine, so that you can always rollback to this point and run test after test. Also at any point you can take a snapshot. The first time I did this, I took one just after Ubuntu had installed so I had a clean Ubuntu installation too.

Virtual Box - Snapshot

You can now test stuff on the Boxee client, trash it and always go back to the point where you have just Ubuntu and Boxee installed and do it all over again and again. You can also take snapshots so you can run the common scenarios mentioned at the beginning of the post.

Versions used
  • Virtual Box – 3.1.2 r56127
  • Ubuntu – 9.10 Karmic Koala
  • Boxee – Beta 0.9.20.10356M
Other VM Choices