Imagine a scene, if you will, where a client has asked you to produce a web-based application; they've outlined a specific set of requirements, as follows:
It must have a simple GUI
There shouldn't be any duplicates—it must be one version that works on all platforms
The solution must be easy to install and run
It needs to be portable so that it can be transferred if we change computers
Hands up if you think a website will suffice? Now, hands up if you haven't read the requirements properly…!
In this instance, a website isn't going to be enough; a desktop application will deal with the duplication requirement, but it may not be easy to use and certainly won't be cross-platform. So, where do we go from here?