Dan Appleman: Kibitzing and Commentary

My personal blog

The Invasion of the Pod(caster) People

It’s the killer app – the one that’s going to revolutionize content and media distribution. Your life will never be the same. It’s a truly disruptive technology that will completely shake up the industry. Billions will be won or lost as companies race to become the leader in this new wave of technology (oops, strike that – my mistake. Nobody except Apple will make a dime because it’s mostly open source). Developers and geeks will pounce on the podwagon, afraid of being left behind the next great wave of technological progress.

Yep, another earth shattering technical revolution is being hyped up the wazoo. And having lived through so many of these earth shattering ultra-hyped revolutions, I great this one with a resounding… yawn.

Now, don’t get me wrong. Many of the things people are saying about podcasting are absolutely true. The trend towards large number of individuals producing content, already prevalent on the Internet in text form, is certain to spread into audio and video. The tools are getting better. And with video and audio editing almost routine among kids today, the trend is clear. And using RSS (or it’s successors) to subscribe to content, along with tools to automatically download it to a media player, are innovative, yet at the same time logically inevitable advances.

But there are some additional forces at work that lead me to question the hype in this case.

Podcasting is essentially a distribution mechanism for audio content. But while some people do best with audio, it’s a relatively inefficient way to acquire information. Most of us read faster, and given that we are already overwhelmed by far more information than we can process, the idea that audio will somehow gain comparable traction to text blogs is questionable.

Yes, audio is important – commuters who currently listen to talk radio or audio books will find podcasting useful, and those represent large niche – but a niche nonetheless.

Podcasting is getting a lot of hype, and bleeding edge geeks are jumping on the bandwagon, figuring out how to launch their own audio-blogs, and they will meet with some success and gain listeners. But today’s exponential growth curve is going to hit a wall, and soon. And the growth will slow and maybe stop, and the media will write in dismay about another failed technology, until at some point, maybe a few years from now, maybe more, the world will catch up and podcasting will become routine. Except it won’t be podcasting – it will be vidcasting – with automatic downloads to tommorow’s handheld video player devices or cell phones, and the feeds will be short comic bits from places like The Onion and the Daily Show, or short news clips from CNN.

Reinventing Software Licenses

Let’s start with the obvious. Almost nobody reads software licenses. You know why – they’re incomprehensible, too long, and in cases where you have to use the software anyway, you’re stuck with the license regardless. The only exceptions are the large corporations who have the lawyers, time and money to deal with them. Normal people don’t bother.

Unfortunately, this has some pretty serious side-effects. Aside from the obvious fact that millions of people are in effect agreeing to contracts they’ve never read, one of the common ways that spyware and adware are spread are by having users agree to them without realizing they are doing so.

I think it is time to completely revolutionize the way we deal with software licenses. To do so, I offer the following modest proposals.

  • A law should be passed that restricts the length of software licenses for consumer software to no more than 500 words. For comparison: the BSD Open Source license is 225 words, The Claria (formerly Gator) adware license agreement is over 6600 words (15 pages single spaced).
  • Software licenses must be written in plain language that can be clearly understood by the average 13 year old.
  • Security updates to software may not include any license terms that were not present in the original software.
  • No license for released (not beta) software may include any terms that restrict speech, review or benchmarking of the software. For a software publisher to restrict free speech and commentary on their products is shameful and unethical. I do think, however, it’s fair to require that any benchmarks include the source code of the benchmark so people can independently review the results.

My Challenge to Microsoft

As the software industry leader, I call on Microsoft to take the lead in coming up with creative and user friendly solutions to this problem. To start with, try taking the software licensing process out of the hands of your lawyers, and hand it to your user interface people. They’re good, and if they can’t figure out a way to revolutionize software licenses so they work, then we should all go to open source, because the situation will truly be hopeless.

My Challenge to the Government

Yes, I know – asking Congress (which is made up primarily of lawyers) to create laws that simplify license agreements seems like a long shot. But I can dream, right?

How else do you think software licenses need to be changed? Comments welcome.

A Tale of Two Nerds

Ever since the movie “Revenge of the Nerds,” the word “nerd” hasn’t been so much an insult, as a promise; or at least a suggestion that those kids who spend their time in geeky pursuits will one day employ the cool kids (or at least cash in some nice stock options along the way).

Well, stock options aren’t what they were (unless you work for Google), and jobs of nerds and former cool kids alike are finding their way to India and Asia, but geeky pursuits continue among both kids and adults.

Today I’d like to tell you about two teenage nerds I met recently. Wait, I mean two teenage geeks. Nowadays, around here at least, geek is much more complimentary than nerd. But since it may vary where you are, I’m just going to alternate between them – you’ll know what I mean.

Anyway, I want to tell you about them, because their pursuits today may give us some insight into the future. More important, I think their stories may shatter some misconceptions adults often have about what it means to be a nerd today. Consider this a plank in bridging today’s digital generation gap (something I’ll be writing more about).

When I was a young nerd, my main hobby was Amateur Radio (or Ham Radio). I had my advanced class license by 14, and passed the technical requirement for first class by 15 (didn’t quite make it on the morse code). I could tear apart and repair a short wave radio, build Heathkits for fun, and spent weekends participating in contests and sometimes T-Hunts (first generation geo-caching, done the hard way).

We all know those kids have vanished. Heathkit is but a fond memory. Ham radio largely relegated to senior citizens. The computer took over, and everybody knows that it’s on computers that you’ll find today’s young nerds. But let’s take a closer look at what everybody knows.

In “Revenge of the Nerds,” the technology nerds played with computers and build robots. In fact, any kid who used a computer was by definition a “computer nerd.” That is no longer true.

