Showing posts with label comprehension. Show all posts
Showing posts with label comprehension. Show all posts

Tuesday, May 13, 2025

Health Insurance Codes

A doctor friend, it was, who graciously shared the secret
Explaining how to unlock a small measure of respect
Strategic, the secret codes the layman must decipher
To advance within the confines of this healthcare system

Apparently all it takes is to ask two simple questions
The mere mention of which triggers an industry alert
Healthcare professionals immediately put on guard
For it augurs that one is at ease with their language

In retrospect it's surprising that one needs this bit of self advocacy
Jargon to be able to navigate this rugged terrain of uncertainty
An American landscape of billing codes, errors and complexity
Rigged. Defensive medicine in the face of litigious uncertainty

Of course these are just openings, an entrée into a conversation
You make your own luck afterwards, for these are fraught situations
Your body and mind will continue to confront daily adversity
And your interlocutors will contend with the vagaries of biology

And so to the questions, deceptively simple but specific
It is best to feign an aura of comfort with the scientific:

What is the diagnosis?
What is the prognosis?



M.C. Escher



Code, a playlist


A soundtrack for this note (spotify version) File under: , , , , , , , , , , , ,

Writing log. October 8, 2022

Thursday, September 10, 2020

Mixed Metaphors

The COVID-19 risk guidelines in Austin, Texas present a design dilemma and a case of the blues (and more on that anon, see if you can spot what I mean). They also started with a political handicap when they were unveiled a few months ago. These are local city and county guidelines, drawn up by the Austin Public Health department, that were always likely to be ignored and run roughshod over by Texas's governor who was early in hailing The Grand Reopening of Texas, and has steadfastly proclaimed Positivity in the face of all contrary evidence.

Covid-19 risk guidelines Austin Texas May 28 2020

The earlier color-coded threat level Homeland Security Advisory System in the US has also been handicapped since its inception. While some critics focus on its bureaucratic unwieldiness, what irks me most is a catastrophic user interface and design failure. The failure, as you'll note, continues into the present.

The reason is that, in order to have green be the colour for the "all-clear" threat level, the natural spectrum of light, as normally seen in rainbows, has been altered in the Homeland Security scheme. Thus ice cool blue has been promoted to "guarded" whereas tropical green has been demoted to "low".

homeland security advisory systemrainbow

A bureaucrat or marketing person's intelligent design is at odds with evolution, physics and reality. Blame Osama bin Laden perhaps, but any number of people in the US government signed off on this mishap. Further, we are still living in this era of Recent Non-Specific General Threats almost two decades later.

The messaging and visual branding in the covid guidelines suffers from the very same flaw with the inversion of the colors of the rainbow spectrum. You can almost hear the designer's brain ticking: let's start with a traffic light metaphor, Red-Yellow-Green. But wait, they want 5 levels, let's add in orange and blue. Oh no, what about green? Argh, I give up, let's just invert green and blue. Mixed metaphor much?

Covid-19 risk guidelines Austin Texas May 28 2020rainbow over san francisco bay

Everytime I look at these charts, I suffer cognitive dissonance, there's something not quite right. I don't have to be color blind to be confused; I get a case of the misplaced blues. Could it be so hard, I ask myself? When I bought some paint to go after Tom Sawyer, things seemed easy, I ordered my 5 cans of paint and got a nice rainbow spectrum:

rainbow spectrum of colors

When I looked at my bookshelf at my stack of Unesco General History of Africa books, I noticed that there was a similar confusion if you organized things chronologically. I suspect the editors of that wonderful series weren't visually inclined but, in mitigation, they weren't dealing with a global pandemic and coming up with an urgent public health intervention. Still, the learning exhibited in that series stands the test of time. Even if later scholars have access to more material these days, those historical tomes were a real benefit for humanity. It was certainly wise to have the red volume be Africa under Colonial Domination. The blood of colonial era lingers on the ground. Alfred Adu-Boahen's opus of historical scholarship stared with clarity at the heart of darkness and eschewed Africans as scenery in the race to Fashoda.

But back to our covidious guidelines and rules and regulation... Once you move beyond the blue in green, as it were, a further problem is with naming and comprehension. If you use numbers for different phases, you have to consider the order. Do increasing numbers mean an easing of restrictions or an intensification of the lockdown? Are you considering opening or closing? In Austin, it looks as if Stage 1 is the all clear whereas Stage 5 is the fullblown lockdown stage, but I could see the reverse making sense too. Leaving aside the blues, where do epidemiologists stand on endianness and indeed on numerology?

Mind you, an interesting thing to note is that the misplaced blues is not a universal design failure. The Texas Medical Association coronavirus risk assessment of activities is at least in line with the rainbow spectrum. Different designers, most likely working down the hall from each other, came up with different solutions. No wonder humanity is afflicted with version hell and the Tower and Babel.

coronavirus risk assessment activities

The designers behind Harvard Global Health Institute's Global Epidemics site went with the Rule of Four instead, with the graphics for their Key Metrics for Covid Suppression. There is still the notion of the rainbow, but to avoid the case of the misplaced blues while fitting in with the traffic light metaphor, they added orange but decided that the blues could wait.

the path to zero

The British government in April was considering The traffic light exit strategy to free the UK from lockdown. A new economics paper suggested "a red-amber-green solution to safely ease us out of coronavirus restriction". That would be The traffic-light route to ending the economic lockdown by Gerard Lyons and Paul Ormerod (April 5 2020). It was noted at the time that this academic had sway in the past with Dominic Cummings so Mister Johnson was likely to pick up on this metaphor.

A few weeks later would read Coronavirus: 'Traffic light' system to lift lockdown in Wales
Ending lockdown could be in phases,"like a traffic light in reverse". There would be a move from red - some "careful and controlled" relaxation - to green, which would be "much more like the lives we had before the crisis hit". The amber zone would see more restrictions lifted and, if the virus is not re-emerging, Wales could then move to the green zone.

The UK would unveil its covid alert system in June rollowing the traffic light metaphor - the blues of the worst excess mortality were seeping in

uk covid alert levels system in June 2020

By July we were reading Coronavirus: Quarantine scrapped for arrivals from 'low risk' countries to England, a constrained reopening was in prospect
Last weekend the government said a traffic light system would be introduced, with countries classified as green, amber or red, depending on the prevalence of coronavirus... the Join Biosecurity Centre – which was set up to coordinate the government’s response to the pandemic – will be categorizing countries with a “traffic light” system.

Each country will be rated green, amber, or red. This will depend on the prevalence of coronavirus, the trajectory of the disease, and the center’s assessment of the data’s reliability. The quarantine will only apply to those countries rated red.

The UK Government Traffic-Light Quarantine System was said to be red amber and green.

rainbow installation at The Contemporary Austin

