Podcasts I like

I've had the chance to listen to a few of my favourite podcasts over the last week or so.

There seems to have been a recent outbreak of interviews with interesting people (if you're a programmer that is...).

Check out:

And when I feel like listening to nerdy stuff, rather than geeky stuff...

 

Lifelogging? Think TimeSnapper.com!

Lately I've seen all sorts of fascinating stuff about Lifelogging, lifestreaming, Lifebrowsing, the MyLifeBits project, clickstreams...

Basically, people are investigating ways of recording, storing, and searching everything they do. People are talking about all sorts of super clever gadgets, recorders, storage media, javascript hacks, mashups and more, to piece together their messy little Lifeloggers... One word people, TIMESNAPPER!

If 50% of your waking life is spent on a microsoft PC -- then you'll get 50% perfect lifestreaming with this one tool!.

And of course, we're thinking about features to take this further ;-)

 

A Girl

UX,

Yeh, you heard me.

Lily Jade Bambrick was born this morning, 1st February 2007, at 8:11.

She's light, just 2750 grams (6 pounds, 1 ounce), but of average length (50cm).

I have notified the officials from the guiness book of world records that this is probably the most beautiful baby ever born anywhere.

New mum, Le Shaz is doing brilliantly, and was last seen rock climbing at Kangaroo Point cliffs, while juggling six flaming chainsaws.

No photos just yet, but i will do the gushy-new-father thing and post up some pics in time.

Now back to work all you suckers who aren't on holiday ;-)

 

Step 1 of 25 to Building a Micro-ISV: Register a Domain

It's time to kick off the details of the 25 steps to building a micro-isv.

Due to the forthcoming birth of a child, these articles are going to be briefer than I originally intended. But hopefully they will be useful.

I know that my experience is limited, and I hope to gain useful feedback from you on every one of these points.

A lot of ideas will be expressed only in point form for now, as I don't have time to write them out in full, yet I don't want to leave them out entirely.

Now, on with it...

Registering a Domain

This is a milestone all by itself. I'd guess that ninety percent of good product ideas never get this far.

Here's my basic tips:

  • until you've secured a domain name, don't commit to a product name
  • don't expect to secure the perfect name
  • register the product name, not the company name (that can come much later)

until you've secured a domain name, don't commit to a product name

At some point in the distant past, perhaps one thousand years ago, there was the time of the cyber squatters. I don't know who these mythical people were, but I know that they are generally blamed for the following sad fact:

Twenty Four out of Every Twenty Five domain names you can think of have already been taken.

All sorts of dumb names have been taken, probably including that hot little product name you had your eyes on all this time. If you're an idiot you can waste your energy chasing that domain name; sending emails to the people who've taken in, you can try to talk them into selling it to you, you can send lawyers after it, you can really get nasty about the whole thing. Or worse still, you can stick with your product name, but choose a different domain name.

But if you're sensible, you'll start making a big lst of ugly useless names. Use a thesaurus. Name-storming is fun. Turn off the inner-critic.

  1. Make a big list of names. Twenty five or more is good.
  2. Sort them from most desired to least desired.
  3. For each name:
    1. Google it:
      1. Already used in prior-art? Discard it.
      2. Turns up as a swear word in spanish? Discard it.
      3. Anything else funny turns up on the web? Discard it.
    2. Perform a 'WhoIs' search. (use the "internic", "whois.net", "godaddy", whoever you want). The name is taken? Discard it.
    3. If it's available then buy it.
    4. Stop there. Throw away the rest of the list.

Now, you've got to fall in love with the name you ended up with. You've got no choice. You're stuck with it now, so you'd better treat it with respect.

And you're done. Easy wasn't it.

What? You're still there? You think I've got more strongly-felt opinions on this topic? You bet I do.

Buying is a minefield...

I use goDaddy for purchasing websites, because they're very very cheap. And I like an essay written by Bob Parsons, the go daddy himself. However.

These guys are masters at up selling. As you make your way to the checkout, they try to push dozens of other products into your shopping cart. All of which are totally overpriced crap. So make sure you buy only what you want -- a domain name for a year (maybe two) just for the domain you're after. Nothing else.

You can get a 10% discount (or more) if you find a discount voucher for Go Daddy. Google for 'godaddy voucher'. Didn't work for me, but ymmv.

Dot Com is All That Matters

Go for ".com". Don't mess around with ".net", ".biz" or any others. And don't waste your time on ones that relate to your country of origin, e.g. ".com.au", ".co.uk" unless your product will only ever be sold in that country. These cost more, involve more hoops, and are less memorable. The Coca-colonisation of the world is a big force, and I'm not going to try and slow it ;-)

Accept that there are no perfect product names.

Names can be cute, glib, memorable, descriptive, inspiring -- all kinds of things, but they can't be all of these things at once. It's very easy to over-constrain the name you want. The less rules you impose on the name, the better chance you have of coming up with a useable name.

Impose too many rules on the name results in an impossible equation. For example, say you have these two rules:

x + 1 = 2
x - 1 = 2
What is x?

In this case, x is unsolvable: there's simple no value for x that will satisfy both constraints. The only thing to do is to have less constraints. The same applies with choosing a name. You need less constraints: so few constraints that you'll be able to find the required twenty-five possible values, before you go searching the internet for availability.

Actually, Product Names Hardly Matter At All

Take Ebay, Google and Amazon as examples. These are well recognised brand names, that evoke the right reaction from millions of customers. But that recognition has been hard won by the companies and the products -- not by the choice of name. There's nothing great about any of these names. They tell you nothing about what the product does, nor what differentiates them from their competitors. But they're undeniably successful names.

Don't Be Too Specific

Okay -- even though 'Product Names Hardly Matter At All' there are still some terrible names out there, and perhaps even a few good ones.

Obviously, avoid offensive names. I went to uni with a guy who gave his engineering-thesis the acronym "S.H.I.T.S." I sh*t you not. This meant that everyone who reviewed his work had a negative perception before they'd even read the precis. Avoid causing offense, even mild offense.

Personally, I think it's bad to have an overly 'specific' name. An example of a specific name is a local company I know of who call themselves "Just Stumps". The idea is that they are focused on stump grinding. I've seen there name in a local newspaper and it's always bugged me. I rang them up one day and asked them, "Hey, i've got a tree that needs to be cut down. Do you do that?" Guess what! They do! "Oh, and I've got a concrete slab that needs to be removed, can you help with that?" Of course they can. Similarly "Just Jeans" don't just sell Jeans. "Roses Only" don't just sell roses, and in fact, every 'specific' name is a just a big lie. So don't turn yourself into a liar: avoid 'specific' names.

Did you run out of names before you found a good one?

An old trick is to mis-spell a word, creating a clever juxtaposition of two ideas. 'Beatles' for example. The advantage to this trick is that it creates new words (thus no prior art), that are short and will (eventually) be memorable.

On the topic of names... Got any suggestions for a baby name?

My good wife and I are open to possible names for our baby who we're expecting any day now. Unknown gender, so the field is wide open at this stage. We do have some names in mind already, but for a great suggestion -- who knows!

 

TimeSnapper 2.2 -- Auto Popup? That sounds terrible!

TimeSnapper version 2.2 was quietly released a few days ago. Atli poured his heart and soul into providing a few features that were requested by a number of people. I'd like to give a walk through of the new features, to see if they interest you, or if you've any feedback.

active-inactive

First up, it's now easier to see if TimeSnapper is currently recording, with a quick glance at the system tray. If TimeSnapepr is inactive (i.e, not recording) you'll see a big red cross through the tray icon.

More controversial, there's a new 'Auto Popup' feature. We have this turned off by default, because it's one of those "love it or hate it" features. Please read on though, because you'll need to decide for yourself if you love this feature, and then turn it on (in the options dialog) if you do.

With 'Auto Popup' you can have TimeSnapper prompt you to create a new Note (or task, or flag) on a regular interval, say every half hour. This way you can be certain that there are no blank periods in your time.

Auto Popup Config

Okay -- before you say how annoying this idea is -- take note of one special detail, a 'unit of delight' that Atli has put in there, to stop this feature from breaking your concentration:

Auto Popup Config

TimeSnapper doesn't just show the popup right when you're in the middle of typing a sentence. It waits for a small pause of inactivity. In this example, it will wait 2 hours in between bugging you. And then it will only bug you when you've been inactive for three minutes. You could equally make it ten seconds.

I like this touch, as it stops the app from the kind of 'focus stealing' you get from other popup notification systems. Anyway -- enough on that feature. Download it and try it out, if you haven't already.

One last improvement: there is a (little known) 'global shortcut key' to bring up TimeSnapper -- "[Windows Key] plus [S]". Turns out, of course, that this clashes with other software. So this is now configurable, via the options screen.

Okay -- that's all for TimeSnapper 2.2 (aside from a number of bug fixes and optimisations). Once again we broke our rule of 'one new feature per release.' -- though it was Atli who wrote all the features this time around. Feedback much appreciated as always.

The next version (2.3) could be a little delayed, as we focus on supporting, and the impending new arrivals in our personal lives ;-).

