robots to persuade humans with human-like voices

AT&T Labs is commercializing their recent advances in text-to-speech processing (a.k.a. talking computers) with Natural Voices. While the live demo still reveals its robotic ancestry, a few of the pre-recorded demos could really pass for human. Listen to one of the better samples (70Kb Windows Media).

It’s a big step from the standard text-to-speech quality available only a few years ago (hear a sample).

And so the anthropomorphization of robots inches forward.

 

Simple for sale.

37signals.com
The web interface specialists at 37signals have turned their experience on themselves and served up at nice redesign of 37signals.com. The old site lives on as the 37signals manifesto (worth reading for any web professional).

With the new site comes a White Paper on Contingency Design (‘design for when things go wrong’) that builds on the examples of contingency design, good and bad, at the previously linked Design Not Found.

The guys at 37signals also maintain a fine blog, Signal vs. Noise.

 

cookies web stats

Please pardon the self-serving post – but I am in need of some stats.

Does anyone know or know where I can find info on the percentage of general web users that have cookies enabled/disabled?

If so, contact me. Thanks.

 

when I grow up I’m gonna be a physicist

Brian Greene's The Elegant Universe
While aov rages with debate about web standards and development techniques, a regular reader speaks up for those who aren’t enthralled by cascading style sheets and asks us to throw them a conversational bone. Fair enough, how’s general relativity for a Sunday conversation topic?

Brian Greene’s The Elegant Universe is an introduction to string theory, the latest stepping stone in the scientific quest for the ‘unified theory of everything’. The book is intended for a general audience without an academic background in physics (that describes me pretty well – Physics 101 was at 8:30AM and my hair was always frozen from a quick shower and cold walk to the campus).

Greene’s book has been worth the price if only for the simple and graceful explanation of Einstein’s Theory of General Relativity in the first few chapters. Taking the leaps from Newton to Einstein as if they were steps in a walk through the garden, Greene’s gives a sort of history of modern physics for dummies. His ability to simplify and explain the abstract concepts of relativity remind me of how C.S. Lewis can simplify theology without sacrificing the integrity of the topic.

I remember torturing my high school physics teacher when learning about the laws of gravity. ‘What is gravity?’ I would ask. The answer would come straight from the textbook: ‘Gravity is the attraction between any two massive bodies, which is directly proportional to the…’

Of course, this is a descriptive definition. ‘Yeah, I know what it does, what what is it?’. I was genuinely curious, though my primary motivation was to illustrate that the teacher didn’t know – nobody knew.

Looking back, I give my teacher credit for not screaming that gravity was the warping of space-time but my puny 16-year-old brain was incapable of grasping the concept. She was a good teacher. Conceeding to our weak collective attention span, she read to us from a book called Einstein’s Dreams.

I feel, having begun The Elegant Universe, that I’m getting the answer to questions like ‘what is gravity?’ as well as they can be answered by modern physics to someone with no academic background.

Greene’s steers clear of the arrogance (however justified) of Stephen Hawking’s A Brief History of Time. Hawking’s writing leaves the reader feeling as though the author had to be persuaded by editors that it was worth writing for the average reader. Greene seems to relish in the potential of the much broader impact of simple and accessible writing.

Most fascinating of the many revelations in these first few chapters is the compounding of human achievement. Einstein found out what was wrong with Newton’s ideas (a profound discovery, of course) just as today’s physicists are trying to find out what’s wrong with Einstein’s ideas.

I am constantly amazed by this compounding effect of scientific and technological progress. In 1997, our beautiful Island province was connected to the rest of Canada with the construction of the 12.9Km Confederation Bridge. Every time I drive across the bridge, I marvel at how anyone was able to build such a fantastic structure.

I was wondering about this aloud at work one day (as I often do) and a co-worker drew an apt analogy to our work with software.

Each individual engineer and construction worker did their part, building upon each other’s work and expertise. The person who drives the crane (there was a very cool crane involved) doesn’t have to understand the effects of cold on the strength of concrete. The person who paints the lines doesn’t have to understand the aerodynamics of the structure in high winds.

Progress in software works in a similar way. When I call on a simple PHP function to show the date on a website, I don’t need to understand how PHP is interpreted. I don’t need to understand the network protocols used to transmit the process page to your computer. Basically, I don’t need to understand how computers work because someone else has done it for me.

All of this nonsense brought to mind the recently asked question: Is evolution finally over?. Could it be that this growing external knowledge base (as opposed to being stored in the memory of individual human beings) is the new evolution?

Today’s average civil engineer isn’t any smarter than a scribe of 3000 years ago. The difference is that the civil engineer has Newtonian physics and centuries of progress in chemistry at his disposal.

Futuretastic guru Ray Kurzweil has drawn this parallel between natural evolution and the progress of technology. He proposes that evolution and eventually technological progress fall on the same grand timeline. He goes so far as to suggest that this scale of progress, both natural and technological, has been accelerating according to an expanded version of Moore’s Law.

We are not standing on the shoulders of giants. Rather, we are standing on the shoulders of millions of average people.

 

An open letter to the web design community: Why should I redesign my site with Cascading Style Sheets?

Update – May 31, 2003: It’s been over a year since I wrote this and a lot has changed, this post about web standards better reflects by current view.

This article assumes a basic knowledge of web standards and languages, including HTML, XHTML, and most importantly Cascading Style Sheets. You don’t have to be an expert, but I’m assuming you at least know what they are (if you don’t, start here).

I’m in the early stage of planning a redesign of actsofvolition.com. Plans include a series of minor refinements and, most significantly, a move from ColdFusion to PHP for the programming. What I haven’t yet decided for the redesign, is what formatting standards to use. Should I stay with the tried and true HTML tables, or should I take the leap into the emerging world of Cascading Style Sheets?

The purpose of this article is to seek feedback, suggestions, answers, and ultimately a better understanding of the state of web design practices in the face of emerging standards. To immediately deflate any would-be critics, let me clearly establish that I welcome critical feedback. I’m going put forward complaints and grievances about designing with CSS and I want you to tell me why I’m wrong. Notice the italics, telling me that I’m wrong without telling me why won’t do any good.

Zeldman Rules, Netscape sucks
I do not criticize or question the work of Jeffrey Zeldman and The Web Standards Project in promoting the adoption and proper implementation of web standards. Over the past few years, I’ve grown to hate Netscape (version 4.x, that is) as much as any web developer. The non-standard nature of the Netscape 4.x rendering engine has cost my company and many others like it loads of time, sleep, and money. Like many web developers, I’ve had to become an expert in browser quirks. It is enormously important that someone is lobbying Macromedia, Microsoft, and Netscape to ship products that produce and interpret standard-compliant code. This is important work that I don’t have time to do – and neither does Jeffrey Zeldman, but he’s doing it anyhow.

Let it be understood that standards are inherently good. If every browser rendered HTML as defined in the W3C (World Wide Web Consortium) specifications, the world would be a better place. This cannot be understated. Broken browsers are a significant drain to productivity for web developers. Everyone should close their <p>’s and nest tags properly. I’m not questioning web standards. Rather, I’m asking why I should use CSS to design my site. These two issues are often confused, to the detriment of the dialog surrounding both topics.

Writing standard-compliant code and designing with CSS are not the same thing. However, confusion between the two is understandable. CSS is latest method of formatting web documents recommended by the W3C. This recommendation supplants the old HTML 4.x recommendations. Therefore, it is not unreasonable to suggest that in order to comply with the latest standards, one must use CSS. However, the latest standards are not the only standards. The HTML 4.x specifications have only recently gained real and complete support across a significant user base with the release of browsers like Microsoft Internet Explorer 5 & 6, and Netscape 6 / Mozilla. Web developers do have the option to design to the HTML 4.x specifications – these standards have not been depreciated.

Yes, I know, FONT tags suck
FONT tags are like my car – they suck, but they work, and they were respectable in their day.

HTML 4.x does have serious problems. The best example I’ve come across was during the development of an ecommerce site with FONT and TABLE tags. The design included a long list of product categories that was displayed on every page. The best possible formatting solution in this particular case involved each item being in its own cell in a table, each with its own FONT tag. In some sections of the site, there were as many as forty list items, meaning forty iterations of this tag <font face=”verdana, sans-serif” size=”-2″></font> in the code.

At the time of the development of the site I can remember thinking, there has to be a better way. Well, CSS is the better way, and it was just emerging at the time – the trouble is, CSS is still just emerging.

Watch out for the small print
In the hands of a knowledgeable developer those cursed FONT tags could be very powerful. Like many web developers who cut their teeth developing for Netscape 3, Netscape 4, and eventually Internet Explorer 4, I know the quirks of each browser and can get them to render text exactly the same way. By defining relative and absolute font sizes (relative being “-1” and absolute being “2”) developers could control whether fonts were resizable by the user.

If you’ll pardon the pun, user-resizable fonts are huge. The benefits of being able to increase the font size to users with accessibility issues are obvious – but there is more to it than making the text easier to read. User-resizable fonts were part of the Zen of web design – don’t struggle for control of every pixel, don’t use images where you can use text, build flexible liquid layouts, and make fonts user-resizable.

CSS as currently supported in widely-used browsers (the highest courts, in my opinion) kills user-resizable fonts. While CSS dictates that size can be defined by several methods, including keywords (small, x-small, etc.) and percentages, it is generally understood that the only safe method to define font size in today’s browsers is to use pixels.

The W3C is getting out of font resizing game altogether. In CSS2 they basically leave resizing up to the user agent (the browser). Opera and Mozilla comply with this recommendation, allowing the user to resize all fonts, even those defined in pixels by CSS. However, Internet Explorer 4, 5, and 6 (together comprising a huge majority of users) lock the size of pixel-defined fonts, regardless of users setting. Internet Explorer does allow the user to resize fonts defined by keyword and by percentage.

For many new sites, developers have given up on the idea of user-resizable fonts in favour of the benefits of defining fonts with CSS. I’m not content with this compromise – user-resizable fonts are simply too important. The best solution I’ve come across, and one I’ve used on several client sites is messy, but works. We’re using server-side browser sniffing to show some browsers percentage font sizes (thereby allows IE 4, 5, & 6, the majority of web users to resize their fonts), while showing other (dumber) browsers pixel font sizes.

This solution stems from a rule of thumb I use when deciding on technologies for clients: It has to work perfectly for most people (preferably 95%+) and it has to work for everyone else.

Separating style from content – Isn’t that what databases are for?
The strongest case for the adoption of CSS is the ability to separate style from content. A series of documents formatted with CSS can all be styled centrally with one CSS file. Emphasis and structure can be coded with HTML, while style and design of how that emphasis and structure are visual represented can be controlled separately. This makes sense.

Separation of style from semantic content is, in theory, necessary for content to be accessible via alternative means (screen readers for example). Whenever someone says “in theory” and it turns out not to be true, the theory must be examined. The self-proclaimed accessibility curmudgeon, Joe Clark has stated that “the accessibility defects of tables are overblown or outright false.” Screen Readers have gotten smarter at handling table-based layouts.

In response to skepticism towards CSS by web writer Dave Winer, it has been argued that CSS will allow for better forward compatability. Winer boasts a significant archive of web writing compiled over the last five years. What happens five years from now, when desktop web browsing may be be a historical anomaly and Dave’s pile of HTML archives will be dated and potentially inaccessible? If Dave’s archives were a pile of HTML files, this would be a legitimate concern.

However, Dave knows better then to store precious data in text files – he’s using a database. Everyone’s using a database. I think this simple fact has been missing from the dialog surrounding the separation of style from content. If Dave has his archives in a database, he can pull the content into whatever format display technology is standard in 2007 – probably with 5 minutes of work.

I’ve been involved in ecommerce sites with thousands of products (each with their own ‘page’) that are based on a handful of simple HTML templates. If I want to redesign all product pages, I redesign the product template. If the site started with HTML 3, I can update the entire site to XHTML 4.01 in a matter of minutes. That is separation of design from content, in practice.

The power of databases and templates don’t necessarily negate the benefits of smart formatting standards, but the discussion of separating style from content is incomplete without discussing databases.

actsofvolition.com currently comes in three flavours: Classic (the normal HTML version), Handheld-Friendly (a simple text-only version intended for small screens), and RSS (an XML format for syndication of headlines). After the HTML version of the site was setup, the alternative versions took literally minutes to build – and I am not an expert programmer (I’m really not a programmer at all).

Separation of content and design is, in some ways, a myth. Content can not be thoughtlessly and automatically repurposed for different medium (for example, aov for handheld computers strips out images but occasionally there will be a post that loses its meaning without the image – it doesn’t make any sense out of context).

The semantic web is going to happen on the server side, in the hands of the content creator, not the client side.

For example, when Wired News wanted to deliver tech news headlines to the handheld-equipped startup-happy tech masses, they had two options. First, they could have designed a website that used the latest standards and used medium-specific style sheets for all layout and formatting. Then, they could just have a simple ‘handheld device’ style sheet that would make the site readable on a handheld. To be fair, the standards still aren’t implemented well enough to pull this off today, let alone three years ago, but it’s the ideal goal, so bear with me. The second option was to pull content out of their database, have good editors re-work it for the ridiculous reading-style of a tiny handheld screen, and create a completely separate handheld news site.

In a move that went on to make them one of the most popular handheld news services on the web, Wired went beyond building a separate handheld-friendly layout. The editors at Wired actually created handheld-friendly writing. References to external links, images, and the general length of stories, headlines, and story-teasers were all edited with the handheld reader in mind. The success of the services that Wired built on these principles is a positive example of how content needs more than just new templates to make sense in a new medium.

So, do I use CSS or not?
I reserve the final decision on whether or not to use CSS in my pending redesign until I’ve had and chance to absorb the feedback I get from this article. However, I am leaning towards a solution that is intended to backup the points made here about the importance of the database in the separation of style from content.

I’m going to do both. I will build a solid XHTML/Tables-based layout that will work on the popular browsers, and I will build a CSS-only/table-free layout. Why do both? It’s certainly not to entertain readers. I’ve never been one for the user-customizable layouts. Rather, I’m planning to do both to show how easily it is to customize presentation with a database.

Zeldman points out that on the web, “tutorials are misread as manifestos, and wee improvements are heralded as breakthroughs”. Absolutely true. This article is neither a tutorial nor a manifesto. Rather, it is thoughts of a web develper who spends his days building web systems, wondering out loud as to the best coding practices. As I’ve stated at the begining of this article, I welcome feedback, but don’t bite my head off – explain your position in relation to the points I’ve made here.

Update – May 31, 2003: It’s been over a year since I wrote this and a lot has changed, this post about web standards better reflects by current view.

 

rumblings of a version 2.0

The low-level brain rumblings of an Acts of Volition re-development are underway. I call it a re-development because it’s not really going to be a re-design – I’m pretty happy with the way aov looks right now. However, it’s going to be completely overhauled from the back-end (snicker).

Here’s your chance to be ignored: what features would you like to see on Acts of Volition?

To get you on the right track, here are a few vague ideas I have in mind:

  • improving the ‘recent conversations’ to highlight new items since your last visit
  • maybe a spell checker on the replies form (if I can’t find a simple one that works well and doesn’t get in the way)
  • improved searching including searchable reader replies
  • general smoothing – simplified permanent links, simplified URLs, etc.
  • more grandmother sex (hey, according to our search engine referrals, that’s what the people want!)

And for any who may be interested in the technical side of aov:

  • I’m considering a CSS (Cascading Style Sheets) layout – I don’t think the browsers support CSS well enough for complete CSS sites for my clients, but aov is a good place to experiment with it (Netscape 4 users – it’s only gonna get worse).
  • One thing is for sure – I’m going to be moving from ColdFusion to PHP as my development platform. The move follows a switch made in early 2001 by our development team at silverorange. I’ve got to keep up with them in order to take advantage of them.

Your feedback will be read mostly for our own entertainment purposes.

 

aov on the radio

Apparently Acts of Volition was discussed along with Reinvented.net on this afternoon’s edition of Mainstreet on CBC Radio.

Unfortunately, some kind of Olympic conspiracy seems to be preventing RealAudio archiving of CBC radio content, so we can’t link to it (you can always amuse yourself listening to the last time Acts of Volition was on the CBC).

If any of you heard the piece, let us know about it.

 

Banking feature request: Simple spending categorization

I use either my credit card or debit card for almost everything purchase I make (curse Tim Horton’s for their cash-only policy!). It follows that somewhere, a robot (also known by its more innocuous name, ‘computer’) knows what I’ve bought, when and where I’ve bought it, and how much it cost.

This is all the information I need to really understand where my money goes every month. However, the format I get it in isn’t much use to me. Every month I get a few out-of-date account information mailings from my bank and credit card provider listing my purchases in chronological order. I could sit down with a calculator and figure out how much of my money goes to food, entertainment, utilities, etc.

Sure, I could do that, but this isn’t people work, its robot work.

Here’s what I want, a simple new feature on my web-banking. I want to be able to create categories of spending (and maybe even sub-categories) that I can use to label each of my purchases. For example, I would create a category called Groceries which I might break up into subcategories (Real Food, Junk Food, Other Stuff). Other categories would include Utilities (phone, electric, etc.), Insurance (car, other insurance I should have, etc.), Rent, Car (gas, repairs, racing stripes, etc.), Entertainment (movies, games, clowns, etc.).

