« | » Main « | »

The death of the main menu

Wednesday 28 September 2005

Jeff Atwood points out that the big news from the recent Microsoft PDC demo of Office 12 is the death of the main menu. Instead of a traditional main menu, Office 12 will have a series of tool palettes selected by tabs where the main menu used to be. I think he's right, that we're in for another big shift in UI paradigms, as Office leads the way for developers everywhere. It may be difficult for me-too developers to adjust to this large a change, though, so I don't think the main menu is really dead.

For me, the screen shot of Office 12 prompted a different thought: "Isn't that a Mac?" Could they have copied more of the look of the Mac UI??


Tuesday 27 September 2005

I recently finished reading Freakonomics: A Rogue Economist Explores the Hidden Side of Everything, the freakishly popular book about applying the tools of economics to social phenomena. It was a fair read for dipping into occasionally. I found the reverential tone the authors used when talking about each other grating, and the chapter on baby names was too clogged with tables of numbers, but overall the economics were interesting. My big gripe: I think the authors should have tried harder to be objective scientists, and resisted the impulse to push their world view so hard.

» read more of: Freakonomics... (7 paragraphs)


Charity web sites

Tuesday 20 September 2005

I've been collecting donations for my autism research fundraising walk. Now Pete is raising money for suicide prevention. Both efforts have web sites to encourage and collect donations. I've had many frustrating visits to the autism walk web site. It's a mess, both visually and navigationally. Donors have told me they visited the site and couldn't figure out how to give money, so they sent a check! That's a bad web site.

Both sites are run by organizations that handle that job for many charities. The autism page is by Convio, and the suicide page is by Kintera. The two pages have a lot in common: mismatched designs, too many navigation options, a big picture dropped artlessly into the middle of the page, and a Java scroller listing donors. I wonder how much more money these sites would raise if they streamlined the process. The Kintera page was better because the very first page had an obvious place for me to put a dollar amount, and then dealt with the details later.

Kintera is also set up to let you browse around other charities, which let me get a feel for what Kintera put on each page, and what the different charities had control over in designing their page. Part of the problem these sites have is that there are too many roles bundled onto one page: team leader, event participant, fund raiser, donor and potential donor (these last two are important to distinguish). Seth Godin's Knock Knock is a breezy little pamphlet about getting rid of the concept of "web site" so that you can use the web as a tool to accomplish your goals. These charity sites need to read it (it takes about 15 minutes).

I can't help thinking that some savvy web designers and interaction specialists could do wonders for these sites, though who knows if they'd be able to get any traction with their recommendations.


Monday 19 September 2005

A co-worker showed me Pandora today. It's an online music service for finding new music. You give it a song or an artist, and it creates a "radio station" of songs similar to yours. As it plays songs, you can give them thumbs up or down to adjust the heuristics. When you give a song a thumbs-down, it skips the song, unless you've given too many thumbs-downs. In that case, it continues playing the song, and adds helpfully:

Unfortunately, our music licenses force us to limit the number of songs you may skip each hour.

Odd. If you start with an artist, the first song is by that artist. If you start with a song, it doesn't start by playing the song, explaining that their music licenses prevent them from playing specific songs by request. Very odd.

I tried it all day today. I thought it did a very good job picking songs I would like, including a couple of dozen artist I had never heard of. The first ten hours are free, and then you have to pay, but the rate is the very reasonable $36 per year. I think I'll be subscribing.

I/O brush

Saturday 17 September 2005

I/O Brush is a freaky art/technology project from the MIT Media Lab. Point the big brush at a real world object, and it picks up the appearance of the object. Use the brush on its canvas, and it paints like the object looked. It even captures the movement of the source object. Neat!


Saturday 17 September 2005

Kevin Dangoor announces the TurboGears web megaframework. He calls it a megaframework not because it is enormous, but because it is a collection of existing pieces which have been integrated, kitted, and documented together into a larger framework. The pieces are:

So Python has another compelling web development framework. I still haven't ever built a web site with any of the other ones, so when I finally do, I'll have another to choose from.

TV in da house

Friday 16 September 2005

