Web, mobile applications design

Our design of applications is based on requirements, technology constraints, and user experience (UX) types. For example, we work with you to decide whether the application will require permanent network connection, whether the application must deliver rich media content to anonymous users for viewing in a Web browser, or whether the application will predominantly service a small number of users on a corporate intranet. We use the following application archetypes summary to review each application type, its description, and common scenarios. 

Application Archetypes Summary:

  • Mobile applications: Applications of this type can be developed as thin client or rich client applications. Rich client mobile applications can support disconnected or occasionally connected scenarios. Web or thin client applications support connected scenarios only. Device resources may prove to be a constraint when designing mobile applications.
  • Rich client applications: Applications of this type are usually developed as stand-alone applications with a graphical user interface that displays data using a range of controls. Rich client applications can be designed for disconnected and occasionally connected scenarios if they need to access remote data or functionality.
  • Rich Internet applications: Applications of this type can be developed to support multiple platforms and multiple browsers, displaying rich media or graphical content. Rich Internet applications run in a browser sandbox that restricts access to some features of the client.
  • Service applications: Services expose shared business functionality and allow clients to access them from a local or a remote system. Service operations are called using messages, based on XML schemas, passed over a transport channel. The goal of this type of application is to achieve loose coupling between the client and the server.
  • Web applications: Applications of this type typically support connected scenarios and can support different browsers running on a range of operating systems and platforms.

The table below is used to help us make an informed choice of application type, based on the benefits and considerations for each type.

Application type Benefits Considerations
Mobile applications Support for handheld devices. Availability and ease of use for out of office users. Support for offline and occasionally-connected scenarios. Input and navigation limitations. Limited screen display area.
Rich client applications Ability to leverage client resources. Better responsiveness, rich UI functionality, and improved user experience. Highly dynamic and responsive interaction. Support for offline and occasionally connected scenarios. Deployment complexity; however, a range of installation options such as ClickOnce, Windows Installer, and XCOPY are available. Challenging to version over time. Platform specific.
Rich Internet applications (RIA) The same rich user interface capability as rich clients. Support for rich and streaming media and graphical display. Larger application footprint on the client compared to a Web application. Restrictions on leveraging client resources compared to a rich client application.
Simple deployment with the same distribution capabilities (reach) as Web clients. Simple upgrade and version updating. Cross-platform and cross-browser support. Requires deployment of a suitable runtime framework on the client.
Service applications Loosely coupled interactions between client and server. Can be consumed by different and unrelated applications. Support for interoperability No UI support. Dependent on network connectivity.
Web applications Broad reach and a standards-based UI across multiple platforms. Ease of deployment and change management Dependent on continual network connectivity. Difficult to provide a rich user interface.

Each application type can be implemented using one or more technologies, scenarios and technology constraints. Let our experienced development team help drive and develop your application today.