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!

SaaS UI & Application Design Blog Posts

Back to Blog


Betting the farm on the right cloud computing platform

Posted on April 30, 2009 by Paul Giurata

-Top 4 cloud computing platforms

Although clients frequently asked, I generally don't recommend particular cloud computing platforms on which they should build their SaaS. The big 4: Amazon AWS, Google App Engine, Force.com, and Microsoft Azure, as well as many smaller players, all offer scalability, performance, security, and reliability. Some offer more comprehensive and targeted development environments then others. Which one you choose should be based on your own research through the lens or your development resources, estimates of growth and your unique SaaS life-cycle application strategy.

Since choice of platform is as much of a bet-the-farm decision, as designing the right user experience, you should be diligent in your research. To help, we've started a Cloud Computing section in our SaaS Application Design Resource Center, where we try to point you to useful articles. In particular check out this top four article or a more comprehensive list of top providers.

As for high-level recommendations, as you look through these articles and evaluate vendors, consider these issues carefully.

  • Portability: Are you locked into the provider once you move your data? Is there an API to integrate with other applications offering value-add opportunities to "re-mix" applications? Is there a proprietary API that ties you to that platform and is the advantage that 'IDE-ness' worth the lock-in?
  • Ramp-up time: Do your developers already know the basics of API or development language. If for example, you are a . NET shop already, then there are obvious advantages to working in a .NETplatform. If your developers live and breathe Python, then Google App Engine is worth a look.
  • Flexibility: Will the service meet your needs after you roll out v1.0? Does it offer extensibility and integration with other services, enterprise mashups and data sharing? Plan for at least one full release in the future and re-evaluate the service from that angle.
  • Multi-tenancy and metadata-based configurability: Do not overlook this. If you are moving to SaaS, you want an infrastructure that supports multi-tenancy - one code base that can be customized via meta-data. Multi-tenant may seem like a philosophical argument, but it is based on simple dollars and cents economics.
  • Terms of Service: Can they expel you from their platform if they decide you are competitor or an "inappropriate" business?
  • Service Level Agreements: What are their up-time and support guarantees?
  • Track record: What is their track record with security? How have they responded to mistakes they have made in the past (and they have all made mistakes).
  • User reports: What do other developers say? Other users will give you the lowdown on their experiences without the marketing hype. Use community.

The above list of questions is certainly not comprehensive, but it does give you a begining framework as you evaluate each of the offerings. Catalyst Resources' developers have designed SaaS applications that run on top of each of the major cloud platforms, so we know there is no right or wrong choice overall. It is always specific to your project and growth strategy.

Always keep in mind that the behind the scenes technological infrastructure is only one small part of your SaaS application. Your customers don't care about the underlying hardware or code. They are buying enhancement and improvement of their business, which means you need to focus on streamlining business processes, designing for high value scenarios, maximizing perceived control, and innovating to give people a reason to try your service in a crowded marketplace.

Does moving to SaaS mean you should abandon your on-premise software?

Posted on April 23, 2009 by Paul Giurata

-select components with well-tested, pre-defined functionality that will fit together to build a project

VCs are betting on SaaS

I recently attended a panel discussion "Why SaaS Makes Sense in 2009" with participants from two of the leading VC firms in the Valley, Hummer Winblad and Emergence Capilal. What was clear from the event is that VCs are betting on SaaS and Cloud Computing as the future. This is where the action will be. It mirrors what leading analyst Gartner reports as well as our own experience where more than 80% of all our engagements are now around SaaS strategy and application design.

So if you have an existing solution that uses on-premise software, do you need to replace it now with a SaaS and cloud infrastructure? Yes and No.

Big companies are not likely to re-write core applications any time soon

First lets define what what I mean when I use the term on-premise. In its most basic form this refers to desktop software that was distributed via a company servers using only company infrastructure for hosting, and delivery. Big companies have invested enormous resources in developing the necessary infrastructure and the core on-premise applications and they are not likely to rewrite these anytime soon.

Deliver new services using SaaS and the Cloud