As part of the publicity for my wife's autism book, a crew from a national TV show is coming to my house today. They'll be filming my family being an ordinary family (if there is such a thing as an ordinary family with video cameras pointed at them). It should be exciting. Wish me luck!

Blog searching

Friday 16 September 2005

This week's announcement of Google Blog Search has caused a re-examination of how to find things in the blogosphere. Naturally, Google Blog Search is very good. But the interesting thing to me is that it doesn't have a lock on the problem the way plain-old Google seems to have on plain-old search.

Technorati was the early leader in blog search, but it experienced some growth problems. Every search seemed to be impossible due to "current load", so people gave up on it. I had given up on it. This week I tried it again, and it was snappy and responsive (maybe because everyone had given up on it?), and it showed me relevant results that Google didn't have. Technorati's Dave Sifry welcomed Google to the party with a cleverly worded post that points out all the things they don't do yet.

Another contenter is IceRocket, which also gives very good results. Interestingly, it shows relevant results that neither Technorati nor Google gave me. I'm guessing the reason for the three different sets of results is that each engine has to decide for itself what "a blog" is, and how to make that cut.

In any case, the blog search sector is very busy right now. The competition can only make things more interesting.

The Aristocrats

Tuesday 13 September 2005

We saw The Aristocrats over the weekend. What a ride. If you've heard anything about this movie, you know it is a documentary about a dirty joke, actually about "the dirtiest joke". The joke itself is a simple thing, but the way the comedians riff on the guts of the joke is hilarious, and I found it fascinating to hear them create different structural variations, and philosophize about the joke, and comedy in general. About the filth: I don't care how toughened you think you are, you will wince at some point during this movie. You will also laugh your ass off.

Surfers Healing

Sunday 11 September 2005

Surfers Healing is an organization which organizes day camps at the beach for autistic kids to go surfing. Nat loves boogie boarding, so I'd jump at the chance to get him on a surfboard to see what happens.

At first, I was skeptical about the "healing" part, but there are other kinds of healing than reversing the damage of autism. It would be a fun day at the beach, and that can only be good for Nat, and for the whole family. And seeing a disabled person doing things you didn't think they could: that's definitely a form of healing.

Doorknob monsters and Jimwich's faces

Sunday 11 September 2005

The other day, my seven-year-old showed me a "doorknob monster". You look at a door edge-on, the doorknobs on either side are the eyes (on stalks!), and the latch thingy is the tongue. You can make the tongue move in and out by turning the knob:

A demonstration of the doorknob monster

It reminded me of Jimwich's faces, a series of office objects that look like faces. My favorite is the operatic stapler, which I didn't even "get" until my son pointed it out to me.

Faces project management

Wednesday 7 September 2005

Faces is a project management tool. It makes an interesting compromise in the tradeoff between GUI and text entry: your project data is entered as stylized Python code, and a GUI lets you examine the project and its estimation results graphically. This lets the developer focus on calculation, the part you really need the computer for.

I took a similar approach when I built Nat's World, using Python to craft a mini-language to describe the environment.

py2exe 0.6.1

Tuesday 6 September 2005

Yay! A new version of py2exe is out, and now it can make single file executables. Earlier versions would create Windows executables, but they needed a flotilla of a dozen or so other files around them. 0.6.1 can bundle everything into one exe, simplifying distribution. Yay!


Tuesday 6 September 2005

Mint is a new web server statistics package. Its slant is that it is simpler than other packages like Awstats or analog. Some people feel this is a negative, others think it is Mint's strength:

Mint, as the name so cryptically implies, is designed to give you a “fresh look at your site”. A slice in time, if you will. Where has my traffic from the last 48 hours come from? What days of the week does activity on my site peak? What terms have people possibly been searching for that could lead them to my embarrassment-of-a-website?

Mint grew out of a desire to maintain a rolling window, or dashboard, of activity with which one could easily analyze what’s going on in the here and in the now. Not so much in the two years ago. It is this philosophy which allows Mint to maintain such a small database (generally around 20 megs, but fully customizable) and yet provide such great functionality.

