Technology Musings
by John McDowall


Wednesday, August 28, 2002  

Are we done, is this all....


Looking around at our industry I see very little new innovation, (maybe this is a sign of advancing years ;-)). This to me is not a sign of that we have invented everything and we should just go into maintenance mode and put our collective feet on the desk. It is not akin to the head of the US Patent Office who at the end of the 19th Century proposed closing the office as everything worthwhile had already been invented.

I think this is more of a pause where we collect our creative energies for the next burst of innovation. I strongly believe that this will happen, the pressures are building and the groundwork is being laid. The pressures I see are that the information revolution has become an accepted fact but it is being held back by the innate complexity of todays architecture. This is both true in the consumer and enterprise space. The major innovation of the desktop is creating an open source office product, in the enterprise we are creating web services which are just an open systems approach to existing integration technologies. In both arenas it is becoming too hard to go beyond where we are today. This is the pressure for change, when there is an opportunity to dramatically change the landscape no amount of monopoly power or inertia can hold it back.

I discussed this with a friend recently and he commented that Scotty in StarTrek never had to mount/search disk drives or deal with arcane information retrieval systems to get to information. So where do we go from here.....

posted by John McDowall | 7:43 PM


Friday, August 16, 2002  

When are you a Guru ?


So I just got one of those annoying headhunter calls offering me two outstanding web services "gurus". The first question that leapt to my mind was how can anyone be a guru in a technology that is less than two years old? Do I need to address engineers I work with as guru now as most have been working on web services since mid to late 2000? (The answers I got fell into two catagories, unprintable and "does that mean I get free beer?"). I actually think I like my gurus well rounded (like the Budda) and have them be deep technologists with the ability to learn new technologies quickly, like web services.

So if any of you fast talking recuiters read this - do not send me web services gurus (or whatever the next next cool thing is), send me bright, motivated and articulated people want to build the future.....

posted by John McDowall | 12:42 PM


Thursday, August 15, 2002  

From Blogs to subscription software..


So I was using Radio to publish this Blog but was pretty unhappy with it for several reasons

  • Hard to use - configuration was a major pain
  • Complex user interface
  • Can only publish from one location i.e. cannot publish from any computer

So I have now moved to Blogger and it is way cool - simple to use and configure. Ability to log into the blog interface from any location and
publish away - you would think the people at Userland forgot what the web was for.

In many ways the differences between the two programs illustrate one of the problems with our whole industry - feature creep!
Is it necessary to continually add features to protect and preserve a the revenue stream. I am more likely to pay for a new version of word
that removes features and makes it easier to use. In fact I am moving to Linux for most of my work including desktop applications as I
am really tired of paying Microsoft for new versions of Office. I am not sure if I really want to calculate how often I have paid for Office over the past 15 years, at teh same time I think I have used the same feature set. Are you a better communicator if you use transition effects in PowerPoint or format your word document in innovative ways?

Subscription softwares day has arrived - I am going to pay Blogger a yearly fee to keep using the service to publish this blog and I will be very happy (until they make the interface to complex ...). I pay an annual subscription to keep my Linux machines up to date and I am very happy to do so. On the enterprise front I think SalesForce.com is going to make companies such as
Siebel obsolete in the long term. This is happening because there is a well defined set of features that are required in a Sales application and if you capture them and make it easy to use and deploy why would you do anything else.

So is the next wave of applications updates going to boast of fewer features and ease of use - unfortunately not but the team at OpenOffice and Xandros might think about this as a differentiator....

posted by John McDowall | 4:52 PM


Wednesday, August 14, 2002  

Looking at problems in a
new way.


Project Oxygen at MIT is looking at human
centered computing, this is a good place to start
but I would ask the question should we not think
about throwing away all existing paradims?  I
am currently working through (slowly) Stephen
Wolfram's "A New Kind of Science" one of the most
interesting things so far is that he has approoch
the problem of understanding complex systems from
a completely fresh point of view. I cannot tell if
he is right or wrong, I will leave that to time
and people smarter than I. the major contribution
I see so far is that he has challenged
preconveived notions of how things should be.