However all companies are continually developing new applications or trying to extend the functionality of their existing services (e.g mobile). This is where they can more easily implement SaaS and take advantage of the cloud infrastructure. For some companies SaaS will supplement their current services, for others it can be the way to deliver completely new applications. On-premise software will continue to exist, but rate of development and deployment of SaaS applications will be higher.

At the point where a on-premise solution becomes technically irrelevant or simply too difficult for a new generation of customers to use or too costly for IT to maintain, companies will have the option to replace it with a cloud infrastructure-based solution and design their application user experience with the SaaS LifeCycle in mind. For some organizations the move will be fast, and for some it will be selective and incremental.

The process of buying a new car offers a good analogy. You aren't too likely to replace your 2007 Mini Cooper with a 2009 Prius. It just doesn't make economic sense. But if one of your family members now needs a car, or your Mini Cooper starts giving you problems, you buy the hybrid.

Don't abandon what works. But start now to extend existing apps.

So the real question is not whether should you abandon your on-premise solution, but rather how can you extend your current applications to take advantage of SaaS or develop new services that are designed as SaaS. Look at SaaS as way to supplement your existing solution, achieve scalability, increase productivity, broaden reach and create competitive differentiation. Just keep in mind that SaaS is more than just a technical delivery model for software; it includes a new business model oriented around service and user experience.

One interesting side-note: While the SaaS model is famously known for being hosted in the Cloud, it is not mandatory that these apps be hosted outside of the firewall. Several large companies are deploying SaaS in-house, gaining the benefits of the SaaS LifeCycle as well as a centrally managed low-power, high-efficiency infrastructure.

The imperative for modular reusable UI in SaaS

Posted on February 19, 2009 by Paul Giurata

Every VP of development knows the value of creating a shared library of commonly used functions.  Modularity and reuse are standard practices for most coders and absolutely mandatory for scalable application development. 

Modular reusable UI componentsBut the imperative for modularity in application user interface design (UI) is often overlooked. This is surprising because the presentation layer of any enterprise application is the most frequently updated and often one of the most time-intensive aspect of the development process.

In today’s market, services and software applications need to change as businesses and their competition evolve and shift. This is particularly true for SaaS which inherently is all about the ability to adapt quickly and come out with frequent updates. A Rich Internet Application UI with modular reusable components enables your development teams to implement changes faster and cleaner. This flexibility, simplicity, and adaptability translates to substantive ROI as well as faster time-to-market.

The alternative (and more common) approach to UI design is custom screen-by-screen production. A designer builds screens as they are planned - essentially PhotoShop comps are converted into individually-built Flash or HTML/JavaScript user screens. It certainly is faster to prototype and demo this way. But when it comes to deployment of a scalable SaaS application that can can be quickly reconfigured, it is essential to spec, user validate, coordinate and develop a component-based, modular user interface system.

Developing a modular UI obviously takes more time in the early stages. But the approach pays off very quickly both in time and dollars. A UI library of modular, reusable code, can save distributed development teams up to 85% in application front-end development cycles and makes it much easier to change directions then it would with customized screens. The added benefits include increased consistency of function across applications, a standardized look, easier adherence to regulatory compliance standards and reduced QA time.

For SasS in particular, modular reusable UI is an essential component to profitability and success.

SaaS agile application design for a Darwinian economy

Posted on February 13, 2009 by Paul Giurata

As layoffs mount, consumer confidence drops, and businesses cut back spending, the market for Software as a Service (SaaS) is becoming hyper-competitive with demands for ever shrinking release cycles. It is survival of the fittest where good products can fail as easily as bad, and rapid adaptation is the key to survival.  For companies that offer a SaaS solution, this means focusing design and development on releases that add immediate and significant business value.

Catalyst works in sprints of 4-6 weeksInnovating and optimizing user experience is one area where companies can add value without adding lengthy development cycles. SaaS application and UI design can offer enhanced performance, improved application productivity, increased customer engagement,  cost savings through business process reengineering, and enhanced customer loyalty.  At Catalyst we implement SaaS application and user experience design using an agile method with short time-limited sprints (weeks not months). The agile approach is especially relevant in today’s Darwinian-type economy.

What do we mean by Agile

