The perfect storm

Looking back we found ourselves in the perfect storm over the last year developing Servoy v8. As our focus for Servoy v8 was primarily on user experience, we learned that great UX in modern web applications relies on responsive design.

Responsive design means the user interface adapts to the device dimensions. Such a UI will work across mobile and desktop. When approached correctly, this means a developer can build an application UI only once, to be usable for a range of devices and screen sizes.

But to combine responsive design with Rapid Application Development, is no small endeavor. There are quite some html page tools which facilitates responsive design. And while most of these tools deliver a page which is responsive, a page is not the same as an application having distinct, controllable parts.

One of the upcoming web frameworks, AngularJS turned out a perfect match with responsive design. It allows for pages to being modularized into parts called Web Components. And within a rapid application environment, components become easy to manipulate; these are extremely similar to the elements that we’ve already had for years.

Another feature AngularJS brings is two-way binding of JavaScript objects to page elements, which means for example, the content of a field is copied into a object of choice and back.

At the same time, a library called Bootstrap released its third version with makes responsive design really easy to setup. It divides every UI into a layout grid called 12-grid. Grid cells can be filled with any content. It makes a lot of sense to combine this responsive design with Web Components. The result is that everything, except for the grid definition and static HTML, is a Web Component.

Finally, to have optimal communication between browser and server, we leveraged another piece of html5 technology, Web Sockets.
Not only does this allow for better communication from browser to server, but also allows the server to actually talk to a webcomponent. We extended the two-way binding from AngularJS into three-way binding. This enables communication between WebComponents running in the browser and records/foundsets at the server.

As a result this brings extreme flexibility in several ways:

  • Any UX which can be expressed in HTML can now be used. (by making it a WebComponent)
  • Any helper/grid layout system like bootstrap can be utilized in order to get the best responsive design
  • Such a layout grid can be filled with WebComponents using WYSIWYG design.
    In short, an enterprise solution can now have the UX, which the modern user has come to expect, delivered in a rapid application environment.

For the first time in Servoy’s history, we succeeded to make Servoy’s codebase smaller, since all standard form elements are now delivered as WebComponents.
In fact, any WebComponents are now considered external to Servoy, which means you can actually replace or adapt the default elements shipping with Servoy like a field or button.

All our ideas for improving the UX capabilities of Servoy came together with the possibility to use maturing web technologies – a perfect storm.

The new flexibility and a ton of possibilities does put a huge smile on our faces, we are pretty sure it will work the same for you.

Jan Blok

Servoy Release Policy update

It has been approximately 8 months since Servoy 7 .0 was released, which brought us the Servoy Mobile Client. Since that release we’ve adopted a quicker release cycle, which so far has resulted in the release of Servoy 7.0.1, 7.1, 7.2 and 7.3.

Our goal with the faster release cycle is to bring new features, bug fixes and improvements to you, our customers in a more agile fashion. It is also a logical result of adopting the Agile Development approach over 2 years ago throughout our organization.

The faster release cycle has changed  our policy with regards to supported versions and maintenance releases slightly. As before, Servoy still actively supports 2 previous versions besides the latest. Currently those versions are:

  • Servoy 5.2.x
  • Servoy 6.0.x
  • Servoy 7.x

As the Servoy 7.x branch can be considered Servoy 6.1 + Servoy Mobile, we hereby announce that the 6.1 branch will be merged into the 7.x branch as of November 8th 2013. This means that from that day onward, existing installations of the Servoy Application Server 6.1.x or Servoy Developer 6.1.x can be upgraded to Servoy 7.3 through the auto-update mechanism and the 6.1.x branch will be archived.
For the Servoy 7.x branch, the supported version is always the latest release, currently 7.3. Maintenance releases on the supported 7.x release will only be provided in case of blocking issues in production environments.

With more and more rapid releases, there is the obvious need to even more tightly control the quality of the releases. To assure this we’ve:

  • launched our Beta Customer Program
    The Beta Customer Program is for customers that have formal testing procedures in place for their Servoy Solutions. Member of the Beta Customer Program get advanced notice of upcoming releases, in order to anticipate in their planning for the time needed to execute their test suite against the upcoming release candidate. To join the Beta Customer Program please contact your Servoy sales representative or email [email protected]
  • changed our release procedure to always provide at least a public Release Candidate 2 weeks prior to the planned release
  • intermediate builds available on request
    Besides official alpha, beta, release candidates and final releases, is is possible to request so-called intermediate builds. This is build based on the latest code in a certain branch, with a big disclaimer that the build has not gone through our full Q&A cycle. To request an intermediate build, please contact your sales representative or email [email protected]
    Note: our goal is to automatically provide intermediate builds at regular intervals, but at this moment we don’t have an ETA for that.
  • extended support for automated testing
    Servoy has had UnitTesting support in the IDE for many year, including support for running the UnitTests automatically on a build server each time a change was made to the codebase of a solution.
    Over the last few months we switched to Jenkins instead of CruiseControl for Continuous Build integration, which takes care of automatically running of all UnitTests when changes are mode to the codebase.
    Additionally, support was added to perform UI Tests in both the Smart and Web Client and currently work is underway to add UI Testing support for the Mobile Client. Next step after that is integration of the UI tests into the Continuous Build integration.
    For the latest documentation on Automated Testing support, see our Automated Testing Guide

