//-->

Ethical Software by Alex Bunardzic

October 25, 2005, 7:36 am

Verbal Communication

Filed under: Software, Design, End-user experience — Alex Bunardzic @
Jerry: Kramer, you’re never gonna be able to completely stop talking.
Kramer: Jerry, ninety four percent of communication is non-verbal. Here watch.
Kramer does some violent and hilarious miming; he ends up contorting his face and moving his lips so that you can make out somebody angrily saying “What are you talking about!?!”, followed by some crying).
Jerry: Well, what does this mean?
Kramer: Well it’s Frank and Estelle’s reaction of hearing about George’s man love towards she-Jerry.

(Seinfeld, The Cartoon, Episode 169; view the clip here)


Despite Kramer’s claims that 94% of communication is non-verbal, everyday practice teaches us that the main means of communication is still prevailingly verbal. Either face-to-face communication, or over the telephone, or through letters, emails, electronic and printed media, the communication occurs mostly through words, sentences, etc.

What does this mean in terms of technology? It basically drives home the fact that technology is text-based.

But isn’t this stating the obvious? Of course it is clear that all the documents, specifications, measurements, etc. are text-based. What’s the point in bringing this up, then?

Well, when it comes to information technology (read: software), things suddenly stop being so simple. Unlike other technological innovations for storing information (like paper), large majority of software legacy systems seems to shy away from text. There are a couple of reasons why historically we’ve ended up in such a mess.


Scarcity of Resources

IT industry has always been a very costly venture. The prices of hardware and software had, for the longest time, been at the premium. This created the scarcity of resources mentality that had been drilled into every software developer. Do more with less technical resources is the mantra that brought upon us such disasters as the Y2K fiasco.

Basically, since data storage availability was at the premium, software engineers were forced to bend over backwards in order to squeeze the last drop out of exorbitantly expensive auxiliary storage space. Thus, it was unthinkable when writing software in the ’60s, ’70s, ’80s, or even ’90s, to store the four digit year on disc. What an irresponsible waste of space! Two digit years will do just fine. And it will save us untold amount of dollars in unused disc space.

Similarly, any numeric values could be, via some engineering trickery, stored in a compressed format on disc. IBM mainframes are thus using packed, or binary-coded decimals. These (and similar) acrobatics allow them to save storage space.

Today, as the issues of data storage are bordering on trivial, such concerns are largely irrelevant. We can now relax and liberally store four digit years, as well as decimal values in human-readable form.

The scarcity of resources nevertheless persists, simply as a force of habit. And, as we will see shortly, it is causing a lot of friction.


Strong Typing

Software development requires exercising considerable discipline. At the same time, on average, average organizations will employ average individuals. Not surprisingly, such average developers may lack the stringent discipline required to deliver bullet-proof products.

Because of these constraints, strongly typed programming languages were introduced. This innovation ensured that most of the sloppy thinking that may occur at the at the low level gets caught and reported during compile time. This furthermore ensured that no workable program with grossly incorrect handling of data ever gets produced.

But, it also created software products that are counter-intuitive and that require considerable acrobatics when it comes to data transformation. Again, text, the most natural form of data and information, got replaced by some highly abstract engineering constructs.


The Information Flow

The information reaches end-users in the form of text (there may be some accompanying non-textual information, such as images, graphs, audio, video etc., but still the majority of information is in most cases textual). The users read it, parse it, and make decisions based on the information they had just processed.

Sometimes, the decision includes modifying the information presented to them. Typically, all the modifiable information is in textual format. The users will modify/remove/add some text, and post it back to the server.

The above described information flow is very straightforward, and it would be natural to expect that software applications would very easily accommodate such flow. However, we find that in everyday practice that is just not the case. If we examine majority of software applications in use today, we will notice that they usually tend to engage in fairly elaborate set of acrobatics each time the information flows to or from the end-user.

This extraneous set of acrobatics influences the cost of delivering, and maintaining software products. If you ever get a chance to examine a typical Enterprise Java application that handles simple textual flow of information from the server to the end-user, and back from the end-user to the server, you’ll be amazed at the magnitude of acrobatics, muscle-flexing, and other completely non-intuitive activities that occur in the so-called middle- or business-tier. All these frantic activities tend to introduce an incredible amount of friction, thus dramatically raising the cost of delivering the solution.


Who Dictates That The Acrobatics Must Be Performed?

At this point, the question “who is the dictator here?” naturally comes to mind. There must be a good reason why we are expending so much energy and resources behind the scenes. Could we perhaps not simply deal with text instead?

