All the maps agree...


Subscribe to "Flatlander" in Radio UserLand.

Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.

8 September 2003

Gah.  Radio now seems to be refusing to post my change of address.

Let's try this again.

The new site is here.

6:22:33 PM    

5 September 2003

A murrain on your desktop-centric application

Radio's desktop-centric approach is no doubt great if your desktop is permanently connected to the Internet and you spend most of your time at the same machine.  Neither of these is true for me and this has essentially stopped me from writing except for my brief period between jobs last year.  I need a service that is truly "in the cloud," as opposed to Radio's "in the cloud but you have to climb this particular pole to get to it."  I'm currently trying out the Typepad preview release, and so far it's a much better fit for my "personal configuration" (I will not use the word lifestyle dammit.)

Oh, and it's the chief suspect for dialling into my ISP -- chargeable phone calls -- without consulting me.

The new site is here.

7:35:10 PM    

13 August 2003

Andrew Orlowski is not impressed with webloggers whose main theme is the importance of, er, weblogging: "Imagine how tedious newspapers would be if every other story proclaimed 'We use INK!!!'"

7:25:28 PM    

11 August 2003

Downsizing explained

job: A sudden stab with a pointed instrument.  This seems to be nearly the original sense.  (Noah Webster, 1828)

Cited in Jeffrey Kacirk, Altered English.

8:04:14 PM    

Mark Dunn, Ella Minnow Pea

The idea of writing a novel using a steadily diminishing range of letters sounds like an exercise in literary masturbation, a pointless demonstration of one's own cleverness.  Fortunately, this remarkable book does work as a novel, and it works well -- clever, funny and sympathetic.

The setting is an island which revers the pangram "The quick brown fox jumped over the lazy dog."  When letters start falling from the statue which commemorates this achievement, the council decrees that people must stop using the falling letters -- including in the letters they write to each other which make up the story.  So the exercise of cutting out letters is an essential part of the plot rather than a purely formal game.  It also works wonderfully when characters briefly, gloriously rebel and start using all twenty-six letters again -- you can feel the sense of liberation in the writing.

You probably have to enjoy language for its own sake to really get into a book like this, but if you do, it's well worth a look.

7:20:27 PM    

6 October 2002

The trials of Attenborough

The BBC have come out with a "David Attenborough Bumper Fun Pack" containing DVDs of some of the great man's relatively recent series -- The Trials of Life, The Life of Birds and Life in the Freezer.  Tempting though this is, I can't quite persuade myself to buy it.

The first problem is that the content is wrong.  Fine though The Life of Birds and Life in the Freezer are, they lack the comprehensive sweep of the original Life trilogy.  Life on Earth, The Living Planet and The Trials of Life individually and collectively deliver an incredible global perspective on natural history.  These three are what the BBC should be collecting.

Fine, you say, so go buy Trials on its own and get the others when they come out.  Unfortunately, the second problem is that Trials, at least, has been cut almost in half.  Three DVDs seemed awfully thin for a 13-part epic, and Amazon confirms that each episode has been cut from 48 to 28 minutes.

Personally, I would pay through the nose for full versions of any of the Life series.  I can't imagine I'm alone in this.  The generation that grew up with the Life trilogy is now bringing up its own children, and those children are reaching the same age their parents were when that iconic solar flare and portentous theme launched the first episode of Life on Earth.  It's hard to imagine when the market will be better primed.  The BBC is notoriously bad at recognising its own crown jewels, and it has a lot of classic material to get through, I realise.  But surely Attenborough's masterwork should be ahead of The Very Best of Bottom?

6:12:22 PM    

29 September 2002

The fish have started to reappear, and the mystery of what they've been up to all summer is solved: I'm pleased to announce the patter of tiny fins.
8:33:12 PM    

Andrei Alexandrescu, Modern C++ Design

Most good computer books enhance your understanding -- of theory, of practice, of process, whatever.  It's rare to find one that transforms your understanding.

Alexandrescu's thesis is simple: that modern C++ is expressive enough to be used as a design language instead of an implementation language.  His first example, policies, illustrates how the language enables you to express design choices -- for example, whether to create objects via operator new or from prototypes, or how a smart pointer should manage ownership or thread-safety -- as template parameters.

This in itself is a pretty dramatic step forward for C++, but Alexandrescu then combines it with the concept of typelists, a way for code to talk about types themselves instead of just object instances.  Armed with policies and typelists, Alexandrescu goes on to provide generic implementations of design patterns such as Visitor and Abstract Factory.

Think about this for a minute.  With Alexandrescu's techniques, you can express a design pattern directly in code.  It's no longer a matter of recognising the pattern and manually implementing the code for it.  Once you've made the design decision -- for example to use Abstract Factory -- you can express it directly in the code via Alexandrescu's AbstractFactory<> template.  And because AbstractFactory<> is parameterised by the list of types and the creation policy, you can equally easily express the design decisions of which types the factory creates and how it creates them.  The language allows you to directly express these design decisions instead of implementing them.

This, for me, is a transformational change.  I'm used to C++ as a language for expressing low-level choices.  I'm used to vocabularies for expressing design choices at a documentation level.  What's new is the way Alexandrescu's C++ gives us a vocabulary for expressing and executing design choices directly at the code level.

In the interests of realism, I should point out that Alexandrescu uses advanced language features that are currently poorly supported by some popular compilers.  (Oh, all right, let's name names: the Microsoft compiler isn't up to the job.  To be fair, Microsoft's C++ team have said that compiling the Alexandrescu library is one of their top priorities: but for the time being, if you're using Visual C++, you're out of luck.)  But this is almost beside the point.  Compliance will come, and pioneering yet practical work like Alexandrescu's is exactly the incentive the compiler vendors need: who wants to be the only vendor who can't handle AbstractFactory<>?

In any case, this would be worth reading even if no compiler were ever to implement the parts of the standard Alexandrescu needs.  It is worth reading whether or not you are interested in C++, just like Structure and Interpretation of Computer Programs is worth reading whether or not you're interested in Lisp, or Object-Oriented Software Construction is worth reading whether or not you're interested in Eiffel.  For the most part, it's not about libraries or C++; it's about the issues of writing programs at the level of design rather than implementation.  (There are some bits about how to abuse the C++ compiler to achieve design-level goals, but these are relatively few and far between.)  It is a manifesto as much as a cookbook, and it's certainly made me think about the expressiveness of code in a whole new way.

8:18:44 PM    

Verity Stob develops a Beaufort scale of cruft: "Cruft Force 3. Lived-in. Description: One time in seven when the user starts Word or other Office 2000 app, instead of running, it pretends it is installing itself for the first time and starts a setup program. Directory count in C: up to 17, and something has pooed a Paradox lock control file there, too."  When I sent this round the office, you could hear the muttering as people fired up Explorer and started counting... and yes, she was right about the Paradox files, too.

3:48:57 PM    

25 September 2002

Not Your Parents' System Tray

Microsoft Research (via Sam Gentile): "As we work, documents are updated, information on web sites is modified, databases are changed, and the people we depend on come and go... Sideshow is an awareness interface with the goal of helping people stay aware of large amounts of dynamic information without overloading or distracting them."

Well, and so was the Windows 95 notification area (aka system tray).  Having a little bit of the screen where applications could notify users of interesting things was a good idea, but: (a) the tradeoff between compactness and rich information, while reasonable in 1995, has shifted the other way with larger screens and more things going on in the background; and (b) greedy applications have now put so much rubbish in the tray that Windows XP now has to hide it all again.

Sideshow tries to fix these problems by allowing a lot more space for notifications -- so applications can provide information like how many emails are high priority and how many are low, or what the stock price actually is, or which of your IM contacts are online and how active they are, instead of just a 16x16 icon -- and by putting the area under user control rather than letting any old app fill it with "I am running!" messages.  (Would you believe my mouse driver puts an icon in the notification area?  Does anybody seriously believe for one minute I want notifications from my mouse driver?)

It's an exceptionally rich environment: lots of information and options packed into a very thin strip of space.  Richer info than the tray is clearly a key issue: users cite knowing who their mail is from and whether it is marked as high priority.  The personalisation story is strong too: the authors suggest an example whereby an eBay auction could provide a link to "watch this item in Sideshow."  It's easy to imagine that all the background activity that interests the user could flow through Sideshow.

So does the road to Longhorn begin here?  Well, it's cosmetically similar to some of the rumours going around, and instinctively I'd leap from my seat and say "Microsoft can't pass this up;" but actually I'm not so sure.  The Longhorn UI has been trailed as "task-centric" -- in the tradition of XP's task panes and Whistler's aborted Activity Centres -- whereas Sideshow is more data-centric.  (Yes, you know and I know that this is a spurious distinction, but will that be enough to stop Microsoft marketing?)  And Longhorn has to sell into countries with poor connectivity: the UI can provide easy ways for users to access the Internet (the "Print My Photos" kind of link), but it can't demand always-on connectivity.  Even in the wired US, this could be impractical in the laptop market.  And it's certainly not the whole UI: Sideshow is about notification and awareness, not working with specific documents or applications.

Frankly, it's too early to speculate where this research effort might eventually fit into Microsoft's UI strategy.  Who knows what the connectivity landscape will look like in 2005, or whether Microsoft will be trying to sell different "editions" to home, business and mobile users?  In the meantime, the Sideshow project looks like a good resource for anyone designing an "awareness" interface.  The authors' conclusion, that users do value awareness but it must be appropriate to them, is useful and encouraging for anyone designing "dashboard" style interfaces, and the paper is worth reading for the design goals alone.

By the way...

...I particularly liked the article which, describing Sideshow, explained that "the company has developed an application that displays a series of windows with useful information on a user's desktop."  Nice to see someone striking out against the flow of only displaying windows with useless information.

...The prototype version of Sideshow was put together in Visual Basic by an intern.  If it's good enough for Microsoft Research UIs...

8:18:47 PM    

Click here to visit the Radio UserLand website. © Copyright 2003 Ivan Towlson.
Last update: 8/9/03; 18:22:34.
September 2003
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
Aug   Oct