Chile launched its five step coronavirus prevention program to gradually reopen the country. They didn't bring in color to the mix, it was steps and numbers.

Seven Santiago neighbourhoods will transfer to Step 2 — they will be allowed to leave their houses freely on weekdays, with local shops allowed to reopen. The quarantine remains in place on weekends and holidays, along with a nighttime curfew every day.

La Araucanía joins fellow southern regions Los Ríos and Aysén in Step 4 of the prevention program. Here, rates of infection are significantly lower than other parts of the country. Restaurants, cafés, shops and cinemas can reopen with up to 25% capacity, while bars, clubs and gyms remain shut and the curfew stays in place.

If you were lucky enough to take advantage of lower interest rates caused by the downturn and attempt to refinance your mortgage, you would have faced the hard sell and the kind of mixed messages that ensue whenever traffic light meets rainbow, we always seem to get a case of the misplaced blues.

misplaced-blues-in-refinancing-look-to-the-rainbow

California's governor Gavin Newsom is hip to this game

The governor said that the new four tier color-coded system would match a color to each of the four tiers with purple representing the highest “widespread” risk level for a county with more than seven new cases per 100,000 residents and more than 8 percent positivity rate. Red will represent “substantial” risk, while orange represents “moderate” risk and yellow the lowest level, “minimal” risk, with those lower levels being determined by reduced numbers in case and positivity rates.

“We don’t put up green because we don’t believe that there’s a green light that says just go back to the way things were or back to the pre-pandemic mindset”

california pandemic color coded system

The shiny Silicon Valley solution eschews the misplaced blues using purple instead, deftly forgoes green to flee the traffic light metaphor, and embraces the rule of four in pointing to simplicity for its color-coded county guidelines

Througout this pandemic, there has been a lot of mixed signals and confusion in the messages that the public has been inundated with. This inconsistent messaging goes against the best practices of public health messaging. The public is necessarily conflicted: stay home except when you shouldn't, wear a mask although you don't need to says the governor or the sherrif. Bleach and disinfectant is first presidentially recommended, and then immediately reviled and universaly ridiculed. This is the stuff of confusion, and I won't get into the stranger turns of hydroxychloroquine, or indeed the numerous cases of drinking of hand sanitizer - that last was a bridge too far for me, to mix my metaphors.

Colors abound in the discourse, yet the only consistent message is that red is bad, the hot zone or the torrid zone of infection. Heat is also at work; hot is bad, cool is good. And if some states go with colors, some with phases, some with steps, and yet others go with levels or stages. And when it comes to numbers, some go with high numbers while others prefer low numbers as the warning. Numbers are probably better than colors but again everyting is up for debate. Is higher better or worse?

One interesting thing is that we don't hear about black much in the messaging. We don't get black or white. The implied binary choices are too stark. Life or death, Stop or go. Perhaps it is because binary choices have an immediacy that force us to reflect on mortality. Three or more states is best, there are shades of gray in this business - these shades imply some degree of human flexibility and agency. Designers reached with intent into their toolkit and came up with traffic lights, with the rule of four, and always remember, as a best practice, if five or more states are needed, we should heed the actual rainbow.

Graphic designers are having a tough time achieving clarity during this coronavirus pandemic. There's no easy living when you have mixed metaphors in a covidious time.

rainbow installation

Mixed Metaphors


Traffic lights
Full circle rainbows
Prevention steps
Priority zones
Stage guidelines
Lockdown levels
Threat areas
Risk tiers
Confused warnings
The misplaced blues

mixed metaphors - covid guidelines meet the rainbow

Mixed Metaphors, a playlist


A soundtrack for this note, here's hoping we can find the blues or some black gold of the sun somewhere over the rainbow. (spotify version)

A ball of confusion is perhaps a good description for the novel coronavirus

See also: Colors, a playlist (spotify version)

This note is part of a series: In a covidious time.


File under: , , , , , , , , , , , , , , , , , , ,

Thursday, June 08, 2006

Boycott and The Gospel of Toli

I received a note that I almost discarded so slight was it. It was quite troubling at first glance and I reproduce it here in full; make of it what you will.

Part 3 of the Boycott Day Trinity

The Gospel of Toli


Recently scholars unearthed a scorched parchment underneath a library located in bowels of the slums of Nima, in Accra, Ghana. It was found by a young child, Wednesday born, who was playing football (also known as soccer to our American brethren). Barefoot and wearing a tattered Stephen Appiah-labeled Black Stars jersey and khaki shorts (he was skipping out of the library early), he stumbled over a wooden plank that was jutting out of the side of the adjacent chop bar, Mama Opus's Spot. At the sound of his alarming cries (something to do with nails or something), the elders were summoned to investigate the stigmatized youth and they uncovered a heavy wooden chest that led to a serpentine series of catacombs that run under the library and the nearby compound, owned by a wizened retiree who refused to give his name "What is a name after all?", but who, we have since learned, goes under the moniker of Kweku Ananse.

The paths delineated by these tunnels run along the Prime Meridian. It is well known that the line of the Greenwich Mean Time runs from fair London to the heart of darkness in Africa and passes through Nima, that dank armpit of the Dark Continent. Inscribed on the last page of the scrolls that were later discovered was a barely decipherable scrawl that handwriting experts now believe reads: The Gospel of Toli. After painstaking forensic investigations over the past 33 years, including the delicate removal of 6 films of Palm Wine, Schnapps-encrusted dust, and several layers of used kelewele oil, National Geographic is proud to exclusively announce the preliminary findings of this extraordinary and idiosyncratic document which will cause humanity to question its received wisdom. We intend to serialize the scholarly findings in the magazine.

Apparently negotiations are in progress and several Nollywood studios are leading the bidding for the inevitable film treatment. Samuel L. Jackson has been said to desire the role of Papa Ananse and that well known former child star Jamie Bell was also said to be seeking a role portraying the Messiah figure. It was unclear who the frontrunners were for the female leads, the Proud Marys of the plot although Tina Turner and Patti Labelle were whispered to be in the mix. Do note that any leaks on this topic in the so-called blogosphere should be treated as Gnostic misdirection.

The text of the Gospel hews quite closely to the Torah although there are some striking divergences in parts. The first discrepancy in this Apocryphal Gospel concerns Genesis Chapter 2 which has long been thought to read:
Thus the heavens and earth were finished, and all their multitude, And on the seventh day God finished the work that he had done, and he rested on the seventh day from all the work that he had done
Verse 2 has been radically transformed in this "extraordinary rendition" (termed for some reason in this arcane script: erustication). The verse now reads
Thus it was written that on the seventh day God grew so frustrated with things that she engaged in a boycott of all the work that she had to do.
The Good Pope, the erstwhile Cardinal Ratzinger, was said to be studying the issue closely, and his spokesman assured us that an encyclical would undoubtedly be forthcoming from the Holy Church.

