Michael Campbell's blog:

16th May 2010

Download OFX statement from smile.co.uk

I’ve been waiting for mint.com to become usable in the UK for what feels like forever. I guess that it doesn’t work here yet because many UK banks ask different questions when you login, making it difficult to write automatic login scripts. So I’ve been using my own spreadsheet creation which is okay but I thought I’d try Wesabe.com as offers automatic tagging for reoccurring transaction and creates graphs on the fly (Everybody needs more graphs in their lives).

Unlike Mint, Wesabe doesn’t work only by syncing with a bank account, it also allows you to manually upload bank statements. To do this your bank needs to offer a downloadable statement (OFX , QIF, QFX, or OFC). My problem was that my bank (smile.co.uk) doesn’t offer this functionality so I built a Greasemonkey userscript that reads the printable statement and creates a .OFX

How to download .OFX from smile.co.uk

Greasemonkey is a firefox add-on that allows you to use javascript to add functionality to websites or customise how they look.

With Greasemonkey installed you can then download my userscript here or over here).

You may need to amend the script so that it works for you. Smile uses a number of different servers. Your bank account might run on a different server to mine therefore you’ll need to use Greasemonkey to add your sever to the list.

Now when you go to the printable statement page a window will pop up (you may need to “allow pop-ups for smile.co.uk”) with a bunch of text in it. You’ll need to save it as .OXF (copy it into a text editor and ensure that you change the file extension).

Alternatively

You can try Chris B’s Greasemonkey script. I couldn’t get it to work but it might work for you.

Improvements

I’d like to make a few improvements to the script:

  • Create a downloadable file rather than open a new window. (any hints on how I can do this?) The Wesabe Firefox plugin adds a link to the download dialogue that allows you to send OFX files directly to Wesabe.com,
  • neater code,
  • include download button like on Chris B’s script to the live current statement page so that you don’t have to wait till a full statement before you send it to Wesabe.
  • make it work on other bank websites
  • create the same thing for/with Jetpack

However, I’m afraid I don’t see myself doing this any time soon.

25th February 2009

Attention enhancing services

User experience vs usability

We have seen a growth in products and services that look to employ the use of “User Experience” experts rather than “Usability” experts. This is perhaps a reflection of the growth in services that users engage with over a period of time and on various mediums and touch points rather than within a single instance and platform.

Life enhancing services

Many of these services emerge from a category where they do not simply facilitate the creation of documents or the sale of products but attempt to help people get more out of life. There are currently numerous services that attempt to do this by creating on-line communities, socialising media and humanizing the relationships that we have with technology.

How to design for life?

This raises questions for designers such as: How do we adapt our design methodologies to reflect this change in the way we consume services? (Or more specifically: How does one conduct user testing and research of the interactions with a service over time). It also raises questions that emerge from the shift in the nature of what these services deal with. For example, a media sharing site doesn’t just allow you to share media with your friends but may also act as an extension of your persona. Combine this with the many other services that we use and we see a web of artefacts (blog post, twitters, photos, interactions with a service) can be aggregated into a ‘LifeStream‘. What do we need to know about the motives of people when interacting with these services? Only by knowing this can we design them so that they are ethical and fit for purpose.

Personal information

As part of this growth in ‘life enhancing’ technological services we have seen a movement that looks to give ownership of personal information to the individual who it is related to(e.g., Data Portability). As well as the philosophical arguments that surround personal information data, there is also the opportunity for individuals to benefit from it’s aggregation in the same way that business are able to. For example, a business may look at aggregated data about customer purchases, form conclusions and design their future systems accordingly. Is it possible for collections of data about an individual to be used to enhance their own life? Can the products and services that we use adapt themselves based on our personal information so that they are more useful?

Attention data

Part of this movement to give an individual ownership of their data takes particular note of ‘attention data’. Many of the services that we use (e.g., search engines, social networks and news readers) record information that indicates how we spend our attention. What we do on computers and ubiquitous devices (what link we click on, how long we spend on a page, who we are ‘friends’ with, what we search for) can indicate how we are spending our attention.

Signals Vs noise & getting things done

A few services have attempted to use this information for the user’s (or owner’s) benefit. Services such as engagd look to be a ubiquitous aggregation of how an individual is spending their attention and then aid them in achieving ‘flow’ by filtering ‘noise’ and recommending complementary information to that which they are currently consuming. This has become particularly important as the amount of web based services that we consume information through increases. These attention services could potentially be beneficial to individuals who look to achieve more with their time or be more efficient – individuals who subscribe to productivity methodologies such as ‘getting things done‘. They may also have a use for individuals who simply want to be able to find more relevant information or for creating a more personalised service.

How to design for attention?

So far, the execution of these services hasn’t lived up to the excitement and enthusiasm surrounding them. I believe that this is due in part because of the lack of adoption of standards (such as APML) but is mostly due to the complexities associated with the delivery of personal life enhancing services and the psychology behind attention.