Mint is also different from most other packages, in that it uses JavaScript on the pages to collect information, rather than analyzing the server logs. This allows it to exclude referrer spam, but means requiring JavaScript in your readers' browsers.

Threads cannot be implemented as a library

Tuesday 6 September 2005

Programming with threads has always been a tricky proposition. Reasoning about multiple threads of execution, and properly implementing locking strategies is difficult to do properly and requires great care and attention to detail. Unfortunately, it may not even be possible, as Hans-J. Boehm shows in his paper, Threads Cannot Be Implemented as a Library. He demonstrates that in the presence of optimizing compilers, you can't know the sequence of operations really being executed in your code, and therefore, you can't correctly call thread primitives in libraries. Only threads implemented as part of the language can be correct in all cases.

This stuff is fascinating, but it hurts my brain!

Cyan Worlds shuts down

Monday 5 September 2005

Ryan "Grey Dragon" Warzecha reports that Cyan Worlds has laid off all but two employees. Cyan Worlds is the company that made the original Myst game, and all of its sequels. Another Cyan worker posted a letter from Chris Brandkamp, a Cyan VP, detailing how there's No room for creativity in the gaming industry.

I think it's a crying shame that games like Myst aren't as successful as the shoot-em-up games are. I've never been interested in twitchy shooting games, and I found Myst incredibly involving. As Brandkamp says, the Myst-style games, with their puzzles and animations are too labor-intensive to compete with first-person shooters which are essentially giant physics engines.

The closing of Cyan is a big deal in this household. How did we commemorate the closing of a very cool company? How else? We made a cake:

Cyan Worlds logo cake

PocketMod and D*I*Y Planner

Monday 5 September 2005

Along the same lines as the Hipster PDA, PocketMod is a paper-based organizer. You use a Flash application to arrange page modules onto an 8-page layout, then print the whole thing as a single sheet of paper. Then, with a nifty cut-and-fold technique, you end up with a mini organizer that fits in your pocket.

D*I*Y Planner is a similar idea, more open-ended, but without the nifty Flash and origami flavor.

Omer Trajman

Monday 5 September 2005

Omer Trajman and I seem to travel on similar tracks. First I met him at BloggerCon II, then again at a Boston Python Meetup, and then just last week I bumped into him at Herrell's Ice Cream in Harvard Square (the one with the bank vault).

He's a clever guy, and although he is much younger than me, he has a much more interesting resume so far. He also has a blog, but it's a little sparse so far. Maybe with some encouragement, we can get him to launch himself more fully into the blogosphere.

Katrina on Google Maps

Saturday 3 September 2005

I've never known the first thing about the geography of New Orleans, but in the last week I've looked at it on Google Maps quite a bit. Each time, I was aware of this odd sensation: I was looking at the satellite pictures to understand this recent disaster, but the pictures themselves were showing me a happy healthy New Orleans. I've thought, "I wish I could see the way it looks now."

Today I went there to find out where Bourbon Street is, and I noticed that in addition to their original three choices of Map, Satellite, and Hybrid, they've added a fourth: Katrina. It shows satellite imagery of New Orleans taken on Wednesday, August 31st!

The pictures are darker than usual, so it's hard to tell what I'm looking at, and hard to tell what is flooded, and what is not. But it's awesome that it could be done.

Please help me export movies from Premiere

Saturday 3 September 2005

Last year, I asked for help getting reasonable movies from Adobe Premiere Pro. I still need help. I don't care what format the output is, but I need them to be reasonable size, reasonable quality, and reasonably viewable by the general public (in terms of platform support). I have Adobe Premiere Pro 7.0 on Windows, and I have iMovie on an iBook running OS X 10.3. Any tips will be greatly appreciated. I've poked all around the settings, and none of it makes sense to me. Please put a comment here, or drop me a line if you know anything about this stuff. Thanks. In return, I'll help you however I can.

Database: what's a base?

Friday 2 September 2005

I saw the word database today with a hyphen in it ("data-base"), and it got me thinking: who coined the term "database", and where the heck did that suffix -base come from? These days we see it all over. It's used to imply database-like behavior, because it was lifted from database. For example: knowledgebase, infobase, videobase, metabase, sportbase, imagebase, and so on.

