Voice to Internet

June 5, 2008

I just noticed Dial2Do. They offer a voice to SMS/Email/Twitter/you-name-it service. But like SpinVox before them they employ human operators.

Voice recognition & speech generation is one of those areas that just seems to lag behind our expectations. Now, I know there are lots of voice recognition systems out there that work surprisingly well once trained. But few of us speak to our computer at home, nor do they talk back. And I doubt we will for many years to come.

The reasons is; speech is hard, and so it should be, since it’s our only advantage over chimps and you don’t see many of them running fortune 500 companies. (I might be being naive here…)

Anyhoo I doubt I’ll use Dail2Do unless they add features like; organize dinner or clean my house.


Don’t annoy Michael Arrington

June 5, 2008

Michael Arrington recently posted a (bad) review of the new Flip Mino without even using it! And no-one said a word! In fact, he even got quoted. Now that’s web cred!

(Scott Hanselman has a video review.)

Are Microsoft over confident?

May 27, 2008

Just caught this little peice on tools by Ballmer. It captures Microsoft’s attitude to software; which is very much like Wallmart’s attitude to consumables. Cut out the costs, sell it cheap and use loss-leaders to push out the high end competition.

Problem is that as prices for services approach zero on the Internet, can cheap compete with free (as in beer)?

Microsoft Social Bookmarking… sigh

May 27, 2008

Mary J Foley notes that Microsoft are looking to get into social bookmarking. It’s really a bit too late to make a dent in the market and mind share of the incumbents like Yahoo owned del.icio.us. And if the tumbleweed rolling through the community content section at MSDN is anything to go by this latest venture could only go badly.

Microsoft seem to be like that uncool kid in school who never got it. And the harder they try to jump on the bandwagon the more they look like they never will.

Features that Suck!

May 21, 2008

Features come in many types: only one type really matters. The rest suck!

The one that matters is the User Requested Feature. Sadly its apparent that this type of feature never crosses the mind of many of the folks that build applications and web sites. And even more sadly these features tend to be complex so get dropped first when projects enter Phase 3.Designed by someone who likes tetris

The first type of feature that does not matter is the Developer Feature. These can range from outright bugs to messy APIs that can only be used if you know what going on behind the scenes. Diabolical UI Crimes also belong in this category. These confusion inducing features come from a lack of User Requested Features.

The second type of feature that does not matter is the generic spec feature. These usually come about due to BAs  guessing what users would like from their application. “Well we have a list of things… so… we’ll definitely need to sort by every column, …bound to be important”

Outlook is a perfect example, you can sort and group (slowly) all your email but what you really want to do is search, which you can’t do. Contrast that with GMail. Give people what they want not what you think they want. Lookout did just that and Microsoft bought them to hide their shame. Again this type of feature comes from a lack of User Requested Features.

When the owners wife adds a feature...The third type of feature that is not important is the old technical expert feature. These come in the form of ropey architectural decisions like “we’ll use technology blah” from technologists that are now above programming so just deal out great wisdom… yawn. If you can’t code it, don’t suggest it.

The fourth (be certainly not final) type of feature that doesn’t matter is the infinite configurability feature. Whenever a decision point comes; you go both ways and then let the user configure which behavior they ‘want’. Let me tell you a secret: users don’t care, and being asked just angers them. Take as many decisions as possible, use intelligent defaults and don’t make users think!

User Requested Features are almost the only type of feature your software should have. The problem is that they can be complex, tricky to implement and usually require some creativity to solve. But they’re so neglected there is always some low hanging fruit.

So… if you’re a developer, try asking your users for a small feature they would like and …just add it. If you work for BigCo you’ll start making powerful friends and if you work on the Internet you’ll drive more traffic!

And who knows you might just enjoy it…

(Short && Simple) == Sweet

May 20, 2008

There’s quote attributed to Blaise Pascal that goes:

“The present letter is a very long one, simply because I had no leisure to make it shorter.”

It’s an observation that brevity is more difficult to produce that verbosity.

However, modern programming ideologies encourage you to write your solutions in a verbose framework or with an X-first methodology (pick an X) or with restrictive rules to help you “be a better programmer”.

It\'s all very complex you see

There are plenty of (typically aggressive) ideology pundits that will rattle off the usual straw-man arguments about using their strict set of rules: the power of sameness, easier maintainance, easily understood code… etc. etc. You can usually spot these people because conversations with them feel like you’re playing an old skool text-based adventure game …and you’re probably stuck in a loop.

The truth is that only Deliberate Practice will make you a better programmer. Only loose coupling and simple architecture will make a system maintainable. And the ONLY way to make good software is to build it for the people that will use it, with their feedback.

Having 7 classes where you could have had 2 is gold-plating. Building everything to an interface is gold-plating. Having more than 1 factory is gold-plating.

So the next time your tempted to build a system of abstractions think of the words of Seneca:

“Love of bustle is not industry”

Aside: In Pascal’s day letters cam in iterations because there were word processors, perhaps a good thing we’ve lost…

Markets are not Efficient

May 18, 2008

The Freakenomics blog over at the NY Times website recently did a piece on Chrysler offering $2.99 petrol for 3 years with a new Chrysler. Steven Levitt thinks this is a great idea because peak oil is just hot air.

The general gist of his piece is that no matter what happens, a free market economy can smoothly and cleanly handle it, and transition to a new stable mode of operation without resources that were previously plentiful… Pretty hopeful eh?

He praises Chrysler for having a brilliant idea; insulating consumers (for a short period at least) from the very price pressure that is the lifeblood of an efficient market. But there is a larger problem…

The truth is that markets can only find local minimums. Market forces do not create global improvements in efficiency because these require a move toward more expense in the short term. This is why government’s build roads (expensive, low return) and business’ build houses to line them (cheap, high return).

A good example of market induced inefficiency is in the area of car engines: turbine engines which can be used to propel cars have operational efficiencies of 40% where as internal combustion engines have a maximum theoretical efficiency of 38% and a typically operate at about 20%.

With a large proportion of consumer spending being on Veblen Goods anyway, price sensitivity only effects the very poorest, for the raw essentials of survival. While the rest of us consume as many expensive products are we can afford.

Another way that markets are not globally helpful is that not one pound from the FTSE-100 is spent on the common good unless it’s tax deductible or not really that common at all. And without this kind of spending all you get is cash-flow maximization for existing lines of mass-market business.

There are a few disruptors, but with the size of the modern global economy it requires so much money, time and risk to change our consumption of a major resource like oil that few have the will and the means to try. That doesn’t mean that we wont run out, just that we wont wean ourselves off until we have run out. And there won’t be a smooth transition…