Extending HTML for Devices with Built-in Cameras

(I wrote this back in september. No idea why WordPress decided to not publish it. Oh well. It’s still interesting.)

Ajaxian has a post up about a hack Brad Lassey created for the Mozilla mobile browser (Fennec). The strategy shows the video feed from the built-in camera of the phone, and allows the user to take a shot and upload the image. Simple enough, but the idea to evolve HTML to allow this kind of interaction by extending the type-attribute of the input element seems like a good idea. We’ve been experimenting quite a bit with ways of uploading and getting this kind of information from the users previously, in particular in the BTDT – Been There Done That – project at Østfold College University in the Mobile Applications Group.

Christer and I are currently looking into some of these ideas for at least one of the sites we’re playing with. This will allow people to very easily get this kind of functionality by using standarized HTML attributes, instead of having to write the same boilerplate code over and over again. J2ME has loads of security exceptions and Python for Series 60, however ingenious for development work, has a few deployment problems (the size, in particular), so just relying on simple HTML and javascript would be great. Well, the browsers embedded on the phones will probably be just as different as always, so we’ll still be left with “things that just work on a few lucky devices”. The closest today seems to be email and MMS, so I guess we’ll have to go down that roadfor now.

Vincent Laforet Shows The First Shots from the Canon EOS 5D Mark II

Vincent Laforet has a very, very interesting post up about the Canon EOS 5D Mark II. It features the first shots from the camera, and while they are stunning in their own right (Vincent shoots some of the best photos on the planet, so no surprise there), the most amazing thing is that they’re shot while in video mode. That’s right. They’re straight from the RAW .mov file that the camera produces when recording 1080p video. Simply astounding. I’m getting one. Hands down.

For more information about the EOS 5D Mark II and the video mode, NRKBeta has a long article analyzing the video output from the beast itself. I can’t wait. Too bad the price here in Norway is above USD 4000, so it’s actually cheaper to fly to the US, buy it and fly back to Norway. NRKBeta gives you even more images of the EOS 5D Mark II, an incredible piece of engineering. Time to start drooling!

Seth MacFarlane’s Cavalcade of Cartoon Comedy

Seth MacFarlane (of Family Guy, American Dad fame) created his own YouTube channel a couple of weeks ago, where he published “Seth MacFarlane’s Cavalcade of Cartoon Comedy”. The channel features a collection of shorts in the distinct style of his other animated series, but limited to a single gag or joke instead (an extended version of the short puns and gags in Family Guy).

Here’s some of the clips that he has posted so far:

Trackday at Rudskogen with Autostrada Sport

I spent four hours at Rudskogen Motor Raceway tonight, at an event hosted by Autostrada Sport. A nice collection of Ferraris, Maseratis, BMWs and Porsches turned up (even a Lamborghini and an Aston Martin). As usual I spent some time photographing, before Marius took me for loads of laps in the black GT2.

The photo set is (yet again, as usual) availabable at Flickr.

Here are some of my favorites:

Autostrada Sport - Rudskogen - 2008-09-16 - Maserati GT

Autostrada Sport - Rudskogen - 2008-09-16

Autostrada Sport - Rudskogen - 2008-09-16

Autostrada Sport - Rudskogen - 2008-09-16

Autostrada Sport - Rudskogen - 2008-09-16

(as you can see, I’ve become very fond of this style after the last auto slalom. Some of those pictures turned out really great, so I spent some time playing around with it today)

We also had an inboard camera:

Last Auto Slalom Round of 2008 With Porsche Club Norway

I spent yet another sunday camped out at the part of Gardermoen Raceway where Marius usually compete in the Auto Slalom competition while I spend the day photographing the drivers and their cars. Marius finished in 5th place this time, and this concludes this year’s season of auto slalom. We’ll be back for more next year!

The complete set can be seen on flickr!

Here’s a few of my favourites:

Bilslalom - PCN

Bilslalom - PCN

Bilslalom - PCN

Bilslalom - PCN

Bilslalom - PCN

Weekend Link Roundup

As we’re starting a new week I’m just going to round up a few of the links I’ve been having around in my browsers for quite some time now:

  • Gravatar Implementation Details – I’m currently looking into using gravatars as default avatars for a smallish site I’m writing a few lines of code for every now and then. This page details which parameters you can submit to gravatar to control the image returned from their servers.
  • The BOSS Mashable Challenge is a contest hosted by mashable and Yahoo! Search about building a site or resource on top of the BOSS API from Yahoo! BOSS stands for “Build your Own Search Service“, and is an open API to access Yahoo’s search service from your own applications. It’s very interesting and I have several ideas about how to incorporate this into our own sites.
  • NRKbeta just had a notice about a very nice site containing biaural recordings. I listened to a few of these a couple of years back without being very impressed at the time, but these recordings are at a whole new level. Great stuff. Still have a bit of trouble about determining if something is in front of me or behind me, other than the usual context clues (people cutting your hair is usually behind you, not in front of you, etc).
  • The Open Social Specification – Just had to look this up again today. Wondering if I should attempt to implement Open Social for social networking and for your friends graph in the sites I’m currently hacking around with. Could be a good experience anyways.
  • I want this.