Agile means many things to many people, but for organizations that deliver services through software, agile application design means designing, testing, and implementing iteratively and incrementally, with each stage providing a self-contained deliverable. By developing the application design incrementally, the usability, productivity and real business value of the application can be evaluated during the project rather than waiting until the very end of the project. Agile also implies a people-oriented process that requires working collaboratively with tight feedback loops.

Catalyst application design sprints

Catalyst typically works in sprints of 4-6 weeks.  Each sprint enhances the software application’s market value and adds an increment (sometimes large) in functionality and improvements that can be delivered to the customer. The relative shortness of the sprints improves the transparency of the process and gives the design and development team regular and achievable goals. The shortness also enables us to respond quickly to changing needs or requests from users, stakeholders, or external conditions such as the markets.

Our agile process generally fall into four sprints:

  • Sprint 1 - design core modular, reusable UI system
  • Sprint 2 - code the reusable elements into a high-fidelity prototype using the selected RIA technology (e.g. Flex, AJAX, Silverlight/.Net)
  • Sprint 3 - derive, design and develop all of the application views with production-ready code snippets and a catalog of reusable UI elements
  • Sprint 4 - integration support and adaptive refinement

The pressure felt by our clients in today’s market is palpable.  Whether a CIO, VP of development, or development manager,  each needs to justify any SaaS design project with early and frequent wins. A focus on user experience design using agile techniques achieves this with substantive, incremental deliverables and continuous refinement and integration. This methodology for SaaS application design enables companies to get out releases quicker, and be confident that those releases will be well received by existing and new customers.

 

The progression of economic value in SaaS

Posted on February 02, 2009 by Paul Giurata

I ordered a coffee and a scone at Starbuck's the other day. As I was reading the latest dismal financial news, the barista said "That will be $5.27 please." I paid but then as I sat down, I started to think about how it is that Starbuck's can continue to charge so much for a cup of coffee, and a small pastry. It struck me as even more interesting that Starbuck's doesn't even advertise - no TV ads, no salesman. Then I realized that Starbuck's economic value isn't about the cup of coffee as a commodity, a good or even a service. Starbucks can charge a premium price because the economic value is an experience.

Starbucks can charge a premium price because the economic value is user experienceYou can view coffee as several kinds of products.

  • As a raw commodity, coffee beans are worth maybe 2 cents/cup.
  • If you grind up the beans and package them as a good for sale in a store, they are worth, say 20 cents/cup.
  • If you take the same coffee and brew it for a customer in a vending machine or serve it at a coffee shop, it can sell for $1/cup. Provide the service of frothing the milk and you can charge an extra 50 cents!
  • Now surround that brewing process with the environment of a Starbucks, Peets or Caribou, where you can read the paper, check your Blackberry, or chat with friends, and that experience enables you to charge $3+/cup.

This progression from value based on commodity to value based on user experience is a fundamental process in today's economy. Commodities are typically thought as raw materials - things like corn or iron. Use these raw materials to make a product and you end up with goods such as cornflakes or automobiles. But as more competitors arise in the market, goods tend to become commodities. When that happens, it no longer matters who makes them. All that people really care about is price per feature. So companies try to differentiate and beat each other up by offering more features for lesser and lesser prices. This relatively destructive approach is especially common in economically turbulent times like now.

Services delivered through software are being commoditized just like goods. The classic example is long-distance or teleconferencing services where they are sold almost exclusively on the basis of price (although see InterCall). Software as a Service (SaaS) is another example, where many companies try to compete on price once competitors enter their market space.

But there is another way. The value chain is to move from a goods and services economy, to an experience economy, where user experience is the real economic value in any offering. The easiest-to-understand example of this today is the iPhone. There is no great technological feature breakthrough in the iPhone. It is completely a commodity cell phone when you look at it from a technical perspective. What sells the iPhone and keeps it at a price premium without viable competition is the user experience.

When it comes to SaaS, there can needs to be the same progression of economic value from a service with a set of features, to a service with an innovative and compelling user experience. The features of the software are not the only goal (those can become commodities). The application needs to be designed around the user experience to provide a sustainable value proposition. This requires an understanding of agile application design, high value scenarios, usability testing, user validation, addressing the full customer lifecycle and innovative use of Rich Internet Application technologies.

