Tim’s Weblog Tim's Weblog
Tim Strehle’s links and thoughts on Web apps, managing software development and Digital Asset Management, since 2002.

I know. I can. I want to. I do.

You’re my colleague, or my boss. I wish you would do something, and we both can agree that it’s a good thing to do. What does it take you to actually start doing it?

Well, 1) you need to know about it, 2) you need to be able to do it, 3) you have to want to do it, and 4) you need to get started.

I used to think 1) and 2) and 4) are problematic. Luckily, there’s a lot that can be done about them: teaching, spreading information, giving freedom and responsibility, helping you focus. But as I grow older, I keep learning that I vastly underestimated 3). Whether you want something is your personal decision, your own will, and there’s not much I can do about it.

Now why would you agree something is the right thing to do, but still not want to do it? It turns out there are a lot of reasons: You don’t have the time – which means you don’t think it’s that important, you have other priorities. Or you’d rather have someone else do it. It’s also probably risky or uncomfortable or hard work, and you want to avoid that. 

People rarely change. If my dreams or future rely on other people changing their will, I have a serious problem. That’s why you often read that hiring the right people, or choosing the right co-founders, is the most important success factor. (Unless you’re a magician like Steve Jobs who was great at influencing people – Guy Kawasaki remembers having learned from him: “The starting point of changing the world is changing a few minds. This is the greatest lesson of all that I learned from Steve.”)

Wed, 27 Mar 2013 08:19:31 +0000

Short links (2013-03-27)

Wed, 27 Mar 2013 22:20:27 +0000

Scott Adams: The Management-free Organization

Scott Adams – The Management-free Organization:

“Our decision-making so far seems to follow a rational model that goes like this:

1. We discuss the question (by email or Skype).
2. Everyone gives an opinion or adds information.
3. The smartest choice becomes obvious to all.
4. The end.

That decision-making model might not work in your company if some of your coworkers are worthless. There's always the one person in every meeting who keeps changing the topic, or doesn't understand the issue, or insists he knows more than he does, or is bluffing to cover his ass, or is jockeying for a promotion, and so on. To put it in clearer terms: Management exists to minimize the problems created by its own hiring mistakes.

(I don’t think anyone is “worthless”. But I sure agree that mistakes in hiring, training, growing and empowering and motivating people poison companies. Let’s not just track and fix the bugs we developers put into our software, but these management failures as well.)

Mon, 25 Mar 2013 15:59:50 +0000

Short links (2013-03-22)

Fri, 22 Mar 2013 23:25:21 +0000

James Whittaker: The Anti Meeting Culture

James Whittaker – The Anti Meeting Culture:

“Vote with your feet by walking away from the more useless meetings. Just don't go to those meetings where the organizer holds court. Anyone who likes the sound of their own voice that much doesn't deserve your attendance.

Build disdain for meetings into your DNA so that every meeting is useless until proven otherwise. […] Meeting organizers need to be put on notice: make this meeting meaningful, its your damn job.”

Thu, 21 Mar 2013 12:33:09 +0000

Jon Udell: Networks of first-class peers

Jon Udell – Networks of first-class peers:

“It is possible for various of our avatars — our websites, our blogs, our calendars — to represent us as first-class peers. That means:

- They use domain names that we own

- They converse with other peers in ways that we enable and can control

- They store data in systems that we authorize and can manage

Your Twitter and Facebook avatars are not first-class peers on the network in these ways.”

Tue, 19 Mar 2013 22:43:29 +0000

Short links (2013-03-17)

Sun, 17 Mar 2013 19:57:21 +0000

David Diamond: Help Me, I'm a DAM Geek

David Diamond on CMSWire – God Help Me, I'm a DAM Geek:

“After two or three minutes of ample introspection, I realized that my passion was not actually about DAM (thank God). My passion is about quality content and the good things people do with the content they manage via their DAMs.

[…] I once asked Picturepark founder (and my employer), Bruno Jehle, about the origin of the product’s name. He explained to me that parks are where we go to enjoy the world’s beautiful things — the trees and landscapes, the water and fresh air, children playing and, of course, infinite blue sky. He envisioned his software being a place people could go to enjoy their own beautiful things.”

Sat, 16 Mar 2013 13:12:01 +0000

Ralph Windsor: Why Small Vendors Build Better DAM Software – The Implications For The DAM Value Chain

Ralph Windsor at DAM News – Why Small Vendors Build Better DAM Software – The Implications For The DAM Value Chain:

“If you are the boss of a DAM vendor, you are going to be intimately aware exactly what is happening with a good number (possibly all) of your clients – certainly all the key accounts. Despite not mentioning it to customers or press people, you are probably painfully conscious of all the limitations of your product also and have big plans to address them as well as develop ever more sophisticated capabilities. […] Probably significant proportions of your life to date has been devoted to your solution already and a multitude of personal, professional and financial sacrifices made along the way.”

Sat, 16 Mar 2013 21:17:40 +0000

Dave Winer: Goodbye Google Reader

Dave Winer – Goodbye Google Reader:

“I won't miss it. Never used the damn thing. Didn't trust the idea of a big company like Google's interests being so aligned with mine that I could trust them to get all my news.”