More on Domain Specific Languages

My previous post on the power of micro languages peaked quite a bit of interest. Today Gamasutra published a feature article documenting the creation of Whimsy, a domain specific language developed to create images resembling the art of Rodney Alan Greenblat. The language is actually quite similar to what I used myself:

superegg 0.15,0.10,3.5 at .3,.7 size 1.2 black distort .01
petals 14 0.05 size 1.8 petalblue
inner .88,.01 tvpurple

The statements are one on each single line, with the command / drawing primitive as the first literal, then parameters to the command.

A View Behind the Scenes of the Creativity at Pixar

As I’ve been having a cold the last two days with everything that involves of fevers and chills, I’ve at least had the time to a bit of reading. To be honest I’ve not been able to much else, so I finally got around to reading an article at Harvard Business Online about Pixar, titled «How Pixar Fosters Collective Creativity».

One of the most interesting quotes which I’ve been hearing a lot lately and that I agree with 100% is the following:

If you give a good idea to a mediocre team, they will screw it up; if you give a mediocre idea to a great team, they will either fix it or throw it away and come up with something that works.

To see how this shaped the development of Toy Story 2, one of the best animated movies of all time, read the article.

I’ve also seen several movies from the Pixar offices on the behind the scenes features of several of their DVDs (in particular in the Toy Story 1 & 2 Box Set which features a complete DVD with just extra material), but I never understood the true meaning of why they had built it like that. I might just have missed it in the material, and it still looks like an awesome place to work. Anyways, the article has a nice quote about the effect of the buildings structure:

Our building, which is Steve Jobs’s brainchild, is another way we try to get people from different departments to interact. Most buildings are designed for some functional purpose, but ours is structured to maximize inadvertent encounters. At its center is a large atrium, which contains the cafeteria, meeting rooms, bathrooms, and mailboxes. As a result, everyone has strong reasons to go there repeatedly during the course of the workday. It’s hard to describe just how valuable the resulting chance encounters are.

While the visions of my company in the future may not have to integrate people from so many different arts, this still provides a very interesting view of the dynamic between groups and people.

Well worth a read.

Rattmestern 2008

Marius and I went to Rattmestern 2008 this weekend, a yearly auto slalom competition. The Norwegian Porsche Club were in charge of timing and setting up the track, so there were a large number of Porsches competing. Marius finished in 4th, and the results can be found at Rattmestern 2008 resultater. I spent the day at the side of the track with a 40D and a 350D, trying out the 40D to see if I’m going to get the 50D when it’s released. Depending on wether Canon can get their 5D replacement out in time, I might have to get a 50D to fit in between.

Anyway, I’ve uploaded the complete archive of photos from rattmestern 2008, and as usual I’ve included some of my favourite shots from the day:

Rattmestern 2008

Rattmestern 2008

Rattmestern 2008

Rattmestern 2008

Rattmestern 2008

For more photos, go to the complete photo archive.

I survived!

As I mentioned on friday, I were going up to Rena to attend this year’s Birkebeinerrittet this saturday. I can now report happily back that I made it all the way through, even though my body felt like every bit of energy was gone even after 30 kms. I’m suspecting that it might have something to do with me feeling a bit sick the previous days, but things seemed better at friday. My body was however probably not prepared for biking 91 kms, but it made it all the way through.

I finished in 5:47, which is quite crap when compared with other people in my age group (25-29), but I conclude that they probably weren’t as happy when they made it to the finish! This means that I reached two of my goals: finish and not die. I’ll leave the 5 hour mark for some other year (avoiding saying next year is a good tactic).

The ride over the mountains were hard, and we started out by climbing the 500 height meters up to Skramstadsetra (you can see the course profile here). After a bit of forrest riding we hit the first downhill part of the track. One person apparently got seriously injuried here during the race, and I can understand why. I’m usually picking up a few spots in the downhill areas, but when you have several hundred riders close by and people approaching quick from the groups starting behind you, there’s no choice but to take it a bit easy. I made it through the downhill, and then we hit the first “time to get off your bike and climb up this mountain in the middle of the forrest” part. There’s no hope of anyone getting up these hills without getting off their bikes, with mud and dirt everywhere and a steep hill. After this things went a bit flat and rough for a while, and I just stuck together with the people around me. Everyone moved at the same speed anyways, so this is not the place to try to make a run for it.

The next part of the course up to Kvarstad went perfectly OK, but I really felt my body draining of any spare energy. Getting a bike GPS is one of the smartest things I’ve bought this year, but when I’m doing long runs, I fall into the trap of looking at it at just a few minutes intervals. Things seem to go sooooo slow… Well, after stretching my legs at Kvarstad, I started on the next climb. Just as I entered the bottom of the hill, my body apparently thought I was joking, so it went for a small shutdown. I just had to get out of the way and spend a minute at the side of the road, before walking the first hundred meters of the hill. Strangest feeling I’ve ever had, and it confirmed my suspicion that I had been a bit sick during the previous days. Should probably have had some more food before starting the race too, but oh well. After walking a bit of the hill, a guy and three girls from Adecco went past at a slower pace, and as the guy humoursly told me that the point were to bike and not walk, I decided to join them at their pace up the hill. This worked out very nicely, and you should know that you helped me up that hill, even though it wasn’t that steep, it was a hard challenge at the time!

