//-->

Ethical Software by Alex Bunardzic

March 29, 2007, 7:56 am

Focus on the Teaching, not on the Teacher

Filed under: Radical-simplicity — Alex Bunardzic @

This post should probably be published on my Zen blog, but given the present atrocious state of the web 2.0, I thought it would be useful for my non-Buddhist readers to acquaint themselves with a little bit of Buddhist outlook on life.

Shakyamuni Buddha, the founder of the Buddhist religion, made concentrated, repeat efforts to make his followers become aware of the importance of following the teaching, not the teacher. In Buddha’s words, the teacher is utterly irrelevant. What’s more, the teacher, being a human being with all the personality quirks and foibles, is an impediment to fully grasping the teaching.

So instead of concentrating our efforts on learning about the teacher, we must make a conscious effort toward shifting our attention solely on the teachings.

The reason I’m bringing this up today comes from the perceived ‘trouble in the blogosphere’. What has been happening lately in the world of web 2.0 is that some prominent teachers have started receiving harassing, or even threatening messages. The most shocking example are recent death threats to Kathy Sierra. Kathy is one of the best teachers one could ever hope to find on the web today (I’ve blogged about her teaching on more than one occasion). To see her becoming an object of heinous criminal intentions by some sick and perverted cowards is simply beyond belief! The damages done by these careless actions are far reaching, for Kathy herself and for the global community as well.

Sadly, the reason such things are happening is exactly due to the fact that people make a grave mistake of latching onto the personality, while totally bypassing the teachings. Now, Kathy may be a wonderful person (and as a matter of fact I think she is), but that’s beside the point. The real point is that she is a masterful teacher, someone who is changing the world for the better. To see her being forced to recoil in fear from her teaching position is an immeasurable loss.

So I must plead with you — stop focusing on the personalities, and only worry about the teachings. Criticize the teaching, not the teacher. Leave the authors of the articles you read out of the equation.

March 28, 2007, 3:50 am

Web 2.0 is Froth

Filed under: Web 2.0, Stupidity — Alex Bunardzic @

Now that Microsoft has jumped onto the web 2.0 bandwagon, it is more than obvious that web 2.0 is dead as a doornail. Everyone knows by now that anything Microsoft touches turns into this big slimy brown mush, so now’s definitely the time to get out of that mess.

And as I’ve explained in my previous post (Online Identity), attempting to ride the wave of social software that web 2.0 had made possible can only result in bruised egos. Many a blogger had tried to play the self-aggrandizing ego game by cruising the vanity channels of the web, only to recoil in horror from the dark pit of deeply deranged criminal minds that lurk behind many veils of anonymity.

It is therefore high time that the web grows up. What’s happening right now is that the web is going through the most horrendous period of childhood diseases. And if we are to get out of that rut, we must start working on our own development.

To begin with, we need to recognize and acknowledge the fact that the web is authorless. Yes, the web contains loads of incredibly useful content, but presenting that content under the banner of an individual author can only result in bloody noses and dysfunctional group dynamics.

Wikis are the best example of how to grow the web without falling into the psychopath-like sociological patterns. The reason wikis are so resilient and robust lies in the very simple fact — they are egoless.

So while wikis have been the first harbingers of the web 2.0 revolution, they continue to be the next wave, bravely pointing the way even as the web 2.0 is right now dying a horrible death of socio-pathological abusiveness.

Let us therefore leave the frothy and frivolous world of web 2.0 popularity contest ridden sites, and march forward to the new web that will be less about self-aggrandizing, and more about the communities.

Web 2.0 is dead — long live the web!

March 9, 2007, 2:20 am

Online Identity

Filed under: Web 2.0, End-user experience, Radical-simplicity — Alex Bunardzic @

The web, with its underpinning protocols (HTTP and HTML), has been described as the Whoopee Cushion of Internet protocols. In the words of Clay Shirky, these protocols are “only comprehensible as elaborate practical jokes”.

He continues to reveal: “For anyone who has tried to accomplish anything serious on the Web, it’s pretty obvious that of the various implementations of a worldwide hypertext protocol, we have the worst one possible.”

Of course, the web is so unbelievably successful precisely because of the horribly engineered protocols, not despite it.

Establishing Identity