Customized SaaS - not an oxymoron

Posted on January 14, 2009 by Paul Giurata

Back in 2005,  I wrote an article for SIIA.net about using meta-data driven design, rather than code changes, to create highly customizable SaaS applications.  Since customization continues to be a hot topic in the SaaS industry and often a stumbling block to adoption for many types of businesses, I wanted to briefly review how a SaaS can be designed to allow for easy customization and configuration.

At the most basic level,  for a SaaS to be highly scalable and efficient, everyone starts with a single instance of the application. This is the concept of multi-tenant-efficiency. Client data is stored in a shared database, but authorization and security policies ensure that each client’s data is kept separate from that of other clients.

To customize a SaaS application, you don’t modify the application in the traditional sense. No one fiddles around in the database, modifies schema or creates custom code (hoping nothing breaks), Instead each client uses meta-data - “data about other data” -  to configure the way the application works and how it provides a unique user experience and feature set for each client.

Customization/configuration using meta-data can run the gamut from from terminology/lexicon and branding/layout, to individualized workflows, to data model extensions, to integration from other systems, to user provisioning and even to business logic.

The challenge for the SaaS architect is to design and define the requirements for customization/configurability early in the definition cycle and then design easily-configured UI components that can manipulated in a self-service manner by non-technical clients.

Needless to say, if you are developing an enterprise SaaS solution, furnishing this type of configurability, customization, and control is a big win for your clients and your sales team.

Finding the sweet spot - when is it a perfect match between client and provider?

Posted on December 15, 2008 by Paul Giurata

'Tis the season when companies reflect on their achievements over the past year and begin setting goals for the upcoming year. Catalyst is no different. We've had a great 2008, with many successes, particularly in the SaaS market. We now have a client portfolio of almost 300 enterprise application design projects, with approximately 50 of those being SaaS.

Looking ahead to 2009, there will certainly be new challenges (and opportunities). The full impact of the economic downturn is difficult to assess, but we do know that organizations will be looking to spend wisely on user experience design projects, with a sharp focus on acquiring and keeping customers. We also know that there will continue to be new RIA and user interface design firms springing up (and fading away), all vying for business in a tighter market.

Surviving and thriving in 2009

So for Catalyst, part of our 2009 planning is to identify the type of projects where we bring the highest level of value and clearly differentiate ourselves from potential competition. In other words, where is that sweet spot where the requirements for a client's project perfectly matches our unique experience and skills.

This search for a "sweet spot" is something every service or product company should undertake. It helps to define everything from your BD and marketing, to your capital requirements and hiring.

The sweet spot for Catalyst Resources

Finding the sweet spotIn Catalyst's case that perfect sweet spot is when there is a intersection of three client requirements:

  1. user experience design of a mission critical business application
  2. modular, reusable UI using RIAs, typically applied across a product family or multiple applications
  3. a scalable SaaS implementation that is intended to optimize the bottom line

Picture this as a 3D scatter chart, where each axis represents a client requirement. The sweet spot for Catalyst is the point where each client requirement is at the maximum value along each axis.

Of course we work on other RIA and user experience design projects that fall outside of this perfect sweet spot. Any project that requires even one of our particular skills, is a project where we confidently deliver great results. The sweet spot does not necessarily limit the type of projects we undertake. Rather the sweet spot is that point where Catalyst will innovate and execute on a project better than any of our competitors - it is a niche we own.

Other companies have their own sweet spot: Apple's sweet spot, for example might be strong industrial design, integrated software/hardware, and "insanely great" user experience. Costco's sweet spot might be low price, broad selection, helpful staff. In both cases, if a customer needs this intersection of products/services, then it will difficult to find any real competitors.

Finding your own sweet spot

Discovering your company's own sweet spot can require a lot of sober and realistic examination. But the diligence is important, especially in tougher economic times. Look to where you can provide the greatest innovation, the right teams, technological relevance, and a continuing record of delivering bottom line results

.