So is Project Oxygen looking at things new or
just re-packaging what we have, while I admire
their goals, I cannot help but think that they are
starting with a broken platform and they actually
need to go deeper into the fabric of how we design
computer systems.



Take Seti@Home as an example, they have been able to use millions
of hours of shared computer time, but
unfortunately very few problems are ameanable to
this type of analysis. There are several grid
computing and peer to peer systems today that try
and attack the shared computing issue but they are
struggling, because, IMHO they are constrained by
the fundamental architecture we have built.


I think this is where Stephen Wolfram has got
(at least the approach right), instead of beating
your head against a wall trying to brute force a
solution (I used to work in fluid dynamics so I
understand a little of the issues surrounding the
complexity of modelling), take several steps back
and try and find another approach.


So what would be a new apporach to the
computing problem, and where will it come
from?

posted by John McDowall | 9:31 PM
 

The other side of the
problem....


If we change the information model, moving from
a centralized database model to a more distributed
model how do we handle persistant and recovery.
Very few systems are set up to have the same
degree of backup and recovery as relational
databases, the flip side is the need to centralize
systems due to management complexity.


How to change the information model and yet
still provide a high degree to reliability and
accessibility?

posted by John McDowall | 9:31 PM
 

Why are we
limited....


To only what we can access directly, the web
opens up access to all sorts of information, but
it is still a fetch model rather than a push
model. Subscribing to RSS channels is better but
the channel list and information is still manually
selected. There have been several attempts to
create agents that live on the desktop to learn
your interests and then go get information for you
but they have been limited for several reasons,



  • limited to one machine - I want my agent to
    move with me (Radio has this problem - I want my
    Blog editor to be mobile)
  • Unable to differentiate between various
    aspects of life, personal, hobbies, and work
  • Need to interact with me and get guidance

So how do we turn our information models into
push rather than pull?


Information does not want to be free it just
needs to be understood!

posted by John McDowall | 9:30 PM
 

Information
models.....


If the problem with computers is that the
information model is wrong, by this a mean is that
it is too complex to access and use information. A
good example may be the current problems the FBI
and CIA have had relating information, a lot
existed but all the relative information was never
put together or even a fraction of the relevant
information was assembled.


Is one of the problems we are trying to ensure
a perfect solution rather than get it close enough
to get the job done. Designing information models
to be totally predicatable i.e. put them in a
static store, typically a relational database
takes too long and by the time it is done the
information is out of date. There was an article
on Slashdot, refering to a new search engine
Kartoo.
While several other efforts have tried this
approach and I am not sure this one will be
successful it does point the direction to a new
way of finding and navigating information. What
kinds of user interfaces could be buiilt on this
model?

posted by John McDowall | 9:30 PM
 

How to get
there..


Like any major change in technology it will
probably require a fundamental shift and a
dramatic new idea that will be simple and widely
available. There was an interesting article in the
Economist this week regarding innovation in a
capitalistic system. One of the key points is that
in a free market economy, the benifits of
innovation are widely dispersed, so it is not only
the originator of the new technology that benifits
but society as a whole.


It is intesting to consider what pressures
cause that spark and if we are there yet, 
for the economic benefit to reach deep into
society, of the information age, it must be easily
accessible to everyone. Today hardware and
software is uniformly hard to use, the browser has
helped a lot as it has actually forced designers
to create simple software that does not require a
great deal of knowledge to use - this does not
solve the problem as most of use using Radio (with
great respect to the people at UserLand)
configuring it is not user friendly.


The problem goes much deeper than the user
interface, it does to the fundamental information
model our software is based on. In turn this may
be influenced by the current computer
architecture.


What is the nature of the information model
that makes software so hard?

posted by John McDowall | 9:29 PM
 

If I could just access the resources when I
needed them...


I would just be able to access the computing
resources I needed, without having the need to
manage and maintain a computer. How would the
economics of this work, is it even possible.
Similar to network storage models the economics
are not possible as the equivalent of Moore's Law
for storage costs makes storage cheaper faster
than the capital costs can be recovered in usage
fees.