Thanks for all the positive comments and feedback over the last few days since Hanselminutes. It's been a really fun time. Cheers.

 

25 steps for building a Micro-ISV

As promised, here's my 25 steps for building a Micro-ISV which are hard learned steps based on our experience getting TimeSnapper to where it is today. Each of these steps is both harder than it looks, and easier than you'd think.

It's hard because there are pitfalls, procrastination, misconceptions, anxiety, conflicting opinions and confusion at every step. It's easy because, hey, you're a smart guy or gal, so you can do this stuff in your sleep.

I'm planning to write a blog entry on each of these, and yes if things go very well, it may be a book someday ;-)

The big news is that Scott Hanselman interviewed me, about this list, for this week's episode of hanselminutes, out now! (Hanselminutes, for those who live under sedimentary deposits, is a weekly audio talk show with noted web developer and technologist Scott Hanselman.)

If you want to get some early tips on all of these topics, please listen to the show! It was a real blast doing the show -- far more excitement than this little geek is used to. Scott and Carl were very helpful with all the technical aspects, and Scott was just as sharp and witty as you'd hope.

(He sure was enthusiastic about TimeSnapper too, which really means a lot to us)

Now, on to the list!

  1. Register Domain
  2. Reliable hosting
  3. Website design
  4. Basic Website content
  5. Install traffic monitoring on your site
  6. Create forums, encourage feedback
  7. Maintain a FAQ
  8. Get the best screenshots you can
  9. Configure email for domain
  10. Get payment account
  11. Allow payment from your website
  12. Create a PAD file -- portable application description
  13. Register at download sites
  14. Strategy: separate "free" from "professional" products
  15. Get a suitable end user license agreement (EULA) -- infact get two!
  16. Auto update strategy
  17. License activation webservice/website
  18. Get a license management database
  19. Build a proper installer
  20. Obfuscate your assemblies
  21. Automate your build+release strategy
  22. Free up enough time/resources for dealing with support/feedback
  23. Shiny, Usable, Helpful
  24. Plan and enact your promotional strategy
  25. Do it all again