Identity in real life consists of countless events that culminate in the act of recognition. A new family moves into the hood, we bump into them on the street and exchange greetings. Next time around, we may vaguely remember their faces, probably not their names. But with repeat encounters, the stream of events solidifies into a picture, or a concept, that says “here is my neighbor”. Furthermore, that concept may say “he seems like a nice guy”. Or, “what an asshole!” Or something in between.

Same goes for the rest of the community. Your grocer, your butcher, your bank, your favorite restaurant. They all rely on the stream of events that will eventually solidify into what we call ‘identity’. Meaning, they recognize you, they remember your make up, they have thus formed preconceived notions about you.

And of course, it’s a two way street, and so you have also formed preconceived notions about them, based on the stream of events that had repeatedly brought the two of you together. The identity thus comes forth in full swing.

Online Means Stateless

Now, when people move into an online community, they expect the same type of things to transpire. But online communities are fundamentally different.

Online communities get formed around the stateless architecture. What that means is that, between any two events that transpire online, nothing gets retained.

Each online event is virgin, and carries no traces of any previous events. This situation then drastically changes the way we look at online communities. In other words, identity is not something you could find online.

This is similar to visiting a McDonalds restaurant. First time you go there, you’re a complete stranger. You order you meal, eat it, and leave. You may then come back, but to the McDonalds community, you remain a complete stranger.

Even if you keep coming back every day, each visit is no different than your absolute first visit. McDonalds franchise is built in such a way not to retain the state, and you’re therefore always walking in to a stateless situation.

Fooling the System

If there is one thing people like to do, it is to engineer stuff. Given a bunch of limitations, such as the above described statelessness, people can’t wait to accept the challenge and try to overcome it.

So it is no surprise that people came up with ways to fool the stateless online architecture, and to twist its arm and brow beat it into accepting some sort of a tracking mechanism that will introduce some semblance of a state. People are working really hard trying to make the online communities remember any or some previous events.

But this is akin to trying to fit a square peg into the round hole. The system was obviously not built for retaining any memory of what transpired on it, so why should we fight it and try to fool it and trick it into attempting to remember?

There is no real purpose to it, other than to showcase someone’s engineering prowess.

Online Identity is a Dream

In reality, there could not be such a thing as online identity. There is no way to establish one’s ego online. The entire system is egoless to the core, and throwing tantrums and trying to convince it to join someone in their vacuous self-aggrandizing schemes is pitiful and utterly irresponsible.

March 7, 2007, 6:41 am

Why Embed when You can Link?

Filed under: Web, Web 2.0, Zen, Radical-simplicity — Alex Bunardzic @

In the olden days, while vendors roamed the Earth, one vendor, who shall remain nameless and whose secret plan was, and still is, to rule the Universe, introduced the concept of object linking and embedding (OLE) (see Figure 1).

Figure 1. OLE (object linking and embedding)

This compound document management technique incorporated hybrid technologies of drag and drop and clipboard (see Figure 2).

Figure 2. OLE incorporating drag and drop and clipboard

This philosophy of embedding stemmed from the concept known as dynamic data exchange, devised for enabling the communication between two or more desktop applications. In this architecture, one desktop application can offer its data to another desktop application, via the copy-and-paste mechanism utilizing the clipboard (see Figure 3).

Figure 3. DDE enables desktop applications to exchange their data via the clipboard

Following these early advancements in collaborative computing, the innovative software vendor introduced the in-place activation technology. This concept is best illustrated using a diagram (please see Figure 4).

Figure 4. In-place activation explained

However, with the advent of the web, the desktop got replaced by the browser and suddenly all these innovative techniques fell by the wayside. On the web, the situation is much simpler, as each resource simply represents its state to the client who requested it (Figure 5).

Figure 5. Web based resource represents itself to the client

The question now becomes: how are different web resources to exchange data with each other? The answer — linking. When developing on the web, we should link the information, not embed it. This is nicely illustrated in the Figure 6.

Figure 6. Why embed when you can link?

March 3, 2007, 7:20 am

The Golden Age of Software Metaphors

Filed under: Software, Radical-simplicity — Alex Bunardzic @

In my previous post (The Golden Age of Software Applications) I’ve exposed the unrealistic claims that software applications bring to the table. Such de-masking is nothing new, of course, as others had also reached similar conclusions, and quite easily so.

However, certain types of software applications did manage to make significant breakthroughs and consequently shouldn’t (and couldn’t) be that easily dismissed.

