Whither Thou Bloggest?

As I’m sitting here in a forum discussing the use of blogs, I’m listening to a speaker talk about how those of us who only post every couple of weeks aren’t really taking full advantage of blogs. Being an example of that, I thought I’d go ahead and make my first April post.

Blogs have become fascinating examples of social software. Personally I set this up so that I didn’t have to continually edit HTML in order to add my $0.02 on some particular topic, but it seems that blogs have taken the role today that USENET used to have. In the previous decade, most of the discussion between people was done through USENET and newsreaders. When the technological sophistication of the userbase decined as a result of the massive influx of users, USENET migrated first to the web (was DejaNews, now Google Groups) and now, it seems, into Blogs.

In the old days, individuals would create new news groups for particular topics, often crossposting to several different newsgroups to get answers and discuss issues. (People also used, and still continue to use, e-mail lists for the same purpose.) But with the emergence of the web and the appeal of adding a web-based publishing aspect to this, micropublishing has finally emerged.

Where we were previously mapping the web, now there are some efforts to map the blogs. Take a look at Technorati, where you’ll find out who links to whom in the blog world. Is this important? Not totally clear to me yet. It used to be considered important that we find out who the most linked to sites were. We were discussing this years ago while I was at IBM as part of an effort to build a new search engine. Yet it seems that key words and ranking in DMOZ are actually still more important.

No conclusions yet — just a marker to continue to think about this ….

Can you read this?

Reuters reports on a 13-year old British girl who turned in an essay written in texting shorthand, the abbreviated and phonetic code used when sending SMS messages on cell phones. The British instructor couldn’t understand what appeared to be a coded message and the cell phone texting was craze berated as a something causing a decline in literacy.

Or is it really? Throughout history, language has evolved along with society. George Orwell in 1984 created many compound and abbreviated words to show this evolution (e.g. miniwar for the Ministry of War, “doublethink”). The word “okay” was the subject of an NPR piece not long ago, describing how that word evolved and what the origins might be. We continuously change nouns into verbs as modern tools become integrated into our culture (William Gibson’s new book “Pattern Recognition” uses the name “Google” as a verb within the first few pages of the book). Is it too hard to believe that texting won’t eventually begin to change the way we write?

Our language will continue to evolve as the tools we use change the way we work as well as the way we communicate. Certainly the telephone changed our long distance communications from that of well thought out, lengthy letters to the brief conversations that might occur if we were face to face. E-mail has also changed the way we communicate, causing the emergence of emoticons and unusual punctuation (e.g. _underlining_ and SHOUTING). Similarly, instant messaging and chat have evolved a new, brief set of communications (BRB — be right back, ROTFL — rolling on the floor laughing). Space constrained SMS is no different.

The unusual thing about this article is the lack of awareness of the 13-year old to switch to a different communications mode when the medium changed. But that’s not absurdly unusual. How many articles or papers have you read that felt more “conversational”? Do you e-mails sound more like things you would have said out loud or are they more like well thought out letters? How poor has your spelling gotten since your word processor tells you what you misspell?

We are continuously being changed by the tools around us. Perhaps it won’t be long B4 blogs R in txtng 2.

Is Software Development An Engineering Process?

At a recent conference, Alan Cooper, the father of the Visual Basic programming language, made the following statement: “The act of constructing software is, in fact, not an engineering process. Engineering to me is problem-solving, which is very different from solution implementations, which is what programmers [do].” [see this Infoworld article for the details]

Cooper’s definition of engineering as problem-solving is probably a good one. There is a clear distinction between “coding” and “problem-solving”, but as an engineer (software currently, electrical formerly), I believe that what I do in software is engineering. My job is not just to design a solution but to implement it, sometimes fully, sometimes up to the point where someone else can pick up the process. The key difference here is that typical engineering of atoms results in a manufacturing process, a line the clearly the separates the engineering process from the production process. In the world of bits, that line is not so obvious. So a certain percentage of software is “problem-solving” — bread boarding, prototyping, building version 1 — and another percentage is “manufacturing” — building UI features, some product enhancements, etc.

Cooper’s perspective is probably based on the idea that all software is designed by architects and engineers and that coders type in the program code like the proverbial monkeys attempting to produce Shakespeare. Mostly this isn’t true. Programmers are always working on solving problems since software production is fractal — macro problems break up into smaller problems. Even component-based development doesn’t eliminate problem solving as part of the process. If that were the case, then building software would be like building houses — just stack up the bricks (components) and a house (application) would pop out. Of course, that isn’t how things work. It doesn’t work that way for silicon either. Electrical engineers today use all sorts of silicon compilers and component technology and they are still considered engineers.

Web developers exist on a different level. Those who are primarily responsible for designing web content probably fall more into the category of content designers than software engineers. There job isn’t to create software to solve a particular problem set — rather, they need to create the most appropriate layout for a page of content. The programming language is no more relevant to them than it is to a print press typesetter. On the other hand, those who use the web fundamentally as a user interface to access some other problem solution are software engineers.

This really brings us to the trickiest part of all of this — what is a “problem”? Of course, there’s no real answer to this. The key is to make a qualitative distinction between the trivial and non-trivial. Trivial problems have obvious solutions, non-trivial ones don’t. If the problem is assessed to be non-trivial, then it is probably a problem in the engineering sense of the word. Setting up a web log is a trivial problem with obvious solutions. Designing and implementing a software system that asynchronously replicates files between systems is not. The distinction here should be clear — the latter requires software engineering to create a solution. The former doesn’t.

In my opinion, use of the title “software engineer” is appropriate. The problem solving using software is just as real an engineering task as using atoms to solve a problem. Software development, like development of electronics, is a large combination of tasks, some mundane (coding simple functions, wire wrapping a prototype) and some not. But in now way should the production of software be trivialized as solution implementation when real problem solving occurs.

No Telemarketers Except Us

There’s nothing more amusing than a bill with a self-serving component. The Washington Post reports today that the House approved a bill setting up a national “Do Not Call” list for those of us who do not want to be called by telemarketers. Of course, the telemarketers are fighting this tooth and nail on the basis of free speech rights, but most of us would just prefer to eat dinner in peace without the constant telephone interruptions.

Of course, Congress exempted themselves, like they do from everything. According to the Post, “charities, surveys and calls on behalf of politicians would be exempt”. So, just to be clear here — are we talking 501(c) charitable organizations? Does the organization have to make the call themselves or can they pay a telemarketing firm to call for them? (Personally I hate when they do that.) And which surveys would be exempt? Those that are sponsored by corporations or political surveys only? And why on earth do I have to take a telemarketing call from a politician?