Servoy featured in Dutch publications AG and Informatie

Screenshot 2015-04-20 11.29.34

In an article about Cloud Computing Servoy was featured as a company that runs entirely in the cloud. At Servoy we have no on premise software but run everything in the Cloud. Here is a brief listing of our most used applications:

– Servoy CRM. Our internal crm system that manages all our client communications, sales and more. Obviously built on Servoy
– Atlassian Jira. For issue tracking and more.
– Google Apps. For email, documents, calendaring
– Skype. For communication
– GotoMeeting. For online presentations and meetings

Download the original articles courtesy of Automatiserings Gids and Informatie. Articles are in Dutch.

Automatiserings Gids

Informatie article

What made Reflecta choose Servoy as frontend for Progress?

image

In terms of the functionality of our software and our knowledge, our company currently provides the most superior offering in this market. In terms of user interface we saw opportunities to improve our offering and strengthen our position in the market. Since our current development environment didn’t allow us to create more modern and operating system independent UI’s, we started to look for alternatives that would be future proof. In our selection process, we not only qualified based on features and benefits of the platform, but also on the company behind it. After careful consideration we chose Servoy. From our first interactions we have been impressed with the organization itself and its development platform. The Servoy platform complies entirely with our demands around creating modern user interfaces. It has to support multiple platforms such as Windows, OS X, Linux and mobile devices, and has to give us the option to deliver our application in a SaaS based way. After a successful Proof of Concept any doubts we had were eliminated, leading us to select Servoy as our future platform. We are currently in the first phase of our development strategy and we are 100% convinced that we will be able to realize our vision of becoming the absolute market leader in the fashion, shoe and sports industry.

Are You Ready for a Web Browser-Based IDE?

800x500xlaptop_cloud_computing_800_clr_9211.png.pagespeed.ic.OEd_dBdAlf

Admit it. You’re skeptical.

Is a cloud-hosted integrated development environment really possible?

Sure, you’ve seen applications such as MS Office—and even your favorite games—move to the web. But those applications are run-of-the-mill.

An IDE, on the other hand, is a complex tool. Is a browser-based IDE even advisable? You can’t help wondering …

The web reinvents itself

Over the past 20 years, we’ve seen the web transform itself beyond recognition, moving from static HTML pages to web 2.0 and now HTML5. Today, even highly interactive applications are web-based, with Google’s Chrome OS playing a significant role in shaping the web.

The web’s dramatic development traces back to several key technological shifts. First, virtualization has commoditized the IT landscape, initially on premises, and now on the cloud. Second, cheap cloud-based computing coupled with affordable high-speed Internet connections has made the widespread use of web applications possible.

In turn, web applications have brought low costs, interoperability, and ease of integration. Each web application operates as a service, seamlessly communicating with other web applications via APIs. Users have been quick to embrace web apps, caring little what lies behind a service as long as it runs.

Mobile applications are now becoming the interface of choice for the general public. It will soon be the case for businesses. Increased CPU power allows today’s mobile devices to run sophisticated web apps, rapidly turning native applications into a thing of the past.

Browser-based development is already happening

If accessing services through a browser has become the new norm, should you be surprised to see it applied to software development?

You’re probably already using a browser-based case system, as well as virtual machines to test and demo your software. You may be storing your source code in GitHub, the popular web-based repository. You likely run unit testing in a hosted environment, whether on Azure, Amazon, SoftLayer or on any other standardized environment (J2EE/node.js/LAMP). You may even use JSFiddle in a browser to test your JavaScript code.

But when it comes to your integrated development environment and local development server, you feel those are different. Why?

Introducing the ultimate IDE

There are no good reasons why an IDE should not run in a browser, with a backend as a service. In fact, there are excellent reasons to switch as soon as technology makes it possible.

First, having a worry free and complete back end of your development environment will help you focus on what is really important: building great software that users love. Software development in a browser cuts ties with a specific machine, location, and time. It brings down the cost of the hardware and software you use and of its associated maintenance.