Through these initiatives we solicit the Servoy Community to actively participate in helping us test upcoming versions to make them rock solid releases.

Paul Bakker
Product Manager

Mobilize your business applications

I recently wrote an opinion article for SIIA’s ‘View from the top’ publication about the trend to mobilize business applications. You can find the full article here.

In a nutshell, ‘Mobile First’ means: design (and develop) an application for a portable device first, instead of traditionally making the mobile version a stripped down version of the initially developed desktop version.

Mobile applications require very different usage, development and deployment patterns. Interestingly they force us to grab the essence of the user interactions and make them fairly easy to use.

So when (and how) do we start? Should you go research for another year what to do? Most successful companies in mobile business applications ues the approach: Start today and start learning immediately. Of course your first apps won’t be perfect, deploy them to your loyal users (or friends and family first) and get their input to improve.

What’s great about mobile apps is that they are ‘fit for purpose’; optimized for the job and mostly limited in functionality. There is a high probability that you can easily extend or reuse on what you already have: the more advanced mobile platforms will connect directly to your existing systems: both business logic and data.

I recently wrote a whitepaper that dives deeper into the steps that successful ISVs take to mobilize their business applications. Download your copy here.

How to implement a successful mobile strategy

Forrester discusses best practices that you can start implementing today

Abstract: Mobile is where all the excitement is at and as an independent software vendor you have some new challenges in this space. How do you ensure your app is a five-star app in the app stores? Do you need to become “agile” in your development methodologies and if so, what’s the best way? How is quality measured in mobile and what are the new ways to test to ensure a high-quality deliverable? How will you ever update your app as often as everyone else seems to be updating? Should my app be native or HTML5, and why should I care? Join Forrester analysts Jeffrey Hammond and Michael Facemire to discuss these points and more during this webinar

View this recorded webinar here

Mobile Design. Strategic Solutions. A webinar with Theresa Neil.

International design expert and O’Reilly author, Theresa Neil, will give her view on how ISVs can succeed and what standards they need to reach in order to excel. She offers a refreshing perspective on how to turn business applications into likable productivity machines.

Theresa will guide you through design considerations for responsive web, mobile optimized sites, native apps, and hybrids. We’ll look at the most successful mobile solutions on the market today (and some of the worst), and considerations for deciding a strategy.

View this recorded webinar here.

Q&A Webinar ‘Clear Pricing for a Cloudy Future’

This Q&A refers to the Pricing Webinar we held at August 2nd. The questions are answered by Jim Geisman, Jim is an acknowledged expert in B2B software pricing. Jim is the Founder and a Principal at Software Pricing Partners and has been helping software companies deal with their pricing challenges for more than 20 years. You can listen to the recording here:

Q: What if extending the new pricing model to your customer base is less profitable – how do you convert your legacy clients to the new price structure without losing revenue?
A: I hope the new pricing plan has some financial benefit – otherwise, why would you do this? It seems counterproductive. If your new pricing plan has a positive impact on sales or reducing costs (significantly) I would start my roll-out with new customers. You can deal with your installed base later but many times it is better to leave your installed base alone – grandfather them in.

Q: Would you recommend offering a single price for everything or would you split up software, support, license and hosting etc.? Do splitting up prices like this confuse the customers in your opinion?
A: In most cases it’s probably better not to split out these prices but it is a good idea to tell customers what is included. Subscription pricing typically includes maintenance and support as does SaaS-delivered apps (which also include hosting). In some cases you may want to reduce the overall price of a product by offering maintenance, support or even hosting as an option. Start with an “all-in” price, though.

Q: What do you mean by “Make sure the customer owns the numbers”?
A: If you are using some sort of value calculator, you need to use numbers that represent a reasonable starting point. When you share these numbers with a customer, let the customer modify them. In that way  the customer will have a vested interest in them i.e. “owning the numbers”.

Q: How do you secure revenue in cloud model, where the customer is really buying on use-basis?
A: The question has to do with predictability-more than anything else. If you are charging on a per use and usage is unpredictable, your revenues will be too. You can adjust your price levels and cost structure so your worst-case usage will not drive a loss. However, it might be better to convert to a model similar to that of a phone card: Let the customer buy a bulk number of transactions. At least you will have money in advance and can control how much you spend instead of being driven by actual use.

