When deciding which UI Frontend type is the best for your software applications, you should try to answer the following questions (also shown in the image).
– Do you need to support both mobile and desktop end devices?
– Can the target end users be divided into different user groups with different UI requirements?
– Are the desktop UI requirements uncomplicated or simple?
– Must the website support a complex business UI?
– Do the target end users use mobile devices more than desktop when accessing the UI?
– Do the target end users use only mobile devices?
– Is your end client in love with mobile apps?
– Do the target end users require mobile hardware functionality?
– Do the target end users use only or mainly desktop devices?
– Must the web UI be designed quickly and cheaply to win the project?
Depending on these requirements, try to choose the UIs which make the best business case for the end client. For example, if implementing a simple company website, the best approach is probably a mobile first approach. No Pdfs, Docs, etc., as this is a pain in the neck on most mobile devices. How many careers sections from company websites work on mobile devices…
The main target when choosing the right UI should be a balance between cost, quality and client satisfaction. Analyzing the business requirements and the client requirements is very important. These 2 are not always the same!
Mobile First or Graceful Degradation UI solutions can be used when the UI has low complexity or not expected to increase in complexity. The following diagram shows the relationship between cost and complexity using this approach.
The following diagram show the cost/complexity relationship for solutions with 2 separate UIs. You can see that it costs more than a mobile first solution for UIs with low complexity but when the complexity increases the costs of implementing features in mobile first solutions explodes.
What about CMS?
Once you use a CMS product, you lose the control to choose you UI targets. The different UI target types are supported in different ways, usually not at all or badly by the different CMS systems. In most cases, CMS are used with no added value to the end client. Once a CMS is used, you need to explain to your client, that not all UI requirements can be supported or can only be supported at a large cost. The same problems exists for systems with CMS as with Mobile first solutions or Graceful Degradation solutions.
What about Flash, Silverlight, add-on technologies?
Don’t use them unless you have too!
What about all the UI frameworks?
Frameworks increase your productivity and reduce your costs if used in the right context. Use frameworks in the wrong context, and your costs are usually massively increased. I have a simple rule, the longer your application is kept in production, the less you should use frameworks and third party components. Frameworks are great for prototypes.