The answer is, of course, “no”. We must perform all those acrobatics in order to serve the needs of the underlying databases. As heirs to the IT legacy of the bygone era, relational database management systems (RDBMSs) are very stringent beasts who tend to dislike text. Why? Because text is wasteful.

But isn’t is clear by now that we’ve reached the stage where auxiliary storage is practically unlimited? If so, who cares if text is not as compact as some other engineering inventions?

Well, software engineers care. They are still riding on the wave of scarcity of resources, and are kind of giddy on the power of their own inventions. To propose a text-only database solution would be sheer blasphemy.


Is Text-only The Way To Go?

If we agree that the majority of communication is verbal, then I’d say “yes”. Let’s focus on text. After all, almost all the relevant information we care about is either displayed on the screen as text, or printed on paper as text (with the notable exception of engineering diagrams).

But what about the RDBMSs? Well, in today’s IT topology, RDBMSs are only one among a number of players that get combined with other data stores. Most notably, there is an increasing number of XML-based data stores that mostly contain textual information.

So, if I implement an application that stores text-only data in a relational database that had a major portion of its brain surgically removed by me, would that enable me to allow for a simple flow of text? Well, not really, or, not unless I’m using the right tools.

The problem also exists in the strongly typed programming languages used for developing the applications. And these languages are still the most popular ones in today’s mainstream development culture. Because of the enforcing of the data types, text is again not desirable, and we’re once again forced to perform all kinds of situps in order to transform the text into its non-intuitive representation, and then back again into the plain text.


The Solution? Ruby!

I personally found that Ruby is the tool that can help me resolve the above described impasse. Ruby is the Smart Servant that understands my human bent toward plain text, and at the same time knows how to translate my text-based intentions to the underlying machinery. This match made in heaven allows me to easily maintain the desired level of verbal communication without worrying about translating all that mess into a machine-readable form.

With Ruby (and Ruby on Rails, of course), I can have textual information flow from the data store and, after being marked-up, shown to the end-users as plain text. Any changes that the users make, will travel back to the data store as plain text, so I don’t have to do any acrobatics in between.

Any derivative processing of the plain text (such as juggling of the dollar amounts, dates, percentages, you name it) gets performed by Ruby in the background. Now that’s what I call Smart Servant!

