New Business
(650) 678-6743
(800) 313-7874
Email
Offices
Silicon Valley, New York,
Vancouver, London, Milan
Type of Inquiry
* indicates required field
Required fields must be filled in!

Blog on RIAs, SaaS and User Experience

Modular and Reusable: what you need to know

Posted on April 07, 2009 by Paul Giurata

If you've read several of my previous posts, then you already know that one reason Catalyst is unique among SaaS and RIA providers is because of our extensive experience with developing modular and reusable UI. This is a key differentiator on which we hang our hats. We've been developing and refining this approach for more than a decade and have it down to an efficient, and reliable process with very clearly defined deliverables and outcomes.

So what do I mean by when I use the terms modular and reusable when referring to a Catalyst UI project? And why should you care?

Modular = integrated catalog of UI elements and patterns

Modularity refers to the relatively plug-and-play catalog of user-validated UI elements and patterns that are created for your particular application design. So for example, if you need a search component for your application, you would look in your UI catalog and pick out the search functional element. Built into this element is the conceptual model that defines how users understand what it does, the functional definition of what it achieves, the user interface elements, the visual design, and the interaction design.

-select components with well-tested, pre-defined functionality that will fit together to build a projectFrom your perspective as the developer of the application or provider of the service, you recognize the need for a search element for your project - one that simply works (i.e. is already designed, branded, tested, and user-validated). You find it in your catalog and plug it into your application. You are assured it will achieve the goals of look and feel, intuitiveness and functionality. It's a bit more complicated than the new generations of Legos, but the principal is the same - select components with well-tested, pre-defined functionality that will fit together to build a project.

Levels of Modularity

Modular UI is actually built on several levels:

  • Patterns - collections of screens
  • Screens - collection of highly functional UI elements (that are themselves stand alone)
  • UI controls - the UI elements that are specific to the underlying architecture and Rich Internet Application technology (e.g. Flex, Silverlight, Java, AJAX library)

The Alternative to Modularity

The alternative (and more common) approach to UI design is custom screen-by-screen production. The designer builds screens as they are planned. It certainly is faster to prototype and demo this way. But when it comes to deployment of a scalable RIA or SaaS application that can can be quickly updated or reconfigured and that you know will automatically work, it is essential to spec, user validate, coordinate and develop a component-based interface system.

Reusable = plug the modular UI into new applications or services

If your application is static and what you design in version 1.0 is the way it is going to remain for a long time, then re-usability is not a big issue. But if you are in the SaaS market where release cycles are frequent and where you continually need to add new services and enhance user experience, or you have a suite of applications, then re-usability is of paramount importance.

Re-usabity means that you can take any of your modular elements and plug them into new applications or new screens. The custom-coded UI code and the way it interacts with the backend system is completely re-usable for new screens or functional units.

This re-usability can save development teams up to 85% in application front-end development cycles. For example, if your original service is a general ledger application and then you decide to expand and offer a billing module (because you acquired another company or because market forces moved you in this direction), you will be able to apply the modular UI to this new application without having to develop much if anything anew in term of UI.

Who needs modular and reusable?

Modular and reusable UI are essential components for enterprise applications and scalable SaaS. If you are developing a small, very simple application that is intended to be an unchanging, one-hit wonder, then it will be overkill for you. But if you see your business as eventually growing, expanding, adding new services, and adapting to market conditions, then it rapidly pays off both in terms of making your life easier, getting new products to market faster, and significantly increasing the probabiliy of successful market reception and penetration.