2006-09-29

Google, software development culture and partnership

Steve Yegge writes entertainingly about how idea generation, the software development culture and project management works at Google. Google is a great company for idea generation, and I've no doubt that the culture described by Steve is a large part of that. But if your business depends on Google's launches to any extent, this can cause you trouble. We succumbed to an invitation to participate in a Google initiative which was originally scheduled to launch in Q4, 2005. A shakey first stage just launched this month. During that period there was almost nothing in the way of feedback. So that experience of Google's development process hacked me off, because I sold the Google partnership internally to my business and we invested, and then had to sit on our hands. And we'd think twice before doing the same again.

Not knowing what's going on with Google internally, nevertheless, the freedom given to engineers to switch projects seems to be enjoyed by Google management, too, with there being a pretty frequent switch between projects seemingly in focus. This is frustrating for partners, who often depend on dates in our own cycles.

So, maybe if you're part of the Google culture, it's great. If you have to work WITH the Google culture, but on the outside, not always so great. I still admire Google, but I don't trust them.

2006-09-25

Schrodinger's [dead] cat

I'd not seen this one before...




Cheer up, it IS Friday



Schrodinger gets pulled over by a traffic cop. The cop is suspicious, and asks Schrodinger to open the trunk of his car. He does so, and the astonished policement says "Do you know there is a dead cat in here?" Schrodinger replies: "He is now."

2006-09-22

Lateral thinking Word tip for place-cards and upside-down text

When you want to print a place card, you usually want to print on card, and fold over, but have the text the same way up from the viewer's perspective - unless you like puzzles over dinner of course. This tip is clever thinking:

Upside-Down Printing: "# Create a document using landscape orientation.
# Put a two-cell table in the document.
# In the left cell, place the text you want to be rightside-up.
# In the right cell, place the text you want to be upside-down.
# Rotate the text in the left cell by 90 degrees to the left.
# Rotate the text in the right cell by 90 degrees to the right."

2006-09-15

"A blog is like a lamp-post - it may have dog-pee at the bottom, but it still sheds light."

We were discussing in a group dominated by my editorial colleagues why it is that the idea of being able to comment on blogs is so attractive, given that the quality of many of the comments on blogs and community sites generally, particuarly famous ones, is often risible. One colleague, an expert on North America, came up with this gem:

"A good blog is like a lamp-post. It may have dog pee at the bottom, but it still sheds light."

We riffed on this for a while, my own contribution being that the higher quality the lamp-post, the more the dogs seem to queue up to pee.

So no comments on this one, please :->

2006-09-11

Digital queuing

An interesting corollary of some of the effects David Maister notes on queuing (thanks to T for the link) - which are brilliantly insightful - is that it is possible to make money out of queuing in situations where people find it annoying. High-volume download sites, such as video games and online video, now make a living out of providing a free service with an inbuilt queuing system. You are given your number in the queue, and told how long it may take before you make your way to the front of the queue. These numbers are updated as you go. During this queuing period, there are usually ads to endure, the chief of which is normally a subscription to the provider's queue-less system where you get instant (and higher-speed) access to the files you wish to download. These providers have many competitors, and information about the competitors is easy to access.

Whether these providers have a long term future, as bandwidth gets cheaper, I don't know, but I think the data from these providers would make an interesting subject for analysis. What is the optimal point in the waiting period to sell someone a higher place in the queue. How long does the queue have to be before people jump ship?

Of course impulse buying in queues has a long history - supermarkets, and now particularly the UK Post Office, which has a cunning strategy of using a maze queue to sell kid and youth-focused cheap tat, in a line that by its nature is going to be full of kids and young people with money (but I think they miss a trick by not selling to the old people in their queues!)

But I'm not sure how many queues have previously offered the chance to buy out of the queue, or a higher place in the queue, at the point of queuing.

2006-09-01

Snappy - but True?

I've not seen this joke before quoted by Tom Welsh

All together now, "What's the definition of a legacy system?" "One that works!"


But I think it's more this way: "One whose bugs are known, one everyone understands, and one it is expensive to change or fix."

Ring any bells?

Language Wars

OK, a lot of people are going to comment on this, Joel's take on the language wars.

Now, I've used all of the technologies involved in a business context. The fact that we use .NET as our primary technology now is because we evolved from an ASP/vbscript/ActiveX DLLs site using MSMQ as a primary publishing tool, and it's simply been easier to go this route rather than sit down and rewrite everything from scratch. Like one of those clapboard houses, I'm sure every line of code has been replaced at least twice in the last 6 years though!

New RAD projects we've done in PHP, and sometimes we do Java to integrate with other folks (even Domino which was a bit of a steep learning curve given that I had two days to deliver code). In a previous incarnation I built as my first major public, business-focused project a mod_perl based database interface of which I was immoderately proud but in retrospect (of course) it was terrible. I've been having a play with Ruby on Rails recently, and I actually find all the shortcuts a bit tedious, but I'll give it time. Perhaps actually buying or reading more about Ruby first would help :->

So I think I'm in a good position to add my 2p-worth.
  • Have I been able to achieve everything I wanted in those languages? Yes.
  • Have the languages themselves put obstacles in my way? No, because I knew enough about each to make sure we didn't pick languages which were unsuitable for the job in hand.
  • Are all languages equal? No.
For large-scale web-based projects such as the one that Guy was originally asked about, I agree absolutely that if you have an existing team you should pick a language where you will have a strong lead. Rent one in if necessary, it soon rubs off on the others. The second point is that it is a good idea to pick a language which enforces a certain amount of planning (read object-oriented thinking). From this perspective I think .NET and J2EE are the easiest options to take. Don't get me wrong, it's easy to write applications in both with little use of your own objects, or, worse, poor use of objects, but they at least (perhaps J2EE slightly more than .NET) encourage object-oriented thinking.

For a desktop application, things are a lot less clear. Perhaps Joel will write on that another time - I'm not sticking my neck out, I don't do enough of them (I use .NET when we do, "Because It's There.")

Self-assembly PDFs put the Ikea into the Business of Infomation

On the day that our new build a library service went into public beta, Guy Kawasaki happened to write

This starts a process that builds a custom PDF—pretty cool. However, in this case, the process gets in the way of disseminating information, but there are good uses for this capability. For example, when you want only one part of a long manual.

Our new library service allows our users to assemble a book by selecting from our analysis, providing some basic info, and then it all comes back to them "bound" in a nice PDF with a pretty cover page. It's ideal for folks to impress their bosses :-> And ideal for our marketing folks to target specific individuals with neatly wrapped content on something that interests them. They did this before, but it took them an age to prepare the content.

It's the first thing we launched for a year or so that generated big interest - I had 30 mails in my mailbox with suggestions, plaudits and even - shock horror - a bug report. And we only rolled it out to part of the client base on the beta site!

Anyway, it's nice to have your most recent project praised by a Major Guy, even if he wasn't doing it on purpose.