2nd December 2008

Agile and UCD

There has been plenty of talk about Agile and UCD on the internet and at work. Notably, from the UX camp- UX matters and Nielson. However I came across Agile (via “agile development with rails“) before I did UCD. This is my two cents on the matter.

The popularity of MVC rapid developing frameworks such as RubyOnRails, Cake, Django and Google’s app engine has contributed to the increase in developers using agile.

Using a rapid development framework means that the coding phase of development isn’t a huge singular monolithic piece of work, it can be broken down into smaller sections.

In traditional development you can’t test the front end until you’ve built that back end that drives it, with Scaffolding that comes with RDFs you can.

Conventions and pre-written code that comes with RDFs make it possible for developers to be less protective of the work they have done. After a section is built you can test it… “oh, ok users don’t get that bit, no problem I’ll just re-write it.” Because re-writing a small amount of code that you wrote yesterday is less effort than trying to find the code that you wrote 3 weeks ago.

Testing can be done during the coding phase, giving UX people more opportunities to influence the end result.

I believe that the right answer for Agile+UCD is: A body of work up front defining a blueprint of what the result should look like and then iterative development and testing along the way to ensure it is has a good UX.

An interesting development from the RDF thing is that it is now more possible for a single person to have the time during university to learn both how to write an app and how to ensure it works for users. What will this mean for design firms, will we continue to see development and UX as separate departments? It’s certainly good thing for little niche app markets along the long tail.

11th October 2008

Google keyboard shortcuts in your browsers search bar

If you are the type of person who thinks having to take you hands off the keyboard and use the mouse is an unnecessary waist of time…

go to- http://www.google.com/experimental/

sign-up to the keyboard short cut experiment. And have a play.

Now wouldn’t it be great if Google did this every time you searched, using the search bar in firefox? I thought so…

Drop google.xml in to the searchplugins directory in your firefox directory (probably- C:Program FilesMozilla Firefoxsearchplugins or corresponding directory on a mac) replacing the existing one (you may want to backup the original (do this in a different directory)).

Restart firefox.

Bingo!

I think that this should also work for other browsers that support the same search plug-in standard too.

How it works… Open the google.xml file with a text editor and have a look. All I’ve done is added &esrch=BetaShortcuts into the URL.

27th July 2008

Wii Curling

wii-curling

In the second year of my Interaction Design BA I worked on a project where the intention was to create installations based on the notion of augmented reality. The instillations were built for show at Rave on air, A student-run event held at Ravensbourne College. In Wii curling there is a long projection on the floor (made with projectors hung from the ceiling) at one end of the pojection a target, and at the other end the stones or kettles wait to be thrown. A camera (also hung from the ceiling) is looking for a bright colour that is stuck on the end of the WiiMote and is using that to move the player’s stone left and right when the player moves thier WiiMote. Then, just like in Wii Bowling, the player holds the trigger pulls back and swings forward, letting go of the trigger (not the remote!). Data about the swing is sent via bluetooth to a computer which is then assessing the data for strength of throw, direction and spin. This determines the initial path of the stone along the ice. Other players would stand holding brooms that have a bright colour on the head and a Wii remote attached to the handle. The location of the brooms would be tracked with cameras and the speed of their sweeping would be measured by the Wii remote. The game would show where sweeping had happened by changing the colour of the ice in that location. The kettle would then move faster or spin through ice that had been recently swept.

video

This video shows me explaining WiiCurling at Rave on air, (I hate seeing and hearing myself on camera).

Augmented Reality gaming

I had heard of a version of pacman that could be played on a group of hand held devices that were networked via bluetooth, the person controlling the pacman would have to venture of his or her screen on to an opponents screen to collect dots. The opponent holding that screen could then run away out of bluetooth range and the pacman would be lost to the opponents screen, out of control. I like this idea of combining the virtual space in the computer and the real space that the players are in and building a game that makes uses of both spaces (augmented reality). The Wii also does this; the movements of the players in the real space (the controller they are holding) relates to events happening in a virtual space. However, the Wii is only aware of relative movement in real space and not of location; the Wii remote can work out how it is being moved but not where it is. Therefore the console does not know where the players are in real space relative to each other or the screen that they are interacting through. I wanted to explore what possibilities there are for a game that combines Wii like games and a spatial element. WiiCurling did explore augmented reality, however, all it did was recreate something in the virtual world that already exists in the real world. The real potential and challenge for augmented reality game design is building a game that takes both the strength of real world gaming (movement in space, physical exertion, etc) and virtual gaming (the internet, long tail economies, etc).

How it was done.

The game was built using a Matrox DualHead2Go that allows you to split one video image over two screens (projectors in this case). The game visuals and logic were built in Flash, and the WiiMote data was received via Max/MSP/Jitter and the aka.WiiRemote object and the location tracking was done with jitter. That Wii data was then sent via the Flashserver object to Flash where it was used in the game.