Canon Buys Milestone

Around 15 years ago I received a phone call from a guy called John. John had seen my resume online, and wanted to talk.

I was met by John and Henrik in Symbion Science Park, an incubator collective in Copenhagen. We spoke for a while, and I was introduced to the team, just to see if the chemistry was right. I guess it was, because later that day (or the next) John offered me a job.

Milestone Systems consisted of no more than a handful of people, and they had rented a small space in the office building that made up the “science park”. It was a very cramped space, with a token-ring switch placed under the table and a server rack in one of the corners. Most people were ex-TenFore, and the revenue was also derived from supporting an old TenFore customer. My job was going to be to develop code for this financial information system that TenFore had created, and that Milestone was now supporting. But to test me, John and Henrik asked me to work on a little side project that they had been thinking about.

One of their old TenFore colleagues was working in Axis’ Danish branch. Axis, at the time, was selling mostly print-servers, but they had made this camera that was also IP based. It had a little web server inside, and it was very expensive. But the biggest problem was that there was no software to record the footage. So Michael Roger Jensen (Roger) suggested that Milestone write some software that could grab the frames, and let the user review them later.

I was asked to mess around, and see what I could do with it. After a short while, we had the first and very simple recorder. The database and motion detection was written mostly by Niels Ulrik, who would have his own private office. Niels liked his cigars (which is why he had his own office) almost as much as writing x86 assembly. I’d ask for some fast code, and a few hours later, Niels would emerge with a piece of paper, with assembly written on it. All I had to do was to compile it, and hopefully it would work.

Shortly after the first working prototypes were created, John and Henrik decided to invest more heavily in the surveillance software, and so Martin Andresen and Michael Hansen joined. We decided to move the camera specific code into DLL’s, each driver adhering to a generic interface. We (Michael) spent a long time trying to improve the VMD, we aimed for object tracking, but the PC’s simply didn’t have the resources to do the motion tracking reliably (the framerates were quite low).

A while later we moved to larger offices in Brøndby (a little outside of Copenhagen). A place that was deserted at night, and we suffered several burglaries, which would usually set us back a few days as we scrambled to get new hardware and re-install our development environment. I lived just a mile away, so the location – to me – was perfect. We had movie nights, and during the (soccer) world cup we’d have a TV set up showing all the matches. Roger and I would often drive to the store and fill his car with cases of soda (Milestone offered free sodas and lunch back then). The company had a very decent internet connection, so a few guys would always hang out late and play Quake.

I left Milestone and joined Linkage, a small consulting agency in the center of Copenhagen. I loved it there, but the allure of living and working in NY was an offer I could not resist, so I joined OnSSI.

Canon buying Milestone, to me, feels very strange. It’s like seeing an old girlfriend passing by on the street. The image in your mind is the same as it was 10 years ago, but suddenly you realize she has 3 kids, was divorced twice, and is now married to this wealthy banker. I expect that my contribution to Milestone has long been washed away (my silhouette was part of the logo for a while), but to me, in my conscience – Milestone is still the pieces of code that had me working long evenings and weekends.

Well done guys, and great move Canon.

Taste and Craftsmanship

I think it would be unfair to say that blue is a better color than green, or that flat design is better than skeumorphic. And I don’t think we’d appreciate flat design w/o having been through skeumorphic design first (and poor, misguided attempts at that too).

The website is #50 in the world (#10 in the US), and I think most designers will agree that it looks pretty plain. is #11 and sports a pretty chaotic design. So it would seem that a design doesn’t make or break a product; a product that works really well can succeed in spite of not being pretty. I suppose the design just has to be appropriate. I wonder if craigslist would have been where it is today, if Craig Newmark had tried to keep up with the design trends over the years. I think what’s key for craigslist is that the design looks almost bohemian, which may resonate quite well with the self-image of its users.

But craftsmanship is something slightly different. Poor craftsmanship can be a dealbreaker, and I believe it carries bigger weight than aesthetic preferences. Even if craigslist looks rather plain, it does follow some fairly well-established design rules. It would appear that the craftsmanship is good – the designers know what they are doing, and while you may not be particularly attracted to the site (the taste), the design feels deliberate and done with/on  purpose.


As an example of the polar opposite, take a look at Yahoo! classified registry. I don’t know what those pages are for, but it seems as if Yahoo! has no taste. They’ve just mashed a bunch of random ingredients into a very tasteless pie. I wonder if they are maintaining it at all – it sure looks like they’ve abandoned it a while ago. I think the Yahoo page is an example of no taste, and bad craftsmanship. The “New” icon seems completely out of place, and it looks pretty bad.



So, I think it’s safe to say that Yahoo! have failed. A poorly designed page, with no meaningful purpose (that I can see). This sort of thing must be avoided at all cost. Yet it seems that a lot of companies end up with something similar to Yahoo!’s abomination. A lot of times, as developers discover a new technique, they can’t wait to use it – somewhere – anywhere. When I was first dabbling in WPF I did a (terrible) mirror floor effect. I immediately popped it in the administrator app. As it was pretty cool, no-one told me to remove it. It still sits there. Inappropriate and annoying to me. And as time passes, my preferences change. I went from skeumorphic to flat, but I never had the time to redo all the assets. As a result, I have a mix of both styles.

So, I understand why design rot happens, and I am pretty sure that I know how to remedy the situation, but I can’t prove that theres a ROI on cleaning it up. People who didn’t buy our product, are not going to complain about the lack of consistency in the design, and people who did, probably don’t care enough to complain. Thus, the problem appears smaller than it might be. Furthermore, a new, overhauled design, may not sit well with our existing customers, and there is clearly a tendency to want to do everything vastly different a second time around (the second system effect).


I Hate Email Auto Replies

Email auto replies annoy me to no end. Say I have an urgent issue with my account at the local bank. I write a detailed email describing the problem, and hit send. 2 seconds later I get an email. Full of lies.

“I am on vacation, I have limited access to email, please contact someone else”

I get it. You are on vacation, it means that you are not going to look at my email, and I don’t expect you to (enjoy your vacation), but why do you have to lie about your email access?

You also placed the burden of keeping you all “in the loop” on me. Say I decide to re-send the email to this other poor schmuck, do I have to tell the original recipient that I reached out to a second person? If I decide that I can wait, should I let the original person know that I will wait patiently for a response (and get yet another auto reply?)

One idea that I might entertain is a more intelligent autoreply system:

Thank you for your email,

I am currently on vacation, so if this is an urgent matter, and you’d like someone else to handle this email, just click the link below


I’ll deal with abuse of HTML formatting in email signatures at some other time.