The SlopeScope prototype consists of 3 main elements: a pan / tilt camera, an iPhone app and a website. Each in turn has been designed to demonstrate particular features or interactions of the service and has not been completed to the degree required for testing in the field.
The goal of this prototype is to highlight the key aspirations of the idea and to allow users to 'get a feel' (quite literately) of how the service would work.
With a little bit of time, dedication and, of course, money this project has the potential to become more than a demonstration but a commercial reality. It would also be the case that the technology behind the system would change drastically as such it should be noted that these technical descriptions are for the sake of crafting the experience for the user and not an implication of how a final setup would work.
The tracking system is based on a Wii Remote (WiiMote), Processing and Arduino. The WiiMote was used for its incredibly sensitive and high quality sensors, namely the IR camera. The IR camera can track up to four individual IR sources which it relays to the host computer via bluetooth (I used DarwiiRemoteOSC for Mac OS X).
A processing based app running on the host interprets the co-ordinates of the sources (averaging them to a singular point if needed) and analyses its position relative to the centre of the camera. Communicating via serial to an Arduino board instructions are sent to manipulate two continuously rotating servos which adjust at varying speeds to centre the point in an almost real time manner.
For those interested I have made my application available to see / use. Click here to download (and abuse) it, seriously, go nuts - be sure to email me of any work you do using it, I'd love to see it! If you would like to use the source files feel free to clone the SlopeScope GitHub repository and fork away. Please post any issues on the Issues Page or tweet me @HelloPablo. I can't guarantee I'll reply but I'll do my best!
I must credit johnnyonthespot for all his help and guidance in developing my code.
There is an embedded webcam in the camera body to which I have added an extended USB cable for connecting to the host computer. It is possible to stream a live feed from the camera to see what it see's.
SlopeScope for iPhone has been developed using the PhoneGap framework. PhoneGap provides a wrapper which allows websites to interact with the device hardware using a combination of JavaScript and Objective-C. This means that a web developer (with no knowledge of Objective-C, such as myself) can create a website custom made for iPhone and package it into a native app. Using HTML5 standards this app can have huge functionality with offline storage and databases.
This app does not, however, make use of functionality such as HTML5 databases as it's purpose is to serve purely as an experience example. It demonstrates to the user how a person would review footage on the slope - it just takes a little bit of imagination to actually put yourself in that situation.
Under the hood SlopeScope for iPhone uses the jQtouch library. Using simple HTML markup this library allows web developers to create views and transitions in a web based app, similar to those of a native app.
Throughout development I wanted to find a good balance between well branded / user orientated design and a generic iPhone app feel. I didn't want to isolate users by designing an app which was non-intuitive. By using regular iPhone features (such as rows, tab bar and lists) I have crafted an app which both looks good, is on brand and is a breeze to use.
The website is the third part of the SlopeScope concept and acts to fulfil the needs of those without an iPhone or those who want to watch their footage at a higher resolution.
At the beginning I considered adding an element of social networking to the service; perhaps the ability to create a profile and compare your footage / times with other users of the service. However I dropped that for fear of adding unnecessary complexity to a simple idea. Facebook, for example, has a great sharing service and is a site which many users (especially the target user group) already use.
The site is, like the iPhone app, purely a 'works-like' prototype and has no functioning features - it is intended to highlight the user experience and branding of the web based element of the SlopeScope service.
In a 'real-life' situation those without an iPhone or iPod Touch would be able to visit the SlopeScope site and be presented with a simplified interface to view their video. If this concept were to go into production then Android and Blackberry apps would likely be high priority.
A resource of the common questions which have cropped up while discussing this project: