Contracts And Set-Up Fees: How You Can Profit From The SaaS Business Model?
Posted by The OpenEdge Team
This is the last SaaS Podcast of this three part series, please see listed podcast in this blog:
Recent Posts
Posted by The OpenEdge Team
This is the last SaaS Podcast of this three part series, please see listed podcast in this blog:
Posted by The OpenEdge Team
Posted by The OpenEdge Team
Progress Software kicks off a three part Q&A podcast series with Colleen Smith, SaaS expert, to address the most frequently asked questions by our application partners as they consider moving their software applications to an On Demand SaaS offering.
Posted by Sunil Belgaonkar
Recently I attended Eclipsecon 2009, an Eclipse community conference in Santa Clara, CA. Like previous years, the conference was very well organized and had sessions on various topics ranging from e4 (code name for Eclipse 4.0 release) to Cloud Computing. There was a lot of buzz and even a separate track for e4 - so let me begin by blogging on e4.
General sense I got was that Eclipse community has ambitious plans to make significant changes to Eclipse 4.0. More than 40 committers are working on Eclipse 4.0 release and the Eclipse community intends to deliver e4 Tech Preview in July, 2009 and the GA in summer 2010. They plan to provide a compatibility layer from Eclipse 3.x to Eclipse 4.x so there can be gradual adoption of Eclipse 4.0 J. Following are some key highlights of the areas that they are planning changes –
There was talk of "How the current Eclipse platform UI is very rigid". To make the UI work across multiple platforms and web technologies, the SWT team is working on a model driven UI called XWT – which will leverage EMF based models and CSS style-sheets to render UI on multiple platforms and also on web using FLEX/action script, GWT or Silverlight. There is also separate effort to create declarative UI language for defining UI. So in summary, there is a lot of work and planning going on to provide different skins to the Eclipse platform.
Eclipse resources are being enhanced to better support linked resources, groups and various resource filters are being added to Eclipse environment.
Couple of Mozilla guys have teamed up with Eclipse committers and are working to provide ability to edit code from the web (by providing the same level of rich editing capabilities) using (I think) Bespin technology.
There is a lot more work happening in different areas and I could go on ... but you get the idea. These are big changes and a lot of cool and new things to look forward to...
From OpenEdge Architect Perspective, we would need to keep an eye out on developments in e4 so that in future, we can leverage the full potential of the e4 to provide lot of these cool productivity enhancing new features to the OpenEdge developer community.
Posted by Brian Bowman
This was an interesting article that came across my desk from a colleague at Progress (thanks Dave C.!) regarding a disaster that has gone largely unnoticed. I thought it was an interesting example of what you can plan for (or not plan for).
The article talks about a small town in Northern California called Morgan Hill. The challenge is that this type of man-made disaster could happen anywhere in the US. How you build a contingency into your Disaster Recovery Plan for this is very difficult.
You could make sure you have ham radio operators on staff, but that seems a bit eccentric. You could also buy satellite phones for key personnel, but they may not work either (and still need to be charged).
There are times when you can’t do or plan for everything. There are, however, things that you can do to help mitigate these types of disasters. You will not completely eliminate the impact of them, but you can minimize the affect they might have on your business.
The first is to establish a good rapport with the local emergency services personnel. These include police and fire department. But you should not limit yourself to those agencies. You can also connect up with your local CERT (Community Emergency Response Team) organization as well as the local Red Cross. Communicating with other businesses nearby is also critical to all of your success. There are organizations like this in almost every country. There are often times when you can work with other businesses to share resources to ensure that both of you are successful. This also helps you know and understand what Disaster Recovery plans they may have in place that you may have overlooked. For example, it would be nice to know that your office is close to their chemical processing plant.
The second thing you can do is ensure that critical systems are available during this type of an outage. For example, can you run your internal network without an internet connection? Some companies rely heavily on the internet from the corporate office to the remote branches that they become crippled if the network connection is not there. Are the remote offices part of the critical business application that needs to function?
Lastly, you can choose to accept the risk that this type of a disaster will cause an outage to you. As long as you quantify the outage and understand the impact it will have on your business it is acceptable. This is similar to being self-insured when it comes to insuring your vehicle.
Have you seen or been a part of a local disaster that you would like to share? I’d love to hear about it!
Until next time – Failure to plan is an option – just not a good one!
Brian B
Posted by Ken Wilner
I recently came back from a trip to Europe where I presented
the OpenEdge Strategy and Roadmap at the ProAlpha user conference held in
Frankfurt, as well as at the OpenEdge 10.2A Partner Technical Forum held in
Frankfurt and Vienna. And while it is
always fun to be able to talk about our strategy and roadmap with customers,
let me say what I found most impressive was seeing the way that our strategy is
really starting to payoff for many of our customers specifically in the way
they have enhanced and extended the functionality that is provided by OpenEdge
Architect to provide their own purposed tools in OpenEdge Architect’s
Eclipse-base framework.
For example, Gunnar Schug from ProAlpha discussed with me
how they are working on building their own tools Eclipse-based tools for
OpenEdge Architect that do code analysis to ensure that they fit in with
ProAlpha’s coding conventions. ProAlpha
is also leveraging the Mylin Eclipse plugin to improve and automate task
management as part of the SDLC lifecycle.
Robert Prediger from ic4b AG demonstrated his Web4Biz
framework and showed how he used the BackBase Eclipse plugin to build an Ajax
interface for his OpenEdge Content Management System application. The back-end architecture is all OpenEdge ABL and Application Server driven.
Klaus de Vries and Klaus Erichsen from IAP demonstrated
their OF-1 framework which allows an OpenEdge developer to generate an OpenEdge
GUI, an OpenEdge GUI for .NET, Java, and an Ajax UI from a common model, based
on common visual designer, and have integrated this all into OpenEdge
Architect.
Mike Fechner from Consultingwerk focuses his time on mentoring application partners to embrace
the new OpenEdge 10.2A capabilities. During the forum he demonstrated his
Dynamics for .NET framework showing how he has extended the Dynamics framework
to support the OpenEdge GUI for .NET interface.
He also introduced “WinKit – Windows Integration Toolkit”,
which simplifies the programming model when using the new OpenEdge GUI for .NET
feature by adding a “productivity layer”,
and also takes advantage of smart
coexistence capabilities to run classic OpenEdge GUI Windows in an OpenEdge GUI
for .NET MDI container.
He built and developed these controls using the OpenEdge GUI
for .NET capabilities built into OpenEdge Architect, but the other great thing
is because the visual designer built into OpenEdge Architect is so extensible,
he can access these new controls directly in the visual designer itself.
But a slick user interface needs a powerful business
application in order to be useful, and Mike is working very closely with Thomas
Wurl from Taste IT Consulting for that part. Together they have set up a joint
project to merge the concepts of ADM2 and OpenEdge Reference Architecture
(OERA) with the OpenEdge GUI for .NET
and Object-Orientation. This framework
and set of design tools includes Mike’s Smart Component Library – “Smart” GUI
for .NET Components – with Thomas’ “tic-Enterprise” Developer and Framework.
It generates an object-oriented OERA
(O3ERA) backend from an imported Database Schema, defining Business Entities
and generating classes and everything needed to have a full OERA Implementation.
The above are just a few examples of why the value of
OpenEdge Architect is greater than just the functions and features that you get
with the product. If you are using
OpenEdge Architect then great. Start
leveraging some of the more advanced features, learn about the OpenEdge GUI for
.NET, and try building something with the Visual Designer. And now is a great time to start learning all
that the Eclipse community has to offer so head on over to the Eclipse Web site.
If you are not using OpenEdge Architect, then it’s time to
get started. Work with your Progress
account team to figure out the best way to introduce OpenEdge Architect into
your environment, and checkout the OpenEdge Developers
Corner for lots of good content on how you can get started with OpenEdge
Architect.
Ken
Posted by Brian Bowman
When a disaster strikes are you going to be ready? If you can’t answer this question with 100% surety then you have a challenge in front of you. There are many different plans to prepare yourself for a disaster. One that I have seen used both in the public sector in the United States and the private sector is the National Incident Management System (NIMS) and more specifically the Incident Command System (ICS). These have been developed over the last 20 years to help agencies in the United States respond to a disaster. There are similar systems available in almost every country and region around the world.
While both of these programs have been developed to respond to a public disaster – typically a natural disaster – they provide a very good foundation for the complete disaster management cycle.
ICS breaks the process down into 4 discreet components: Mitigation, Preparedness, Response and Recovery. On PSDN, Marv Stone and I will do a webinar / podcast on these components and how OpenEdge 10 meets these needs for your application.
Mitigation deals with identifying requirements (business and safety for example) and minimizing or avoiding those risks altogether. An important part of this process is identifying where you are vulnerable. Once you have identified this you can start to figure out what you “really” need to worry about. This moves right into the planning component of your Disaster Recovery plan.
Planning addresses what options are available, choosing the appropriate option to meet your needs, implementing that option and testing the plan. This is one of the most critical components in the process. It also takes the most time. It is an iterative process and will never be done…
The next component is Response. This is execution of the plan. The first part of this is declaring the disaster. This would seem like a simple thing to do, but it isn’t. I will talk about this in my next blog. This is where your testing with your solution will pay off. Whether it’s OpenEdge Replication, Failover Clusters, or After-Imaging, if you haven’t tested thoroughly then this could turn into a nightmare. A critical part of this process is documentation. Documenting what is being done, who is doing it, and when it was done is critical to the post-mortem (or Recovery) component of your environment. If you don’t document and learn from your mistakes, you will inevitably make them again.
The last component is Recovery. This can be interpreted in several different ways. In the public sector it revolves around returning to life as usual (or as usual as it can possibly be). In the private sector it involves failing back to your production environment and getting the complete business back up in business as usual mode. This is also affected by your planning process. Failing back should be planned and tested in the Planning component of your plan. Documentation is also critical in this component in order to clean up and prevent additional outage time.
Marv and I will chat about these and where OpenEdge 10 plays a part in all of these components of your Disaster Recovery plan. Be sure to listen in!
Until next time, a disaster is only a disaster if you are not ready for it.
Brian B
Posted by Colleen Smith
One of the questions that I get asked a lot is “What are the mistakes that others have made when moving to Software as a Service (SaaS)?” I think that software vendors are always looking to learn from others mistakes – so they don’t make the same ones. So, I thought I would highlight some of the common mistakes that I have seen by some of the vendors that I have spoken with over the past few years.
1) Thinking that SaaS is a replacement for the current offering
Many times when I first meet with a vendor, they are thinking about their SaaS offering in relationship to their existing product and their current target market. The problem with this is that if you come in thinking that this new SaaS offering is just to replace your existing product offering – then that is called “cannibalization” and that is a bad thing. What you want to do is develop a new adjunct or complementary service/offering for your existing customers – or even better - to develop a new offering for a completely new target market. It may be based on your existing product/expertise – but you need to think of it as a new service offering to a new customer base and not just as a replacement to your current offering. The last thing you want to do is cannibalize your current product offering.
So, my advice is as follows: If you feel you have found an untapped market for your existing product capability – then go after this new market with a new service offering. If you feel you only have access to your current target market/customers – then you need to develop a new service to be offered in addition to your existing on-premise product.
2) Targeting too broad of a market segment with the initial SaaS offering
The next thing that happens after many vendors decide to move to SaaS is that they try and take on the world all at once with the new offering. Too many times when I first meet with a vendor and I ask who their target market is – they come back with an answer that almost includes everyone. Now, I know that many times a product can solve many problems for many types of companies – but one thing to keep in mind when bringing a new product/service offering to market is to FOCUS. What I mean by that is for your initial SaaS offering – think about starting small and targeted. Maybe you can pick a subset of a broader market – or maybe you can limit your target by geography or by a particular set of business processes – whichever way you choose – the key is to start small – become successful and work out all the kinks.
Once you have shown success – then it is time to open up the field a bit more and expand – but my advice would be to start small and target your offering at a set group of prospects and then once you have achieved success – expand into other areas.
3) Treating the SaaS customers the same as the current customers
Another mistake that I hear a lot about is around the level of service and customer support that is provided to a SaaS customer. When I first meet with existing software vendors they always tell me that support is not a problem – because they have been doing software support for their customers for years and that is something they know a lot about. Well – maybe they know a lot about product support – but servicing a SaaS customer is different. Here is what I mean by that: in the SaaS model – it is all about service levels – that includes: product support, technical support, operational access and overall customer service experience. I think that most software vendors are good at product and technical support – but it is in the areas of operational support and the overall customer experience that sometimes is forgotten or in many cases – just not thought about at all.
The customer experience will not only be critical to the renewing of the service – but it also counts in terms of how much the service is used as well as many times – how many additional services will be utilized/desired by the customer. SaaS success is all about “stickiness” – and that means you need to get more customers using the system and you want them to think about going to you for additional services and not to another service provider.
So, my advice is to create a separate account management function to make sure that the needs of the SaaS customers are always being looked after. You may also want to incent those account managers to continuously ask about how the service is going and provide them with additional service offerings. Also, make sure from an operational perspective that service levels are constantly being met- if not exceeded – as it has been shown that a happy customer is much more likely to buy more and an unhappy customer is always ready to tell someone else how unsatisfied they were with a vendor.
Posted by Brian Bowman
In today’s “new economy” you have to make the best of everything you have. This is even more critical when it comes to making your environment as strong and stable as you can. Ensuring your environment is running optimally and not speeding towards the cliff is critical to your business doing the best it can.
This is especially important when you are working on Disaster Recovery plans. Businesses are having a hard enough time making ends meet and staying in business without the additional challenge of losing data or a critical business system.
Disaster Recovery, from my perspective, is a timeline. Along this timeline is developing your application, testing your application, deploying your application, and managing your application. This timeline ties very nicely into the four phases defined for Emergency Management in the National Incident Management System (NIMS). Although this information is for the Federal Emergency Management Agency (FEMA) in the United States, there are similar links for agencies in your region and country.
The four phases of emergency management are Mitigation, Preparedness, Response, and Recovery. Although Emergency Management deals with man-made and natural disasters, the same concepts can also be applied to application management and Disaster Recovery Planning.
Mitigation is the process of eliminating and minimizing the effects of the disaster. This is most critical in the development and deployment section of application management.
Preparedness is the process of planning your DR plan and what the contingency is in the event of a disaster happening. This is where a business impact analysis (BIA) determines what SHOULD be done to prepare for a disaster.
Response involves who is responsible for what in the event of a disaster striking. In your business you should know who is going to make decisions, who is going to execute on those decisions, and who is going to DOCUMENT what is going on and what is being done.
Recovery involves returning the business to either partial or full capacity. This may mean failing back to the production environment, like OpenEdge Replication can do. It also involves getting your disaster recovery location up and running. Whether this is utilizing Progress’ technology or something else, recovery requires that the business is running and doing the critical functions needed to stay in business.
It is important to understand that this process is a circular chain. Disaster Recovery Planning is never done and is an iterative process.
Progress is committed to providing you with the tools to make your environment as efficient and safe as possible. To this end, Progress will soon release OpenEdge Management 10.2A. This release will include a new tool to help you remotely manage operations – OpenEdge Explorer (OEE).
OpenEdge Explorer will provide an alternative to Progress Explorer as the configuration and management tool for the OpenEdge environment. You will no longer have to install a Progress client to be able to graphically configure your OpenEdge environment. You will also be able to monitor the current status of your systems from a browser anywhere on your intranet.
Additional free online training for Emergency Management and NIMS is available here.
This blog was an interrupt from my normal stream. I would love to hear what you want to hear about and talk about from the Disaster Recovery world (or Emergency Management, Business Continuity, etc.).
In my next blog I will return to my normal process.
Until then, recovery from a disaster starts with the individual – are you ready?
Brian B
Posted by Shelley Chase
While working on a new ABL sample using OpenEdge GUI for .NET, I started thinking about the different presentation models that are available to an ABL programmer in 10.2A. While much of Microsoft geeks are focused on the cool new features of Vista, OpenEdge stays focused on real world business applications. Business applications need a productive, full-featured user interface whose purpose goes beyond catching the user’s attention. Since these applications must be functional above all else, the need for Vista’s multimedia effects (video, animation, graphics) might be nice but not critical. Business applications have a typical set of features that are often reused over and over again. These features include:
One of ABL’s core strengths has always been its ability to manage the backend data easily, with built-in and native data awareness and transactional support in the language. Now with OpenEdge GUI for .NET, you have even more choices available to select the right presentation model for your applications. In general business applications have many different screens to show to their users and often there is need to show more than one simultaneously. There usually is a central way of managing the various screens (a window manager), as well as some means of transitioning between them. It is crucial that users can easily navigate the application, and can use it in a flexible way that fits with their needs.
The presentation models to consider are:
Single Document Interface
SDI organizes graphical user interface applications into individual windows that the operating system's window manager handles separately. Each window contains its own menu or toolbar – there is no concept of a “parent” window. Applications which allow the editing of more than one document at a time, e.g. word processors give the user the impression that more than one instance of an application is open instead of a single application with multiple documents. Each window displays as an individual entry in the operating system's task bar or manager – which might group windows of the same application.
Microsoft Word and Excel are examples of an SDI application.
Multiple Document Interface
MDI organizes graphical user interface applications into many windows that reside under a single parent as opposed to all windows being separate from each other like SDI. A single menu bar and/or toolbaris shared between all child windows, reducing clutter and increasing available screen space. In MDI a single instance of the application is shared and the child windows all float within the parent (container) window.
The disadvantage of MDI is that it is easy to “lose” a child window when many windows are open simultaneously. In order to view the list of windows open in MDI applications the user typically has to go to the menu bar, moving their focus out of the child window area.
Tabbed Document Interface
This is a specialization of the MDI model. Like MDI, TDI organizes graphical user interface applications into many windows that reside under a single parent window. Unlike the floating child windows of MDI, in TDI each “window” is displayed in its own tab. This makes it much easier to find open windows than traditional MDI. TDI windows must always be maximized inside their parent window, and as a result only one tab can be viewed at a time.
The disadvantage of TDI is with only a single window available at a time, comparing information or copy-and-pasting between two windows is more difficult. Additionally although tabs make it easier to find open child windows, if there are a large number of windows opened simultaneously there are many tabs for the user to search before finding the one they are looking for.
Firefox is an example of a TDI application.
IDE Style Interface
IDE Style Interface is another specialization of the MDI model. Like MDI, IDE organizes graphical user interface applications into many windows that reside under a single parent window. An IDE-style interface is a superset of the MDI model with features available to support the child windows that are not normally available in traditional MDI applications. These child-window features include:
- TDI model for child window
- Ability to view child windows simultaneously using splitter
- Separate window management for child windows - normally tree-based
- Additional, independent panels to support application – these often use a tabbed interface
Microsoft Visual Studio.NET and Eclipse are examples of IDE applications.
Microsoft Outlook
Microsoft Outlook, and its very popular user interface metaphor, is not true to any of these models. It is closest to an IDE application without tabs for the child windows. Or you could consider it an MDI application with child-window features.
When you plan to redesign your appIication's user interface, consider which of there models works best for your application and users. This is not a one size fits all solution but one that is customizable for your needs. With the new GUI for .NET you get access to Microsoft .NET Windows Forms, an extremely full-featured user interface solution. In Microsoft’s own words “With Windows Forms, you can create powerful Windows-based applications. You can harness the power of Windows Forms to display data, handle user input, and deploy your applications easily and with enhanced security.”