a simple example of how the categorization would work - click to a larger view

I would be able to run through my purchases, labeling each of them as one of my categories. Then, I could get a simple breakdown of my monthly spending by category. Wouldn’t you love to know how much you spend a year at the Quick-E-Mart!

I could do this myself with a spreadsheet and some free time, but it would be such a simple addition for existing web-banking systems (see a simple mockup). Perhaps some already have something like this? If only the banks would compete for my petty accounts.

For more dreamy web-banking, see 37signals’ 37FAKEBANK.

 

The Open Music Project

Rob and I have been toying around with an idea on and off for the past year (read: we’ve written a few emails). The idea, which would be called the Open Music Project, if the name wasn’t already taken, is basically open source music.

The raw, isolated tracks of a recording can be compared to the un-compiled source code of software. The mixed-down and mastered final track that you’d actually get on a CD is analogous to the complied binary code you run on your computer.

In the same way that compiled code can’t really be edited or modified, it is difficult to work with mixed down finished music. It is difficult/impossible to isolate the individual tracks and do anything useful with them (not really an issue, since most music is copyrighted anyway).

Our idea is to have willing musicians and engineers producing music that is open and available for others to use, modify, and redistribute. The music would available in its raw individual tracks, so any or all of it could be used by other.

I’ve been amazed at how the open source software initiative has mammoth corporations, independent developers, non-profit organizations, and small businesses all working to their mutual advantage. It’s not a perfect system. Open source software, since it is developed by developers, usually for their own benefit, is often weaker in the consumer application area and stronger in development software. I’m not sure how these tendencies would manifest themselves in terms of music and musicians (what do you get when you have a bunch of musicians producing music for themselves rather than for an audience – good music, perhaps?).

This idea hasn’t been in the over for very long. One of the big issues would be file formats. There are good and widely supported formats for straight stereo audio (MP3, Ogg Vorbis, Windows Media, etc.). However, it would be idea to have some good standard multi-track formats that were widely supported (perhaps there are? ProTools, Cakewalk, Cool Edit Pro, etc.). Worse case scenario, individual tracks could be distributed in isolated files (MP3, for example) and be re-assembled in a particular musician’s multi-track software of choice.

Is this a good idea? Is it a stupid idea? Would it work? Why? Why not? Has it already been done? Let us know what you think.

I’m really hoping we can call it the Muzilla project. Maybe someone else should name it.

 

What I learned in high school (and still remember)

My clearest memories my high school days have little to do with high school itself. I remember the days we skipped school, driving in my parents Saturn and listening to Poor Old Lu.

That’s not to say I didn’t leave high school having learned some valuable lessons. I had a few fantastic teachers. Still, the lessons I will really take with me through life came not from my teachers, but from my fellow students.

Today, I share a few of those timeless lessons that I can still remember from high school:

  1. Don’t be nervous – nobody gives a shit about you.

    This astute observation came to be from the guy who sat next to me in French class. He wasn’t really a friend of mine, just some guy. It was that dreadful time of year when we all had to give two minute oral presentations to the class (two minutes – in French). Like most of my unfortunate classmates, I hadn’t yet had enough life experience to put the gravity of an event like this in its proper context. As far as I was concerned, it would be the end of my little world.

    My fear must have been apparent to those around me, because the guy next to me leaned over and said something like “easy buddy – nobody gives a shit about your speech”.

    He wasn’t trying to reassure me. On the contrary, his tone was so condescending and detached that it was clear he had little concern for my wellbeing. It was also clear that he sincerely believed this. He went on to explain, ‘Do you care about anyone else’s speech?’ No, I didn’t – not in the least. My nervous young mind slowly followed the logical steps to the inevitable conclusion: No one cared about my speech either – I was one a large group of insignificant nobodies – so relax.

  2. Stuck at a party with orange cheezy stuff on your fingers with nothing to wipe them off in site? Use your socks.

    This advice wasn’t given directly to me. Rather, I overhead a guy in my class explaining his brilliant discovery to an eager and attentive audience from the surrounding desks.

    His logic went something like this: You can’t lick your fingers; it’s considered rude (apparently a big concern of this particular fellow) nor can you wipe them on your (visible) closing, as it would leave a big chemical-orange perma-stain.

    The solution was so elegantly simple that it had escaped all of us. Pull up your pants a bit, and wipe your hands on your socks. No one is the wiser.

    I’ve done this.