But whoever coined "database", why did they choose -base as a root? What did it mean then?

Update: a helpful reader (thanks, Ken!) sent along the Oxford English Dictionary entry for database:

1. A structured collection of data held in computer storage; esp. one that incorporates software to make it accessible in a variety of ways; transf., any large collection of information.

1962 Technical Memo. (System Development Corp., Calif.) TM-WD-16/007/00. i. 5 A 'data base' is a collection of entries containing item information that can vary in its storage media and in the characteristics of its entries and items. 1967 E. R. LANNON in Cox & Grose Organiz. Bibliogr. Rec. by Computer IV. 83 The Search area provides a means of querying the data base. 1971 New Scientist 4 Mar. 498/1 A database is a generalised collection of data not linked to one set of functional questions. 1972 Computer Jrnl. XV. 290/1 Engineering information files set up on disc by Hawker Siddeley Aviation Ltd...form the data base for a fully integrated production control system. 1972 Science 3 Nov. 472/1 The data base from which the volumes are compiled is maintained on magnetic tape and is updated weekly. 1973 Nature 13 Apr. 485/1, I gave a list of the fifty most cited authors for 1967, using the 1967 SCI as the data base. 1974 Florida FL Reporter XIII. 88/2 A number of sociolinguists..gradually moved closer to the creolist position as their data-base expanded. 1981 IBM Jrnl. Res. & Devel. XXV. 505 Around 1964 a new term appeared in the computer literature to denote a new concept. The term was 'data base', and it was coined by workers in military information systems to denote collections of data shared by end-users of time-sharing computer systems. The commercial data processing world..appropriated 'data base' to denote the data collection which results from consolidating the data requirements of individual applications. 1984 SMITH & BAILEY Mod. Eng. Legal Syst. i. 10 It would..cause chaos, even in an age of computerised legal data bases, if every decision on whether a defendant had behaved 'unreasonably'..could potentially be cited. 1985 Sunday Times 10 Mar. 80/3 CIR went through its data-base looking for companies interested in investing in new ideas in electronics. 1985 Ashmolean IX. 1/1 A museum and its records are one vast database.

Blogging from New Orleans

Friday 2 September 2005

The story from New Orleans is mind-boggling. It is shocking to see a city crumble. Every day is bringing more horror stories about confusion, desperation, looting, and death. It's hard to picture the situation from anywhere else. Remarkably, Interdictor is blogging it. He works for directNIC, and he's camped out at their data center on the 10th floor of a tower between the Superdome and the Convention Center, keeping it running on diesel generators. He's posting photos, news, rumors, impressions, questions, everything. It's fascinating, heartbreaking, and spellbinding.

Interactive debugging in python

Friday 2 September 2005

One of the standard Python tools I haven't made enough use of is the built-in debugger, pdb. Jeremy Jones gives us a tutorial on it: Interactive Debugging in Python. I hope his assessment of the place of the debugger in a programmer's toolbox is inaccurate, though:

Programmers typically place debuggers in the "uh oh" corner of their toolboxes, somewhere between the network packet sniffer and the disassembler. The only time we reach for a debugger is when something goes wrong or breaks and our standard debugging techniques such as print statements (or better yet, log messages) do not reveal the root of the problem.


Thursday 1 September 2005

One of the temptations we developers face these days are all those sleek exotic languages that we'll never have time to master, even if we do manage to dip our toes in occasionally. Each has its proponents and its strengths, but we just don't have enough time to use them all. So isn't it great when another language's strengths can be brought into one we already know?

Michael Hobbs has written Candygram, an implementation of Erlang's concurrency primitives in Python. And he's got a sense of humor about it. From the FAQ:

6.1 Why is the package named Candygram?

The name Candygram is actually an acronym for "the Candygram Acronym Does Not Yield a Good Reference to Anything Meaningful."

6.2 But wait, doesn't that spell CADNYGRAM?

Yes, you are quite observant. In order to form a compromise with the French acronym, which is CANYDGRAM, the Candygram committee standardized the official acronym as CANDYGRAM.

« | » Main « | »