Colonel Mustard in the library with the lead piping: knowing when to stop
While doing my Masters, we were given a project that was to be done in pairs. The aim was to use artificial intelligence (of sorts) to code a computer to act as a player in the game of Cluedo. The language of choice: Prolog. (I say choice in the loosest sense. It was foisted upon us.)
Myself and my good friend Jorge paired up and took the task very seriously. I learnt a huge amount about the strategy of Cluedo—it turned out that as a youngster, I had not used a jot of inference in playing the game, merely capturing in isolation each piece of information that had been given to me. (As a youngster, I was shit at Cluedo.) But once unleashed with this new-found knowledge, we came up with some kick-ass rules, one of which I was particularly proud of but which I couldn’t for the life in me remember some 15 years later.
We coded rule after rule, with multiple layers of logic deciphering any information provided to enhance the knowledge that had been gleaned to date; and yet more intricate logic determining which questions to ask, and who to ask them of.
But our program was shit. We came last as far as I remember. And here’s why.
The information aggregator worked like a dream. But each time it was our turn to ask a fellow player (which was itself a competitor team’s computer) a question, we always selected the same player to ask, and we always asked the same questions.
The reason: it was my fault. I’d come up with the beautiful, competitor-killing logic a couple of hours before the hard deadline, as I remember. We had a brief discussion over whether we had time to code it up. And we decided we would. The discussion probably went something like this:
Jorge: shall we implement it?
Dan: hell, yeah!
So we coded like the wind. And we got the code unit tested. And it kicked proverbial ass. And then, with moments to spare, we did some integration testing. And it borked the whole “asking” logic.
Now if we had any sense at all, we would have grabbed the floppy disk (oh yeah, baby!) containing the version of the program that we’d saved immediately before the killer module had been incorporated, handed it to the professor, and done pretty well in the competition. But in our haste (or speed, as the proverb oddly goes), we didn’t keep any such version. Instead, we had no option but to submit our borked version of the program and watch the result.
It was like watching the words of a particularly annoying parrot flash up on the screen, a parrot that had just been briefed on the basics of Waddingtons’ flagship product. Hell it was funny. (Jorge always helped make light of moments like that.) But at the same time it was so annoying: being so close to wiping the floor with our classmates (for that is what we would have done, natch), yet at the same time, being so far from that goal.
The big lesson I learnt from that experience was that deadlines are there for the client’s purposes, not your own. Define an end time or date for development, either in your head or on a plan, and stick to it. (Development here might mean coding, document production, analytics, basically any client deliverable.) And make sure that this milestone is sufficiently ahead of the formal deadline to allow for all of the necessary post-development activities—be they testing, document review or simply document formatting.
Your boss will often try to push the milestone to the right. In that event, push back strongly. And if this is futile, warn them strongly of the potential ramifications. For in this event 15 years ago, our (my) willingness to take on new requirements at such a time that didn’t allow for them to be fully tested compromised the entire project deliverable. Don’t let that happen to you.
(Sorry, Jorge.)
If you like it and are able, pay for it
I wrote a post recently about the likely demise of certain media. It focused on the proposition that while much media has traditionally been cross-subsidised by other, more lucrative revenue streams, the increasing transparency of non-profitable lines of business means that some of these media will close down.
Media owners are struggling. Bobby Johnson has just announced that he has taken the Guardian up on its offer of voluntary redundancy, and will be leaving at the end of March. The New York Times announced Wednesday that from next year, it will start charging for full access to its website. And whenever I pop along to Wikipedia, I’m faced with a plea from Jimmy Wales for contributions towards the Wikipedia Foundation. (As an aside, that’s no name for an internet entrepreneur. David Filo, Jerry Yang, Sergey Brin: yes. Jimmy Wales: noooo.)
It’s time we started to show our appreciation for what we like about the internet, from apps to content (in its broadest sense), and pay for or make donations towards these things. I like Wikipedia, so I’ll contribute. I like Freshbooks, so I’ve upgraded to the first tier of paid service, partly out of necessity, partly out of respect. Flickr: ditto. (And I happily pay my “TV” licence every year which helps fuel my love of the BBC News website.)
The one I’m struggling with is Google. I pay for Google advertising through AdWords. But I don’t pay for its core apps. offering, which I use heavily. The issue lies in the fact that the charging model is per domain rather than per email account. So the three or four temporary, administrative or lesser-profile accounts that I’ve set up all attract a charge. I’d love to be able to upgrade my own account (and I’d happily pay for this privilege) without having to do so for the wider set of accounts.
So in summary. If you like it, pay for it. Otherwise, you may lose it.
Haiti: the need for a trusted charity donations app.
I need not echo the words that so many have already voiced with regard to the sympathy and the need to help Haiti. Perhaps no one has voiced them more clearly than Jay Smooth here.
Soon after the devastating earthquake, there were requests for help, particularly for donations. 90999 was widely publicised on Twitter as a number to text, costing $10 plus the cost of the text. And more recently, 70077 has been publicised similarly, allegedly aligned to the Disasters Emergency Committee, texts costing £5. (I have not previously heard of this committee.)
I would like to donate. But I have no way of understanding the authenticity of the organisations behind these text numbers. And so I’m nervous about donating through them, both because they may screw me for way more money than I thought, and because I have no way of knowing whether the money will indeed go towards the disaster to which I think I’m donating.
Yet my phone is such a well-suited device from which to contribute. It is convenient and it already has a direct debit (to O2, or to Apple) to support any contributions made.
There is a desperate need for an iPhone application released by a trusted body (possibly a charity, possibly the government, possibly Apple, even) within which users can donate to charities that subscribe, charities that are vetted by the trusted body with an independently-written description.
The application would be simple. Click, choose or search for your charity of choice and enter a donation amount. When prompted, enter your iTunes password (if this is indeed the authentication method of choice) after which you’re presented with a confirmation screen. Close the application and then go about your business.
I would happily pay an extra £1 on top of every donation I make to fund the trusted body in its management of the charities on the application. And I’m sure charities would happily pay a subscription to feature in the app.
Does it have legs?
Skype: a review
I took a while to adopt Skype. But now that I have the business need to use it, I love it, partly because of the business need, but mostly because the product has evolved.
I wasn’t happy when Skype tied me to my PC. That’s not how people make/take or want to make/take calls. They want to make calls with the freedom with which mobile technology has provided them. And even if I’m sitting on my sofa talking to someone, I don’t want the hassle of an accompanying laptop or the inability to move around if I so choose.
I dabbled with Skype when we lived in the US, but audio only, and the above constraints meant that it was a less-than-pleasing experience.
But now: I love Skype. I use it for both personal and work purposes, and I would be annoyed if it was taken from me. I started using it again when I downloaded the Skype iPhone app. It only works over wireless, and I started using it to call the US of an evening—during the US working day—while within the range of my home wireless network. It allows me to call people directly from my iPhone contact list, and although not integrated into the phone functionality of the iPhone, it works just as well from the app.
I was recently sent an email confirming my Skype to Go number. This is an outer-London number (based on the STD code) that I can dial from my mobile phone (now in my contacts), after which it invites me to enter the number I want to dial, complete with country code (“followed by the pound, or hash key”). This new-found freedom means I can dial whoever I want from wherever I want (normal mobile reception allowing) for Skype rates.
To use this carefree, I use their auto-top-up feature which, similar to Oyster, tops my account up with a fixed amount whenever it falls below £5 of credit, emailing me a receipt in the process. Beautiful. Earlier today, I called a hotel in Luxembourg without even thinking about how much the call was costing me. (I just looked it up: 1.2p per minute plus the cost of my London call (which was included in my “free” mobile minutes anyway.))
The only pain with the Skype to Go approach is that I have to write down or remember the number I want to call before calling Skype to Go. But even this obstacle can be overcome through the ability to add speed-dial numbers to my Skype to Go number.
And finally, here’s the icing on the cake. I tried calling my Skype to Go number from a landline today, to see whether it instead routed the call to my mobile. It doesn’t. But it did ask me to authenticate myself, after which I was able to make whatever calls I wanted. From the landline. Using my Skype credit.
All in all, I’m a convert. I love it.
I’d like it if their next step was to enable cheap calls from your mobile to international numbers when abroad. And there should be a way, in my opinion, of using my Wii’s internet connection to use Skype. Now that would be fun. Just sit on the sofa and you can talk to whomever you choose, and their voice comes out of the TV. FTW.
Sharing needs de-duplication and context
There are a number of media out there at the moment that invite you to give some form of acceptance of a piece of content. Google Reader allows you to star, like, share or email a post, or indeed send it to Facebook or Twitter. And Twitter allows you to retweet stuff. Add to this people’s ability to feed certain things (such as their Google Reader shared items) to other media (e.g. Twitter) and it adds up to quite a bit of confusion, and often lots of duplication.
I have a friend, for example, who is a “friend” on Google, who I follow on Twitter and who subscribes to some of the same websites as I do on Google Reader. In some instances, I’ll be directed to a single post three times: on his Twitter feed, in my “People you follow” area of Google Reader, and through my own subscription to that site on Google Reader. Other friends push their Twitter feed to Facebook and even have a weekly Twitter wrap-up, again resulting in the same content being “appreciated” three times. Not good.
It would be useful if there was some way of suppressing content that I’ve already seen through another medium, but I suspect given the tactical ways in which this functionality has evolved, and the competition between the various medium owners, this is unlikely.
Also, Google Reader kindly tells me how many other people like the post, almost trying to give it some level of acceptance with which to cloud my own judgment. I happen to like this, but the number in isolation is somewhat meaningless. Twenty people liking one of my posts would be an unequivocal success (hell, one would be nice!); while twenty people liking an xkcd post would indicate low levels of appeal. It would be much better to give this a more contextual score based on the number of subscribers. Or better still, based on the number of subscribers that have thus far accessed it. So if I have ten subscribers and get three “likes”, then this would be given the same score as 11,893 of xkcd’s 35,678 subscribers liking one of its posts. And the post’s popularity score might be further weighted by the pull of my various followers. So Seth Godin liking one of my posts would carry more weight than my liking one of his.
Just a thought.
Twitter: what to do with a follower
I’m after a piece of logic to work out what to do with “people” who follow me on Twitter. There are three possible actions (or inactions) I should take for a follower:
- Ignore
- Block
- Follow back
Ignore is the action associated with accounts that are harmless but whose content is unlikely to be sufficiently pertinent to inspire me. Block is for harmful accounts or those with few morals. And follow back is saved for those accounts whose contents is genuinely interesting to me.
Now there are three pieces of information pertaining to the follower that should be sufficient to determine an appropriate course of action:
- Number of followers
- Number of people they are following
- Number of tweets
Those three pieces of data should be sufficient to work out whether to ignore or block them. If the algorithm determines that neither action is appropriate, then I the decision whether to follow them back should be driven by me, as I’d be uncomfortable this being automated.
I’d be happy for Twitter to learn from my behaviour to figure out the most appropriate tuning of the algorithm for my tastes. In the meantime, any suggestions for formulae for ignoring and blocking?
Ministers: stop tiffing about!
Once in a proverbial blue moon, I receive an email containing a communication from a government minister. They’re not sent to me directly. Instead they’re forwarded a number of times until eventually they end up in my inbox. Today’s example was from an MP to another MP.
The letter is always attached to the email as a tif file. And the tif is a multi-page file (scanned at a jaunty angle) containing a scanned letter. It’s often on letterhead with the MP’s details and is always typed with a hand-written signature and, depending on the MP, sometimes a handwritten salutation up top.
I’m always amused by the process that I assume must go on in advance of the file arriving in my inbox.
- Minister dictates letter into Dictaphone
- Secretary types up the letter
- Secretary prints the letter and gives to minister for amendments
- Minister makes handwritten amendments to letter and hands back to secretary
- Secretary makes amendments on the electronic copy
- Secretary prints the letter and gives to minister for amendments
- Repeat steps 4, 5 and 6 as necessary
- Minister tops and tails the letter and hands back to secretary
- Secretary scans letter at a jaunty angle and saves the file as a tif
- Secretary emails tif to the intended recipients.
Genius. Utter genius.
Don’t jump to the Cloud until you’re pushed
The Cloud is a wonderful concept. The marketing blurb will read something like this:
You can put whatever applications you want in the Cloud at the touch of a button. The underlying hardware will be invisible to you, and you can manage your applications at a virtual level, moving storage around as you see fit, moving your virtual machines around as you see fit.
If you predict a seasonal peak in activity, the Cloud can immediately divert CPU resource to your application to make sure that it can cope. And if you no longer have a need for your application, it can be turned off at the touch of a button.
The reality is somewhat different. Mainly because rarely do organisations use vanilla applications. And the vast majority of applications that the marketing spiel appeals for are already built, having built on a physical architecture upon which it is reliant.
A while ago, I project managed the migration of one such application from its old home to a new home. The data centre it was in was going to close come what may, and the legacy kit was near end of life. So the decision was made to re-build the hardware from the ground up, using some lovely blade technology. We upgraded the odd COTS application along the way to bring it up to speed. And there was a little virtualisation in there to boot, I believe. (I’m not a techie. But I had a good bunch of techies around me who knew the detail.)
The migration was painful. It was hard. It took longer than originally planned (although perhaps not longer than some people originally expected) and there were some bugs that were difficult to resolve, rooted deep in the modules within COTS applications—not necessarily bugs in the applications themselves, but issues in our own application that were symptomatic of the way in which the supporting COTS application had evolved.
If we had been going to a fully virtualised environment, I believe I’m right in thinking that things would have been no easier. Many of the same issues would have arisen, along with issues specific to moving to a fully virtualised set of environments.
Because of the headache and cost involved in re-platforming applications, there needs to be an impetus other than Cloud itself to move to a Cloud model. This external factor may be the forced closure of a data centre, the need to re-platform owing to operating systems or COTS lapsing out of support or the unacceptable aging of the supporting hardware. Or it may be the introduction of a brand new application—if a Cloud environment already exists, build it there.
Without the external impetus, the extraordinary cost and hassle that results from a migration cannot be justified. Yes, the ongoing hosting costs may be cheaper, as you pay for what you use and no more. And yes, your application may be more flexible in its new world. But in most instances these benefits would be outweighed many times over by the cost of migration. And don’t let people kid you otherwise.
Cloudy, with not a cloud in the sky
I love the clouds. Over the last five years, more and more of my stuff has ended up in them, and touch wood, I’ve loved every minute. (For the avoidance of doubt, every minute here means every minute with the exception of the many minutes of Google Apps/Mail outages we’ve had over the last few months. Although even those were somewhat enjoyable, watching as the Twitterati speculated as to the cause of the outage and bemoaned their lack of email.)
For those not in the know, the cloud means somewhere other than my laptop. Generally, a big building (called a data centre) in a location unbeknown (and indeed unbecared) to me full of machines (servers) on which my stuff (stuff) resides.
To allow others to understand the objects of my affection, and maybe even get a piece of the action, I thought I’d share the cloud technologies I use. In no specific order, they are:
- Google Apps: my email, calendar and some experimental documents are all stored online by Google. Cost: free, although I’m occasionally tempted to upgrade to the $50 per user per year model. I’m always discouraged though, because the per user costing model includes my admin@, info@ accounts and people whose accounts I create temporarily on my domain for a wealth of reasons.
- Google AdWords: my company’s advertising is managed by Google, and all of the advertising collateral, together with the associated tracking statistics, sits online, again hosted by Google. Beyond the cost of advertising, there’s no specific fee for the associated hosting.
- WordPress: my blog and website reside in a cloud, albeit a little one, in Jersey (Channel Islands), hosted by my mate Rob. Cost: free, for the moment.
- Flickr: all of my photos are stored by Yahoo! in their Flickr application. Not the most inspiring application, but it stores the photos themselves along with useful metadata (privacy, tags, geo-tags, groupings etc.) Cost: $25 per year.
- Huddle: my business documents all now reside on Huddle, allowing me to share them others with full version control and supporting workflow allowing me to assign tasks to others. I’m quite new to this one, but so far, I’ve found it quite neat. Cost: free for my current package
- Zoho CRM: I use this to track business leads and the various communications I have had with them. Cost: free for my current package
- FreshBooks: I use this for all of my invoicing. A delightful little application allowing fully branded invoicing supported by an email notification engine and tracking of payments
Beyond the above, there are other trivial examples of cloud-living, such as my online banking, as well as Google Reader, Twitter and Facebook. Thinking about it, these examples are only trivial, I think, because there was never a local computing equivalent.
All of the above means that I can use and access much of my stuff from anywhere. I fully encourage you to do the same. It’s a wonderful world, and you should embrace its wonderfully warm fluffiness with open arms.
Is Search good enough?
My view is that in Yahoo!’s days, search was not good enough. Content was not sufficiently wide-reaching to fuel enough appropriate results for many queries; and where it was, algorithms were not sufficiently mature to deal with them appropriately, users being forced to re-phrase their queries or venture beyond Page 1 of the results.
But now, Google is here. And Google is good at search. Very good. Unless I’m doing an academic task (like trying to find out how many .gov.uk pages there are out there), a single search is enough to find what I’m looking for. And when searching for textual content, I rarely, if ever, go beyond the page fold, let alone beyond Page 1.
So now Bing is here. And I’ve heard it’s quite lovely. And apparently it’s quite good at finding stuff, better, some say, than Google.
But, as Karl Pilkington might’ve said, do we need it? Is Google sufficiently good at giving people what they need to make Bing’s plight futile? I don’t know the answer to this question—I guess it can be proven in the stats. What proportion of people are looking for a single thing when they search? What proportion refine their searches? And what proportion of people venture beyond the first three results? If the answers are lots, not many and not many, then there’s little added value to be brought from a Google competitor in textual search.
In actual fact, Google will have cracked textual search when it can confidently perform an “I’m Feeling Lucky” search when you hit Return. Are we there yet?
Alt tags should be funny
There was a picture of Earth on my client’s intranet site the other day. It was quite clearly not a photo, as it was surrounded by a circle of light to make it stand out all the more from the black background of space.
It bore the Alt tag “Earth, as seen from space”, which displayed on hover, consigned as I was to using the travesty that is IE. The clear mistruth represented by the tag got me thinking about a theme I’ve pondered numerous times before: alt tags should be funny.
Blind people have life hard enough. An entire sense is missing and with all of the accessibility technology in the world, their experience will always fall somewhat short of that of a sighted user. (Although they will never experience the blinding orange of Directgov, so maybe it does have some blessings.)
So to enhance their experience in other ways, why not make the alt text for images funny? The Earth picture might be tagged “Earth, surrounded rather bizarrely by a ring of fire”. The attractiveness or otherwise of people in photos might be referenced. (”Distressingly ugly ginger chap walking, to the cosmetic surgery, perhaps”, for example.) The world’s your oyster and you might just enrich the web experience for some of your users.
Maybe it’s not a technique to be advocated on all sites, but some could doubtless benefit.
Google SketchUp
I’ve been using Google SketchUp lately to help visualise some improvements we’re looking to make to our house. And I have to say, it’s lovely. (I’m using the free version—there’s also a professional, paid-for version.)
Basically, it allows you to create 3-D visual representations of things. Its main building blocks are straight lines, rectangles, circles arcs, which sounds rather limiting but in my experience is perfectly adequate for the vast majority of stuff I’ve had to mock up.
Its beauty lies in the ability to drag planes to move them into the third dimension. This makes the creation of accurate mock-ups simple, quick and wonderfully pleasing. Once you’re done with your shape creation, you can use an array of surface treatments to put glass in the windows, tile or carpet on the floor and colour the walls to your satisfaction and heart’s desire.
It’s a local client install and I can’t understand why the app. is still labelled “beta”. It’s been around under Google’s branding for well over two years to my knowledge, so surely it’s ready for the tag to be removed.
So if you need to mock something up, I wouldn’t look much further than Google SketchUp in the first instance.
Managing my contacts in GMail
I find managing contacts in Google Mail a little frustrating, but the end result is worth the effort.
To set the scene, I use Google Mail to manage my own non-Google email through Google Apps. I use it daily—for both work and personal purposes—and I love it. But as I email new people, either in response to one of their emails, or as an unsolicited email from myself, the email addresses of those people are added as separate new contacts, without anything telling me. This is not a complaint; merely a statement of fact.
Now there are two contact groups of interest: My Contacts and All Contacts. My Contacts contains all of the people whose contact entries I’ve had an active part in editing; All Contacts is all of those people plus the newly added ones.
So each month—or to be honest, a little less regularly than that—I find the newly added entries and tidy them up. So if an entry is stored as an email address (johnny@bigcompany.com), I’ll put in their forename and surname and any additional pertinent details, so that they appear in the correct place alphabetically and so that I can find them via their name rather than just their email address.
Now this is the problem: there is no group in Google Contacts containing just those entries. So to identify the records that I need to address (37 this evening), I have to export each of My Contacts and All Contacts and find mis-matches between the two files in Excel.
By the end of the task, the number of people in the two Google groups matches. And I feel wonderfully clean again—I feel slightly sullied by having unorganised contacts in my database. But wouldn’t it be nice if there was a group containing just the new entries, to save my exporting and matching in Excel?
Email composition: it sucks
As the internet has become more and more prolific and as technology has evolved, so applications have become richer. Desktop applications can now do things I’m sure we once never dreamed of. And slowly but surely, their browser-based younger siblings are becoming similarly powerful.
But there’s one application component that seems to have been left behind: email composition.
The GMail interface is famed and widely publicised for being the proverbial mutt’s nuts. It’s quick, visually pleasing and rich in features. But its main focus seems to be on providing an elegant intuitive interface for navigating and managing email—not on providing a rich interface for writing emails. You can label emails with words and colours, search using a boastful array of criteria, and glide elegantly between emails that make up a conversation. You can star things, mark things as spam, link off to calendar entries, attach documents, the list goes on.
But when it comes to crafting an email that is visually appealing, containing photos around which text can wrap, perhaps even multiple columns of text even, GMail sucks. So, for the record, does Outlook. (That is the limit of my modern-day email usage. By modern day, I mean everything since my days at Warwick University in 1994–5, during which we used some system that Rob can probably tell you more about. All I remember is that the terminals had big screens and it wasn’t Windows-based. Oh—I did use Squirrel Mail for some time, but that was a bag of shit. GMail for DOS, if you will. Sorry, Rob.)
It may be that there are good email composition packages out there, and I just don’t know about them. After all, lots of the marketing email I receive is all warm and lovely—from the likes of John Lewis, Streetcar and Expedia. And I also don’t know whether (and if so, why?) the good composition packages are separate from the good email management packages. Maybe it’s akin to web-page creation (the likes of Dreamweaver) vs. web-page surfing (Firefox and IE)—if so, I don’t think it should be. Or maybe the plethora of email clients out there makes the creation of beautiful emails as difficult as creating web-pages that look good across the range of browsers.
Whatever the history, Google should focus as much on the functionality associated with email creation as it does on email management—to allow me to send emails as rich and as aesthetically pleasing as web-pages without resorting to creating them within an HTML editor.
Is that too much to ask?
My favourite iPhone apps
I love the concept, and indeed the reality of iPhone apps. I’ve not downloaded that many—a friend sent me a screenshot from iTunes showing his plethora of apps which put mine to shame—but there are a dozen or so that I like, and one that I absolutely adore. Read on.
Fizz Weather is great, giving a very human feel to the weather with words like nippy. The latest update, however, includes a branded launch screen which gets in the way of the core functionality.
Mobile Fotos is a decent application for connecting to Flickr, both to browse your and your contacts’ photostreams and to upload photos directly. The latest patch also allows video upload, which is very neat indeed.
WordPress is a fabulous application, allowing enough functionality to update and manage your WordPress site, posts, comments etc., while not overwhelming you with all of the functionality of the browser app.
National Rail is wonderful, putting the arrivals and departures boards of every station in the UK in the palm of your hand, and even showing you where each train is on its route.
Rise & Shine is a cute little app. giving you an all-night bedside clock that doesn’t hibernate. Lovely. (Complete with weather and temperature in an unconfigurable degrees Fahrenheit. #fail)
TV Guide is useful for knowing what’s on and what’s up next, without reaching for the more cumbersome TV remote.
Facebook is fine. Richer than the BlackBerry equivalent, but not sufficiently rich to write home about.
Tweetie is my favourite Twitter application to date, having replaced Tweetdeck which I found buggy.
FlightControl is a strangely addictive game in which you play a very simplistic air traffic controller. And it gets much more airtime on my iPhone than its iconic neighbour, Need for Speed Undercover.
But by far my favourite iPhone app. to date is Shazam. It listens to a few seconds of background music and tells you what the song is—and only very very rarely does it fail. If my daughter starts dancing to a track in Starbucks, I Shazam it (for free) and I’m one click away from buying it from iTunes. If I like the music on an advert, I can find out what it is straight away. I love it. I absolutely love it.
AOL: the devil of the internet
AOL is without doubt the devil of the internet. I hate it with a passion, a passion the extent of which is rarely surpassed. Nazism is below it, but it’s a close call.
This weekend, I visited my parents. And my dad’s internet experience is so heavily compromised by the AOL scourge. The experience of everything he does onlinevis shit. Email is embedded within dreadful, AOL-branded windows, with no sense of a world outside. The browser is horrendous, using the IE engine (as far as I know), yet coming with all of the horrors of IE and none of its few redeeming features. (CTRL+Enter doesn’t work to auto-complete web addresses with the Ws and the .com, for example.)
And the worst thing about all of this: my dad thinks this is the internet. For his age, I’d say that technology-wise, he’s relatively savvy. But AOL has locked him into a world that is AOL so much so that he knows no better, and never gets the opportunity to explore outside—just because AOL provides his Internet connection.
It’s not like Google. Google does provide you with an internet world, but it’s nowhere near as closed. It links elsewhere, and doesn’t seem to mind if you leave their world, trusting that you’ll come back when you need to.
So next time I’m in Halifax, my mission will be to get him off the heroin that is AOL, the drug equivalent of the internet. Scum that they are.
iKea and iPhones
I’m always amused by the drawer-testing robot in Ikea. For those not aware of its work, it’s located in the kitchen area, is protected from the general public (or the general public from it—I’m not sure which) by a box made of heavily-scratched, once-clear acetate, and is made up of a ready-made Ikea drawer unit along with a robot that opens and shuts the drawer throughout the history, and indeed the future (collectively known as the fullness), of time. Its purpose is to prove the robustness of Ikea drawers.
I’m amused because it’s rubbish. Drawers don’t break because they’re opened and closed smoothly time and time again. They break because you come home drunk, slip in the kitchen grabbing one of the drawer handles to soften the impact of your ass on the tiled floor. (Note to wife: this is a fictitious scenario being used by way of example.) They break because you try to open them with your foot while straining your vegetables (not a euphemism) to avoid your sticky hands daubing the handles. (Note to wife: see above.)
Today, I thought of the Ikea robot while operating the top-left switch on my iPhone 3GS—the one that switches sounds on and off. Of all of the beauty that is the devilishly handsome device, this appears as though it may be the weak link. Don’t get me wrong—mine hasn’t broken or anything. It’s just that switching it is quite a delicate operation, delicate yet physically pleasing. I have a feeling that over time, that delicateness could compromise its operation. Yet I reckon Apple has proven its worth by switching it perfectly a million times without any problems, likely using a modified drawer-opener on loan from Ikea.
But it’s when you reach in your pocket and switch the switch blind, probably pushing it at an unseemly angle, that problems are likely to occur, unbeknownst to Apple.
That’s why I thought of the Ikea robot today. And that’s the bit of the iPhone 3GS that I think is most likely to break. You have been warned.
The calendar headache and sullied applications
Most applications start off simple. And as they grow, morph and change direction, complexities come along that satisfy the user requirements, while compromising the purity of the application.
The purity of Excel has been compromised by the introduction of Pivot Tables, for example (pivot!).
I often struggle to comprehend the enormity of calendar applications; and get frustrated at how they don’t necessarily behave as expected in certain quirky scenarios. And this is a symptom of that very problem.
Basic calendar management is easy. The business requirements are simple to define (ability to schedule stuff and invite people), and they can be developed without any compromise. But then you strap on some other requirements—calendar delegation, ability for invitees to invite others, management of re-scheduled entries—and suddenly the requirements are not obvious, and their implementation Is likely to impact on the original functionality.
Who is allowed to edit a meeting request? Who gets notified if a meeting is changed? (How) do invitees get notified of additional or removed invitees?
Calendars seem to me the most complex applications that we use on a day-to-day basis. They have so many branches that sully the core, but that are necessary to the richness and usefulness of the application.
I often imagine the various teams at Microsoft, the Oulook team neurotic and literally pulling their hair out at the compromises they need to make; and the Excel team, walking with their heads held high at the relative purity of their application, with the exception of the Pivot Tables and Styles sub-teams, sat embarrassed in the corner at having marginally sullied purity (along with the guy who made 29 February, 1900 into a recognisable day).
Formatted hashtags
Paul Clarke speculates here about the usefulness of Twitter, with a specific focus on whether its penetration can be used to local effect: in reporting weather conditions or traffic disruption, for example.
He cites a couple of examples of hashtags (#uksnow, #uktraffic), both of which require(d) a specific syntax following the hashtag. For example, #uktraffic needs to of the form:
#uktraffic [road] [where: jcts or place] [direction] [description] RT&seewhathappens
By submitting hashtags in that form, it enables them to be parsed for use in other applications, allowing them to be mapped, summarised etc.
With all due respect, I don’t think the Twitter community is sufficiently diligent to obey what seem like simple instructions such as this. Yes, they can probably remember the hashtag. But I’m sceptical as to whether they can remember the specific items that follow, let alone the order in which they need to appear.
For syntax-dependent hashtags like this to work, there needs to be a mechanism by which they can be registered, complete with the required syntax. That way, end users can subscribe to such hashtags, allowing their client applications to prompt them with the required syntax once they’ve entered that hashtag. Much in the way that Excel prompts you with the arguments needed for a formula that you’ve started to use. (Hell, even I never remember the order in which SUMIF arguments should be entered.)
Without this, the hashtags might be used, but the data they generate will be next-to-useless.
My most re-tweeted
Yesterday evening was inspirational. I solved a problem that was posed to the twitterati at large earlier in the day, a solution that I thought might be useful to the general Twitter community, and which had certainly challenged my own technical limits.
I awoke to a whole bunch of re-tweets (ten in total, which is about 400% more than my previous record, I reckon) which made me giddy. Giddier even than I had been the previous evening at my relative technical prowess at having solved the problem, which is saying something.
Twitter is lovely. It gives a sense of community which your life doesn’t necessarily afford; and it allows you to share ideas and innovation with people of a relatively like mind, and for them to spread the word.
The tool I created? A way of creating a Google Reader feed from your password-protected Twitter feed—using Yahoo! Pipes. Probably beneath most of my audience; but an immense source of pleasure for me.