49 Responses to “Verbal Communication”

  1. cell free nokia phone ringtones Says:

    download free ringtones cell phone

    Viewed as nextel motorola i730 free ringtones cell cingular free phone ringtones wireless

  2. metodos sistemas ruleta Says:

    ganar premios internet

    Her juegos portal web accept credit card payment online

  3. cash reward credit card Says:

    cash advance business opportunity business cash advance advance business cash unsecured

    Vielleicht advance bad cash credit loan payday no faxing savings account cash advance

  4. craps regeln Says:

    advance america cash

    In other words frei spiel cash advance loan online

  5. slots spielen Says:

    ameriloan payday loan

    In other words online black jack computer black jack

  6. cingular free go phone ringtones Says:

    free prepaid credit card

    I start with citibank credit card online real music ringtones ringtones

  7. cash central loan payday Says:

    payday loan toronto

    One of payday loan toronto download free alltel ringtones

  8. free lg ringtones verizon Says:

    cash america payday loan america cash loan payday

    Find credit card debt reduction arbitration francaise des jeux

  9. download free tracfone ringtones Says:

    payday cash advance payday cash advance texas

    Once play texas holdem payday loan fast no fax

  10. boost free ringtones Says:

    phone ringtones verizon wireless

    Tousles boost free ringtones samsung polyphonic ringtones

  11. advance america cash Says:

    bad credit cash advance advance bad cash credit services no fax cash advance for bad credit

    Am advance cash company advance cash cash loan loan payday quick

  12. advance cash check credit no online Says:

    advance america cash advance advance advance america cash center inc

    Two advance america cash fast faxless cash advance

  13. cash loan payday til Says:

    download motorola q ringtones

    At advance cash faxing no advance cash loan loan payday

  14. no checking account payday loan Says:

    cash in advance

    Three online no fax payday loan online payday loan instant approval

  15. play bingo online Says:

    advance cash faxing magnum magnum cash advance

    Here are washington mutual credit card application chase visa credit card

  16. advance cash faxing no advance cash faxing no payday no faxing cash advance Says:

    listen mosquito ringtones

    Any number of advance cash loan loan payday sonic payday loan

  17. advance loan online payday Says:

    regles texas holdem

    I start with how to win at slots online payday loan application

  18. internet baccarat Says:

    apply card credit student

    Overall mp3 ringtones real tone ringtones

  19. 30 day loan payday 30 day payday loan Says:

    fast cash payday loan payday us fast cash loan

    Preview advance cash net payday usa texas hold em tip

  20. slots machine Says:

    default on payday loan

    After that advance cash loan payday quick 1000 advance cash faxing no

  21. c139 free motorola ringtones Says:

    application card credit mbna

    Just like jeu du craps application card credit unsecured

  22. free ringtones for prepaid phone Says:

    free ringtones for prepaid phone

    Change blackberry download free ringtones advance loan paycheck payday

  23. cash advance new york Says:

    default on payday loan

    As it is usually easy payday loan download free verizon ringtones

  24. cash advance payday loan Says:

    downloads free

    This juego interactivo portales first american cash advance

  25. ruleta cromatica Says:

    account bank loan no payday

    Each one of backgammon download consolidate payday loan debt

  26. free online black jack game Says:

    advance cash cheap day pay

    Each 100 loan online payday advance cash faxing no

  27. jugar pagina web Says:

    crazy frog ringtones

    Four spiel online gioco in linea

  28. free payday loan Says:

    application card credit status visa

    Most maquina tragaperras pagina internet 0 card credit interest rate

  29. fax guaranteed loan no payday faxless guaranteed loan payday Says:

    advance cash loan payday software? ?

    Just as payday loan advance america payday loan

  30. advance advance america cash Says:

    free texas holdem

    Well cash loan payday until cash advance for small business

  31. no faxing payday loan Says:

    card credit low rate

    Tonight einarmiger bandit spielen mobile ringtones yahoo

  32. blue tooth free ringtones Says:

    free ringtones for nextel phone

    After mp3 bollywood ringtones spielregeln spieleautomaten

  33. 7 card stud online Says:

    card credit uk

    Three alabama loan payday store business cash advance

  34. free motorola ringtones tracfone v170 Says:

    free ismarket.com ringtones samsung site

    You mobile phone prepaid ringtones virgin juego al instante portal internet

  35. cash loan payday until Says:

    cash advance services

    By means of same day cash advance cash advance for small business

  36. get free music ringtones get free ringtones for my verizon phone get free ringtones Says:

    free t mobile real music ringtones real music ringtones ringtones

    Likewise metro motorola pcs ringtones free sony ericsson ringtones composer

  37. advance cash faxing loan no no faxing cash advance advance cash faxing loan no payday Says:

    no fax faxless cash advance payday loan faxless cash advance

    Angebot savings account cash advance no fax free mobile oyster ringtones virgin

  38. cash advance now Says:

    cash advance payday loan

    As ace cash advance cash til payday loan

  39. ez payday loan Says:

    no checking account payday loan no checking account required payday loan

    Son ganar premios internet payday loan 1000 dollar

  40. free motorola ringtones tracphone Says:

    get it now ringtones verizon

    More than one of free cricket wireless ringtones fast cash advance payday loan

  41. savings account cash advance no fax advance cash fax no Says:

    cash fast loan payday

    Let’’s begin cash advance services advance cash loan payday quick

  42. low cost payday loan Says:

    advance advance america cash

    Do advance cash loan online payday loan no faxing required

  43. cash till payday loan Says:

    loan till payday loan payday till info loan payday till

    In other words advance cash chicago settlement advance cash loan payday quick

  44. advance cash loan online Says:

    credit card consolidation best deal

    By means of chase credit card for small business advance cash loan online

  45. 1600 free nokia ringtones Says:

    music nextel ringtones

    Some free mp3 ringtones suncom 24 ringtones free

  46. instant faxless payday loan Says:

    instant faxless payday loan

    Commonly online payday loan service advance cash loan overnight

  47. 100 free virgin mobile ringtones Says:

    free 24 ctu ringtones

    Is crazy frog listen ringtones loan till payday free ringtones maker software cash international loan payday services advance loan paycheck payday

  48. chase credit card payment Says:

    balance card credit introductory transfer

    Always bank card citi credit pay day cash advance payday loan card credit number validation business card credit find small allied cash advance

  49. cash international loan payday services Says:

    card credit machine wireless

    Well no fax payday loan missouri card credit debt free help chase credit card payment accept credit card payment bank card credit reliacard us

Leave a Reply

You must be logged in to post a comment.