Tom Hancocks

My life in Design, Code, the Web, iPhone and the Mac

July-10-08

Skin’s taken to the next level.

posted by admin

In preperation for the release of TuneBar 4, during the course of this summer, I am releasing a detailed document on the creation of skins in TuneBar 4. The creation of skins is once again done via XML, but I have changed the way many of the different widgets are scripted, and added one very useful feature.


First lets look at what you can now do that improves current version 3 functionality.

  • Sizes can be defined as percentages.
  • As well as the left and top attributes, there are now right and bottom attributes.
  • Controller background can be set to a TuneBar vector graphic. (SVG support is coming, but may not make it to version 4.0)

OK, so left like that, the improvements don’t sound that impressive. The impressive part is that you can now make your own widgets to place on the controller. Unfortunately this requires knowledge of Cocoa and Objective-C.


This means that anyone with knowledge of Cocoa can make widgets and fully skin TuneBar Controllers in a way that is not possible with version 3.


Using these custom made widgets is simple. Below I have listed the code to use a widget that is built in to TuneBar. The back button.

<TBBack left="50" top="1" width="25" height="25" image="Bitmaps/Back.png"
activeImage=”Bitmaps/Back_Pressed.png” />



Now here is an example of using a custom made widget. The Ratings Widget.

<Ratings_Widget left="620" top="2" width="125" height="25" 
starImage=”Bitmaps/Star.png” dotImage=”Bitmaps/Dot.png”/>



The API that I have developed allows full access to iTunes, provides a way of calling upon images inside the current skin, and retrieving all attributes specified for that element. Below is a listing of the header file used for Ratings Widget:


Custom Ratings Widget Header File

More will be coming soon.

June-12-08

TuneBar 4

posted by admin

This is the first time a screenshot of TuneBar 4 is surfacing on the internet. As you will be able to see from the screenshot, it is coming this summer.

A full screen grab of TuneBar 4

So what is this update going to offer? Well the entire core engine has been rewritten, to fully take advantage of Leopard and its new technologies.

The hot keys engine has also received a much need update. Creation of your own hot keys is easy with TuneBar 4.

The notications engine has been overhauled too. Now with a selection of built-in notifications including the BezelJewel Notification.

The search menu as well has had a make over. It now no longer resides in the controller (well at least not in the SlimBar controller) but instead has its own menu on the menubar. It actually feels a lot more like a normal menu you would find in OS X. Hovering over a result will bring up a little popup that shows more detailed track information.

The last major feature that will make it in to TuneBar 4 is one that has been asked for more than any other since the release of version 3. Last.fm support.

May-31-08

Happenings of the past few weeks

posted by admin

To say the past few weeks have been hectic and busy would be an understatement. What with moving in to a new office, exams, finding and buying furniture for said office, as well as decorating and setting it up, on top of current jobs I’m doing, TuneBar and a new project (which I shall discuss at a later point in this post), I’ve had very little free time.