So prepare yourself for the inevitable. Get ready for your new, browser-based IDE!

PS:In case you are wondering: yes, Servoy is spending serious research in this area.

Servoy 8 Alpha

2014_Servoy8_BANNER-01

Today we’re proud to announce the immediate availability of Servoy 8 alpha. Here’s the link to download it while you finish reading this post:
servoy.com/download

Servoy 8 is our biggest release since Servoy 1 was built. The new ng-client (next generation client) with a strong focus on deliver great UX enables software developers to deliver great applications using our established RAD capabilities.

When we started creating the roadmap after Servoy 7 was released we realized we needed to completely rethink our web client based on the new realities of today. While our web client technology was great we felt it was going to be outdated in a few years so we decided to start with a clean sheet of paper. This exercise helps to think out of the box and avoids trying to bolt or hack your existing technology stack. We tried to come up with a minimum list of capabilities the technology should have:
– responsive design
– great UX on smartphone, tablet and desktop
– cross browser
– retains RAD capabilities
– increased responsiveness
– secure

When we started with web client we built it on Apache Wicket, in it’s day the best framework to create powerful web applications. However as frameworks grow older and bolt on more and more features we needed something radically different. After extensive research we found that Angular was going to be the best fit. Read more about the background in the post from Jan Blok.

Servoy 8 is unique: it’s the only RAD platform to deliver great HTML5 apps quickly and without headaches. Servoy 8 will will make your users happy, and of course the developers as well!

Get started with Servoy 8 with this introduction overview: Servoy 8 introduction video and demo

Servoy loves progress

loveprogress-2

Tomorrow is the EMEA PUG conference in Germany. We were planning to go as we love progress and we happen to offer a great UX platform to modernize existing OpenEdge applications. We sponsored last year’s conferences in both Europe and the USA and were received warmly by the Progress community. We enjoyed it very much and received feedback from the attendees and Board that Servoy was received well as a new player in the PUG arena.

Unfortunately when we subscribed to sponsor this year’s event, we did not receive a response. After a discussion with the board of the EMEA PUG, we learned that Progress Software viewed Servoy as a threat and would retract their sponsorship if they allowed Servoy to sponsor as well. Though disappointing, we fully understand the position EMEA PUG was facing.

To learn more of Progress Software’s decision, we scheduled an appointment at Progress Software’s EMEA headquarters, where we were cordially received by Damian Coyle, Monique Bruins and a pre-sales engineer of Progress Europe.

They shared that Progress Software sees us as competition. When we explained that we believe the opposite, that Servoy extends the lifecycle of a Progress application by allowing ISVs to deliver modern HTML5 front-ends with a superior User Experience, they eventually agreed verbally that Servoy does not compete with Progress. Also, Damian Coyle was going to discuss the matter with Mr. Armstrong, the EMEA director. Unfortunately, Mr. Armstrong still saw Servoy as competition – he does not want Servoy to sponsor the conference AND, in fact, does not want any Servoy employee attending the conference. We regret this but respect the decision of the EMEA PUG board as Progress Software is a key sponsor for their event.

The facts are on our side: more and more companies based on Progress Software’s OpenEdge technology are using Servoy to deliver great User Experiences in record time. We will be hosting a webinar soon where a couple of Progress ISVs will demonstrate their success.

We are confident the EMEA PUG conference is going to be a great conference and we would have loved to join but we fully understand the decision taken by the board of the PUG. We wish everybody a fantastic conference!

At Servoy we love progress and if you are interested in progressing your application to the next level by adding a great UX and UI on top of your existing OpenEdge application contact us to learn more!

note: OpenEdge and Progress Software are registered trademarks of Progress Software. When I use progress in this post I refer to the English word progress and not the software company.

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
CTO
Servoy

ServoyWorld 2014

IMGP0553

ServoyWorld 2014, our ninth conference just finished and wow! What a great event again. Our biggest announcement was Servoy 8, arguably our biggest release since the first version of Servoy. Servoy 8 takes our web technology into the next generation and makes it seamless to create powerful HTML5 applications.