Anonymous sources close to the papacy, who asked for anonymity because they wanted a Rove/Libby style protection, were quick to weigh in on the matter to our intrepid reporters.
"First of all, there's the issue of the gender of the deity. If the "s" is confirmed to not be an oily smudge, it would challenge 20 centuries of past practice, and cause us to re-examine the previously thoroughly-discredited Magdalene Propositions in a new light. Further, the notion of a boycott could be construed as an existential threat to the very authority of the Holy Church, a challenge on the order of Martin Luther's Ninety-Five Theses. About the only constructive insight I can find in this tendentious note is that God still has work to do for humanity. Lastly, I am very curious about one of the hieroglyphic symbols that is used throughout the text. The best translation seems to be a biblical concept similar to modern day voice mail. That is deserving of further study and this is where we are concentrating our efforts".
The remainder of the chapter is reproduced exclusively below. Further epistles will be featured exclusively in National Geographic and accompanying DVD and official website.

The Boycott Parable



That's it. I'm opting out. I've had enough. How the hell am I going to remember this many passwords, changed this frequently, at these irregular, staggered and idiosyncratic intervals, with these many different, obscure and undocumented restrictions, with all these different regulations on how often one can repeat said passwords and usernames? Oh sure I can, and do, use Password Safe to manage these things but still, having reached 50 different passwords for the various applications and databases I use, I might be changing things every week...

And now this insanity is being applied to the voicemail systems, increasing the length of the passwords beyond comprehension. I'm supposed to type this absurdly long and ever-varying chain of alphanumeric characters on a numeric keypad? Usability right? It might have made sense on paper to "strengthen password requirements" but did someone actually try to enter that many characters on that small a device?

I give up.

The figures are there I'm sure; someone deep in the bowels of the corporation can calculate the amount of help desk incidents devoted to resetting passwords. Or maybe not, that could well be an outsourced component. In all likelihood this same recipe is cooked in all companies

The Regulation Twist

  • Apply some IT Corporate security standard or other. The actual standard doesn't matter, the most important component is the security bit.
  • Lather with some bureaucratic bromide from the ivory tower, "Operational execution" or similar
  • Rinse with an outsourcing and "efficiency" rationale, belt tightening "to beat this quarter's numbers".
  • Sit back and watch employees do the regulation twist.
I'm working on a toli remix to update the song and dance with a funk break beat; I never realized that the phrase and phenomenon of breakdancing was an ironic commentary on modernity and ludicrous "traditions".

The Great Game of Sarbanes-Oxley, Homeland Security or IRS regulatory arbitrage proceeds apace - a typically American corruption of process that leads to dysfunction, to sleaze at the seams, and absurdity in general.

I know I'm tilting at windmills here but I thought that we were about emphasizing the people while paying lip-service to the process. (Cheers Coté).

Arrggh.

To all correspondents (and that includes my managers and co-workers), don't bother leaving me voice mail messages any longer. It's not worth it, I can only get my password reset so many times before I get disheartened. My job description didn't include daily chats with the help desk - at least I can't recall that in the pitch twelve years ago. I can hear it in the voices: "It's him again... let's take bets on how long until we speak to him". I can only be apologetic or suitably shamed so much and I've long passed that threshold of woe. I have some sense of honour, even if I'm always smiling and nodding my head... From now on try instant messaging or email or something. And even with this last I can occasionally find your signals amongst the noise of spam and officious notes. As I look at the inbox, I note:
"Your action required!"

"Your [redacted] password is about to expire"

"Your [redacted] security token will expire in 14 days"

"Important - Please read [redacted something or other in breathy tones] ...
Sidenote: I wonder why the inbox still stands at around 3,000 unread. Hmmm.

"They", that amorphous they, have finally made the barriers to entry too great and I'm demurring. I thought we were championing Sign-on Simplification in one of our Great Initiatives ™. That can't come soon enough.

I can pinpoint the moment Lotus stopped being Lotus. It was a gradual process and ironically "process" was the culprit. Was it the computer security requirements? Was it that "mandatory legal training" thing to which one needed to breathlessly comply "by tomorrow" (on top of the Business Conduct Guidelines we sign off on every year without fail)? Are we like the American army in Iraq, 3 years into a war and now having to undergo "values training" and re-education about "quaint" Geneva conventions? After a while all these processes became overbearing and I knew I was no longer in Kansas (or Cambridge) anymore. Oh sure I do get work done and I've installed those compliance-checking software thingimijigs (a.k.a. corporate-sanctioned viruses) on (one of) my machines. Still this whole Trusted Computing rhetoric sounds Orwellian...

That layer stripper Bill DeHora was going on recently about web frameworks, terraforming and such and the technical arteriosclerosis analogy is apt for organizational behaviour
It's remarkable that something like a website can have a geology, layer after layer of frozen accidents. Integrators will be used to seeing that in non-web systems. But the difficulty is you can't terraform this kind of site - reskinning means editing every single page.
We seem to be freezing processes in place as part of some intelligent design scheme, I'm hesitating here in believing that it is accidental evolution, it's rather a terraforming (or is it terrorizing?) of corporate peons. There must be a reason that that show called Office Space has been so popular or that Dilbert speaks so deftly to the world every morning.

In queuing theory and operations research one of the key things we try to measure is the balking rate, that is the proportion of users in a system who refuse to join the line or perform the task, and leave for whatever reason. In physics the analogous concept is branded as dark matter and apparently the majority of our universe is made up of this substance. It's been over a year and I still haven't finished writing that article on the dark matter of communities but it looks like I'm accumulating source material daily in my company conclaves. If you want us to use tools to get work done, don't make the process so overbearing that we balk. Or perhaps that's the strategy, as in politics, if you make things distasteful enough, perhaps you can appeal to apathy in your opponents and your motivated base will be the only ones that show up on election day.

Then again, and I repeat myself here, there was that email that I received a couple of years ago asking me to validate that I really did need my office phone (Bean Counting on a mission to Planet Absurdity). And while repeating myself, this is a matter of community dynamics:
The identity of a community is to be found in the most unlikely of things. The things that draw people together to form a cohesive whole are not the explicit things that one thinks, it's not a kind of warlike territoriality or dedication to some mission statement or other, it is rather in small insignificant items that the tribal instinct is articulated.
What are we saying to ourselves when we let patently-ridiculous processes run our lives, when we live in fear of an amorphous "them", when we huddle together and decide not to make waves.

Ben Hyde who makes it his business to study organizational politics and networks recently pointed to an old piece about Exit, Voice and Loyalty that is worth repeating
Members of an organization have three broad choices about how to respond when the organization goes into decline.
  • Exit - They can leave.
  • Voice - They can argue for change.
  • Loyalty - They can remain silent and loyal.
It would be a stretch to say that a company is in decline based on contortionist password requirements for voice mail and I hope I'll be taken to task for even indirectly suggesting as much (for the record, and for gospel readers who can't get by the rhetorical filter, I'm not suggesting so). Still what is it that they say about canaries and mineshafts?

Having read The Organization Man, I am mindful of leavening my dissenting voice with the necessary amount of honey or satire to make it go down well, and agitating for sanity by considered argument, running code, and the occasional call to arms. Still when you focus on small things as your strategy you often loose heart at the repeated losses in your daily battles. I do try to choose my battles with care and I hope this voice mail business isn't my last stand, last straw, or tipping point following Mr. Gladwell.

The Boycott Epistle



  • Elmore Leonard - Last Stand at Saber River

    Elmore Leonard - Last Stand at Saber River

    This is one of "Dutch"'s great westerns, taut, stark and poignant. Like the major protagonist, I just want to be left alone minding my flock and family or something and getting work done.

The Boycott Hymnal

  • Jerusalem (traditional)


    My second favourite hymn is Jerusalem with words by William Blake. My family is fairly secular in its religious traditions with an interesting mix of the devout and the dissolute. The one thing we have in common is a love of hymns. Even the Fabian Socialist types will sing along with the Presbyterians, the Anglicans (Episcopalian for the Americans), or even the normally sedate Quakers and part-time African traditionalists. It is quite interesting that Jerusalem unites us, especially given the lyrics.
    And did those feet in ancient time
    Walk upon England’s mountains green?
    And was the holy Lamb of God
    On England’s pleasant pastures seen?

    And did the Countenance Divine
    Shine forth upon our clouded hills?
    And was Jerusalem builded here
    Among these dark Satanic Mills?
    In boarding school in England I had a friend, Adeel, from the United Arab Emirates, who used to chafe about being forced into our daily chapel services. He was becoming quite a devout Moslem and used to get into furious arguments with House Masters and such about his attendance. The Brits don't believe in separation of church and state and, in an independent school, we know well what force his words carried. We had fought similar battles to no avail but we watched the conversation with amusement over the two years we were classmates. It was always incongruous to me, that my Third World crew of friends would spend our days learning about the outrages committed against our ancestors in the colonial past and post-colonial present and that we would then gather every morning to sing about fair England and the like. Those missionaries got us with their hymns, psalms and that Song of Solomon business. As a sidenote: currently, one of the most popular ringtones in Ghana is the Hallelujah chorus.

    The funny thing is that both of us, Adeel and I, loved this hymn and we could often be found singing it aloud in the most inappropriate of places, sad fellows that we were, we lost a lot of credibility especially with the fairer sex... For some strange reason we loved the line about England's mountains green. I still do.

    I've been thinking seriously of late about this notion of pleasant pastures and perhaps I've been lucky to have found Lotus's equivalent in the community I've been working with over the past decade. On the other hand, blue industrial soot is looming large these days and reviving my childhood asthma... Still I take heart in Blake's protestant work ethic and existential defiance
    I will not cease from Mental Fight,
    Nor shall my Sword sleep in my hand,
    Till we have built Jerusalem
    In England’s green and pleasant Land.
    I must want to build Jerusalem or something...

    The dark Satanic Mills are password requirements and version hell.
  • To Hunt the Wren

    This traditional was the other standby around Christmas time at Aldenham although this was more properly a Boxing Day song. As I remember it, the lyrics were
    Where are you going?
    To Hunt the Wren
    This Christmas morning
    Calls for hunting them

    How will you kill him?
    With sticks and stones
    Hatchets and cleavers
    Honouring his bones.
    It's quite a bloodthirsty song but, sweetly sung, it is as soothing as a Spanish Inquisition. And why not bushmeat or grasscutter, I always wondered, even as I sung Alan Vening's arrangement? When was the last time an African hunted a wren? Still I feel like a wren these days with these passwords being the hatchets and cleavers honouring my bones. Not to mention that the song didn't conclude on an upbeat note, the bit at the end was about
    Yea and Requiem
    Yea and so Amen
    All together now.
  • Michael Jackson - Man in the Mirror


    Keeping things on the gospel front with a soulful tinge, we turn to Mr. Jackson's great anthem, one of my favourite songs of his.
    I'm starting with that man in the mirror
    I'm asking him to make that change
    If you wanna make the world a better place
    Take a look at yourself and make that change.
    There was a performance at which he was so in the moment that he dropped to his feet dramatically during the energetic chorus and split his shins which meant that he couldn't do all the usual moves and limped during The Way You Make Me Feel which followed.

    With regards to my theme, it is sad that MJ changed his appearance and that I'm now boycotting my voice mail. I don't quite think that that was the underlying message of the song but perhaps the Corporate Song booklet could be augmented with this track, especially that "take a look at yourself and make that change" line.
  • Al B. Sure! - Had Enuff


    Have you had enuff? Swingbeat ebonics from the great Al B. With his exclamation point on the Sure! serving as a precursor in punctuation prolixity to Yahoo!, this is an offshoot of the irritation playlist.
  • Prince - Golden Parachute


    This song, on the unreleased High album, is the current soundtrack of my low life. I do wonder about the faceless executives who signed off on the changes to the voicemail password requirements. I wonder about the nature of their pastures. Are they still with us in the commons? Do they have assistants that handle their telephony arrangements? Or am I the only one struggling with this? Can I get a golden parachute to cushion my forthcoming fall?
  • Abide With Me by Henry Francis Lyte (traditional)

    My favourite hymn hands down is Abide With Me, it has everything you could ask for, the lyrics, the melody, the comfort provided by the performance etc. Thelonious Monk did a 55 second rendition at the start of Monk's Music and that was when I knew that I loved Mr. Sphere. On that album, it was followed up with Well, You Needn't and that's the right idea for a boycott especially the point at which the exuberant Monk shouts "Coltrane". The rest is history and Monk is the truth.

    Thelonious Monk - Monk Music

Today is Boycott Day in this joint and with this, the third part of the Trinity, the Holy Ghost can be assuaged. I suspect that I've gone on entirely too long and crave your indulgence if you've read this far. Thankfully the World Cup beckons so maybe I'll shut up about these small things (for the next month or so)... Perhaps...

So dear toli readers: can I get a witness? What are you boycotting these days? Or to put it differently, when was your last boycott day? And when is your next one?

Boycott!

The Boycott Day Trinity is a minor diversion in the Things Fall Apart series.

File under: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Friday, April 07, 2006

On Coordination Costs and Human Factors

I reproduce here what I thought would be a short email that I fired off this afternoon discussing the web style. I hope it might gain from wider scrutiny...

On Coordination Costs


In an atypically verbose exposition, Matchmaker Roy Fielding propounded thusly:
Don't get carried away. You won't find a constraint about "nouns" anywhere in my dissertation. It talks about resources, as in resources, because that is what we want from a distributed hypermedia system (the ability to reuse those information sources through the provision of links). Services that are merely end-points are allowed within that model, but they aren't very interesting because they only amount to one resource. The really interesting services provide many resources.

Note that this is just another way of restating Reed's law in relation to Metcalfe's law.
Similarly, Layer Stripper Bill de hÓra recently flirted in the same manner:
Some people when faced when a distributed programming problem, think 'I know, I'll expose a new service interface.'

Now they have n-squared problems.
View Sourcerer Joe Gregorio almost in passing shined a light on some cobwebs (on caching and authentication on the web):
"In the process of implementing httplib2 I also discovered some rough spots in HTTP implementations."
Putting these together and handwaving as usual...

It strikes me that the first two statements are all about changing the frame and making economic arguments for REST (Representational State Transfer), namely constraining system design to resources, identifiers and uniform interfaces in order to lower coordination costs... ergo the web style as an enabler of Reed's Law.

I hadn't seen such explicit harkening to Metcalfe and Reed in the past even though there has always been this notion of REST as incorporating end-to-end principles. I too have argued in this vein about a complexity and integration argument for REST.

In a similar thread Benjamin Carlyle put it thusly
Uniformity is key. Simplicity at the network level is key. Managing state transparently as resources is important for its own reasons
Intuitively, the argument about applying architectural constraints to get payoffs in terms of leverage has a lot of appeal to engineers. It seems however that we need some economists to weigh in here with some options pricing theory or other to give more heft to these arguments. Often, decisions about software systems are not made by engineers but rather by financiers and it helps to speak their language.

Instead of Reed's notion of group forming, it seems the argument by analogy for REST is about application integration and the barriers that obtain in that sphere.

Now I like the large numbers that we can throw out in these reformulations. The thing is that Andrew Odlyzko says (pdf) that both Metcalfe and Reed's law are bunk despite their evident appeal and ability to dazzle venture capitalists.

In that paper he sets out to get quantitative measurements and hard data and puts the value of communication networks at nlog(n) which is nothing to sneeze at, better than Sarnoff's linearity but far less than Metcalfe and Reed's estimates. Now Odlyzko was measuring the utility of the internet which encompasses more than the web and you can argue, following Sam Ruby, that the email and peer-to-peer styles, whether expressed as, Bittorrent, Skype or usenet, are the true winners in his numbers... Also you could argue with his methodology and I have my own quibbles, but it's a brave man who takes on Odlyzko... Thus I'll take his numbers in my handwaving, acknowledging after all that the web was the key enabler and popularizer of the internet.

The Human Factor


This gets me to the third quote from Joe Gregorio, namely the perennial rough spots and implementation quirks that are our daily bread as engineers trying to design and produce systems for the web.

We see daily abuse of HTTP and there are annoying glitches with the libraries and implementations that exist and what is deployed in the real world. Perhaps this is because REST is the web style rather than the programming model and consequently enforces very few prescriptions. We are only now seeing good frameworks geared toward REST; historically, HTTP client and server libraries have been minimalist.

Now it seems to me that this is about the place where theory meets practice and we get into the realm of pragmatism and leverage. In the wild we see
  • the difficulties of interoperation
  • differing interpretations of specifications if indeed specs are read
  • backward compatibility constraints e.g. for leverage and adoption, HTTP 1.1 had to accomodate some of the pitfalls in HTTP 1.0
  • difficulties in authoring structured data
  • configuration and deployment issues (mime types, content negotiation etc.)
  • competition with other styles, the web style exists in a marketplace of architectures
  • vested interests and economic models e.g. limits imposed by shared hosting providers, asymetry of some broadband networks etc

With this in mind, I wonder if I can come up with a stab towards Koranteng's postulates on coordination costs
  1. There is a natural dampening factor in the utility of distributed computing

    We can use Odlyzko's numbers as the lower bound in practice of network effects and Reed's law as the theoretical limit (with Metcalfe being a great popularizer).

    I happen to be reading Graham Greene's The Human Factor and, looking through some of the issues that hinder adoption, many of them could be summarized as comprehension or human variability hence I'll characterize the issue as the human factor. All that is left is to augment with some Black-Scholes options thinking and financial derivatives to package to CEOs
  2. the human factor in technology adoption is sizable and its effect can be measured. Moreover I would argue that it should be recognized as an explicit architectural constraint in the design on software systems.
  3. In the realm of distributed computing, this human factor is bounded by Odlyzko's limit and Reed's law.
    Mathematicians can derive the correct coefficient for me... 1/nlog(n) ?
The rest as they say is advocacy and implementation details...

We are operating with imperfect specifications, imperfect frameworks and imperfect implementations. REST as laissez faire distributed computing doesn't acknowledge these costs as architectural constraints but rather seems to go about it by encouraging best practices and hoping that, by existence proof, people will come to it... One can look at the high level requirements that have been articulated
  • Simple protocols for authoring and data transfer
  • textual formats for protocol and some exchanged hypermedia
  • Sensitive to user-perceived latency
  • Mark Baker's talk about "principled sloppiness" (i.e. "must-ignore style extensibility")
We don't tend to enforce many of these things in the deployed protocols. I wonder what other best practices can lower coordination costs and whether they can be encoded in protocol to remove the human factor...

Anyway food for thought...

the human factor

The Gospel of REST


If anything this enables me to add Reed's insight to my nascent taxonomy (or is it theology?) of the web style which some may have come across... namely:

There's a tag: REST

There's a slogan: the web style

There's a Holy Book: Architectural Styles and the Design of Network-based Software Architectures

There's a Reverend: HTTP

There's a choir: the HUHXtable quartet (HTTP, URI, HTML, XML)

There are Four Horsemen: GET, POST, PUT, DELETE

There are prophets: (you know who you are)

There are pillars: Resource Modeling, Idempotency etc.

There are priests and tax collectors: the caching and other intermediaries. Ergo "Render unto Caesar that which is Caesar's" recast as the notion of "giving visibility to intermediaries".

There are angels and demons: a band of Apaches and various HTTP libraries which are alternately sources of delight and exasperation.

There's a Messiah: the browser (which comes with various pretenders: Firefoxes, Great Explorers, Viking Operas and Fruity Safaris).

There are red herrings: url opacity etc.

There are false gods: WS-*, crusty old architectures of appropriation etc.

There's the wilderness and prodigal children: WebDAV?

There's Mary Magdalene and the disciples: HTML and Forms.

There's immaculate conception: the virtuous XML.

There are worldly travellers: the three mobile kings JavaScript, Java Applet and ActiveX (some discredited) and a Flashy pretender.

There are scrappy offspring: Atom, RSS and Atompub.

There are gruesome Philistines: implementation details such as Structured Data, Character Encoding and Security.

There are elevator pitches, Cliff Notes and ballads: Sir Tim's lullaby of Web Architecture 101 is quite reasonable as a Song of Solomon

There's myrrh and frankincense: the web as conversation engine

And now there's the Promised Land ©: Reed's Law as the proverbial milk and honey

The parts I'm missing are the Apocrypha and Gnostic gospels (with Judas in the news this week)... but those should be forthcoming... As will the eventual accommodation by Rome as the official religion but then Bill de Hóra has noted that we are almost there.

[Update] Ernie Prabakar suggests that "Lo-Rest" works as apocrypha and that "SOAP is really gnostic - it focuses on the divinity of XML, to the denial of its incarnation in HTML." One wonders who Rome is in the technology world, perhaps Microsoft like he suggests... I'd note in passing that I've heard in corridors that the IBM Software Group Architecture Board is "looking at REST" anew. That's got to qualify as progress... Pretty soon I'll be able to publish an official gospel from my muddy trenches. Looking further down the line, there will likely be a split between the Catholic and Orthodox churches as the empire suffers from navel gazing and an East/West axis of discontent and eventually there'll be Martin Luther and the Reformation... I wonder whether I'll live see to see the Protestants of REST and if I'll recognize them.

A Data Digression


I noticed last year that Roy Fielding produced a white paper about JSR 170 (Java Content Repository) for his day job (pun intended) applying principled constraints to the modeling of content repositories.

I've been curious about the surprising inertia behind that specification having played with IBM implementations in the past few years. Perhaps however, the immaturity of implementations in that space is a tribute to some of these arguments about coordination costs applied to the marketplace of data (relational, object relational, XML, SQL, XPath, XQuery, ActiveRecord, ODMA, Spring, Hibernate, SDO etc).

I wonder if the Atom store dream is the way to go, namely rather than apply the constraint of an API and a language, Java, in a world in which we have a Tower of Babel of languages and persistence frameworks, it makes more sense to focus on wire protocol (as in Atom Publishing protocol) and wire format say Atom. In other words the greater payoff would be not in establishing a programming model (the JCR) but rather in moving to Atompub which is agnostic on the underlying programming model and lowers the coordination costs by stripping a layer of comprehension from the mix. All this of course is modulo the quirks of compound documents, media collections etc...

The web worked because it was an overlay system that acknowledged existing systems and encoded much of its benefits in protocol rather than API. At the current stage of development in the software industry, it appears that the combination of protocol and data formats rather than API is the more effective approach to lowering coordination costs and dampening the human factor.

File under: , , , , , , , , , , , , , , , , , , , ,

Sunday, June 12, 2005

REST - The Web Style

I give you the slightly updated slides to a talk I gave on Friday to the Lotus Workplace Architecture Board.

The topic was REST - The web style

An argument about an outlook on technology, on complexity, layering and leverage.