One of the first things I would like to tell you about is the website (http://www.tomhancocks.com) which has now been finally completed. There are a few minor glitches whilst viewing it in Firefox, Camino, Flock or the likes. The website is now my professional base on the web, and includes my CV, Contact details and portfolio.

As for my office. Well its an office… if you want to find out more you can read about it in the http://www.tomhancocks.com/about.php page of my site.

TuneBar. Development of version 3 has officially come to an end. TuneBar 4 is now being developed actively. The reason for this. The core engine of TuneBar 4 is complete. I’m now coding, polishing and tidying up the UI.

New project: This what you’ll see the soonest (Or at least I think you will). This is a new game engine that I have been working on since March, when Apple released the iPhone SDK. The name of the game engine is called Combustion. I will be posting up a full article on it soon, but I will tell you this: although I will never release the basic engine, I will be wrapping game data around it and release those. I have several games planned, and one that is currently being created. Each game will cost £2, and should hopefully be available from Apple’s App Store when it comes online or shortly afterwards. The game engine makes full use of the Accelerometer and Multi-touch, though I do not have any games planned that make use of multi-touch… yet.

More updates on things coming soon.

April-28-08

TuneBar 1

posted by admin

Due to the request of a friend of mine, whom has recently begun developing with Objective-C and has begun to really get in to Cocoa development, I have decided to write a tutorial, with accompanying example project on creating the very first TuneBar release, (which was known as TuneX).

TuneX 1 was said to be incredibly simplistic, so much so that it lacked a lot of common functionality of many iTunes controllers seen today. Its features pretty much could be summed with Previous, Next, Play/Pause, Track Name, Track Artist and Track Album.

These features were its full extent, so don’t go thinking this tutorial will give you the next killer app! It won’t, but it will give you a good solid foundation making use of two Apple technologies. AppleScript and Cocoa.

I’m still in the process of writing this tutorial, but will post it here as soon as it is completed!

April-26-08

Vector vs. Bitmap for TuneBar

posted by admin

It happens. Well perhaps not this exact scenario, but developers can quite regularly get side-tracked when working on a new bit of code, and end up creating something they never originally set out to create… or may its just me. Who knows?

Anyway, the story of this little class comes from this afternoon, whilst I was working a certain aspect of TuneBar 4. I’m wanting TuneBar to be resolution independent, ready for when it Apple start shipping this really hi-res displays and the system begins using it full-time. I don’t want to have to play catch up.

However I don’t like the idea of having to have these huge images, that consume more disk space than is really needed. So I began toying with ideas of what I could or should do. In terms of disk space usage bitmap is right out of the window. It will always be to big, and it doesn’t really do resizing too well.

I could go to vector, but other than PDF, Cocoa doesn’t really seem to support to many vector formats (in my limited experience with ImageKit). PDF is bloated, the sizes are not that much better than the bitmap sizes.

So what to do? On a crazy wild thought the answer came to me. Make my own! Thats right, I’ll create my own format. Why? Well it will be tailored towards TuneBar, thats a plus. Second it seemed like an interesting challenge at the time (to be honest it was fairly straight forward). Third? Meh, why not?

So I set to work. In the end it turns out I created more of a mini markup language with Maths capabilities than anything else. When the image script is loaded it calculates equations, creates Cocoa objects on the fly, such as NSColor, NSGradient and NSBezierPath, and builds structures like NSPoint and NSRect.

Interesting… Thats all done in around 2 hours. So where to go with it now. My plan now is to continue adding operations in to it to allow to make full use of NSBezierPath, NSGradient and NSColor, before releasing it as an Open Source format for people to freely use, or as a Framework. The latter is the more likely.

Below I have an example of a vector script I made. This draws a possible design for the TuneBar 4 controller.

// SlimBar 3 Controller Background
// Tom Hancocks
// TuneBar 4

// Create the Path
*NEWPATH
move->0,<HEIGHT>
curve->75,<HEIGHT>-30,35,<HEIGHT>,0,<HEIGHT>-30
line-><WIDTH>-75,<HEIGHT>-30
curve-><WIDTH>,<HEIGHT>,<WIDTH>,<HEIGHT>-30,<WIDTH>-35,<HEIGHT>
//line->0,<HEIGHT>

// Create the Outline
setColor->0,0,0,1
lineWidth->1
stroke

// Create the gradient fill
setStartColor->0,0,0,0.9
setEndColor->0,0,0,0.75
gradientInPath->90

Lets say the dimensions of the above image are taken to be 1030×30 (the dimensions of the controller in TuneBar 3) and that it then includes images that 2x, 3x, and 4x its size. We can safely say we’re looking at an image nearing 80KB. This vector script is 425 bytes, and is infinitely scalable. Hmm, seems as though that size problem is sorted!

This is of course, far from perfect for all situations. The Vector format I’m using is created for TuneBar, and thus will not work that well for all Applications. Applications that require high detail graphics will not be able to make use of this. TuneBar does use BitMaps still, but only where absolutely needed.

Let me know what you think…

April-24-08

File Actions 2: Preview

posted by admin

It wasn’t all that long ago that I released File Actions 1, a very simple program that would monitor locations on your computer and move files that matched certain criteria to designated locations. Like most first release freeware applications, it left a lot to be desired by users who wanted that little bit more functionality.

This is where File Actions 2 comes in. Although it is not yet complete (Its an entire rewrite and takes advantage of a lot of Leopard only features), I though I would share a small screen shot of the UI so far, and give a bit of insight in to what is going to be available in File Actions 2.

Well first off I’m ditching the old engine which was based around the NSFileManager. (For none programmers, this is a tool in Cocoa that allows applications to browse the file system on your computer). Using this was slow, as File Actions has to step through each file one by one. It was frightly inefficient at anything more advanced than what I released. Version 2 scraps that completely… well its still there, but only to move and copy files… so its scrapped in favor of using Spotlight to find all matching files within a monitored location. What does this mean? Well for one, as soon as the file finds it way in to a location its checked and moved if needed. Another is that the criteria you can now use is anything that Spotlight will handle on a default installation of Mac OS X Leopard, all taken from Metadata.

This of course opens up options for a much better rule system, based around Spotlight queries and predicates, offering much more advanced features for a power users.

Of course, which the sheer amount of functionality that I plan on coding in to File Actions 2, and the increase in code and potential maintenance will mean that File Actions is no longer free, though I will continue to support and offer File Actions 1 as a free alternative.

File Actions 2 will be sold for a price around $12, which will help go towards my brother living costs at University.

April-22-08

TuneBar 4: Second Sneak Peak

posted by admin

To be honest, this sneak peak isn’t really expanding all that much on the first. It still remains with in the area of TuneBar’s search menu. This update is however going to bring you up to date on the latest design and development of the menu. It is still not 100% complete however.


TuneBar 4 Search Menu

April-19-08

TuneBar 4: First Sneak Preview

posted by admin

TuneBar really matured in version 3. It still will continue to mature through the remaining bug fix releases of version 3. But as everything in this world, things progress, and TuneBar is no exception.

I feel that with TuneBar 3 it is ahead of other controllers in some aspects, but lagging behind in others. I aim to fix this with TuneBar 4, and although I’m not yet ready for a release (I don’t plan to be for a number of months yet. I won’t pin down a release date), I do have a few things that I can show so far, and talk about.

First of all, TuneBar 4 will be fully making use of Core Animation and Quartz to really speed up its drawing, and it really is a lot faster.

Along with a few really nice features which will change the way you use iTunes.

Before I finish up, allow me to share this with you, a screen shot of the work down on the search window so far. The concept of how search works has some what changed from version 3 and version 2 even. Take a look:

April-19-08

Ballface

posted by admin

I’ve been given permission by my brother (Alex Hancocks) to post up one of his most recent creations. My brother like me, spends a lot of time on his computer (a MacBook Pro), using it for his numerous creations. These creations are in the line of Photography, Film, Stop Motion Animation and 3D Animation.

And this is what Ballface is, a 3D animation, well short film really, as its just over 4 minutes long. I won’t say anything about the plot as I don’t want to give anything away.

All feedback and comments would be greatly appreciated to help my brother out.

Ballface © Alex Hancocks, 2008.

April-13-08

Small Preview: Update

posted by admin

Earlier today I made the first mention of an application that I have begun work on. Its one that has been in the works so far for about a month, and right now I’m going to give 2 tantalizing screenshots.

Feedback, or comments on these so far will be great.