Almost every kid and teen today uses computers routinely, most are on the Internet as well. And while it might feel nice to interpret this as a victory of sorts (yeah! all the kids are geeks now), it’s just not so. For most kids and teens the computer is a tool. They have little or no interest in the computer itself – just in what they can do with it. From using wordprocessors for reports, to presentation software for classroom presentations, to online gaming, etc., the computer is a means to an end.

So how did I recognize these two “computer nerds?”

I spotted the first one when we were having a casual conversation about computer monitors. This alone is not a mark of a nerd – monitors are a fact of life nowadays, but he used the term “frame rate,” which is not in the vocabularly of the average teen. Later we were discussing a dynamic state machine based AI he’s developing for a game he’s writing, and two things became apparent: First, that I’d forgotten more than he knows about state machines (with an emphasis on the “I’ve forgotten” part), and second, that he definitely qualifies as a nerd (oops, I mean a geek).

The second one I met at a LAN party. When not in school he runs his own part time business, charging friends and neighbors $25/hour to clean their computers of viruses, set up security, and install software. Yep, that definitely qualifies.

My nephew and his group of friends have quite a few geeks among them as well. In fact I had the pleasure of watching them participate in a STRUT contest last year in which their team field stripped a computer to its component parts, then reassembled it in a shockingly short time.
Ok, this isn’t enough to play “spot the nerd,” but the key thing to remember is this: just because a kid is using a computer doesn’t make him or her a nerd. You have to look further.

Oh, one more thing.

Both the two teens I mention here, and most of the others in this group have one other interesting thing in common: they spend much of their time using and playing with Linux. Today, that is definitely the mark of a geek. Tommorow? Who knows….

Advice for future Computer Science Majors

Like many computer professionals, I?m often asked for career advice for those considering entering this field. Given the recent drop in the number of students entering college with computer science majors (see the May 2004 issue of Computing Research News), offering good advice is more important than ever. Here’s my version.
You had better like change.
Many careers require that you keep studying to remain current. Doctors and lawyers have to stay on top of he latest treatments and legal precedents. Realtors study the latest regulations. Contractors their building codes. But what makes computer science intense is that not only do you have to keep learning technology that is changing at a rapid clip, what you previously knew becomes obsolete.
Most developers like to learn new technology, or at least play with the latest toys. Sometimes we get so hung up on new technology that we don’t think clearly about the consequences of that technology (a topic for another time). But it is important to consider some of the consequences of the rapid change that occurs in this industry.
Because what you know will soon be obsolete, you’ll spend much of your career under intense pressure to stay up to date, the underlying fear being that if you don’t, you’ll end up unemployed and pathetic. This fear, though rarely admitted, is quite common, and can be a source of stress, which may not matter to you now, but is one of the reasons people leave the field. It’s like the Red Queen says in “Through the Looking Glass” – you have to run as fast as you can just to stay in place. You have to run even faster to get anywhere. Burn-out is a problem.
Being technologically savvy isn’t enough.
Being an extreme programmer is all very nice, but if you want to succeed in this industry it’s not nearly enough. You may have heard the political and economic pundits on the news talking about the “jobless recovery.” Bush is stressing because corporate profits are rising but employment is not. Kerry promising to create jobs, but it’s not clear what he can do. Why? Because our economic system demands that businesses become more productive, and more productive means (among other things) doing more with fewer people, or doing more with cheaper people. We’re all familiar with how technology eliminates some jobs – ATM machines reduce the need for bank tellers, self service pumps allow gas stations to be staffed by a single person. There’s no clear sign of this happening to software developers, in the sense that few software development tools are so sophisticated as to replace programmers (though it’s coming – automatic code generation is a fascinating topic). But it is possible to replace expensive software developers in the U.S. with less expensive software developers in other countries. How big an impact this is having, and how big an impact it will continue to have is subject for debate. But it’s too significant to ignore.
And even if productivity isn’t an issue, the inevitable tides of our economy will be. You will at some point in your career be dealing with a tight job market. And it’s not your technological skills that will determine how well you succeed at those times.
It’s your personal skills that will count. How well do you communicate? You should know how to present your ideas both to individuals and small groups. Can you write clearly and somewhat grammatically? Do you come across as confident in yourself and your abilities? Do you have leadership skills (that often translate into management skills)? Are you responsible? Are you a nice person to have around (or at least not completely repulsive)? Yes, there are those who are so technologically brilliant they can get away with caring just about technology, but for most of us these other skills are essential.
So, as you go off to college, don’t let your technical classes get in the way of getting a good education. Take a writing class. Take a class or get involved in an activity that forces you to do some public speaking. Do some drama or improv. Join a club. Do some volunteer work. Do some tutoring. This kind of experience will have long term benefits to your career that you wouldn’t believe.
Take CS for the right reasons
The best technology professionals are almost without fail the ones who entered this field because they are fascinated with technology. We like to play with the latest and greatest toys. We share an underlying faith that technology can be used to solve problems and make the world better. In fact, we’re sometimes so blinded by technology that we fail to consider other factors in our decisions (like business and economic factors, social consequences, etc.) – but that is a subject for a later time.
The important thing is not to go into CS just because you think it’s going to make you a lot of money. Sure, some software developers got rich in the dot-com boom, but even then most of us ended up with at least some stock that ultimately became worthless. Choose this major because it’s fun, and you’ll end up having a great time. You’ll meet lots of smart people, most of them pretty nice. And when the inevitable stress and problems occur, you’ll at least know that you’re spending your days doing what you enjoy the most.
Do you have additional recommendations for future CS majors? Please post them (remember, comments on this blog are moderated and won’t show up right away).