Our next generation web client is called ng client and builds on AngularJS and Bootstrap. This combined with our +12 years of experience of delivering RAD (Rapid Application Development) tools creates the most advanced html5 platform on the planet. To learn more about Servoy 8 visit the main Servoy 8 page.

With over 30 sessions and trainings ServoyWorld 2014 was a great place to learn more about Servoy and share knowledge with other developers. Our engineers enjoyed getting feedback from customers directly in the sit down sessions during and between conference sessions.

If you couldn’t attend the conference and want to learn more about Servoy 8 make sure to attend the launch webinar. If you are interested in downloading the ServoyWorld presentation have a look in this forum thread for the slides.

I look forward to meeting you at ServoyWorld 2015!

IMGP0715

Automated UI Testing

Automated testing is a must in order to build a maintainable codebase and staying agile while writing code. Automated testing is a core procedure of a modern software factory where continuous builds and continuous integrations are widely used practices; testing your software manually every time a new build is prepared requires a lot of effort. Running automated tests will help developers to spot errors in the new build and correct them immediately. During this webinar we will show how automate testing for the Web Client by using Selenium. The automated UI script generated by Selenium will reproduce the user interactions with the browser and will validate the UI state.

How Can Customized Software Development be Successful?

I won’t deny that a customized software solution designed from scratch will cost you more money than your basic off-the-shelf software solution if the performance of the two is going to be identical. Having said that, software projects can end up costing you a bundle, even with standard solutions if the software needs to be optimized and tweaked and the user interface needs to be changed in order to meet the client’s requirements. Changes made to off-the-shelf software solutions tend to be more expensive than similar adjustments to customized solutions.
It’s also very common for the costs involved in implementing standard software applications to get out of hand, where a solution that appeared solid and competitively priced at the outset, ultimately ends up costing you a small fortune.

Why Customized Software?

Many standard solutions include additional, customized features that have been specifically added for an individual client. These add-ons can end up causing major aggravation if they are not compatible with the basic software. This is related, not only to the actual software technology used, but also, to a large extent, to the strategy, and processes and procedures of the manufacturer. Software companies with an international focus tend to have a highly complex organizational structure, including a strict division of duties.

The Developer’s Tools

The software development environment provides developers with the elements they need in order to be able do their job, including a programming editor to simplify the coding process, and a compiler – a program that takes source code and translates it into more basic language so as to create an executable program. The development environment typically also defines the programming language and, in some cases, the database. It also performs a large number of other duties, including version control. An essential part of the programming process is the documentation used. What are the ideas underlying the code? Here, too, users have access to powerful functionality. In some cases, specific development methods – such as Scrum – are supported or even required. This may lead to a situation where the people who locally implemented and developed the manufacturer’s basic development strategy are none the wiser and are caught by surprise when a new release comes out whose underlying technology may differ radically from the previous version of the software. Along with their client, they are then faced with the reality that the software add-ons no longer work in the new release and may have to be readjusted at great cost and effort – and in some cases even reprogrammed altogether. What you believed to be a one-off investment ends up weighing down your bottom line.

Tools Can be Customized Too

In addition to the actual development work, modern software development environments offer extensive libraries of functional software building blocks, where differences in basic functions – recognizable to users – are defined. Let me give you a simple example: if you open a file on a PC, the operating elements can look very different depending on the software used. They might be indicated with yellow folder icons, plus signs, or small triangles. Understandably, software developers don’t want to redefine the user interface for opening files each time they develop a new application. The development environment should enable them to define and store these parameters. Gartenmann Software AG requires that these seemingly minor details be managed identically on all the various devices – PCs, tablets, and smartphones – and that they look the same to users on each device. Like in the example above, this means that an additional layer is added to the development environment that transforms the manufacturer’s specific development strategy.

Frameworks Ensure Consistency