What would this model look
like....

posted by John McDowall | 9:29 PM
 

If I did not have a
computer....


but had access to computing resources the same
way as I have access to the phone network and the
power grid, would life be better? Not sure there
are many arguments that can be made that the power
grid is too centralized, I think the power grid
will start to evolve when cheap fuel cells (or at
least some form of cheap and efficient energy
storage). Computers on the other hand are too
distributed and hence the costs of management are
too expensive and complicated. This may sound like
a rant for the return of thin computing but it is
not - if I start a rant I will clearly mark it
with <rant></rant> tags :-).


Very much like the ASP market some good ideas
were masked by many bad implementations. Taking
off the shelf enterprise software and turning it
into an ASP offering IMHO was very dumb, it was
not designed to do that and the only cost savings
that could be acheived was install and
maintenance, additional costs were added by the
need to have secure connections to a remote
facility, which also added latency and bandwidth
costs. ASP's like SalesForce on the other hand
developed applications that were tailored to the
market and are becoming quite successful.


So back to computers - thin client computing
was not successful for several reasons, I think
mainly it was an idea not only before its time but
one that lacked the appropriate software
infrastructure to support it.

posted by John McDowall | 9:28 PM
 

Are Computers too hard to use...


Almost a redundant question, we would all
probably say yes but for many different
reasons.  It has been really eye opening to
me seeing my various family members struggle to
connect to the internet and exchange information.
I have started questioning all the activities I
was doing to maintain and run my own
computers.


Should we start not as engineers but rather as
niave users - for most of us this is very hard, I
wrote my first program in Algol in 1975, since
then I have programmed almost in every language
and operating system, ( I missed Cobol and
mainframes....). Living through the problems of
smart but technologically unsophisticated users
brings home the problems of getting connected. Are
we trying to do too much, very like the VCR - too
many functions, with a user interface that
requires continued reference to the manual. As
engineers we are driven by adding more bells and
whistles rather than driving to simplicity. Why
was the Palm so successful - not the breadth of
features but for its simplicity. Unfortunately the
handheld market is heading in the same direction,
people are staring to compete in terms of features
not in terms of simplity.


So should we be thinking of a new design
approach to defining and delivering
solutions....

posted by John McDowall | 9:27 PM


Tuesday, August 13, 2002  

Installing and Managing Software


Over the last several weeks I have been working with Redhat Linux. This has been like meeting an old friend after several years and being
pleasantly suprised that they have mellowed and broadened over the years. After several years using Windows I found my fingers easily remembering
unix shell commands etc. The major area where see that my old friend has progressed is in the area of installing and managing software.

Many years ago I worked for a company that shipped software for a variety of Unix platforms (, Windows and VAX/VMS). Installation was a nightmare, I can remember trying to develop standard proceedures even for one platform, trying to determine which version of X-Windows and which window manager and where all the files were installed became a byzantine process. Later as Windows evolved I was introduced to the Windows registry and discovered just how badly you could screw up a system.

With all this behind me I approached RPM's with a high degree of skeptism, but while it is not a perfect system I was very pleasantly suprised and see that RPM's are a major step forward, and make Windows installs look primative. The use of RPM's starts to put the intelligence about the system into the network, using Redhat's update manager significantly simplifies the upgrade and maintenance of the system. It still has a long way to go before it becomes seamless but it is moving in the right direction i.e. simple and functional, while Windows appears to be spiraling towards increasing complexity.

I have written before about why computers are to hard to use, one of the major issues is the time we spend keeping them up todate. RPM's significantly solve that problem and make the entire process almost invisable to the user. There is obviously a large gulf still between a Linux desktop and a Mac in terms of ease of use and management, but starting with the fundamentals and fixing them is the correct approach. This is in contrast to the Microsoft approach of paving over the faults with a new GUI tool rather than attacking the system design flaws.

What are the other fundamentals required to deliver an easy to use and manage system?

posted by John McDowall | 11:09 AM
archives
links