(It's also available a Freelance Graphics presentation .prz)

This relates to a question in the presentation:
How did you get on the web?
My first web development was implementing the Publish to Web functionality in Freelance Graphics in '96-97 so I typically don't do Powerpoint... I'll try to get a pdf version at some point for printing for those who don't happen to be blessed with Freelance.

The presentation is a recasting of things I've been writing about here at the toli for the past few months. It was intended to be a little cri de coeur and slightly provocative and hopefully I'll be taken to task for some of my commentary both inside Lotus and externally. It draws on a few sources which I'll acknowledge below. It's always interesting to try to distill tens of thousands of words and countless discussions into an hour's talk. One should submit periodically to that kind of critical scrutiny to learn if there is value in one's content. I hope you enjoy it, nod your head or as the case may be, cross your hands and disagree furiously. In any case, here's to the ongoing conversation...

The subtitle is Why I am a RESTafarian

Some preliminary information.

REST stands for Representational State Transfer

The canonical work is Roy Fielding's dissertation. Roy led the effort to build the Apache web server and to define the HTTP specification.

Elevator Pitch version


REST is the architecture of the web

REST is the best of the lessons learned in developing the web.

REST embodies the design patterns of the web.

REST is defined by four interface constraints:
  • identification of resources
  • manipulation of resources through representations
  • self-descriptive messages
  • hypermedia as the engine of application state

[Update March 2006] Here's a fuller elaboration of the REST Elevator pitch.

Roy Fielding's Take


A presentation ostensibly about Designing a new protocol for the Web (ppt) but which is revelatory about the motivation of the web.

A short paper on REST (in case you don't want to read a dissertation)

Principled Design of the Modern Web Architecture

Roy Fielding's dissertation

Architectural Styles and the Design of Network-based Software Architectures

The meat is this chapter

It's Just Data


Sam Ruby is participating in an effort at IBM to simplify our technology stack

Attractive Nuisance (Sam Ruby on the View Source imperative, http, html, xml, unicode, encoding etc, excellent presentation)

Radical Simplification (Sam Ruby expounds on shedding layers of complexity in the IBM technology stack)

Adam Bosworth:
"the web succeeded because of Simple Sloppy Standards that Scale"
He's now at Google and also believes in Keep it Simple and Sloppy.

Koranteng's take on things


Serendipity


Craigslist + Google maps (the kind of magic that happens when you design for the web)

For those who think that bleach is new... (Lotus was right there in the mix in 1998-99)
The Horseless carriage (a great description of the social implications of the web, blogging etc)

The specs (if you really want to read them, sadly most don't)


Further reading


REST wiki (trying to document the web style and collect design patterns)

Second Generation Web Services

Show Me the Code - Joe Gregorio walks through creating RESTful applications

REST + SOAP

< a href="https://www.xml.com/pub/a/2004/12/01/restful-web.html">How to Create a REST Protocol

RFC 3205 - On the use of HTTP as a Substrate


My rest writings

File under: , , , , , , , , , , , , , , , , , , , , , , ,

Wednesday, April 13, 2005

On XForms, XPath, CSS, Brevity, Syntax And More

The always interesting Mark Birbeck of formsPlayer has a nice article up on his blog.

Ostensibly it's about "CSS, the XForms Dependency Engine, and 'Dynamic Infosets'", and he starts out by asking why there are 2 main languages (CSS and XPath) for selecting and addressing nodes within a DOM. It's a good question, and one that many have asked before. The piece is probably the definitive consideration of the question and he's a great guide, walking us through all the issues involved.

What is more interesting to me is the wider point that he goes on to make as he lurches into a very useful discussion of how we design languages and layer and model our systems. Almost in passing he addresses an issue I find most fascinating which boils down to importance of ease of authoring and syntax in technology.

The mental makeup of human beings means that brevity matters and "intuitiveness" becomes a concern. As an example, so long as the length of phone numbers was low, they were easily memorable, these days however, with 10+ digit dialing, we rely on Caller Id and programming numbers into our phones. Thus our cognitive faculties and our short-term powers of recall come into question. Being able to control the nicknames and identifiers we use in our buddy lists is a very significant factor in the spread of instant messaging and now applications like Skype. Identifiers matter significantly in this respect. The simplicity of a URI as a key, and memorable tenet, of the web architecture is a similar case in point.

From another angle on the issue, consider that not everyone can tilt their heads enough to handle the parentheses of a typical Lisp program. Most programmers can, on the whole, and some, like the Paul Grahams of the world, even wear it as a badge of honour. Of course a good computer science program should expose budding engineers to this way of thinking and many do. But these, like the Smalltalk gurus and others, are sadly outliers in the software landscape. I would hazard here that the largest impediment to the widespread adoption of the elegant programming model of Lisp is not that something like recursion is difficult to understand but rather the dissonance that the proliferation of parentheses can cause when Jane Programmer scans a listing in an editor. Vacant stares and cognitive overload ensues.

Marc Andreessen will be remembered for many things; amongst others: Mosaic, Netscape, the AOL merger, a little dotcom hubris some might say, but simply youthful exuberance I would say, evidence in the flesh of what a monopoly like Microsoft can do when provoked, and a pointer, along with Jim Clark, to the role of gravity in deflating bubbles ala Great Crash). Historians will point to all that and more.

For me though, his choice of the syntax for the image is his most lasting contribution to technology and to mankind in general. Others argued otherwise at the time and would have foisted semantic doodles on us. The "View Source" impulse that has led directly to the success of the web, that great conversational engine, would have been stymied by much head-scratching by the eveyrday people who created many a homepage circa 1995-1999. Those much mocked homepages were wonderful assertions of identity, and the lowered barriers to entry enabled many people to land their flag on this here internet where they, their friends, parents and children now live, shop and commune. If he ever receives an honourary knighthood from King Charles, his coat of arms should read

<a href="http://netscape.com">Mozilla Hyperlink Andresson</a>
It is the succint expression of the ethos of simplicity in human history.

In this vein, I was perplexed that in XPath 1.0, it is better, or rather less ambiguous, to write true() rather than true. In other words, it is recommended or even required that we treat booleans as functions and not as literals. Indeed everything is a function and as we know functions need parentheses to indicate their arguments. This always trips me up and maybe this is no longer the case in XPath 2.0. Who knows? I certainly haven't cared to look. What is true is that the cognitive impedance this caused me on my first date with the language will forever taint it in my eyes even though I have daily dealings with it.

If you had to say huh? when you did your first view source of a web page, would you have gone with that newfangled web thing or would you have written it off as one of those overly complicated buzzwords that you would look at later "when you had more time"? First impressions and snap judgments (ala Blink) count surprisingly much in these things.

One of the things that I keep thinking we need, and that I hope someone with an itch will build, is a nice XPath expression editor, a component that parses XPath and walks you through the processes of adding conditions and formulating expressions. Maybe a wizard or something, with selectors for picking the various kinds of things that are typical when building forms applications e.g. this field should be less than the value from this other field. A component that would let you add a library of custom XPath functions that could implement additional rules. Each of these libraries would be able to specify their editors but most could just be simple drop-down lists. It's not a big thing to do and you can sketch out a nice design for such a component and knock it out over a weekend. Make it open source it and be done with it.

Still, my focusing on the critical necessity of such a component is simply a recognition that hand-authoring XPath can quickly turn into a nightmare of missed parentheses, predicates and selectors. It is true that authoring in XPath doesn't require as much head scratching as say XSLT, in which context I first encountered the language, and which mere mortals like me will never understand even as I used to write in Lisp. But it is something that raises the bar quite high for the average author. In contrast there is something strangely satisfying about editing a style sheet (or maybe it's just that I've grown accustomed to that over the years). Something like this I expect is what lies behind the impulse for Web Forms 2.0, and the WHATWG, a pragmatism borne of weighing programmers' familiarity with scripting languages and a tenacious devotion to backward compatibility.

More generally though, the issue is that getting general users to author structured content is a big problem, indeed it is a nigh insoluble issue. And all the software that we produce cares very much about structure. The wonder of the spread of HTML and XML is that, ever since Berners-Lee, Bray and others unleashed their projects on us, human beings have adapted to angle brackets, < >, and now don't see them as much ado about anything. The same thing goes with CSS, the tradeoff that was made for syntax is now bearing fruits.

In the past, I've had to deal with writing a number of applications that have had things like 60,000 lines of Javascript. The messy reality is that of dealing with things like focus, issues of scope in browsers, the power and contradictory complications of late-binding scripting languages, the earlier lack of powerful debuggers and Dom inspectors, the legacy of box-model quirks as well as the powerful notion of stitching together user interfaces by leveraging the incremental rendering and multi-threaded downloading that is the basis for the hypermedia browser. All this can be done, you can have even page editors and rich spreadsheet and presentation engines in Javascript. I've written about the heroism of those who write and maintain such things. Google (Suggest, Gmail, Maps and more), Yahoo/Oddpost, IBM, and many others have competitive edges because they have developers with the skillset and more importantly the insane programming discipline required to crank out the composable browser voodoo that causes much serendipity for end users. What however about the Long Tail of Application Authoring on the web? That's what VB and other environments have catered to on desktop clients. The endpoint in all of this is when a team lead or department head can compose an application for their local concerns without much (or preferably without any) handholding from the IT departments, if indeed they have one. People just want to be able to handle their little processes and get on with things. This is what web publishing and especially blogs and wikis have done by lowering the bar for authoring with the attendant benefits in communication and global conversation.

Thus, one of the main questions that will determine the adoption (or lack thereof) of XForms or Web Forms and their ilk is the perplexing matter of whether human beings in the next decade will become as inured to writing true() in an expression as they have become with the angle brackets of html and xml. Put a different way, it could well be something completely orthoganal to the merits of the underlying technology that will determine the outcome: it will be the appearance of the kind of code you see when you do View Source on the first cool forms application you encounter. I'm suggesting then that the language acquisition cost and what I'm terming the cognitive impedance in the average human being of parentheses for functions, and forward slashes for selectors will determine the adoption rates of XForms technology.

I've been working on Forms, and XForms in particular, for the past couple of years. I happen to think that XForms has gotten the abstraction and decompostion right and that it is a great means for lowering the skillset required to model and author the kind of form-based applications that are the glue of the many custom processes of the Long Tail of Software. Indeed my only nitpick is that the specification doesn't include upfront the equivalent of the JavaScript confirm function as a concession to usablity so that you can easily put up a message for the user so that they can decide whether they "are really sure that they want to submit their form" or not. It can be done, I've been told, but it isn't emblazoned in the specification. By being too general (they'd argue that something like this needs to consider mutiple modalities and the like), they are missing out on something interaction designers would immediately point at as a shortcoming. Again, first impressions count.

I see a bright future in which that much maligned Forms "programming model" that is at the core of the Lotus Notes platform could be brought to the web platform leveraging the native primitives of the Web style (hypermedia, uris, linking etc). XForms is singularly well suited to do this. For those unfamiliar with Notes/Domino, my handwaving elevator pitch is that it is a platform essentially founded on the fundamental insight that a huge class of applications can be built based on just a few compositional building blocks: Forms, Views a standard file format, the note in Notes terms. The brouhahas made about messaging, security, directory services, and all that paraphernalia that marketing people throw about when they pitch the platform to you are all syntactic sugar around the core competency of Forms and Views and the client and server processes that can manage them. A whole cottage industry of business partners are doing very fine thank you building custom and evolvable applications for businesses, small and large, everywhere. The fact that email can be construed as a forms application is just a side benefit and detracts from the real focus of the platform. This is much misunderstood by people whose only encounter with Notes is as a Mail client. It's really just a forms and view app for people and processes. Incidentally this same platform is most likely what is funding my current work and much of the IBM Software Group, even as resources are spent on other "sanctioned" and more "strategic" approaches. C'est la vie.

One thing I've noticed is that many people seem to want to ignore the lessons learned from the Notes world over the past 15 years and and behave as if the forms space is terra incognita - a brave new world indeed. On the contrary, the Forms problem and the wider Process problem is nothing new. These are things that have been with us almost from the time that societies became organized and larger communities formed as Barry Briggs has pointed out. Whenever I plumb those depths however, I am reminded of the notion that Joel Spolksy so eloquently coined that in software it it easier to write code than to read code. In software terms, 15 years is an eternity hence we are fated to reinvent and rewrite anew old software. Just look as WS-* as opposed to Corba. Sometimes I almost despair at this notion, since it bespeaks a total lack of curiousity and historical memory even with those who are sitting in the same building who have learned comprehensive lessons about the many problems of forms: evolvable schemas, metadata, annotations and the like.

Of course I'll continue to build the tools, the processors, the renderers and the infrastructure plumbing to make the forms dream an easier reality. I'd still argue that adoption will ultimately come down to whether the View Source impulse can be leveraged and whether the average Joe will get turned off by things like true() instead of true. If I were inclined to be a research type, I'd imagine a case study or paper titled something like
"The Importance Of Syntax In Technology Adoption - Historical Insights From The Trenches 1940-2005"
A more prescient Historian of Science would note that the issue of notation in mathematics is similarly a longstanding area of concern. A linguist would add insights about how different societies adapted different writing systems and the impact on the writing system on cognition and development. Anthropologists, sociologists or psychologists would have much to say in this vein.

Technologies like XSLT and XForms which are the prime users of XPath are in still in their infancy (as are some of the other takes on this problem space from Adobe and Microsoft). Despite having many implementations at its launch, XForms is still ambling towards its inflection point and I'd hazard that the majority of XForms templates and transactions are machine-generated. Fair enough perhaps. Wearing my prediction hat however, it will be very interesting to see what happens 6 months after the default installation of Firefox includes its XForms extension. We're going to see the same thing in microcosm now that Mozilla have announced that Firefox 1.1 will include SVG which has a more limited utility for mass audiences. With very little tongue in cheek, I'd wonder what contact with a massively vaster audience of form authors will do to XForms implementors. I'd lay bets on the first XForms engine that implements a "quirks mode" for their XPath evaluation engines to dealt with common patterns of mistakes in hand-authored forms. It will be a case of omitted parentheses rather than browser tag soup that will cause much fretting in mailing lists the world over. I wonder whether Peter-Paul Koch will then have to add an XForms or XPath section on his invaluable site that documents browser quirks. The litmus test will be the teenager doing a summer job in a lawyer's office who is asked to write a little forms application to help some workflow. If parentheses make their eyes glaze over, I doubt I'll be proved wrong (although I hope to be), about whether XForms would be used for that custom application. If the typical simplified wiki syntax (whatever Jotspot or SocialText are using) is more intuitive, that will be what gets used.

The other point Birbeck raises, and here the argument is much stronger, is about the tradeoffs that designers consider when it comes to seperating the processing, addressing, eventing and styling models. He speaks to an architectural truism whatever the domain in question. This is where his clarity of thought comes to light. A clarity that stems from being one of the exalted "Invited Experts" on the XForms and HTML W3C working groups, and having an innovative product that daily explores this landscape

If, for example, you started off in the mad, slapdash world that was early browser development, you might opt instead for a very pragmatic viewpoint on these issues. That's the kind of weighing that has characterized the Mozilla folks. Håkon Lie, Hixie of Opera, fall into this category even if they appear to take it to almost militant extremes at times. Still I see where they are coming from. Your take on these things is coloured by contact with the millions of end-user authors and the daily reality of tag soup.

I've only spoken with the Opera folks a couple of times and always forgot to ask them the burning question I have. How difficult is it, by the way, to add an XPath engine to a browser? I've always assumed that the real reason (as opposed to the stated reason, "we have everything we need in scripting and css") for Opera's almost visceral objection to XForms has been a concern over footprint since the same codebase is used on desktop and pervasive clients. But with the necessity of XML engines in browsers(with the now indispensable XMLHttpRequest) and Moore's law at work on your more limited clients, at what stage do protestatations about XPath (and hence XForms which is a dependency engine over and above XPath) become simply bywords for inertia? As a very conservative software engineer personally, I am similarly not inclined to jump on bandwagons just because they are in vogue. Still I'm interested in the architectural thinking that lies behind their position.

If, on the other hand, like Birbeck, you've drunk the XForms Kool-Aid, you'd be a generalist and will be inclined to see almost everything through rose-tinted glasses in terms of seperation of model from UI and from eventing and actions. You might recite MVC chapter-and-verse as you lull yourself to sleep at night, self-satisfied at your specification. The irony is that the visual effect of mere parentheses on an average teenager could cut short your sweet dreams of empire building.

Of course it's not always so cut and dry, sometimes you're just in the middle, trying to figure out which of the 45 latest buzzwords you're expected to spout fluently tomorrow to get a raise that beats inflation - or even a promotion. Or maybe you're just trying to code for food and get some real work done by helping a doctor's assistant keep track of HMO paperwork more efficiently or something of that sort. Oh well. Food for thought in any case.

Cross-posted at the Inside Lotus weblog.

File under: , , , , , , , , , , , , , , , , , , ,