Calculator Typist Blog

The qualities of a great web application

The qualities of a great web application
I aim to make Calcatraz into a great web application. To do so effectively it is important to understand the qualities a great web application exhibits. So what are they? Here are a few things I have thought of:
1. Punctual
A web application should be quick: quick to load, quick to respond to user input, etc. However, I don’t think that calling the required quality ‘speed’ would be entirely accurate. There are instances when things can be too fast – an error message not displayed for long enough, for example. In general, events should happen at the appropriate time. If the user does not need a time lag, then there should not be one. I think the correct word is ‘punctual’ – the app should do things at, rather than before or after, the right time.
2. Minimal
A web application should be minimal. Not in the sense of leaving out important features, but more in the sense of containing no unnecessary parts. Anything which does not perform a necessary function should usually be removed. Where several parts perform similar functions they should be generated by the same code.
3. Magical
There is a quote ‘any sufficiently advanced technology will be indistinguishable from magic’. I think this applies to great web apps. Components of the application should be worked on and crafted to such an extent that it is no longer possible for the user to readily comprehend the underlying process.
4. Intuitive
Use of the application should be easy. Even complex parts of the application should be straight-forward to use without prior knowledge. This requires not just simplicity, but an understanding of human psychology. By understanding the mind and it’s quirks, an experience can be tailored to it.
5. Unlimited
A great web app will be unlimited in the sense that users do not hit upon limits while making use of it. That doesn’t mean the app can do anything in the world, but it does mean that it can do anything in its domain. This requires general mechanisms for extending the application upon its lines of functionality. An example is Google Analytics, while it doesn’t capture everything you need to know about your app, it can be readily extended to do so.
6. Responsive
An application should be the product of user feedback. While it should not necessarily address every bit of feedback (as good for one user may be bad for another), it should be shaped and moulded into the form and function which delivers the most value to the most users. It should continue to evolve over time with changing needs.
7. Predictive
As well as just responding to user requirements, a great application will predicted future requirements. New functionality will appear before a user realises they need it. Only genuinely useful improvements will be made – those that enhance and improve the user’s experience.
8. Avaliable
The application will be on-hand wherever the user requires it. It should be unobtrusive, but always available and easily invoked.

I aim to make Calcatraz into a great web application. To do so effectively it is important to understand the qualities a great web application exhibits. So what are they? Here are a few things I have thought of:

Punctual

A web application should be quick: quick to load, quick to respond to user input, etc. However, I don’t think that calling the required quality ‘speed’ would be entirely accurate. There are instances when things can be too fast – an error message not displayed for long enough, for example. In general, events should happen at the appropriate time. If the user does not need a time lag, then there should not be one. I think the correct word is ‘punctual’ – the app should do things at, rather than before or after, the right time.

Example: Not an web app as such, but Google Chrome is exemplary in this area – compare it to Firefox or IE to see the difference.

Minimal

A web application should be minimal. Not in the sense of leaving out important features, but more in the sense of containing no unnecessary parts. Anything which does not perform a necessary function should usually be removed. Where several parts perform similar functions they should be generated by the same code.

Example: The 37 Signals guys do this really well. See BaseCamp for instance.

Magical

There is a quote ‘any sufficiently advanced technology will be indistinguishable from magic’. I think this applies to great web apps. Components of the application should be worked on and crafted to such an extent that it is no longer possible for the user to readily comprehend the underlying process. Alternatively it should be surprising – as in it offers something obvious but that no one even conceived as being possible.

Example: PHPAnywhere – coding is suddenly mobile.

Intuitive

Use of the application should be easy. Even complex parts of the application should be straight-forward to use without prior knowledge. This requires not just simplicity, but an understanding of human psychology. By understanding the mind and it’s quirks, an experience can be tailored to it.

Unlimited

A great web app will be unlimited in the sense that users do not hit upon limits while making use of it. That doesn’t mean the app can do anything in the world, but it does mean that it can do anything in its domain. This requires general mechanisms for extending the application upon its lines of functionality. An example is Google Analytics, while it doesn’t capture everything you need to know about your app, it can be readily extended to do so.

Example: Twitter – while the app is incredibly simple in itself, it is being put to an incredibly wide range of uses.

Responsive

An application should be the product of user feedback. While it should not necessarily address every bit of feedback (as good for one user may be bad for another), it should be shaped and moulded into the form and function which delivers the most value to the most users. It should continue to evolve over time with changing needs.

Predictive

As well as just responding to user requirements, a great application will predicted future requirements. New functionality will appear before a user realises they need it. Only genuinely useful improvements will be made – those that enhance and improve the user’s experience.

Available

The application will be on-hand wherever the user requires it. It should be unobtrusive, but always available and easily invoked.




Disabling Pagination on your Blog’s Homepage

In redesigning the theme for this blog, I changed the homepage such that it no longer makes sense to have pagination on this page. So I wanted to disable this Wordpress homepage pagination. Navigating to a pagination...

Hiding Post Titles in Breadcrumb NavXT for WordPress

I wrote before about how the Breadcrumb NavXT Wordpress plugin is awesome for adding breadcrumb navigation to Wordpress sites. However, nothing is perfect, so I found myself having to make a couple of minor modifications...

Hierarchical Category Links in WordPress

When developing a Wordpress theme, it is common to show a list of the categories to which a given post is assigned. By default, Wordpress generates links which show the child category, (e.g. 'mexico'), but not the...

Comments are closed.