Today’s clients simply want to be able to launch a software application and use it anywhere, anytime and on any platform. Both the software and the user interface should always look the same, regardless of the basic technology (including the hardware and operating system) they’re using to access the application. In order to achieve this, special frameworks are used that are designed specifically for this purpose, including SERVOY.
Our new solutions are based on SERVOY technology and enhanced by an “intermediate layer,” if you will, which helps us ensure an identical look and identical use for the software.

The additional framework we developed is based on Java/JavaScript technology and enables us to efficiently offer our clients modules and software applications with identical graphical user interfaces across all platforms and devices. Based on what we refer to as our “core” – a central solution containing all the required basic software modules and functionalities – we can create client-specific, customized applications at a reasonable cost, without needing to reinvent the wheel each time. The main benefit is that we can continue to issue new releases without any problem, as the customized elements are developed outside the main “core.”

The Core Is Already in Place

Clients want to be able to use software anywhere, anytime and on any platform. To accommodate them, a specially designed framework is required – like the djooze.crm solution developed by Gartenmann AG.

Depending on clients’ needs and requirements, we can use the available core modules to cover 30 to 70% of the project. We can use these components right off the bat to develop a standard software solution. You know exactly how much it’s going to cost, and you can be secure in the knowledge that there’ll be no budget changes along the way. The focus in terms of project security is therefore on the customized part of the software.
How do we ensure that the solution will do the job at the agreed cost?

One essential condition for success is that the provider and the user(s) work closely together, and it is precisely this aspect that tends to be overlooked a lot of the time.

Can We Control the Success of a Project?
Clients are all too often driven by fear of failure and underlying distrust in the software development process, preventing them from achieving the desired result. They typically want to attempt to define the software parameters themselves by presenting a very narrow list of specifications and requirements to the developers and having it all laid down in a contract. This means that, while the features, price, and penalties are all pre-defined, no actual workable solution is available yet. More often than not, the underlying problem – that is, the actual solution part of the software – is not even described in a comprehensible (or even measurable) way.
The client actually sees themself as the developer in the project, which has at least two fundamental disadvantages:

  • It stifles any kind of creativity in the software development process, with the developer’s role being reduced to that of a mere operative, whose own input is only needed to a limited extent. However, the intellectual and creative process involved in software development can actually lead to elegant solutions, which could end up reducing rather than increasing cost.

  • It prevents developers from responding to external changes. Good business software is not a static product – its technology and functionality continues to evolve, and it must be adapted to clients’ needs. Particularly during long-term projects, various factors in the organizational environment tend to change, and these changes must be incorporated into the software. For example, changes in a company’s structure may also change the software requirements, or, alternatively, the focus of the software might change following a change of staff.
    Clients must grant developers a certain amount of freedom so as to be able to create genuinely effective solutions. To avoid any complaints that this way of working involves too much uncertainty, trust between the client and the developer is essential. Is a series of reliable references available? Are the methods used solid and effective?

Collaboration Determines Success

There’s always a chance of differences of opinion arising between developers and clients, particularly when it comes to project methods. At Gartenmann, we know from our many years of experience that there’s really no need for conflict if you do things right. We use Scrum and Agile Software Development to achieve our purpose in a series of small steps. However, tools and consistent procedures are most important when working closely with clients throughout the long development period. We have seen a lot of changes in this field in recent years. Gartenmann currently uses Cloud Blogs and Wikis to describe all the various facets of the project. In addition to ensuring transparency, this also includes the client in the development process. This is clearly illustrated by the following example: If you want to benefit from customized software solutions, you need to become involved in the process yourself. Your own resources are indispensable when it comes to defining the processes and requirements and continuously testing and challenging them, and you must make yourself available to the developer for discussion.
In order to gain an edge over the competition, it’s important to know that customized software is not bought and sold like so many crates of beer, and even airtight contracts won’t prove to be of much use in the end.
The increase in the supply of customized software solutions has also increased the number of “soft” factors involved, which must all be considered as well. All of this could definitely make the unbiased opinion of an independent consultant worth your while.

Author: