Saturday, December 12, 2009

Knowledge

There are alternative models for thought storage and retrieval.

Knowledge is language based and can be stored as historic documents with providence, both electronically and physically. What we know about specific objects is enhanced when viewed historically, the artifact and the digital study of the artifact, plus all the collected strands of human experience, thought and academic reasoning that can be attributed to it, all available wherever and whenever required.

This is the model of the universe envisioned at first by Encyclopedias, which Microsoft modeled digitally as Encarta, available on CD, now discontinued. Along came the new model of shared information: collaboration. Wikipedia revised the printing press revolution that produced forests of expensive books of knowledge. The internet supercedes printing. The economics were turned inside out, and properly so. Advertising brochures are great, but we all throw them away.

Mobile phones hooked into storage retrieval is a far better personal model than lumbering PCs, even laptops are almost redundant around the truncated reality of a 3x2 screen. iPhones are the most perfect expression of the paradigm. Yet the majority of gadget-ware is like the almost magical Twitter application - it is functionality, not substance.

They provide vehicles for the carriage of knowledge. All these companies competing to tweet, it is really just a function. Google Wave is a smarter expression of a more in depth paradigm. Very few get it yet. As a programming development tool, it is far better than twitter which is universally distracting.



The sharing of information is a new model of commerce, espoused mainly by google and the Open Source movement.

Friday, November 27, 2009

Shaken, not Stirred

Programming is based on certainty. You can only write code if the layers that connect together do so without any holes in the logic. When you discover a method by which an infrastructure should produce a bunch of objects you do not need to be concerned that the infrastructure gets it wrong, that is why it is infrastructure.

When the infrastructure does not respond in the most wholesome way, crashes the server memory or simply seems to fails inexplicably and you have checked things, your confidence in the infrastructure may be shaken, but if, for example, the infrastructure delivers a set of objects cleanly, and also provides a method that sets a filter for that selection in the infrastructure but that filter method crashes badly, there are two approaches:

a) develop a work around that applies the filter at the higher (application) level

or

b) rewrite the infrastructure to do what is required without crashing

Always, always aim to do b), unless you do not have enough time, in which case always do a). Or of you are developing against a "code freeze" version, then never do b). The infrastructure could be incomplete and you can not reach your deadline.

Good software, infallible software is written in layers each of which can be separately monitored. If the infrastructure is broken, then a software team with a good architect will know what is going wrong and may rewrite the infrastructure.

The worst thing to do is to rewrite infrastructure incorrectly and allow untested bugs into the system. And if you are using a "version frozen" open source module, you may be in for a quagmire.

Suddenly you have 10 days work being added to the schedule already agreed, and there is no way
to do that. So, you do option a). The software gets delivered and it is slightly less efficient but it only affects the instance of the decision tree that it affects.

Now, you can upgrade the infrastructure, it will still work, but you can replace your workaround and test it on a staging site before you release it.

Wednesday, November 25, 2009

A new copyright model

Should original works be protected by copyright? I think there is merit in rewarding writers and originators of new ideas with financial reward. It encourages me to write more interesting and accessible articles, giving away years of experience and knowledge - there has to be a reason to do this.

Passing on knowledge makes it more valuable. Copyright law should never prevent the passing on of knowledge but should ensure that the rights of the owner are respected.

With the advent of the Internet, file sharing and republishing, the question of "enforcing copyright" is a major legal problem. Who to accuse? A fictional average individual who has perhaps ripped an average of 1 film or one album from the web really would not be able to front up with payment if sued for copyright for their brief career as a file downloader. In other words, the prosecution of users is counter productive.

We have the internet. It is the solution. Distribution of information can be tracked with meta-data that allows it to be attributed correctly. Any use of information should be rewarded with a right to pass it on to another. The old model suited the creation of artifacts.

The new model is more to do with the fluidity of distribution. Knowledge shared is knowledge that benefits people.

An international copyright register makes more sense than all these prosecutions. If we create the roads for data to travel on, then we should expect that people will use them. Subscriptions could contain a copyright tax that adds to the international pool and the number of times an article or item is copies could then allow an artist to make a claim for copyright.

This model has the intention of rewarding sharing.

Monday, November 23, 2009

Ways to use Twitter

Here are some working phrases:

"More than it appears to be"
"Deceptively Simple and Mad Enough to Work"
"More return than effort put in"

and some more

"Less than you expect"
"Elegant design fits so easily with other applications"
"Returns come when you put the effort in"

which set of statements (assumptions) are more true of Twitter?

The answer is dependent on how you want to use Twitter.

If you are a programmer, like me, then you want something to "just work". You do not ever want to see it "fail sometimes". It has to be consistent. Therefore simplicity is a distinct advantage, just look at all the problems Microsoft had with it's less popular version of Windows (Windows 2.0, Windows 4.x, ME, Vista) vs its more popular renditions (Windows 1.0, Windows 3.11, Windows 95, NT, 98, and Windows 7). Complexity can lead you astray. (Windows 4.x?)

The "small is good" approach to software engineering brought utility as entertainment. It is a mistake. iPhone apps are great if they reduce human time involvement with the gadget, otherwise they are entertainment.

Entertainment eventually fades, you can only watch the same film a few times, really. Software must have "utility" and that means that from day one to day last it must function 100%, it must be able to establish your data from import or carry you though all the boring data entry somehow, it must work with that data and finally, be able to export the closing balances of the life of the computerised activity. That is "utility". It is there when you need it.

The internet is both utility and artifact. By making everything artifact, we fail to discover the most current services; conversely, making everything utility means that brains switch off.

It is like art vs science. Both being present in an invention is what gives it both legs and continuity.

Twitter feeds that are using the first set of assumptions seek to sell. These do not work.

Twitter feeds that use the second set of assumptions are smart services that have a chance of attracting customers.

How to do that...? Something to think about....

.

Saturday, November 7, 2009

CMS page structure

Think of the page structure as three primary objects:

either:
[LEFT CONTENT RIGHT]
or:
[HEADER BODY FOOTER]

are defined as Primary, the other is contained by the middle element of the other.

i.e. [HEADER BODY FOOTER] defined inside CONTENT; or, [LEFT CONTENT RIGHT] defined inside BODY.

It is a column arrangement (not all columns need be used) that can be used to slice the site into "containers" that define how far the right icons are from the right edge, etc. i.e. to get stable pages (without having to fix it at every design change, requires you only change the BODY-CONTENT or the CONTENT-BODY module, and nothing else changes.

Think of coloured blocks. Take a big red one, and lay two skinny blue ones - one on each side. Now you can find a yellow one to cover the top and bottom. That is the expected behaviour of page structure. These are not rules, but guides to help to design rapid consistent pages without a CMS or a basic object strategy in a CMS.

Wednesday, October 7, 2009

Frameworks

Everyone loves Frameworks but there are good software stacks that follow design patterns and there are ones that labour away in your browser.

The whole idea of RESTful design is that the client has an independent life. But RESTful design coupled with intelligent clients that are now possible to write with Javascript frameworks (so we now have two separate software stacks talking through the TCP-IP stack - do we see a pattern here?) so stuff that gets transmitted to the client is designed for that client only, so we craft a software "one fit only" key so that the server can know which client it is talking to - this "state" is preserved in a cookie.

That is what happens when you log in. Your authentication token is added to the package of information providing a secure network. Is this new? Not at all. Why do we not do it all the time? We do, it is called SSL. It provides a "standard" - a measurable way of doing something with an agreed visual clue. Is it secure? Yes.

Innovation and Capital

Over seven years ago I created a website that published academic articles of a leading professional and put in links that allowed you to generate links for your own site to link to the article, or get a link to email to your friend. I also provided lots of expensive looking paper backgrounds with multiple style sheets. It was all innovation and if things had gone better, could have gone somewhere.

Unfortunately when I billed out the work, things did not go as smoothly as they should and that perhaps is a matter of luck or personality. Apparently computer programmers do not have either, but after one year the "dispute" was settled, albeit without no handshake. The client could have angel-invested these social networking ideas, but it was not to be.

At the same time I was suggesting to another client that having groupware could be valuable and was told that they did not want any kind of social interaction on the web. That ex-client now uses Facebook to achieve the same thing.

Both clients basically were not sold on the ideas I had invented. They could have invested in social networking and as an early start been bought out, but those for whom I worked found no confidence in these ideas. Frankly, I was not that committed to them either, but I had worked on a website's groupware functionality in the UK and that website was sold to the Metro group for five million pounds.

Later on I had this other crazy idea for a shared poetry site, only to see it appear about two years later in the form of Twitter. What I tried on AucklandPoetry.com did not bite and I am not really claiming prior art. When working on that groupware in the Cambridge lab I worked in, another programmer was demonstrating his Flash games. We all laughed thinking this was going to be a hard way to make money. Of course on line gaming using Flash may be the most successful business model of all, so far.

The next big business model is what I am thinking about. But there is no time, I have to go and get a job. My clients are all worried about their mortgages and its back to implementing other people's labour intensive ideas.

One of the jobs I decided not to go for was a local version of Netflix. Mailing out DVDs is a wonderful business model but with a limited life as bandwidth rolls out over the next three to five years.

The infamous P2P work that supports skype, bit-torrent and joost.com - allowing video distribution over the current AM quality internet (it may be faster in New York city, but so is everything else) will become better and better as more people use it. It is a bit like electricity, it relies upon all the connections of the grid to maintain the grid.

And that leads me to the next idea. The next big thing (for me) may be to collect all my blogs into an online magazine and start to get some income from them. But for the internet, and the world, it is ...