Tuesday, October 31, 2006

Laddered Skills - Democracy example

Just quick jotting...
The capabilities or properties of purposeful/designed systems are all laddered. Think of what is required for a country to be a successful democracy. You have to build up through a number of levels.. e.g. it's economics and other instituions have to be developed to a certain stage. It emerges through these things. You can't install democracy simply by things like changing laws. And it's not just a matter of tyring hard enough.

Monday, October 30, 2006

The design process used by Apple’s chief designer, Johnathan Ive

The 37signals blog Signal vs. Noise mentions a Business Week article [update: the article can now be accessed hereon Johnathan Ive “the man behind Apple’s design magic.” The article says:

His design process revolves around intense iteration — making and remaking models to visualize new concepts. “One of the hallmarks of the team I think is this sense of looking to be wrong,” said Ive at Radical Craft. “It’s the inquisitiveness, the sense of exploration. It’s about being excited to be wrong because then you’ve discovered something new.”
And the referring (Signal vs. Noise) post says:
Getting Real is all about iterations too. “Be excited to be wrong because then you’ve discovered something new” is a neat way to put it (btw, so is Fail early, fail often).
So lots of trying things out and revision, always trying to find where things could be improved.

Why programming gives you unique skills for understanding the world

Sketching....

Subjective elements in your understanding of something are just ways to gloss over the details how things actually happen. They’re a particular problem because we’re prone to unconsciously using them and they’re hard to spot.

Learning to program helps you develop important skills - in spotting and avoiding subjective elements. Subjective elements have no place in programming. You have to make things happen by writing a description that doesn't contain subjective elements.

You start with your picture of something, invariably containing subjective elements, and you have to make it into something fully concrete. The discipline of programming builds your ability to do this. You get better at spotting subjective elements in descriptions, and more agile at thinking of things and situations in terms of their concrete details.

When it comes to thinking about how things happen in the world, you may or may not be able to think about the concrete details of what is going on, and how they bring it about, but you can certainly be better at spotting subjective glossing in descriptions of it.

Visually referencing web-page elements

Think of instructions for setting up something on the computer, like an internet connection or an eBay account.

There are a number of different ways these instructions could be presented. You can have a fully textual description, giving the person instructions on where to go and what to do.

An improvement on this is to include pictures so people can more easily see what they should be looking at.

Even better is to explicitly, visually reference elements of the pictures from the description. So, for example, if there are a number of things a person needs to change on a dialog, visually highlighting each of these items on the picture and number them, so they can be referenced from the text. Or draw an arrow from the text to the item.

What would be even better is if the instructions could directly guide you through the process, and bring up the actual dialogs, rather than showing pictures of them, and highlight the actual items on that dialog. A sophisticated system could detect your state of progress and automatically open up the next dialog/page/etc - as a kind of worlflow.

Essentially, this is about being direct - showing rather than telling. You don’t have to see the instructions in one context and then switch to a different context to the actual web-page/program and then implement what they say. That context-switching requires you to reorient yourself and map what you saw in that description into what you’re seeing in the actual thing.

To do this on the web, you’d need the following sorts of things. A way of directly referencing elements within pages, such as input fields. Ways of visually highlighting these, such as putting a red drop-shadowed border around them. And a way to draw an arrow between a bit of text or an image and one of these items.




I recently saw this post on the 37Signals blog Signal vs. Noise, on the idea of showing things as directly as possible - referencing a page element with a visual annotation. I can't say it was actually the inspiration for the ideas in this post, but it reminded me to write about it.

The post is about how they used direct visual reference on a particular page - or rather, the design process that led them to do this. Rather than describing how you could use the links in the link bar at the top of the page to populate a blank site, and saying what those links were, they just drew a bit arrow to those links saying "Use these links to fill your page".

Saturday, October 28, 2006

Article on the myth of prodigy

[Update: the article can now be accessed here]

An article in the Association for Psychological Science's Observer

“I think we take it as an article of faith in our society that great ability in any given field is invariably manifested early on, that to be precocious at something is important because it’s a predictor of future success,” Gladwell said.
...
Precociousness is a slipperier subject than we ordinarily think, Gladwell said. And the benefits of earlier mastery are overstated. “There are surprising numbers of people who either start good and go bad or start bad and end up good.”
...
The other way to look at precocity is of course to work backward — to look at adult geniuses and see what they were like as kids. A number of studies have taken this approach, Gladwell said, and they find a similar pattern. A study of 200 highly accomplished adults found that just 34 percent had been considered in any way precocious as children. He also read a long list of historical geniuses who had been notably undistinguished as children — a list including Copernicus, Rembrandt, Bach, Newton, Beethoven, Kant, and Leonardo Da Vinci (“that famous code-maker”). “None of [them] would have made it into Hunter College,” Gladwell observed.
...
And when it comes to musicians, the strongest predictor of ability is the same mundane thing that gets you to Carnegie Hall: “Really what we mean … when we say that someone is ‘naturally gifted’ is that they practice a lot, that they want to practice a lot, that they like to practice a lot.”

Automating Optimized Information Display

Ideally, we want to optimise the display of information. Or at least, most non-fiction information.

This is a matter of good communication, and that is largely a matter of efficiency. The information should be direct, concise and relevant. Unnecessary detail should be filtered out.

To do this effectively, you need to understand the target 'readership'. For example, knowing what they already know, so you can filter out details that are unnecessary to them.

Edward Tufte talks about this kind of stuff a bit.

Here's a simple example of optimizing information display - and automating that process: optimized cut-and-paste.

Much of the information you display is originally sourced from other places. I'd like to be able to automate the task of optimising the display of that information for the particular purposes it is being put to.

Say that I want to go to local hardware stores this weekend, so I search for them on the yellow pages website and add the details into my organiser software. The search results would look something like this:

store name
120 Sir Fred Schonell Drive
suburb, postcode
ph: (07) xxxx xxxx
fax: (07) 3371 xxxxx
website: xxxxxxxx.com.au


store name
street address
indooroopilly, postcode
ph: (07) 3371 xxxx
fax: (07) xxxx xxxxx
website: xxxxxxxx.com.au
But as far as my needs go, I can put an optimised version of this into my organiser program like:
store name, 3371 xxxx, street address
store name, 3371 xxxx, street address, indro
I don't need to know the fax or web details, so I filter them out. As for the phone number, in this context, I just need to put the number itself -- I don't need the 'ph:' bit or the area code.

And for the address, I just need to know the suburb, so I can filter out the postcode. And I can abbreviate 'Indooroopilly' as 'indro'. If the street is familiar and I know what suburb it is in -- as with 'Sir Fred Schonell Drive' -- I can omit the suburb name.

Since I can fit all the details of a store on a single line, I do so. And there's no need here for line spaces between the entries for the different stores, so I get rid of them.

It doesn't come out so much in this small example, but when you're dealing with lots of info, condensing it like this can make things much easier to deal with. The more you can see at once, the easier it is to see the whole and the properties it has, to manage it, and to see any patterns within it.

What I'd like is the computer to help automate this optimization task.

When I cut and then paste something, the program would provide options for optimizing the display of the information.

To do this, it would have to know a bit about how things could be optimized as well as knowing things about me. It could learn the kinds of optimizations I do - like replacing Indooroopilly with Indro. It could learn about what I know, in order to figure out what details I don't need to know - such as that I know all Queensland phone numbers have the '07' prefix, so it can omit them.

To do it well would be quite a difficult task. This post is not about the current feasibility of such automation, but just to communicate the idea of it.

I think such automated optimizing of information display is a major area in which software can become much smarter and useful, essentially by becoming better communicators.




Here's some discussion / notes.

Ideally, when it filtered out information in a particular display, it wouldn't actually remove the information, but just not show it - so you could bring it up if you wanted to. Better, at any time you could tell it to adjust the type and amount of condensing you wanted.

Another sort of optimisation is dynamic optimisation to adjust to changes in the display area. If less space is available to display the information, the more condensed it makes it. For example, using 'heavier' abbreviations. Jorn Barger has talked a bit about doing this kind of thing (the above link is to his blog. After a bit of searching I haven't found the specific posts where he talks about this kind of thing).

For example, imagine a widget displaying the progress of a particular task you are undertaking, such as scanning your computer for viruses. You may want to keep track of this progress as you are doing other tasks. How much attention you want to give to it will depend upon what other things you are doing, and, for example, how much spare real-estate there is on your desktop. So you can resize the scanning-widget window to different sizes and it will adapt. Abbreviating things in various ways, and filtering out less relevant details.

Another optimization technique is clearly saying what you're saying, with techniques like [Update: this page can now be accessed here'heads', 'decks' and 'leads'. This makes it easier to find relevant information.

Friday, October 27, 2006

No one wants truly random play lists

Say we’re developing an MP3 player and want it to be able to mix up the order it plays songs. What comes to mind is a randomness -- having a random-play feature. But in fact, what we would really like is not literal randomness, but something more subtle.

A truly random playlist would do things like play the same song a twice in close proximity, or even twice in a row. What people really want is a subjective sense of variety. They want the songs jumbled up, but with repeats a bit more ‘evenly spaced’ so they don’t tend to come across the same song again until most of the other's have already been played.

When we first think of the feature we want, ‘random’ just seems to jumps into our head. Even if we wanted to deliberately think through exactly what we wanted in the feature, the notion of random would come to us well before we were finished.

The seems to happen through some sort of automatic assocition process. Our brains just seems to pick the closest general concept. It seems to be a kind of heuristic.

In such situations, I think you need to expect such things to just come to mind, and to be mindful that they’re often only approximations. And that means not just accepting it as true, and thinking about whether it really fits the situation.

If we do that for the MP3 player example, we can see that we’re after a feature that affects the listener’s listening experience. And if we have that in mind, and think about randomness, and how it will include sequences of same item more than once in a row, and reflect on this in terms of the listener’s experience, we can see that they are unlikely to want that.

This means not just considering what the player is doing, and that feature itself, but also the perception of it -- which is a key consideration here. That’s harder to do, as our thinking is usually directed at what’s there in the world, and it takes effort to also consider the perception of what’s out there.

What I’ve talked about here is an example of the ‘laddered skills’ I spoke a bit about a number of months back. It’s an example of how mental capabilities are laddered.

Skills are ‘laddered’ in the sense that in developing a particular skill, you have to pass through various ‘rungs’ that are pretty inherent to that skill. I had been intending to write about mental capabilities as laddered skills, but that turned out to be a far larger task that I’d expected, and I just haven’t had the time to work on it.

It's an example of it because, at one skill rung, there is just accepting whatever concept jumps to mind, and rung up there is recognising that this concept may be only an approximation and thus in need of evaluation. Also a rung up, is realising that the concepts that jump to mind tend to overlook roles that perception may play in the situation.

Thursday, October 26, 2006

Better support for 'touch typing' on mobile phones

I often type SMSs or notes on my phone while I’m walking. Sometimes because it’s some spare time to do stuff, but also because walking frees up my mind and I often think of things when doing it. I’d like it if I could type them without having to continually look down to the phone to see what I’m doing.

Part of it is having to look down to see what keys I’m pressing. I can usually move my thumb to the right area without looking, but not quite accurately enough. It’d help there was tactile identification of the different keys. Perhaps they could have different texture patterns on each of them. Perhaps even the braille codes for the numbers on the keys.

The other part of it is in getting feedback on what you have typed. Rather than having to look down at the screen to see what character I’ve entered, it'd help if the phone could give me auditory feedback and read out that character. This would be particularly useful if I was using the handsfree headset.

Wednesday, October 25, 2006

Daniel Dennett's policy recommendation

Advice Goddess Blog writes:

"Dennett’s one policy recommendation –- education on world religions (for kids):
Education on world religions for /all/ our children,

in public and private schools, and home schooling
Dennett explained:

Toxic religions depend on enforced ignorance of the young –- and a religon that can flourish in an informed (citizenry) is a benign religion.

Malcolm Gladwell: unfamiliar- and expert- tasks are harder than you'd think

Malcolm Gladwell argues that outsiders tend to underestimate the difficulty involved unfamiliar tasks, especially those involving expertise.

Tuesday, October 24, 2006

Favourite Recipes: Milanese-style Osso Buco

Milanese-style Osso Buco

This is adapted from an Antionio Carluccio cookbook (can't recall which, though the recipe is on pg 130 of it).

It's richly flavoured, and is much better after a reheat when the flavours have integrated fully.

Osso Buco[1] are cross sections cut from veal leg bones. So they're disc-shapes, a few centemeters thick, with meat surrounding the central bone. He reccomends getting a butcher to cut the pieces "from the middle of the skin where the bone is rounded on both sides and the meat is dense".

  • osso buco (veal marrow-bone), 4 x 4cm thick pieces
  • seasoned plain flour, for dusting
  • olive oil, 4 tbsp
  • small onion, 1, diced
  • peeled roma tomatoes, 800g can, strained of half their juices
  • juice of 1 large orange, and finely grated rind of ½ orange
  • dry red wine, 150ml
  • salt and pepper to taste
  • Gremolata
    • flat-leaf parsley, finely chopped, 4 tbsp
    • finely grated lemon zest, 1 tbsp
    • small garlic clove, 1, crushed
  • Frying the osso buco
    • Dust the osso buco with seasoned flour.
    • Heat the olive oil in a cast-iron casserole
    • Fry the osso buco two at a time on both sides
      taking care not to damage the marrow in the centre of the bone or allow it to fall out.
    • Remove the osso bucco from the casserole and put to one side.
  • The rest of the prep before simmering
    • In the same oil, fry the onion until transparent
    • Add the tomatoes, and cook for five minutes, breaking them up
      in the casserole with a wooden spoon while cooking.
      Keep the heat up high so that the tomatoes reduce.
    • Add the orange juice, the grated rind and the wine.
      Continue to cook fast.
    • Return the osso buco to the sauce.
    • Season the sauce with salt and pepper.
  • Simmer
    • Reduce the heat, cover the casserole and simmer for 1-1/2 hours
      until the meat has begun to come away from the bone.
  • Make the gremolata
    • simply mix the ingredients together.
  • Sprinkle each osso buco portion with gremolata, and serve with a risotto.





[1]It seems that 'osso buco' is actually the name of the dish, and 'veal shanks' are the proper name for the cut of meat, even though they seem to be commonly referred to as 'osso buco'.

Sunday, October 08, 2006

Article on working from third-places

USA Today has an article on people working out of 'third-places' like coffee shops. I was interested to see it, as for the past two years, I've been doing almost all of my PhD writing at a coffee shop in Toowong. I usually spend about one and a half hours in there each day, and I find it a pretty good place to work. From the article:

"Working from a place like this is less stressful than being in an office, and I find I get a lot more done," says Karsch, general manager of Spanish Sales Force, a Spanish-language marketing consultancy. "If you can make this work for you, you'll love it." ...

An estimated 30 million Americans, or roughly one-fifth of the nation's workforce, are part of the so-called Kinko's generation, employees who spend significant hours each month working outside of a traditional office.
Some of what the interviewed people say about their experience of it is similar to what I've found:
Akiba Lerner, 35, [is] a Stanford doctoral candidate working on his dissertation on religious philosophy. Although there's an Internet cafe close to his house, he makes the 20-minute trek here for "the good lighting, the right chair and the vibe of the people."
Noah Lichtenstein:
"What I love is that you can dial into the white noise here and focus on work, or pull your head up and people-watch."
And this:
"It's an energy issue," says Katara, founder of Pavia Systems, a company that provides online training programs. He has a home office but prefers to work here exclusively. "At home, I'm isolated. This, it's sort of a surrogate coworker environment."

Wednesday, September 13, 2006

Jon Udell: Google Earth live and in realtime

[Update: the article can now be found here]

Jon Udell writes:

For years I've entertained a fantasy about air travel that I'm sure many of you share. You're staring out the cabin window, watching the landscape scroll tailward, and some feature catches your eye: a building, a highway, a lake, a ridge. You touch the window and a heads-up display fades into view. It's kind of like Google Earth, but live and in realtime. You summon and dismiss layers of annotation, and you bookmark locations for later study.

Friday, September 08, 2006

Some Articles Suggesting Improvements to News Sites

9 Ways for Newspapers to Improve Their Websites, here [Update: the article can now be found here].

(1) Start Using Tags.
"The structure of just about every site we looked at more or less followed that of the paper’s print edition. This is great if you are looking to read the print version of the paper but not great if you are looking to see everything the paper has written on, say, Joe Lieberman. Newspapers aren’t taking advantage of the opportunity the Internet offers to remix/categorize content."
(2) Provide Full Text RSS Feeds.
(3) Work with External “Social” Websites.
(e.g. facilities for submitting stories to sites like Digg)
(4) Link to Relevant Blog Entries.
(5) Get Rid of All Registration.
(6) Partner with Local Bloggers.
(7) Offer Alternative Views of Your Content.
(8) Modernize Your Site’s Graphic Design.
(9) Learn from Craigslist.
(10) Make your content work on cell phones and PDAs.

Plus a list of seven more reader suggestions [Update: the article can now be found here].

And, another article 'A fundamental way newspaper sites need to change' essentially arguing that newspapers need to provide more structured information in addition to their human-readable news stories, to allow that information to be repurposed:

For example, say a newspaper has written a story about a local fire. ... what I really want to be able to do is explore the raw facts of that story, one by one, with layers of attribution, and an infrastructure for comparing the details of the fire -- date, time, place, victims, fire station number, distance from fire department, names and years experience of firemen on the scene, time it took for firemen to arrive -- with the details of previous fires. And subsequent fires, whenever they happen.

That's what I mean by structured data: information with attributes that are consistent across a domain. Every fire has those attributes, just as every reported crime has many attributes, just as every college basketball game has many attributes
The articles gives other examples such as births, wedding announcements, government sittings and their agendas.

It also gives an explanation of what is working against such changes.

Wednesday, September 06, 2006

Sofa That Folds Into a Bunkbed.

Picture and info: gizmodo and product page.

A Nintendog as a Character in a Game

Wanting a bit more mindless fun in my life, I splurged on a Nintendo DS, and got New Super Mario Bros and Nintendogs. If you don't know, Nintendogs is about caring for and interacting with a puppy, and it's got the formula down pretty well.

I think you could build on that formula, by incorporating a dog like that into a game as a character. One where you also play a particular character. Imagine something like a lighthouse keeper back in the olden days.

Rather than a typical game, it would be more of a slice-of-life thing, with you having day to day things to attend to, like fixing things. Occasionally you'd receive or send letters to other people, or have visitors.

Sometimes more dramatic things would happen, like your character breaking their leg when out doing something. And through of all of this, the dog would be there keeping you company, or being around the place.

So kinda like Nintendogs, but because you'd have more within-game shared experiences with the dog, there would be, I think, more of an opportunity to create a deeper sense of a bond with the dog.

Poseidon Undersea Resort Meant to Open in Fiji

According to this post (which has images of what it's meant to look like), the Poseidon Undersea Resort is planned to open in Fiji:

The underwater portion of the resort will be situated in 13 meters (40 feet) of water and will be linked to land with two piers providing access to two elevators. The underwater facilities will include 24 luxury staterooms, a large restaurant and bar/lounge, a library, conference room, wedding chapel, underwater spa, and the Nautilus Suite which is an ultra-luxury accommodation with stunning undersea views that would impress even Capt. Nemo.
They "expect to begin taking reservations in mid-November, 2006 at a rate of $15,000 per person, per week".

Monday, September 04, 2006

Paul Graham Interview at Techcrunch

Paul Graham interview at Techcrunch. Pretty much his usual speil on startups, though still good, and I thought the following was a nice point:

Most people don’t understand what a social force startups can be. There are a lot of changes that can only happen through companies. One startup I dream of funding is the one that kills the record companies. You know your business model is broken when you’re suing your customers. The new business model must be out there somewhere, and my guess is that the way to beat the bad guys is not through political action (or at least, not only that), but by inventing whatever replaces them.

Monday, August 28, 2006

The Filthy Critic Reviews "How To Eat Fried Worms"

The Filthy Critic reviews "How To Eat Fried Worms". It's been a while since he's given a movie 4/5.

How to Eat Fried Worms is based on the book of the same name. By the way, it's a pretty fucking great kids book. Like it, the movie adaptation gets it just right when showing how young boys act. It's a genuinely rare movie that tries to entertain kids without giving a rat's ass about the parents or whether the people making it will look cool. That's no small feat for the self-absorbed Hollywood grassfuckers. Usually they make movie kids too smart and precocious, or some idealized carbon copy of the way they've seen kids act in other movies. Worms, though, has kids behave like kids.

Wednesday, August 23, 2006

16 Common Myths About Atheists

16 Common Myths About Atheists