I am talking about software metaphors, of course.

What is a Software Metaphor?

In the world of software, a metaphor is usually some make-believe simulacrum that claims to be intuitive. As we all know, such claims are grossly unsupported. The mere fact that we need user manuals and training courses in order to operate such metaphoric products is a good enough reason to invalidate any claims toward an ingrained intuitiveness of these metaphors.

But the world of software is peculiar in that in there, anything can stand for anything else. Which, of course, is a double-edged sword.

So what metaphors propose to bring to the world of software is some backbone, to atone for this mushy ‘anything can stand for anything else’ sludge. What that means is that, instead of having an arbitrary and possibly meaningless sequence of symbols denoting something, a metaphor gets introduced, and it guides us toward a better understanding of what is actually happening.

For example, instead of saying something like ‘xyz doc1′, which then gets interpreted by the computer as ‘destroy file named doc1‘, we introduce a metaphor consisting of a picture of a document and a picture of a trash can. Then, if we want to destroy that document, we will hopefully be able to connect the dots and grab the picture representing the document and throw in into the picture of a trash can.

But while the above metaphor is rather clear (thanks to it being extremely simplistic), some other metaphors are not even close to being clear.

For example, a metaphor that allows us to create folders and place them inside other folders is very counter-intuitive. So we see that software metaphors can be extremely misleading and confusing. Especially if they go overboard.

The Lack of Metaphors on the Web

Surprisingly, when on the web, we don’t encounter any metaphors. There are no such things as folders or files or objects or desktops or windows or doors etc. when on the web.

This is a welcome relief from the horrendous sludge of software-related metaphors that we get subjected to when using other computing platforms. Who needs a metaphor when things are crystal clear?

So we see that the golden age of software metaphors is now being killed by the web. Good thing? You bet!

Self-proclaimed, Self-appointed

Filed under: Radical-simplicity — Alex Bunardzic @

I have always felt that the only people who are really worth paying attention to are the self-proclaimed, self-appointed experts. Anyone else who hides behind the established, officially approved insignia of authoritative expertise, is merely blowing hot air.

From Mozart and Van Gogh and Dostoyevski through Kafka, Picasso and David Hansson, the only people who truly make a difference in this world are these self-proclaimed, self-appointed geniuses.

Why is it that despite having a huge army of officially recognized experts, with all their framed diplomas on the wall, we always have to wait on some half-mad renegade, such as DHH, to bring us liberating solutions, such as Rails?

February 25, 2007, 6:08 am

Tabs Considered Evil

Filed under: Design, Radical-simplicity — Alex Bunardzic @

Web sites that heavily utilize tabs are very poorly designed. For some reason, this malaise has been infesting many contemporary web sites, making them less than enjoyable to visit.

I’d like to plead with web designers to learn how to abstain from using tabs. Here is what designers need to realize in order to wean themselves off the usage of tabs:

  • Each web page that you render for the users represents the state of a resource. That resource is typically a facet of your business. In other words, use resources to model your business and then use the web to represent the state of your business to its users
  • Each representation of your businesses (i.e. one of its resources) may contain pointers to other resources. That’s inherent to the web as the publishing medium. Please adhere to the hypertext links when offering users the ability to access representations of different resources (i.e. use links)
  • Abstain from trying to be too clever and to trick your resources into assuming various modal postures. By that I mean do not pretend that a resource should represent itself one way when this tab gets activated as opposed to another way when the other tab gets activated
  • Recognize that tabs are the remnants of the old, antiquated world of desktop applications. Tabs were the way to allow end users to control the modality which was inherent in the desktop GUI. Old habits die hard, so we have dragged that old model and dropped it (no pun intended) into the world of web resources. Please make an effort to kick the old habit

Overall, it is very important to design web resources to be represented in the web’s native way. Do not look back at the old world of desktop GUI when designing your web sites. Let the Resource Oriented paradigm guide your design decisions on the web.

February 20, 2007, 7:47 am

My First Six Months Being Java-Free

Filed under: End-user experience — Alex Bunardzic @

The last line of Java code I looked at was more than six months ago. I remember the time when I’ve discovered Ruby, I made a solemn commitment to work toward leaving the legacy world of Java/.Net behind and toward embracing the brave new world of Ruby.

Of course, it was Ruby on Rails that made it all possible. Rails as the de facto API for the web.

