Shadow frames the light

A fresh author's journey to actualization.

Friday, September 08, 2006

What makes a good business application good?

DDD - Domain driven design, OOP, SOA, AOP - Aspect oriented programming, it goes on and on.

What is it with programmers? Why must they always try to pigeon hole what they do?

I was reading an article, Bob Cringely's on http://www.pbs.org/c... and thinking that there are just a few concepts which make a good application good.

Here's the pitch, picture this...
One day you go to lunch across town with a friend. You don't pay too much attention to where you're going - you're just chatting with your friend and going for the ride.

The next week you want to go to the same restaurant by yourself this time. Now you can't for the life of you remember where exactly that restaurant is. But you get in your car and start driving in the general direction. As you travel you begin to recall generally where you're headed. The context of the drive - the street names and buildings - keep you focused as you incrementally expand your conscienceness to include what you barely remember about the way to this restaurant. You get there of course but not because you remembered the exact way - but because along the way your brain used the context of your locale to help you navigate.

A familiar song comes on the radio. You begin to sing silently to it. Now there is no way you could have remembered the words to that song out of hand by just thinking of it. But somehow out of your past you remember the words. How? Context. Your brain needs context to assist it in locating pertinent information.

The way the brain is structured with nodes of linked neurons which form new connections and drop others off could be considered a loosely coupled information database. Clusters of linked neurons are not really actively connected until the marble of thought rolls around and drops into that particular slot.

So how does this relate to software applications? Let's consider the only really successful application that I think has ever been built - Google. Say you want to find information about the Northern Lights. You enter a few words in Google and page through a few lists of search hits and eventually find a site that speaks about the origination of the mystical lights.
A month later you want to review the information you found on the Lights. Do you recall the web site you found? Of course not. Such exact information is buried or perhaps was never recorded in your mind. But, you do recall the contextual scenario you were in when you initially found the site. You probably even remember the key words you used to find the site. Even if you don't recall all of your search terms as you re-initiate your search the required search words come back to you as you enter the various other sites you browse through in your search for the lost site. Eventually, due mainly to a contextual localization, you find the site. Finding it again reinforces the various contexts of the path you took to get there and probably if you search again in a year you could relocate the site (provided it's still there).

Context.

Context is the key. Good applications should then leverage the brains reliance upon context to provide for an enjoyable and productive experience. All knowledge application should include search. Search is the ultimate contextual tool. Once search items are found, say customers or vendors or inventory materials or whatever a worker must manage, once found that item should then be fitted back into an application based contextual map. That is, having located the selected "3/4 inch threaded copper pipe fitting" then, in a tree view perhaps, load and show the fitting in a branching view which locates it beneath fittings, beneath piping, beneath plumbing, beneath home construction. I.e.:

Home Construction
-Plumbing
--Piping
---Fittings
---- 3/4 inch threaded copper fitting

In this way the user has used their natural methods of inductive contextual thought processes to locate an item of inquiry and then had the application locate that item back into the logical business oriented scheme. This logical remapping then allows the user to add extra context to the item's personalization in addition to focusing the user on the business at hand. Which is to update the pricing on this item.

So applications should always take into account the way the mind works by leveraging the associative bonding which exists between concepts and thoughts.

More on this later

The adoption and ownership of ideas

Back to the structure of the mind and how thoughts are strung together based on their context.

I started a thought thread here:
http://www.davecline...
where I considered how thoughts live only in context with one another. Well I was watching a TV learning show which introduced Susan Greenfield and her mind research, http://horizons-2000... where the idea of clusters of thought was first presented to me.

Well I was considering two additional concepts with regards to the context of thought: the supplanting of closely held ideas with new ones and then the creation and subsequent ownership of new thoughts.

The abandonment of an idea or belief in lieu of a more logical or convincing idea is a most complex and disruptive series of events.
One must sumultaneously disconnect existing thought context connections, that is how your vision of an idea is connected to other ideas, while you create new context connections using the new information. For instance, you believe the world is flat. Your concept of travel includes the idea that if you walk or sail far enough you will fall off. Now you meet a stranger at the market who shows you a globe. He then begins to describe how he sees the world as being round. While you begin to grok this thought you must disconnect the falling off concept with hundreds of other associated context thoughts while at the same time connecting your travel thought with the idea of going around in a circle.

You're disconnecting and reconnecting hundreds of connections until at some point - you say to yourself, "Ah ha! I've got it. I understand".

The other point is of idea ownership. That is by some means you've created a unique set of contexts and from within this amassing of ideas a new and unique idea gleams singular amongst the supporting context noise. You've thought a new thought! A new idea. An as yet undiscovered combination of contexts resulting in a one of a kind new idea.

This idea creation, the cross-linking of unique thought contexts to form a unique stand alone context is, to me, both the representation of how humans invent as well as how society itself invents.

I consider both internal thought contexts of a single mind similar to the multiple individuals of a society. Each person of a community can work as a singular thought context within the "mind" of a society. The more diverse and numerous a society's population is the more complex and new cross-linked contexts can be made. The more more cross-linked contexts the more inventive a society can be considered.

A population threshold and diversity level is critical to a societies progress just as the input of new and tantalizing ideas to an individual's mind is necessary to keep that person interested in life in general...

Fun stuff.

Legalize drugs - send proceeds to schools - Political

Legal drugs would benefit the entire populaceThe US spends millions to spray herbicides on Columbia's coca plants - there by "halving" the number of acres under cultivation ... but... http://news.bbc.co.u...

A better idea would be to legalize cocaine and marajuana but with a tax catch. Have the govenment privatize the production and sale of these two drugs (the others are too destructive and costly for society). Swap out the private companies which do the production every 2 years - don't ever let a company have to contract for longer that 2 years. Only large drug companies could participate. Then take all net proceeds as an "entertainment" tax and use it to fund 2 things - rehab for drug addicts and education.

It would be a self balancing system - the more drugs sold - the more tax dollars for education which makes the kids smarter and less prone to drug abuse - which then reduces the drugs sold which reduces the dollars for education. and it then starts over again with the dumb kids buying more drugs which sends more dollars to the schools and so on and so forth.

Half the entertainment tax dollars would go toward drug rehab for the fools who get hooked.

The operating expenses accumulated by selling recreational drugs gathered by the pharmaceutical companies, the Pfizers and Smith/Klines, would help to reduce the costs of beneficial drugs.

The recreational drug users would benefit. As it's no longer a crime.
The drug addicts would benefit. They get free drug rehab.
The country's educational system would benefit. Big $s.
Schools and kids would benefit. More big $s.
Beneficial drug prescription costs would be reduced benefitting everyone.
Society would benefit by having law inforcement and the legal system concentrate on more grievous crimes.
Drug crimes would veritably vanish due to loss in profit - benefiting society yet again.

This is the ONLY way to combat drug use.

Thursday, September 07, 2006

Yahoo groups - the most useless entities on earth

Posted to a Yahoo group - of course:

Does any Yahoo group actually produce any viable results? Doubtful. Of all the enterprises on earth a discussion group must be the most ineffectual. We're all like old folks (no offense to any old folks here) sitting on a front porch pontificating about how the world could be. Few if any of us, myself included, actually get up out of our rocking chairs and go beat the crap out of some problem discussed here to the nth degree.

We should all make a pact with ourselves: for every 10 posts to this forum we have to get up off of our duffs and do something, anything, that a true activist might do to try and accomplish something, anything.