Development Philosophy
We believe that software is fundamentally about empowerment. This is an idea which may seem obvious but the reality is that a great deal of software these days has become over-complicated, weighed down by too many features, incomprehensible documentation and poor design.
If there is a single dominant reason behind the increasing trend towards web applications it is probably because the web application format promises a few humble features that are often missing from fancy desktop applications:
- Accessibility
- Standardised interfaces
- Interoperability
- Rapid Development
Any software developed in the corporate sphere is likely to be a server-side web application, including proprietary frameworks such as Microsoft's .NET, or Sun's J2EE Java Platform. This is an odd fact when you consider the inherent limitations of server based interaction with a browser. The first thing you notice, for example is that web applications are slower and in a sense more clumsy, since most interactions involve re-loading a web page. Clearly there many technologies available to make web applications more dynamic, such as Java Applets, Flash and AJAX and yet, despite the fact that some of these solutions have been around a very long time in software terms, the trend is still away from client-side interaction.
The reason for this, again, is probably the same 4 points noted above, which are more readily achieved when the application's interactivity is mainly server-controlled. Again, this seems counter-intuitive. Why does limiting the functionality lead to a more dependable result?
The reason is perhaps the same as the reason why the standard design of a bicycle is rarely varied even when money is no object. Bicycles long ago evolved into their most efficient form - and nobody has ever been able to really improve on this basic design - certainly not by "adding features". Indeed, adding features to the design of a bicycle is probably more likely to reduce efficiency even if the individual features are themselves useful. The same thing can be observed with software.
Case Study:
There was a time, about 10-12 years ago , when I felt like I knew how to use Microsoft Word with a degree of skill and efficiency. I had memorised its core features and was able to use this knowledge effectively. The ability to rely on memorised skills was a great aid to working productively.
Then they brought out a new version, and I had learn some new ways to do the same old things. That was annoying ... and everyone agreed that the new version wasn't really an improvement in any objective way, but was simply harder to use. I persevered, but then they upgraded again, and once again i had to learn new ways to perform old tricks.
After about the third time they "upgraded" Word I gave up trying to learn how to do things the right way, after all, what was the point, when a year or two later all this hard won skill would be worthless? Eventually I resorted to the blind hunt-and-peck mode of work for which I had so much contempt when I was younger.
Now I prefer to use a plain text editor where possible, because the plain text format is more flexible - i can paste it into my web page text editor, drop it into an email, or import it into a layout program with ease.
When i think about it, it becomes clear that, even though the plain text file has a very limited set of features, it has the greater virtues of:
- accessibility
- interoperability
- standaridisation
- rapid development
The above example illustrates the point that, with software, one's ability to use it effectively is is a factor which is independent of the objective value or power of the application. Often this is determined by previous experience - we are more comfortable with what we know even when the new thing may have more to offer.
Software evolves incrementally because humans can only learn incrementally. Once people understand a given metatphor well, it becomes a de-facto standard which is difficult to improve on this without actually alientating users. For this reason the web application, despite its many limitations, has now become a standard.
The philosophy behind the Planet Online application is influenced by these trends ... it is our vision to provide a resource which fundamentally accessible, inter-operable, standards-oriented and easy to use.