Q: What productivity is expected in a cloud model yr on yr?
A: I’m unlcear of what productivity you are referring to. That said, some “productivity effects” come from spreading fixed costs across more units/customers or being able to buy in bulk to get better discounts. In addition there is the effects of experience: the more experience you are in doing a task, the more efficient you will become over time.

Q: What are your thoughts on the possibility that customers might react in this manner…””The price is too low, the app can’t possibly be of any use to our company!!!””  In other words, “How low do you go?””
A: This is very important. Pricing, as I hope you now understand from the webinar, requires a great deal of judgment to balance revenue, costs and market demand. It is possible to set prices so low that a prospect may suspect an application as being deficient in some major way. This goes back to the saying “If something looks too good to be true, it probably is”. Many time people will price their products below a market leader. Most prospects understand a difference of 20-25%. I suspect when you go much lower, people may view your product as “junk”.

Q: When you change your pricing in an effort to arrive at a better pricing structure, what do you do with your existing customers? Do you pass the changes “”plus or minus”” through to them?
A: Implementing a price change for use with current customers is very tricky. That is why transition plans need to be worked out in detail and in advance. To start with, you ought to think about segmenting your existing customers into ones that are more versus less important. You may be able to treat most of your existing customers in a standard way like putting everyone on the new price list and letting them pay whichever is less: Their current prices or the new price. That will free up time so you can handle important customers on a case-by-case basis.  Sometimes you may want to leave things as they are.

Q: What is the best approach, process, or methodology for evaluating what price metric is most effective? Is it simply asking customers what they think?
A: You can certainly ask customers what they think and, in this case, their answers will be more accurate than their answers to questions about price levels. I’m not sure there is a good way to judge whether a metric is effective but I would test to make sure the metric you choose scales with the value delivered. . For example, the same number of users of a financial management application can manage portfolios of much different size or complexity. Therefore, it may be better to charge for assets under management (if you are tracking this) than per user.

Q: What does the CAGR of 264% on your freemium revenue modeler refer to?
A: The 264% CAGR referred to the compound annual growth rate in customers.

Q: Do you see a different view for the public administrations?
A: Setting prices for sales to state, local or federal governments is very difficult for two reasons: 1). Purchases are often made by some sort of tender or bidding process which reduces the differences between products and makes them more of a commodity and 2). The actual user may be separated from the purchasing process so it is difficult to make a value argument to justify your price levels, packaging, or other terms.

Q: If I get no push back on price. Is it too low?
A: I would say so. Not all direct sales can be closed. My sense is, in a direct sales situation, you should probably lose 5-10% of the total potential sales transactions. If you are selling via the web, and you don’t get messages telling you your prices are too high, then you may want to consider raising the price (to new customers) until you hear a few complaints or until the number of sales decline.

Q: Do you have any specific tips for pricing sustainability and carbon footprint management Saas Software? (I am managing this product from India)
A: Pricing software based on sustainability or carbon footprint is probably very difficult unless you really understand the economics –  which I believe is very hard anyhow. I suspect one reason why it is hard to present an economic argument about these issues is the benefit accrues to society as a whole not a specific company. However, you may be able to make an economic argument that is based on the good publicity will generate goodwill and therefore increase revenues.

Q: What are some steps to price “value” to a customer, especially with a new offering that may not have a clear direct competitor?
A: Demonstrating value is a combination of how you write or speak about an offering as well as how you present the economic case.  Setting prices for products that people haven’t seen before is best done by choosing the right comparables. It is very important that you choose the comparable and not leave it up to the prospect. If you let the prospect choose the comparable, the prospect my choose an inappropriate, low-priced comparable.

Q: How do you price to recover your development costs, without over burdening your initial customers unfairly?
A: Recovering your development costs depends on the quantity of units you expect to sell and, to a lesser extent the time frame. The greater the share of the costs you place on your early customers, the more they will bear the burden.

Q: How do we move from one-time fee to subscription without taking a big cash flow hit?
One way to avoid a big cashflow hit in aggregate is to phase in subscription pricing over a period of time. However, the structure of customer payments for an application is independent of whether or not the application is hosted remotely or not. You may want to consider using the up-front payment model for the license and a single price for maintenance, support and hosting – assuming you are delivering the application remotely. (If you are changing from and up-front plus annual M&S  to a “all-in” subscription for an on–premise application, handle this as you would a change in pricing model.)

Clear pricing for a cloud future – AUG 2, 2012

Applications that run in the cloud often miss the mark when it comes to pricing. Decisions about pricing are hard enough and the Cloud often makes them even more difficult. What is involved in pricing? How can you avoid common errors? What actions should you be taking to get paid fairly for the value you deliver? This webinar will help you more clearly see what you need to do with your pricing so you have a better chance of commercial success.

The webinar will be presented by Jim Geisman an acknowledged expert in B2B software pricing. Jim is the Founder and a Principal at Software Pricing Partners and has been helping software companies deal with their pricing challenges for more than 20 years. Register now