But right now I’m happy to announce that, yes, I’ve been Java-free for the past six months and I’ve not looked back, not even once! And if I can help it, that’s the way things should remain with me.

From now on, I’ll be moving forward by fully embracing the web, the Resource Oriented Architecture, and Ruby on Rails. Believe me, it’s totally doable, if only you set your mind to it. Truth be told, only a year ago it seemed like an impossible proposition. There were almost no jobs for Ruby/Rails developers, and it didn’t look like the market was ready.

Today, the situation has changed, and even the crusty old body shops and placement agencies are now pulling me by the sleeve and asking if I could send Rails developers their way.

Needless to say, that makes me giddy with excitement. Lots of fun developing the ‘next generation’ web sites is to be had by all the folks who have the strength, the courage, and the resolve to unreservedly embrace Ruby and Rails.

Cheers!

February 8, 2007, 4:06 am

Less Infrastructure

Filed under: Radical-simplicity — Alex Bunardzic @

The biggest selling point of the web is that it dismisses with the infrastructure. The web is like the indoor plumbing — yes, the infrastructure is definitely there, but we don’t see it, we never think about it.

As some of you know, I am a foaming-at-the-mouth advocate of Less Technology. Part of that trend of minimizing the technological stack lies definitely with the web’s role in eliminating the presence and thus the awareness of the infrastructure.

Infrastructure on the Web

Of course, it is virtually impossible to eliminate all infrastructure, so the web does indeed retain some facets of the infrastructure. Namely, on the web we are aware of two types of infrastructure:

  1. URI (Uniform Resource Identifier)
  2. Internet Media Type

But that’s pretty much it. Any other infrastructure-related issues are not present when we’re on the web.

Why Less Infrastructure?

Simple — less infrastructure means less decisions. And less decisions means shorter time from intention to realization.

February 5, 2007, 7:17 am

Men Who Wear Suits

Filed under: End-user experience — Alex Bunardzic @

A somewhat belated (circa 3 weeks) comment on Mark Cuban’s edgy post on men’s suits (why i don’t wear a suit and can’t figure out why anyone does).

I don’t wear suits and I never have. I’ve never owned a suit, and I don’t intent to spend my hard earned money on a suit.

I have a track record of 17 years working in corporate IT services. You may be wondering how is that possible, given that I have been, and still am ’suitless’, but, in my experience, wearing some other types of high quality clothing items that make you look good usually does the trick. In my experience, a factor that’ll land you the job/contract/deal doesn’t have to be the suit.

My take on suits is this: I am a child of 1968, and so I have it ingrained in me that establishment, especially military establishment, sucks and is to be avoided. It was demonstrated back in 1968 that pretty much anyone wearing a suit is the establishment ‘yes man’, and that, by proxy, men’s suits are just slightly stylized military uniforms.

The Revolution of 1968, that I’m referring to here, was all about tearing down the old dominion of military-centric consciousness, and embracing the softer, freer, less regimented consciousness of flow, spontaneity, expressiveness, creative freedom.

To my mind, in the post-1968 Revolution period, there is not a lot of room for prancing on the world stage bedecked in military uniforms. And if you were to look at today’s world political leaders, none of them indeed ever wears military uniforms. If George W Bush were to show up in the White House bedecked in a military uniform, he would certainly cause not only lots of frowns, but an outright public outcry.

So they’re all letting the sleeping dogs lie. But, they have not abandoned the insignia of power, and are consequently bedecked in the toned-down, but nevertheless very aggressive men’s suits.

If we examine a typical men’s suit, we’ll see that it consists of lots of sharp, jarring edges. It must be meticulously pressed, so as to send out the message that it’s all about coldness, manipulativeness, and aggression. Sharp edges, sharp intentions, that’s what the suit projects.

Most people wearing suits today come across as being cold, aggressive, even bullish. I remember attending a Microsoft CRM demo not that long ago — as we arrived, we were greeted by an army of sharply dressed, incredibly aggressive and bullish sales people. They all spoke in characteristically booming over the top loud voices, so as to intimidate us and to brow beat us into submission.

To be honest with you, I didn’t like that experience. And the worst memory that lingered long after the unhappy event was the sight of their intimidating, pricey dark suits. You could almost feel that the suits were what gave them their over the top confidence and the license to harass us.

So, being a flower-power child (albeit not being old enough to claim to be the original participant), I’m all against any display of intimidating intentions, including wearing sharply pressed suits.

End of rant.

Sore Winner

Filed under: End-user experience, flatliner — Alex Bunardzic @

Seth Godin (blog) exclaimed at the recent fireside chat with 37signals:

“How dare you waste your life in exchange for a paycheck.”

Well, Seth, I dare. And so do many other people I know. Very nice people, by the way.

Why do I dare, you ask? OK, how about this: I dare waste my life in exchange for a paycheck for the simple reason that I have two children who need to be fed and put through school.

Do you have a problem with that? Are you adamant that I should abandon my two children and go all entrepreneurial on their future? Do you see, in your infinite wisdom, that we all should gamble our children’s future on some hairy-brained entrepreneurial visions, so that you and your good time buddies could laugh it up at your cocktail parties while promoting your newly published books about nothing?

Just because you’ve managed to somehow win a ‘financial independence’ lifestyle, and can presently afford to scoff at a paycheck, doesn’t mean that everyone else in the world should follow your moronic advice.

I truly resent the increasing ’sore winner’ attitude that these hot new entrepreneurs are lavishing upon us, the working people. Just as there are sore losers, there also are sore winners (obviously, since you’re one of them).

We can’t all be god’s gift to mankind, you know. So thanks for the admonition, Seth, but no thanks.

Microsoft is the New IBM

Filed under: Software, End-user experience, Stupidity — Alex Bunardzic @

OK, I am aware that we’ve been saying that Microsoft is the new IBM for ages now. But this time, it is serious. If you are still incredulous, I invite you to watch the three commercials, all three courtesy of Microsoft, linked here:

What a load of bullshit! If you didn’t feel that Microsoft was hosing you while watching these three adds, then you’ve got another thing coming, buddy boy.

Now for those of you who’ve been in the software industry for more than three to five years, please go back and watch the above commercials and tell me if the vibe is not exactly the same as the vibe IBM was purveying back in the days when they were still pushing PCs? Remember IBM’s lame TV ads? Who could ever forget that crap?

Well, friends, Microsoft is now treading that exact same path toward the elephant graveyard. Same as IBM’s ads were the shiniest before the company took a nosedive (remember the ’sunset effect’?), Microsoft is now spreading the glamor thick, getting ready for the spectacular nosedive.

I mean, they can’t be serious trying to push that idiocy on us, can they? Who’s gonna buy into such lame, moronic presentations?

Firefox Sucks

Filed under: End-user experience — Alex Bunardzic @

OK, I can’t believe I’m going to write this, but the more I’m using Firefox, the more I’m discovering that it sucks!

I’ve started using Firefox back in 2005, making a switch from Opera. At that time, Firefox seemed like a better choice, since Opera looked ugly with all the ads plastered all over the place and whatnot.

But today I think that Firefox is a ridiculously overbloated browser with incredibly sluggish performance.

I mean, just compare this: I click on the Safari icon and in less than a fraction of a second, the browser is up and running and I can start working. I click on the Firefox icon, and… I wait… and I wait… and I wait…

Eventually the browser (which by the way looks way more ugly than Safari) makes an appearance on my screen. Then I hit Command+L to position the cursor to the address line. I type ‘g’ for google and immediately hit enter, but guess what — it takes me to gmail! I then type ‘y’ for YouTube and hit enter, but it (surprisingly) takes me to yahoo! What the fcuk?

This is a usability nightmare. My Safari never betrays me in such a backstabbing way. I really don’t know why would the open source community tolerate this level of crumminess. That’s definitely not the way to resist the onslaught of IE 7. A message to the Mozilla folks: time to get off your butts and start working on a real, usable browser! You need go no further than simply copy Safari.

Take this as a last chance wake up call.

Spammers Accuse Me of Hosting Spam

Filed under: flatliner — Alex Bunardzic @

Human stupidity knows no bounds. The latest ingenious invention of human mind is this new craze where I’ve started getting thousands of spam posts on my blog accusing me of having too much spam!

This reaches new, unprecedented levels of idiocy. As an avid and passionate student of human stupidity, I must admit that I’m beginning to feel more and more as if I’m a kid in a candy shop. Everywhere I turn nowadays I seem to spot another pile of morons spewing some illegible crap.

Where is all this going to lead us? How’s it going to end? Is it really going to be as trivial as all of us simply dying in some ‘global warming’ induced catastrophe?

Stay tuned!

February 2, 2007, 12:14 pm

Eating Pretentious Food is a Sign of Total Idiocy

Filed under: Stupidity, flatliner — Alex Bunardzic @

Pretentiousness can be expressed on many levels, but when it comes to food, one needs to really be a complete moron in order to sink the levels of depravity portrayed in this picture:

Pretentious food

This is the picture I’ve snatched randomly off the Flickr site. Apologies to the author, I’ve lost the reference and hence cannot quote it here.

I mean, people, hello, it’s food we’re talking about! Food is about enjoying the taste, the aroma, not about creating a fashion statement. What we see above is what some people have termed “tall food”, in other words, the shorthand for idiotic pretentiousness (and I don’t even want to go into the analysis of what are the ingredients of the meal in the photo; believe me, they are as idiotic as the plate looks).

All these pretentious people who have nothing better in life to do than trip over themselves in the mad rush to spend a vacuous evening in a posh, extremely overpriced restaurant stocked with rude staff that serve idiocies like the one in the picture above — all of them need to get a life.

I’m not blaming the lame chefs who dream up these pieces of crap. No, they are in business of skinning the suckers. But I seriously distrust intellectual acumen of anyone who purposefully goes for such a culinary ‘experience’.

Mass Customization and Accessible Luxury

Filed under: Web 2.0, End-user experience, Radical-simplicity — Alex Bunardzic @

The so-called web 2.0 is already how many years old? Anyway, the point is that, by now, web 2.0 should be well on its way out of its early infancy and into the blooming and playful childhood.

One of the things that this new phenomenon, namely web 2.0 seems to tie in quite nicely is the much touted mass customization. Add to that the trend toward accessible luxury, and you have a recipe for a kick ass fashionista-approved unstoppable trend.

Lowering the Barriers to Entry

One of the reasons for the ability of web 2.0 to nonchalantly serve mass customization and accessible luxury lies in the fact that it is getting significantly cheap to serve web content, and consequently web experience, to the planet-wide audience. On top of that, it is also getting increasingly cheaper to consume those experiences — more and more people keep gaining access to the high speed internet connectivity.

Finally, and most importantly, a new generation of web content creators is being bred as we speak. These are the people who are rapidly learning the language of the web, meaning learning how to produce the content for the new medium.

All these factors are significantly lowering the barriers to entry to the web world. Once we have negligible cost associated with serving the web content, coupled with captive audience world-wide, all we need is sufficient number of authors who know how to speak the web language, and we’re in business.

Mass Customization

Where does mass customization fit in? The web is owned by the community, and the community is going to customize it on the massive scale.

Accessible Luxury

Pretty soon, we’ll have the highest quality content delivered via the web, either primarily and exclusively, or as a precursor of the more traditional media. On the web, majority of that content will be either completely free, or considerably cheaper than when served in the traditional media.

The luxury will be out there for grabs. And it will be easily accessible from any place, any time.

But the Web Needs to Grow Up!

We’ll talk about that on another occasion.

January 7, 2007, 11:14 am

I’ll Be Presenting at AjaxWorld Conference in March

I’ve been invited to present at the AjaxWorld Conference and Expo. The presentation will take place on March 19, 2007, in New York City. Read about it here.

Basically, I’ll be arguing that, with its leaning toward the Resource Oriented Architecture (ROA), Rails is becoming a de facto standard for programming on the web.

Try and convince me that Service Oriented Architecture (SOA) is better!

December 29, 2006, 1:00 am

Right Tool for the Job is a Myth

Filed under: End-user experience, Radical-simplicity — Alex Bunardzic @

More often than not we hear the blanket statement — right tool for the job — being thrown in as a final argument in any software development related discussion. It is time we examine this blanket statement, turn it upside down, and shed some light on it.

As is often the case, turns out that using analogies from the non-software world and then stretching them into the software arena doesn’t really work. While it is true that, in the non-virtual world, choosing the right tool is not only important, but also unavoidable (i.e. one cannot cut the wire with any degree of precision by using a hammer), when it comes to building software this dictum tends to be meaningless.

The Only Tool for the Job

When it comes to software, the choices tend to evaporate. While in the physical world it is conceivable that one could use a hammer to cut the wire (although not with the precision one could have when using pliers), in the virtual world of software it is darn hard, if not impossible, to stretch things like that.

For example, when implementing a software system that is going to be distributed across a network of computers, it is pretty darn impossible to choose the right tool for the job — because there is only one tool to use, and that tool is TCP/IP.

Yes, some older dudes could complain that this is not strictly correct, since we do have a choice, namely we could use IBM’s Systems Network Architecture Distribution Services (SNADS) tool. But let’s be realistic for a moment — that tool is so completely useless, that it truly is a moot point. And the apparent choice is in actuality non-existent. No one in their right mind would ever consider using proprietary SNADS instead of publicly vetted TCP/IP.

So the choice of the ‘right tool’ is in reality non-existent.

Same applies to pretty much anything else in software. If one is to use a computing platform to implement some software product, what choices of tools does one have? I’d say there are no choices, because there is only one tool that makes any sense, and that tool is the web. Sure, there appear to be other tools out there, such as the desktop, the mainframe, etc., but all these tools are so useless when compared to the web, that they don’t really qualify for being called a choice.

What choices of tools do we have at our disposal if we wish to implement a relational database? No choices. There is only one tool — SQL (Structured Query Language). So how can anyone then talk about choosing the ‘right tool for the job’ in the light of this fact?

Same goes for other aspects of software development. Like, if we need to implement some business logic, what choice of tools do we have at our disposal? No choice — it is the norm to implement business logic using Object Oriented technology. Anyone digging around for other tools that would allow them to implement business logic is merely barking up the wrong tree.

De Facto Standards Eliminate Choices

So we see that we’re in the strongest position when following the de facto standards. That orientation helps us eliminate choices, and consequently renders the ‘right tool for the job’ dilemma utterly meaningless.

December 28, 2006, 3:10 am

Jooto Inc. in the Year 2006

The year that is going to end in about four days has been very exciting for Jooto Inc. We’ve officially launched the company in 2005, but the real activity didn’t begin until early 2006.

Now, looking back at what we’ve accomplished in less than 12 months makes me excited and giddy about the possibilities.

Here, I’d like to look back at some of the discoveries we’ve made this year, the principles of which we’re planning to take into the next year. Here is the brief summary, in retrospect:

  • We’ve started the year with the focus on Social Software. This focus brought us to the realization that it is the community, not us, developers, who should do the heavy lifting! This realization was a tremendous relief for us.
  • Next, we came to the realization that much touted virtues of simplicity are actually very bad. So we’ve pushed a bit harder, and solidified our concept of Radical Simplicity, which admits that complexity is not only unavoidable, but actually desirable!
  • Once we made the transition from being focused on simplicity to being focused on complexity (which is what the philosophy of Radical Simplicity advocates), we’ve realized that the first dictum of Radical Simplicity is to simplify the problem, not the solution.
  • This focus lead us to the deep elaboration of the concept of Smart Servant. This concept is all about simplifying the problem.
  • We then realized that the best possible way to go about simplifying the problem is to work on reducing the number of decisions needed to come up with the solution.
  • This, in turn, precipitated our undivided commitment to the Resource Oriented Architecture (ROA). Of all the systems proposed to process information, ROA offers the most drastic reduction in the number of decisions required to achieve the solution.
  • This capability turned out to be extremely liberating, as it allowed us to focus on building disposable software, another radical and liberating concept brought to you by Jooto Inc.
  • Finally, all this lead to our focus on the Quality before Design discipline. This discipline is our guarantee to you that you will only receive quality products and solutions from Jooto Inc.

You can read in much more details about all the above principles and discoveries if you start digging around this blog. I didn’t want to inundate you with numerous links here; it’s easy enough to search the blog by tags, or by using a brute force search strings.

Happy New 2007!

Are Software Engineers Idiot-Proof?

Filed under: flatliner — Alex Bunardzic @

One of the most popular geek quotes ever is this one:

“Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.”

This quote illustrates very nicely the insanely confrontational bias that software engineers tend to exhibit toward ‘regular’ people. Software engineers start from the unexamined (and unwarranted) assumption that they themselves are fully idiot-proof, and then proceed to build idiot-proof programs for the benefit of humanity.

In exasperation, they pull their hair out and throw the towel in, proclaiming that so far, the Universe is in the lead by producing bigger and better idiots all the time.

Who is the idiot here? You be the judge.

Next Page »