As each article comes out, i'll update this list to point to the relevant article.

 

Five More Things You Didn't Need To Know

phil haack, adam cogan and geoff appleby linked to me in regards to a meme called 'five things you didn't know about me'. and apparently for every person that doesn't continue the meme a cat gets shot. so here goes.

  1. The baby thing
  2. my excellent wife shaz and i have a baby due in four short weeks. This will be our first. my brother john and his wife allison had their first baby two weeks ago! and my sister jody and her hubby andrew had their first baby eight weeks ago. it's baby hour in the bambrick family.

  3. I has written four novels
  4. none of them published. if i could, i'd be a full time novelist.

  5. My first 'puter was an Amstra CPC 6128
  6. hence my first programming experience was with amstrad basic. mostly looking over my brother's shoulder.

  7. Here is a link to the first website i ever wroted
  8. welcome to the internet. includes the complete guide to the guitar for the beginner to intermediate to advanced player.

  9. i once tried to start a meme called "n minus 1 things you didn't know about me."
  10. If you were tagged by someone who had written "n" things (5 for example), then you'd write "n minus 1" things (4 in this example), and then you'd tag "n minus 1" people.

    For some reason it died out.

first i'm linking to everyone i know who's name matches this pattern "j%ooney". That would be:

next i'm linking to F# inventor don syme

