Getting the point of Skype and chat

I signed up for Skype a while ago, put EUR 10 into my account, and made a few calls. It was cute, it worked, but after a couple of experiments I couldn’t see the big deal. After all, Skype lags by a second or two (like the old trans-Atlantic cables), it has poor sound quality even compared to my cell phone, and phone calls in North America, even long distance, are so close to free that Skype hardly matters.

Over here in the Amsterdam this week, it’s a different story. My North American cell phone doesn’t work (of course), calling from the hotel is ridiculously expensive (even calling a toll-free number), and there are very few public phones. All I need is a wireless Internet signal, though, and I can call home on Skype to my heart’s content for (literally) pennies. Even more importantly, I can call North American toll-free numbers directly, something that’s not otherwise possible at any cost from Europe. OK, now I get the excitement around VoIP.

Instant messaging (aka chat) has been around in various guises a lot longer than Skype, but I’m in my fourties, and thus, a little too old ever to have used it socially. What finally changed that is Google’s integration of IM right into their webmail service. While I’m reading my GMail, a little green light goes on when anyone I know is reading at the same time (the joys of AJAX). After midnight Amsterdam time last night, I ended up with three chat windows open — one for my spouse, and one for each of my kids — carrying on three separate private conversations about how their days had gone. I could have called on Skype, of course, but I couldn’t have talked privately to all three at once, and I wouldn’t have known when they were all free without those little green lights. While typing furiously and switching among windows, I got perhaps a tiny taste of what it’s like to be a hyperactive 16-year-old girl.

XTech, AJAX, and Rails

Speaking of AJAX, IDEAlliance staff has told me that the AJAX developer’s day here at XTech 2006 has been so popular that it’s almost overwhelmed, with a huge number of last-minute walk-ins. The Rails tutorials have also been popular. There’s obviously a lot of demand for AJAX and Rails information over here — good job, Edd.

Now, back to age-appropriate communications. When’s the penknife to sharpen my quill? …

Tagged , | 3 Comments

Giving thanks

Over on XML.com, David Peterson gives Microsoft some well-deserved thanks for implementing and popularizing the XMLHttpRequest object that’s so useful in modern web development. He also thanks them for not charging for it, but of course, if they had tried to charge it never would have become popular (from SAX, I know that paradox well).

Omissions

There are a couple of problems with giving thanks to inventors, though. The first is that you inevitably leave people out. David, for example, thanked Microsoft for all of AJAX and modern web development in general. AJAX doesn’t consist solely of XMLHttpRequest, however; it also needs JavaScript and a DOM (both pioneered by Netscape) to manipulate the client display, and something like XML (W3C) or JSON (Douglas Crockford) to encode the messages. Most modern web developers also want CSS (Håkon Wium Lie and Bert Bos). And then, of course, there’s HTML and HTTP (Tim Berners-Lee). To illustrate my point, I’ve certainly left out a lot more that I could have included here, and have likely misassigned at least some credit.

Death of the inventor

The second problem is that it almost never makes sense to assign credit to individual people or companies. Who should get credit for SAX? Me, because I coordinated it? James Clark, because I based many of the ideas on his earlier SGML interfaces (and he suggested many of SAX’s features)? Tim Bray, because he thought up a catchy name? The other dozens of other xml-dev members who contributed most of the core ideas? The major software vendors who actually decided to use SAX, giving it credibility outside of the xml-dev community?

The same applies to just about every other technology we use. Not only do they depend on other innovations (the Web without TCP/IP? SAX without XML?), but the successful innovations are almost always simple and obvious, so their main value comes not from any particular technical brilliance but from the brute-force fact that lots of people use them — in other words, community-building is more important than innovation. Microsoft imitated Netscape’s level-0 DOM, and then the W3C standardized it so that it would work across browsers, then browser developers agreed to follow along, then web developers decided it was safe to start using it. Microsoft initially failed to build a community for XMLHttpRequest (which was a proprietary ActiveX component), so it languished mostly unused for years, until other browsers like Mozilla/Firefox, Safari, and Opera decided to support it as well — it was only then that we started to see a real community grow, and high-profile sites like Gmail and Google Maps take off. Tim Berners-Lee’s original HTML would hardly have mattered if the early Mosaic browser hadn’t shown how to make it user-friendly. Etc., etc. While Netscape introduced some good ideas like the DOM and Javascript, they also introduced some that flopped (does anyone else remember CORBA in the browser?) — no community of users, no success.

Thank the users

The moral of the story is that technology success is not something that a person or company gives to the net, but something that comes back from it, as if you threw a stone at a tree without knowing whether an avalanche of silver or of bird dung would shower down from the branches onto your head. A complex, brilliant idea with no users is worthless; a simple, mediocre idea with lots of users is a treasure.

Posted in General | Tagged | 2 Comments

Mobile Web at XTech

Michael Smith has a short post about the Mobile Web Morning at XTech 2006 next week in Amsterdam. I’ve been excited about the mobile web for a long time — granted, it’s been slow taking off, but with mobile phones as the only form of connectivity (voice or network) for much of the developing world, I think that it’s bound to become hugely important. I’ll be charing the first session on Friday morning, and hope to see many of you there.

Posted in General | Comments Off on Mobile Web at XTech

How many environments?

Assume that you are a lone developer, maintaining a small web site in a shared hosting account. How many software environments do you need from development to production?

One environment

On the simplest level, you could develop directly in your ISP account, loading and saving files remotely via SFTP, WebDav, etc. — in other words, your development and production environment would be the same. For anything non-trivial, that’s a pretty hairy way to work, since you have no way to test changes before they’re rolled out into the world.

Two environments

I normally use the two-environment approach that (I suspect) is the most common one for single-developer LAMP sites: I maintain a development environment on my notebook, and periodically upload changes to the production environment at the ISP. I try to run roughly the same version of Apache, PHP, MySQL, etc. as my ISP, but otherwise, I take no special steps to replicate the production environment. On my notebook, I set up the development directory as its own virtual host (e.g. http://localhost:8001/, etc.) so that I can test changes literally as I type.

Three environments?

Even though there are no other developers working with me right now, I sometimes wonder if it would make sense to start using a third environment between development and production (a separate directory and virtual host on my notebook). A third development would allow me to run major experiments and restructuring in the development code, while still making small bug fixes, typo corrections, etc. in the stable code before uploading them to my ISP production environment.

While this sounds like a good idea initially, there is a major coordination problem involved in backporting fixes from the middle environment to the development environment, and the middle environment will still become unstable while new changes are rolled out into it, tempting me to create another environment — complexity is, sadly, highly contagious. Have any other lone developers had success (or failure) with this approach?

More

Big organizations use an enormous number of environments to build and roll-out a system:

  • Each developer’s desktop, where code generally lives for a few hours.
  • The development server, typically a single server running database, application server, etc. as well as version control unit/regression tests.
  • One or more test environments, covering integration testing, system testing, user-acceptance testing, etc. (these can range from single servers to small clusters to near-duplicates of the full production environment).
  • The staging environment, which is typically very similar or identical to the production environment.
  • The production environment, where the system runs.

I’m still undecided about whether enterprises help or hurt themselves by making things so complicated — coordinating a lot of people on a big system is hard, it’s even harder to imagine an agile process functioning under so many layers of pain.

Tagged , | 7 Comments

Announcement: The XML Scholarship

In conjunction with the XML 2006 conference from 5-7 December in Boston, IDEAlliance will be awarding the first XML Scholarship. This scholarship is open to anyone who is enrolled as a student in a diploma or degree program at a post-secondary institution.

The scholarship winner will receive the following:

  • An award of USD 1,000.00.
  • A travel stipend of USD 500.00 to attend the conference.
  • Free conference registration.
  • Two nights accomodation in Boston.

A team of well-known XML specialists will choose the winning paper: for 2006, the scholarship committee consists of Dr. Mary Fernández (AT&T), Dr. Michael Sperberg-McQueen (W3C and University of Bergen), and Dr. Henry Thompson (W3C and University of Edinburgh).

We encourage the submission of case studies and project reports as well original academic research. This is a great chance for a student to present her or his work to an audience of industry specialists, including senior people from many large technology companies; it’s also a great chance for us in the XML community to learn about and encourage the next generation of specialists — I’d like to encourage people to publicise this as widely as possible, especially if you have connections with an educational institution. Full details about the scholarship are available at http://2006.xmlconference.org.

(Technorati: )

Tagged , | 1 Comment

XML 2006 website

The first draft of the website for the XML 2006 conference (Boston, 5-7 December) is now online at 2006.xmlconference.org (xmlconference.org redirects to it). This site will grow as the conference gets closer and will eventually get a proper logo, but I’ll try to keep it simple, fluid, and uncluttered.

Please let me know what features you think would be most useful. One that I’m considering is a comment page for every paper abstract on the program (each with an RSS or Atom feed), so that people can talk about papers, make suggestions, and ask questions before the conference even starts. I hope that at least a couple of the papers will spark some interesting conversations that people can continue at the conference in December.

Watch for a surprise announcement later this week.

(Technorati: )

Tagged | Comments Off on XML 2006 website

Tired of frameworks

I’m tired of software-development frameworks — they seem always to be optimized for the way someone else works, or for the way someone else thinks I should work. Granted, it’s fun to write frameworks, and it’s almost as much fun to learn them, but as soon as I try to do anything non-trivial they either get in my way or lure me off the road into blind alleys.

Is this a serious defect in my own skills and practices, or do others feel the same way? To paraphrase an almost-famous saying by Tim Bray, here’s what I want most from a development environment:

Tagged , | 5 Comments

A breath of intellectual-property sanity

As most of you probably already know, Dan Brown, author of the (unintentionally) hilarious novel The Da Vinci Code, has won a copyright-violation case suit brought against him by authors of one of the books he used as a source (CBC story).

When trying to explain the absurdity of software patents, I’ve often used the example of books and movies. Imagine if someone could patent the idea of, say, a guy starting out badly and then redeeming himself, or of a man and woman appearing to hate each-other and then falling in love. While the Brown case used copyright rather than patent law, it came terrifyingly close to my example, since two authors (who do not deserve to be named or linked to here) accused Brown of stealing the idea of Jesus marrying Mary Magdalene and having kids, etc. from their book. Fortunately, the judge seems to have laughed the plaintiffs out of court, even referring to them as “authors of pretend historical books.”

There’s something else here that you might initially miss, however. Not only did the plaintiffs lose, but the judge ordered them to pay Brown’s publisher’s legal costs — that’s very common in Canada, and apparently also in Great Britain (where this case took place), especially when a judge believes that a lawsuit was unjustified. The two authors who sued Brown will have to pay a few hundred thousand pounds now. If U.S. courts commonly did the same thing, then maybe spurious law suits fishing for big settlements would be a lot less common down there.

Tagged , , | 4 Comments

XML and Flash sell SUVs

Take a look at this SUV commercial parody, sent to me by an acquaintance (quickly, before GM pulls the link).

General Motors has a new online marketing campaign for the Chevy Apprentice, where you can design your own TV commercial and play it back using Flash. You can also enter your commercial into a contest. Inevitably — especially with the SUV’s reputation (deserved or undeserved) as a poster child for environmental destruction and a high roll-over fatality rate — such a contest can attract, say, less-than serious entries.

The parody linked above is side-splittingly funny, but I’m posting about it here because the Flash always begins with the message “Loading XML…” That led me to a few observations:

  1. GM is using XML to save the scripts for the customized commercials (does any Flash-type know how to get at the raw XML? I’d love to see the markup.)
  2. GM is advertising the fact that they’re using XML to save the commercials (or else Flash is forcing them to, but I don’t remember seeing that message with other Flash animations).
  3. Perhaps XML is so cool that people want to point out that they’re using it.
  4. Or, perhaps GM wants to make sure that XML gets the blame if the commercial loads slowly.
Tagged | Comments Off on XML and Flash sell SUVs

The slow, painful death of television

Statistics Canada has just published statistics about Canadian television viewing in Fall 2004 (via CBC). I loved TV once, and as I sit by its deathbed, I’m torn between wanting to hold onto it just a little longer and hoping for its suffering to end.

Not many years ago, before panicking about the Internet became fashionable, Moms-Who-Like-To-Worry were concerned that their kids were watching too much TV. Many moms even restricted or banned TV in their houses, ensuring that their kids would spend most of their after-school and weekend time at friends houses doing <so-called>homework</so-called>. Well, it turns out that by the middle of this decade, kids couldn’t care less — Canadian teens spent only about 12.9 hours/week watching TV, half the average for all ages. Men 18-24 spent only 12.4 hours watching TV. That still represents nearly two hours per day, which seems to me like a lot, but it’s been declining steadily over the years.

In contrast, now that their kids have left the nest and it’s safe to turn the TV back on, the Moms-Who-Once-Liked-To-Worry cannot tear themselves away — Canadian women over 60 watched 35.6 hours of TV a week, which is pretty close to a full-time job in North America or three full-time jobs in France. I wonder if their now-grown, formerly TV-deprived kids phone home once in a while just to yell “HYPOCRITE!” at them.

Teenagers don’t watch much TV, I think, because it cuts into their text messaging time (except maybe as background noise). Young males would rather play videogames or misrepresent themselves on MySpace. So who watches TV? Same as it always was: the Baby Boomers. TV was born with the boomers and perhaps it will die with us, even if we don’t get most of the jokes on the The Daily Show.

Tagged | Comments Off on The slow, painful death of television