SaaS-based energy and environmental optimization will be the high growth market for the next decade
Posted on January 22, 2010 by Paul Giurata
I had planned to get away without having to write a predictions blog this year, but my topic for this week's blog, turns out to also be a prediction.
The Prediction:
Energy and environmental optimization (a.k.a. sustainability), will become a massive industry beginning in 2010. Both enterprises, SMBs and consumers will be actively looking to manage costs, comply with regulations and become good environmental citizens by optimizing energy use, greenhouse gas emissions, recycling, composting, water use, telecommuting, etc.
COROLLARY 1:
SaaS (Software-as-a-Service) will play a central role in making energy and environmental optimization accessible, affordable and possible.
COROLLARY 2:
The user experience of the sustainability service offering will determine which solutions actually succeed in the marketplace.
I've been meeting with many VC firms, investors, and industry leaders in the Valley and it is readily apparent to me that sustainability is a topic on everyone's mind and and a business opportunity on which many startups and established players will focus over the next 5-10 years.
The motivations are very compelling:
- Energy and commodity costs will continue to increase and companies need to reduce their resource use and waste production to lower costs across internal operations and the connected supply chain. (As one colleague put it: "The days of cutting costs via off-shoring are coming to an end. Resource optimization is the future for achieving cost savings").
- Environmental regulation will certainly increase and companies will need to document, track and report their compliance for emissions and waste reductions (as well as potentially monetize their reduced carbon emissions)
- Consumers are becoming aware of and requesting information on corporate sustainability efforts. Brand value will depend on providing transparency into sustainability initiatives.
Sustainability applications will be SaaS
Clearly, companies (both large and small) are already on the move to decrease large expenditures on in-house projects and software installations with a fifth of all enterprises planning to have no internal IT assets by 2012. Instead the move is to cloud computing and SaaS - with no software to install or maintain or upgrade.
So it is a no-brainer to predict that on-premise solutions for sustainability will be rare. Instead businesses (and consumers) will be looking for SaaS solutions that can be easily accessed by employees from desktops, laptops or smartphones.
Since SaaS is inherently "connected in the cloud", a sustainability service can be effectively designed across organizational boundaries, incorporating the entire extended enterprise - partners, suppliers and customers.
Success depends on much time people devote to use
The other no-brainer is that user experience will make or break these SaaS applications. They key to making sustainability applications work, is how compelling and easy they are for users to enter information, how well they are on-boarded, and how easy it is track the impact (visually including mapping, as well as numerically). The user interface should be designed around a clear conceptual model, high value scenarios with desktop levels of performance using RIAs (Rich Internet Applications).
I'll write more about the sustainability topic in the future, but if you were wondering what the application design crystal ball holds for 2010 (and beyond), think SaaS-based energy and environmental optimization software with a compelling cross-device user interface.
SaaS and the shift to real-time in the enterprise
Posted on December 11, 2009 by Paul Giurata
In the article “5 Enterprise Trends to Watch in 2010”, ReadWriteWeb notes how real-time services are becoming more and more integral to the enterprise, particularly those that hook into business intelligence technologies.
This mirrors our own experience on work with SaaS and RIA projects. Increasingly, the driving force behind our clients wanting to move their business to a Software-as-a-Service model and using Rich Internet Applications, is the need to interact with customers and/or data in real-time, and to respond quickly to competitive opportunities or threats.
For example, our work with 3n targeted the design of an efficient workflow and interface to track and notify people in real-time about emergency situations. Our financial services SaaS work centers around applications and dashboards to dynamically monitor and integrate real-time data streams from diverse sources, and enable predictive, spit-second financial transactions. Our biotech client work is focused on real-time, synchronous collaboration for diagnostics. Etc. etc.
The key principal here is that SaaS and RIA’s represent a shift in software to real-time. The business enterprise of 2010 needs to be on the web 24/7, interacting with customers and data, responding instantly to changing market conditions and multiple information streams.
Rich Internet Application agnosticism - Flex vs Silverlight vs AJAX / HTML5
Posted on November 17, 2009 by Paul Giurata
Clients often ask which Rich Internet Application development tool they should choose - Flex, Silverlight, or an AJAX framework. Excitement over HTML 5 has been stirring up this question in the RIA community even more than usual.
At Catalyst we're in the business of delivering very sophisticated, responsive, interactive and graphically rich applications over the web, not pushing specific technologies. Sometimes Flex is a better option and sometimes AJAX is the better option and other times Silverlight or JavaFX is better. It all depends on the requirements, the team, and the application.
Each of these technologies have the same goal: enable delivery of a rich UI and immersive experiences with the interactivity and user engagement similar to desktop applications, but adding in the availability and interconnectivity of the web.
There are no hard and fast rules for selecting one technology over the other, however there are some rules of thumb.
AJAX - use for incremental, tactical improvements, SEO-friendliness, customizable footprint
If you are updating an existing application and want to implement rich functionality incrementally, with small, frequent updates then AJAX is a good choice. Or if you need to meet specific application footprints and performance requirements (e.g. fast initial page load time) AJAX development frameworks (e.g. jQuery, EXT JS) can be customized and tuned. Importantly you can also use Flash to fill in the gaps where you need richer behaviors, than are easy to create with AJAX (e.g. video players or real-timestock tickers).
Of course HTML 5 (supported in FireFox, Safari, Chrome and IE 8) will add to the allure of AJAX/HTML bringing local storage, multithreading, real-time data sharing, form validation, and more (e.g. 2D and 3D drawing).
See examples of our work in AJAX for Digital Advertising and Teleconferencing.
Flex - use for large-scale, more comprehensive user productivity applications
Like AJAX, Flex also can be used for gradual re-factoring of existing web applications via widgets, but the argument for Flex becomes particularly strong when an application is built from scratch, or has a high level of complexity and data processing. You get better performance (i.e. data sorting, search, display) and easier code maintainability. Also for large applications there is a definite plus with Flex in that you can avoid the necessity for testing and tweaking across browsers and OSs.
See examples of our work in Flex for Real Time Analytics and Media Advertising.
Silverlight - use if you are a .Net shop
Silverlight has many of the same arguments as Flex, except that it is geared for the community of .Net developers and offers seamless integration to .Net tools and components. Enterprises that work in .Net will find it easier to integrate interfaces and application designs created in Silverlight.
See examples of our work in WPF and SIlverlight for Financial Systems and Issue & Support Tracking.
So which technology do we choose?
We are agnostic about RIA technologies. Our developers are facile in all of the relevant options. So the general rule for us is to identify what problems our client needs to solve and then select the appropriate RIA technology. No one technology is inherently better than another. For each applications we look at the requirements for performance, interactivity, security, maintainability, scalability and in-house expertise, and then give our clients a recommendation as to the best technology or combination of technologies.
Reusable UI as a transition strategy for legacy systems
Posted on October 26, 2009 by Paul Giurata
A primary motivation behind Catalyst’s specialization in modular, reusable UI design systems stems from the need to reduce the time and increase the speed, quality and agility of the UI and application design process during business transformation projects.
Traditional UI design and development process for enterprise business applications typically takes anywhere from 65 - 80% of the overall development time in any application redesign/redevelopment project. Reusable UI design systems significantly reduce this time, and increase flexibility (not to mention decreasing training/support costs and increasing customer satisfaction).
While many of our engagements are focused on full-scale redesign projects or designing new applications from the ground up, another segment of our work is devoted to retooling projects where companies need to migrate legacy applications to SaaS or Rich Internet Applications. Here, reusable UI design systems can play an especially significant role in streamlining redevelopment cycles and shortening implementation windows.
For complex enterprise applications or multi-business unit services, legacy migration, tackled all at once, if often too large to feasibly meet delivery windows and budget plans. Instead projects need to phase in over time, deactivating legacy components along the way. Design and use of a reusable UI component design library can bring quick, progressive “wins” of enhanced functionality, performance, consistency and a rich user experience.
Reusable UI design system components, that encapsulate business logic, data access/entry, and communication/displays, can be applied “as needed” to the transforming application. Reusable UI design is efficient and effective both for a redevelopment approach based on cross-sectioning or one based on multi-function integration on a broader scale. This is in stark contrast to non-modular, non-reusable design which requires custom coding for integration and an all-or-nothing (read “prone to delays”), non-phased implementation.
Catalyst’s initial reusable UI strategy and architecture sprints focus on identifying high value scenarios, mapping legacy to target design functions/interactions, reuse, redundant workflow consolidation, and data handling as well as working with the development teams to define a strategy for legacy deactivation and transition management.
Once a user validated reusable UI design system is defined, it can be efficiently applied as target systems are transitioned, or as new services are added to support changing business needs.
Going global is the impetus behind the rise of RIAs in financial services
Posted on September 28, 2009 by Paul Giurata
The financial services industry is undergoing a significant transformation in how applications are designed and delivered. A key driving force behind this shift is the growing imperative to be global both in terms of providing customer-facing services and in taking advantage of a distributed global workforce. Applications that were previously targeted to local deployments on well-provisioned workstations or kiosks, need to be re-designed to serve an increasingly distributed global client base running “thinner clients” such as consumer PCs, laptops, notebooks, and mobile phones.
Not that many years ago, legacy financial services applications were designed to manage both the presentation layer (the UI) and the business logic using the computing resources and horsepower of the local workstation. The result was rich desktop functionality, but severely constrained portability or reach.
In order to provide rich-client applications beyond the walls of the home office (i.e. an early form of going global), financial service institutions had to rely on remote terminal technologies like Citrix (before they were talking desktop virtualization) or Microsoft Terminal Services.
While remote client technologies (or their descendants) survive in some form, the cost, licensing fees, and technical knowledge required for operation, limit their value or applicability. The business demand to be global is however, more compelling and wider reaching than ever, This is forcing legacy fat-client and remote terminal technologies to give way to Rich Internet Applications (RIAs).
RIAs take advantage of AJAX, Flex, Silverlight, Java (w/ JavaFX), etc. to provide rich client feel and functionality within the confines of a web browser. At the enterprise level these applications provide the scale, feature, functionality and responsiveness of traditional desktop software, but with the global reach of the web applications. They can be designed to handle very large data sets, scale to service thousands of users, meet fraction-of-a-second performance demands and encapsulate complex business logic.
RIAs make it possible for financial services institutions to achieve the requirement to be global, but not sacrifice the performance, richness, security, or functionality of workstation-bound legacy applications. RIAs are however, only one (albeit critical) part of the wave in the transformation of financial services applications. In addition, computationally intensive business logic is being separated from the RIA presentation layer and deployed into the cloud (e.g. SaaS), reusable application components are enabling rapid adjustment and adaption to changing business demands, and financial services organizations are beginning to take advantage of integration and collaboration services.
A quick visual sampling of our work in mission critical applications
Posted on September 09, 2009 by Paul Giurata
You may have noticed that CatalystReources.com has added a new Case Studies and Clients section. Our purpose for adding these sections is to give visitors a quick visual sampling of the types of projects and clients we have worked with.
It is easy to show case studies if the work is consumer-oriented and public. It becomes a bit more problematic when the work is for mission critical applications or contain proprietary information (the secret sauce behind a company’s workings) - i.e. the kind of application that Catalyst typically designs.
In our new case studies section we think we achieve a balance between showing visual concepts and descriptive text, and not revealing anything competitive or confidential. We show representative samples in each of our primary areas of service.
We encourage you to take a look at samples of our application design work. If you see projects that particularly interest you, contact us for a private and confidential briefing where we can provide more details.
Feedback of course is always welcome in the comments of this blog post or any other blog entry.
Reusable UI - harder than it looks
Posted on August 27, 2009 by Paul Giurata
Most people I talk to seem to understand that building modular, reusable user interface components is different from building custom application UI and requires different development approaches.
Reusability however, although easy in concept, is not easy in practice. Many firms talk about developing modular UI, but typically they are focused on the function of a module - a list of tasks or subroutines. Data, workflow and behavior are addressed separately. The widgets may be modular, but you can't easily assemble them on a new screen of a new application or workflow.
Component-based approach
In contrast Catalyst uses a component-based approach where an individual component encapsulates a set of related functions for understanding and manipulating its own data, interpreting user interactions, and adapting to the workflow or unique performance requirements. Each UI component can be viewed as an independent (but cooperative) 'machine' with a distinct role or responsibility.
With a component-based approach, instead of customizing the code or running subroutines in your application, you add, modify, or delete components to achieve the design layout you want and reorganize them based on workflow and high value scenarios to support changing business needs.
What makes reusable UI components unique?
It takes significant effort and a lot of experience to write a UI component that is effectively reusable. The component needs to be:
- well-documented
- user-validated and thoroughly tested
- robust with comprehensive exception handling, including input validity checking and internal error handling
- able to pass back appropriate error messages
- scalable to handle changing data or interaction needs
- reusable at the enterprise level across many different applications, not just the specific application level
- designed with an understanding that no matter how clear the documentation, it will be put to unanticipated uses
Building an application interface with modular, reusable UI, helps you achieve flexibility, simplicity, and return on investment.
Side note: Developers currently building applications with object-oriented analysis and design (OOAD) principles will be familiar with this kind of approach. Catalyst applies these concepts but works at a more practical level of granularity for reuse than objects.