Online

Last week the piece went online. I’m really glad it’s finished and I’m happy with the result. I do have to rent a lot of extra Mb’s hosting space. But it’s worth it. So please visit the website: www.numuseum.nl/noord-zuidgevoel A fast Internet connection is a must to get a smooth download. You need the latest Flash player to view this work. If that isn’t installed yet you’ll be asked to download it. Downloading the Flash player is completely safe. The loading of the work may take some time, please be patient. If you need any help, please click the question mark.

Have lots of fun with this work. Drop me a line to let me know what you think.

3, 2, 1, 0

At this moment I’m uploading all the material to the web. The whole project folder is 195 Mb! That’s not surprising as it contains thousands of photographs. The script for the whole application is 535 lines long. There is one bug that I couldn’t fix at this moment. But after two months of full time work on this project I’m calling it a day. Hopefully nobody will notice the bug and then it won’t matter. Of course there are little inconsistencies with the data but it would take me another month to sort all that out. On the whole visitors can get a very good idea of two weeks in the life of D. R. Sometimes it’s very intimate, sometimes it’s very boring, sometimes it’s quite exciting. Just like real life :D

Back in workflow

I’ve recovered from the flue which has stopped me from working for three days. I picked up my poster from the print shop today. The result is OK. Due to outdated information on their website I made my lay-out to small so the quality could have been better.

My notes on two image folders

My notes on two image folders

For ages I’ve been wanting a program that allows me to make notes on folders. So a visual and textual clue about what’s going on with a specific file or folder. I did a little search last week and found File Notes Organizer. I’ve been using it as a trial and I’m very happy with it. Especially with all the different things going on in respect to the images I’m sorting now for this project. It’s nice to see where you are and what’s finished and so on. I think I’m going to buy it once the trial period is over.

Developing media

Yesterday my good friend Cécile had a look at the design for my poster and made some useful comments. So I’m not finished with it but almost finished. I think it will look nice on A2 size.

Print of poster on A4 format

Print of poster on A4 format

I’ve made progress with the loading of the images. I’ve now come to the point that I really can’t postpone the sorting and scaling of the images any longer. So I’d better get going.

Day by day

I’ve just finished the interface for browsing the work day by day. It took much more time then anticipated. This was because as soon as I jumped to another day the program started slowing down to an unacceptable level. I had to figure out why that happened before I could carry on. Finding that out and fixing it took me about five hours!

I finally discovered that a drawing new heart-beat graph slowed down the program because it got bigger with every new day you clicked. This graph is build up from thousands of dots and lines. To make the animation go faster I had to remove those first. But I put them in the wrong place so I couldn’t remove them. I had to rewrite the code for building the graph so I knew where all the lines and dots were and then I could remove them. Now with every day you pick the old graph is removed and a new one is drawn and the speed stays the same.

On the net I found this really nice code for adding listeners to the seven buttons in a dynamic way:

addEventListener(MouseEvent.CLICK, mouse_click);
function mouse_click(event:MouseEvent):void {
var object_name=String(event.target.name);
for (var i:int = 0; i < 7; i++){
if (object_name == day_btn_array[i])
{
get_day_data(event);
}
}
}

So instead of writing all the listeners by hand I now only have three eventlisteners (only one is shown here.) With every click the function finds out what button was clicked. It calls the appropriate function and passes the original click event. In the called function I again retrieve the name of the button from that event using event.target.name again.

It’s taking shape

The blue line for Amsterdam, the orange for Breda

The blue line for Amsterdam, the orange for Breda

Yesterday I spend all day working on the web application (finally, because Wednesday evening it appeared that I still had two days of data to sort which took me the rest of the day.) To my mild surprise this went very smoothly. I can now show the two graphs with heartbeats, the two maps and the activities. I’ve also added the possibility to zoom in and out. It’s a joy to watch, very funny. It was a bit slow. The program is so heavy that I can’t really speed it up much. It takes a lot of time to watch a whole day and that’s too much to ask from the visitors. So now I’ve programmed a button with which you can skip an hour. Now I just have to make a nice looking button to go with it.