Everyone on the internet has now been tagged by this meme. If you haven't yet been tagged, i have two tags left to give away ;-)

 

How to Sneak .net 2.0 into an organization

Yesterday, A client jokingly accused me of trying to sneak .net 2.0 into their organization. And although it wasn't deliberate, i realised that I was sneaking .Net 2.0 in. Here's a quick primer to help you do the same.

First, Talk the Talk

The first step is to extol the virtues of .net 2.0 frequently. This isn't hard to do, as .net 2.0 has many virtues.

After last year's tech-ed, one of my colleagues started slipping .net 2 references into just about every conversation.

Example: Extolling the virtues of .Net 2 at a restaurant

Interior. Noisy restaurant.

Person 1
This meal is taking a while to arrive.

Person 2
With .net 2.0, a performant UI is a snap,
thanks to the über useful background worker.

Person 1
[Taking cheque book out of jacket pocket]
Can I engage your company for consulting services?

Okay, that went well, but sometimes it doesn't go so smoothly.

The trick is to enumerate virtues that are suited to your audience. Even the most technical CIO is unlikely to have the time to care about generics, for example.

So try something like this:

Extolling the virtues of .Net 2 to a CIO

CIO
I wonder what the benefits of .Net 2.0 are?

Person 2
[shouting, waving arms, kicking legs and perhaps
using a megaphone hired especially for the purpose]

IT SAVES YOU TIME AND IT SAVES YOU MONEY!!

CIO's tend to understand that line of thinking, as it's something they can pass on to their buddies, the CFO and the CEO.

Oh and Yeh, Walk that Walk

But for really sneaking .net 2.0 into the company you need to start with action, not words.

Side by Side is Your Sneaky Friend

It's pretty safe to install .net 2.0 on a box that already has 1.x. So go ahead and install it on a machine. And install it on a few others when people aren't looking.

When people realise that the presence of .net 2.0 isn't going to kill their currently working .net 1.x app, their barriers to resistance will begin to weaken.

Notice that you don't have to begin by writing any new or special apps in .Net 2.0. The first thing is to get the framework in place. Maybe use it for running a powershell script or two. Or maybe install some other new software that requires .net 2.0.

If your client has any MSDE databases then you're set. There are lots of good reasons for upgrading to SQL Express 2005. For example: no more query governor!! And the excellent side effect is that it requires .Net 2.0.

The Domino Theory of Framework Adoption

Once you've moved .Net 2.0 onto the servers, the desktop will be the next to fall.

And even if they don't, the servers are possibly enough. With .Net 2.0 on the servers, you're ready to give your client an asp.net 2.0 intranet application, or ten.

Best of luck, buddy. And don't sue me if it screws up. ;-)

 

What percent of normal people have the .net framework installed?

It's very hard to get a straight answer on this. And if you mine the stats of a Microsoft related website like this one, you'll get a very skewed answer.

Well a friend gave me some stats about his website, which is a non-technical site, dealing with the 'talent' industry. I think these stats will be closer to 'normal' people than stats I've seen previously ;-)

.NET CLR 1.0.37054.44%(2083 people)
.NET CLR 1.1.14320.01%(6 people)
.NET CLR 1.1.432241.70%(19586 people)
.NET CLR 2.0.406070.01%(5 people)
.NET CLR 2.0.502150.00%(2 people)
.NET CLR 2.0.5072711.02%(5175 people)
.NET CLR 3.0.043200.04%(20 people)
.NET CLR 3.0.04324.170.01%(3 people)
.NET CLR 3.0.045060.00%(1 people)
.NET CLR 3.0.04506.300.01%(6 people)
WinFX RunTime 3.0.507270.03%(13 people)
Total 46,967 people

The Micro-ISV articles will begin soon -- near the end of next week hopefully. Lots of material put together already, just some deals to sign off first ;-)

The hard bit is working out what to leave out. But hey, that's what good design is all about.