Guest contributor, Paul Herzlich, Principal Analyst, Creative Intellect Consulting
Creepy crawlies on the desktop
A friend of mine says she’s completely distracted by the tiles on her Windows 8 desktop. “It’s like a picture gallery on the staircase at Hogwart’s. Things that shouldn’t move are always squirming.” I have sympathy. I also find it distracting. But what astonishes me even more is that we’ve been here before. Doesn’t anyone remember ‘Active Desktop’? Remember how we were all going to watch live feeds of weather, news, pictures and share prices through OCX controls embedded in our Windows 98 desktops? That idea crashed along with the shares. You don’t remember that? There’s my answer. Neither did anyone in Redmond on the Windows 8 team. Why would they? That was almost 15 years ago!
The short memory of people in this industry is a constant worry to me. Youth drives innovation but must we constantly revisit the failed experiments of the past? I know the answer is, yes, because conditions change, but if we are going to try again, we need to be clear about what has changed to give something a chance to work a second time.
It is in this frame of mind that I’ve been musing – for a couple of years now – on the state of software applications. And here’s the confusion: should I now really say, on the state of Apps? While the world marvels at the remarkable democratization of software creation and consumption, I find that I am constantly faced with what I consider to be a mess of software that creates quite a few obstacles to getting things done. Since I am talking about ‘getting something done’, we can exclude everything to do with entertainment, although I suspect some of what bothers me is equally an obstacle to ‘having some fun’. Anyway, if it stands in my humble way, I’m sure that it is also costing organizations dearly.
Looking at how first the Internet and now mobile (and soon wearable) technology have/are churning up the whole of application delivery – from the process to the product – I find myself wondering, are we actually making any progress? Just what is the right architecture for applications? Do our current technologies support it? How did we get here? Have we been here before?
Programs and data
Part of my disquiet is over something I thought was a fundamental principle of application design: separation of programs and data. However, we’ve never been 100% sure that separation was needed, and when they were separated, we’ve had different ideas about which one is more important.
Let’s take a stroll through application history. In the beginning the line separating programs and data was blurry. There was some external storage (think paper tapes, cards) but a lot of data was stored in program memory too. Pretty quickly more external storage options were added. Computing became ‘data processing’. You had your data; you had your programs to process it. By the 1980’s this dichotomy was entrenched in the mainframe world. You designed your data and then you designed your programs to process it. Designers and programmers had data models. But in operation, the program was king. Operators ran programs.
Come along microcomputers (pre-PC) and we’re again using devices and languages that don’t easily process external data. You have computers with no external storage, and Get and Print are the only instructions for retrieving unformatted data. In architectural terms, the distinction between data and program is blurred. The program is once again king of computing on micros and then PCs.
This centrality of programs in the PC world continued but another idea took hold in the world of the Macs. Mac users got used to opening documents that brought up the programs that created them. Allegedly users weren’t concerned about word processors, but their reports. The idea transferred over to PCs in the 1990’s. We started to be aware of associating the file extension to a program to allow us to open a document directly. This was followed by a move to create ‘composite’ documents (think Excel spreadsheets embedded in Word documents) and the wars between rival standards (OpenDocument and Open XML).
What did users really do? In fact, they largely continued to open programs and create simple, not composite, documents.