Pick a day and skip an hour, visit this blog and get some help

Pick a day and skip an hour, visit this blog and get some help

And because you can’t speed through the days I made a design for the interface so you can jump to different days. I still have to build and program that. As the program runs now it just can do one day. I’ll have to make it load data from different days and reset things for it to work with different days. The plan is to finish that today so I’d better make a move on.

Acquire, parse and filter

I’m finally finished with the acquisition, parsing and the filtering of the data. The non-visual data that is. I’ve spend the last couple of days working on it. It’s pretty dull work but essential for displaying the data correctly. So now I’ve got 14 exquisite files which hold all the data (date and time, heart-rate, GPS coords and activities) for all 14 days. My Flash app will only have to loop through them. Bit by bit I’ll work on the photographs and I hope the whole work will be finished and online by next Wednesday.

An interesting book on working with data (for which I unfortunately don’t have enough time to work through) is Visualizing Data by Ben Fry, yes one of the developers of Processing. He’s a real genius in working with data, take a look at some of his projects.

No place like home

I’m on the train going back to Breda. I feel very cheerful, so I suppose that isn’t such a good sign. Looking back it has been exciting. Trying to get a the sort of life I like to lead in Amsterdam. But a metropolis is very different from a provincial town like Breda. The pace of it make me nervous and sucks you in. I did find some nice rounds to walk (and the do have some trees), I just had to reconcile myself with the fact that it wasn’t as peaceful as it is at home.
It think what I liked most was a sense of remoteness to the city centre and the amazing speed at which you can get there by ferry. Travelling on the ferry was one of the nicest things anyway. But the best times I had were in the heart of Amsterdam. Shopping and art with Cecile, talk and work (and use the Internet) at Anja’s nice studio.
What I disliked was the cramped feeling I had. The houses were tiny and especially the Noordgevoel house was full off stuff. Even the bathroom was packed with stuff so brushing your teeth became a challenge. Of course the constant measuring and solving problems with the gear was also trying. I very much missed a decent place to work and Internet of course. I sort of felt I had to work despite everything. That’s not a nice feeling.
And there was a LOT of work. I had to write two programs to sort the data. One for the Suunto watch and one for the GPS data. It will take some time before everything is sorted out.
Aart, the manager had a nice suggestion for a presentation just before I left. They could project the work on the wall of the reception so people can watch it when they’re having their breakfast. I will have to record the work on video, so you will lose the interactivity but it still gives a nice impression of the piece. I’ll have to discuss it.

Lost my tracks

Yesterday I discovered something very disturbing. The XML file with the GPS track was missing 40 tracks in the log for the fourth. Not at the beginning or end but just, somewhere…?! This file has thousands of nodes and is almost 1 Mb big. A node looks likes this:
<trkpt lat=”52.387110000″ lon=”4.909017000″>
<ele>48,5</ele>
<time>2009-01-05T07:46:35Z</time>
</trkpt>
That’s very easy for a computer to read but not for a human.

screen dump of compare_times output

screen dump of compare_times output

I had to come up with a way to pinpoint the gaps. So I started to write a program called compare_times. I wanted a way to compare the times logged by the Suunto watch to the times stored by the GPS logger. Usually I don’t need the time node of a GPS track but now I could use it to see if the times weren’t matching at places. I output the times side by side to a file so I could compare them. And yes indeed, at some point they were not matching anymore.

Times in the GPS log that need my attention

Times in the GPS log that need my attention

So now I had to enhance my program so that it would point out to me exactly where things were going wrong. It’s impossible for a human to see for example two tracks missing at say 17:48:13 and 17:48:23 on a whole day. I decided that I would count the tracks in every minute. If there weren’t six tracks (logs) in one minute something was wrong. It sounds easy but it wasn’t all that easy to program. But I worked it out and ended up with a clean list of attention points so I knew where to look.
Mending the data was more work then writing the program. This was especially true for the log of the fifth. There 200 tracks were missing! Sometimes six minutes of data were just not there. Now I’ve got the day data of day 1 to 4. I hope the other days won’t be as bad.