Totally agree. Doesn’t hurt me. I’m using NetNewsWire without its Google Reader sync functionality; all my subscriptions are on my local disk. Sync would have been nice but since the demise of Bloglines (which I used for a long time) I don’t trust any free Web service with this. Turns out I was right.

To paraphrase a popular song: “How many times must a man be surprised by 'spring cleaning' before he can see that he can’t rely on Google? The answer, my friend…”

I’m sorry, but if you have a slight understanding of the tech world you’re stupid to think any free service cares about your content, your URLs, your identity, your e-mail address, or your feed subscriptions. Google Mail, Google+, Facebook, Twitter will all cease to exist or do bad things to your data at some point in the future. If you’re in this for the long term, host your stuff yourselves, or pay someone for it. And keep local backups in an open format.

(NetNewsWire is also free, but since I’m running it locally I can migrate away from it on my own terms if necessary.)

See also: No one cares about your URLs (so buy a domain)


Thu, 14 Mar 2013 08:57:58 +0000

Building a new UI from scratch: JavaScript components

I’m currently investigating a new architecture for our Web app user interfaces. My JavaScript skills had been badly-neglected, now I’m trying to catch up and form opinions on how to build elements that are reusable across pages and different UIs. Here’s my (still emerging) rule set:

Build components, not pages.

Components can consist of other components.

Components communicate exclusively through events (fully decoupled, as in Twitter Flight).

Because of the former rule, a simple event broker is the only required infrastructure. (Which helps keep JavaScript and CSS includes minimal.) Any plain JavaScript object can play along, no special interfaces needed. Third-party code (like Google Maps) can be easily integrated.

Make sure multiple instances of the same component can live independently on the same page (think two list views).

Don’t make assumptions about the HTML structure. Leave it up to the individual component to use data attributes, IDs or CSS classes for identification.

Leave it up to the component how HTML is generated (by server-side code on page load, fully through JavaScript code, a template engine, fetched from the server in an Ajax call…).

There will be components with no corresponding HTML (think an auto-refresh timer) and components that affect HTML in multiple places.

Send Ajax calls to a clean and powerful JSON API (I’m looking into JSON-LD), and offer that same API to external developers.

P.S.: Why don’t I use one of the existing JavaScript frameworks? Well, we’re building products which we install at various clients’ sites and which we’re going to support and extend for years. Betting on someone else’s framework for the next years can be risky (we’ve been burned by YUI 2 already). We’re happily using libraries like jQuery, but prefer building the framework ourselves.

Thu, 14 Mar 2013 20:24:42 +0000

Short links (2013-03-14)

Thu, 14 Mar 2013 14:04:23 +0000

John Bordeaux: People, Organization, Technology?

Dr. John Bordeaux – People, Organization, Technology?:

“The right question is: “Why do we work in organizations where natural interactions and instincts are discouraged?” […] We want to help where help is needed. We solve business problems over lunch. We sketch out innovative ideas on bar napkins. This is how we live – but not how most of us work.”

Wed, 13 Mar 2013 12:09:57 +0000

Short links (2013-03-13)

Wed, 13 Mar 2013 12:03:41 +0000

Short links (2013-03-12)

Tue, 12 Mar 2013 11:10:13 +0000

Short links (2013-03-11)

Mon, 11 Mar 2013 09:34:58 +0000


Koken is a free system designed for photographers, designers, and creative DIYs to publish independent websites of their work.

Exceptional media management: Koken manages your uploaded images and videos through a dedicated, desktop-like interface.

[…] Koken is free and may be installed on your own web server.”

Written in PHP. My test installation was up and running within minutes.

I think Digital Asset Management and Publishing belong together; their approach (combine a photo library with a simple CMS) is brilliant.

Tue, 05 Mar 2013 22:07:02 +0000

Henrik de Gyor: How do people talk about DAM within an organization?

Henrik de Gyor – How do people talk about DAM within an organization?:

“Break down the silos, egos and misconceptions. Stop throwing work over a real/virtual wall. Stop ignoring what happens before, during and after someone works on something. […] Leave your comfort zone and get a fresh look at what the other groups do to make things happen. Speak up.”

Mon, 04 Mar 2013 08:32:38 +0000

Reading list for younger programmers

Being what they call a “senior developer”, I should have invested some time helping younger colleagues learn. (I may have shied away from teaching them because they usually have real Computer Science degrees, while I’m just an Information Scientist-turned-programmer with lots of self-education and training on the job. But not all real-world wisdom seems to be taught in Comp Sci courses.)

The best advice I could give: Don’t take my advice, learn from the masters instead. There’s so much more to the craft of programming than just getting your code to run. No matter what language you will be programming in, read these three books: 

Eric Steven Raymond’s The Art of Unix Programming (free, online), The Pragmatic Programmer by Andrew Hunt and David Thomas, and Getting Real (free PDF) by 37signals.

Then make sure you know these phrases, you might need them from time to time: 

Now go and read Tim Bray, Dave Winer, Joel Spolsky, Jeff Atwood, Signal vs. Noise, Paul Graham, and Seth Godin.

Have fun and good luck!

Sat, 02 Mar 2013 21:43:20 +0000