After battling through this stage, things went better until we approached the infamous “Rosinbakken” (the hill of the dried grapes / raisins loosly translated). I think the hill got the name because of how your legs feel after finishing it, but it may very well describe the feeling I had in my legs when I got to it. The hill is just over a kilometer long, and it’s inclination is around 10%, meaning that you climb something like 120 meters while riding the hill. Because of the name the hill has been adopted by the company ica, which welcomes you to the hill and then serves you: yep, raisins, halfwall through the hill. I decided to walk here, as my legs were kaput and I still had quite a few smaller hills to attend to in the next kilometers. Got up on my bike for the last 200 meters of the hill as things were flattening out and rode along with a few bikers I had tagged along with earlier. When we got to the top here, things went a lot flatter and the hills got sleeker. Still not anything easy (as you have 58kms+ and somewhere well above 1000 height meters in your legs), but I realized that I were going to make it, and that my body weren’t going to try to shut me down again.

As I approached the last food and drink station, the guys from the elite class were passing us. They started from Rena 2 hours after my starting time, and jeeeeesus. Those guys are fscking fast. Guess the fact that we were close to the highest point of the course also had something to do with it, but seeing people ride like that uphill was very impressive. I’m never going to put down enough time to be able to come close, but a man can dream!

After the last food and drink station there were just a few hills left before we passed sjusjøen, the turning point of the trip. From Sjusjøen almost everything is smooth sailing: the hills go in the right direction (down), the tarmac reappears for several stints and since you now know that all the hard parts are over, your body is ready to contribute the last few strands of energy.

The last part of the track (~6kms) is inside the venue from the 1994 olympics, and the craziest part of the whole track is when you’re going down the hill from the Freestyle skiing event. This is steep. Very steep. Especially when your legs, your arms and your mind is dead tired. This is also where people fall off their bikes, especially if it’s wet and it’s been raining. I just kept my brakes engaged and took the easy way down, slowly descending onto the platform and then riding through the stage where the olympic fire burned for two weeks in 1994. It’s an impressive location and really sets the theme for the finish. A single hill was concealed behind the stadium in a small forest patch, but if you’ve done 90 kms, that’s not going to stop you.

I finally finished after 5 hours and 47 minutes. My parents were there to pick me up, and after getting my diploma and getting off my biking shoes, we set off for home.

Things I’ll remember:

  • The two cows we met — in the track — while biking.
  • All the sheep. Holy Cow! There’s a lot of sheep in the norwegian mountains.
  • Being completely drained of any energy
  • All the great people riding, in particular all those who I tagged along the backwheel of. I never thanked you while riding, but it really made a difference. Hopefully you also tagged along when I decided to ride first for some kms, but it seemed hard to get people to catch on. I hope someone else found my back wheel interesting and used it for all it was worth during a couple of kilometers!
  • I’d also like to thank in particular:
    • A guy from Thales (at least that’s what his backpack said) which I were conversing with through the last 30 kilometers. It really helped! I tried to tag along when you wooshed by together with another group 10 kilometers before the finish, but I lost you after a kilometer.
    • The slowest people from Adecco and ica! It’s great seeing people that are attempting to do things they’ve set out to do, and it was of great help all the way.
    • A girl in a green outfit, a girl in a blue outfit (both group 65, i think) and the guy and girls in the hill when all energy seemed lost. I know I tagged along your back wheels for maybe a bit more than I should, but it really helped. Hope you all made it to the finish line!
    • A guy and a girl from Adecco (also in group 65-67 or something) which rode together. I ended up along with you early on, and then found you again several times along the track. Very inspiring!
  • The poor person who had gotten a puncture with just 5 kilometers to go, inside the olympic venue. That’s got to suck.
  • The elite guys and their incredible speed!
  • The VERY VERY VERY cheerful crowd along the track! You guys cheered, you gave out bananas, you had your own bands, you yelled encouragement. It’s amazing. It really matters. A great thank you to the guy who stood out in the road close to sjusjøen and handed out hi-fives and a gently push on the back to all the amateurs who were just below the top.
  • I’ve learnt one thing: you’re always VERY CLOSE to the top of a hill. At least that’s what the crowd are cheering. It doesn’t matter if it’s right, it’ll always feel like it’s true. And when you get to the top, you feel that they were right all along. It wasn’t really that far.

Well. The final question now is if I’d do it again next year. I’m going to wait a few days before I decide, but… probably. Hopefully I’ll have a better couple of weeks before the race.

Anyways: Congratulations to everyone who finished, and if you’re ever considering going for a very nice, well organized mountain bike run in europe, go to Rena and start in Birkebeinerrittet. It’s something everyone should have done at least one time! I’ve now done it twice (in 1996 and in 2008)!