Crowdsourcing in Vaadin Framework: A Global Community Repairing and Developing Web-based Applications

Vaadin Ltd. is the trailblazer of web user interfaces for business applications. Its technology base, the Vaadin Framework, is extensively utilized in the making of rich web user interfaces.

Vaadin’s technology is already being used by 100,000 software developers in over 150 countries. The company shares its core know-how with a free source-code license and sells other software and support services related to the Framework. In the N4S programme, Vaadin has effectively made use of the open source community for repairing and developing the Framework applications.

Vaadin has gathered an enthusiastic community of users with its visually attractive and simple software development tools. In 2010, six percent of the company’s revenue came from exports; in 2013 the figure was already at 80 percent. Vaadin’s users include NASA, Nordea, Puma and TNT.

Photo: NASA
NASA unmanned planes

The United States’ National Aeronautics and Space Administration used Vaadin’s tools and services in its projects related to unmanned planes.

A free software development platform

Vaadin Framework is a Java-based platform on which one can build web applications. The application rests on the server platform, but end users make use of the web-based HTML5 application on their browsers.

COO Jurka Rahikkala on Vaadin Framework

“The starting point is that the user doesn’t need to buy anything. This is a very clear choice of ours,” says one of Vaadin’s founders, COO Jurka Rahikkala.

“99% of users don’t pay anything, but rather develop the applications using only the free product. Framework contains everything you need. The most important parts are the user interface components. Those who need specific special features buy products like graphs and charts. In those cases, it’s more sensible to buy the ready component, as it offers a high-quality solution for a very reasonable price.”

Paid licenses include the Vaadin Chart In Library, Vaadin Test Bench, Vaadin Touch Kit, Vaadin Spread Sheet and Vaadin Designer. The last WYSIWYG design software for user interfaces was developed in Tekes’ and Digile’s Cloud Software and Digital Services programmes.

“In the Cloud Software programme, we researched application development in the cloud, and at the same time the idea for the WYSIWYG editor was born. A prototype of the editor was made and research done on the use of the prototype in building mobile services in the Digital Services programme. On the basis of these results, we decided to build an industrial product called Vaadin Designer.”

Interface of Vaadin Designer. What sets Vaadin framework apart from other approaches such as Javascript libraries and browser-plugin based solutions is that it supports two programming models: server-side and client-side. The framework also comes with a large collection of user interface components on both sides. Vaadin Designer is a visual WYSIWYG tool for creating Vaadin user interfaces and views by using drag&drop and direct manipulation.

According to Rahikkala, the most important benefit of Designer is that a user interface can be drawn without even a line of code.

“It’s sufficient to just drag the necessary components to the right places on the screen. The benefits that come out of this include a faster development process, lower costs and less code, which leads to minimal maintenance and very few bugs.”

“Find a bug, fix it, and send us your account number, it’ll be cash in your pocket”

Hunting for bugs in the Open Source Bounty campaign

Bugs are a typical but very annoying feature in software development. They can easily arise when the schedule is fast and new versions need to be created more frequently. In the N4S programme, Vaadin launched a bug-hunting project in Finland, in which the open source software community was asked to help fix Vaadin Framework’s bugs. A reward of 150 euros was paid to the finder for every found and fixed bug.

“A plan for the internal pilot was made by Terhi Kilamo from the Tampere University of Technology. Kilamo researched how an open source company like Vaadin makes use of crowd sourcing as part of its own development work. After the pilot, we expanded our campaign to cover Finland. Then, with an accountant, we created a way in which we could expand the campaign globally.”

During the month-long pilot 42 bugs were found. Within the few months that followed, the same Finnish user community found and fixed 154 more. Altogether the result was almost two hundred fixed bugs.

“We don’t have the resources to fix all bugs. With these kinds of campaigns, we can improve the quality of Vaadin Framework more quickly and cost-effectively. We received experiences from users, bugs were reviewed and the fixed pieces were tested. Find a bug, fix it, and send us your account number, it’ll be cash in your pocket,” encourages Rahikkala.

Vaadin has been very satisfied with the bug campaign. Based on the experience gathered in Finland, Open Source Bounty will be undertaken globally next time. Next the company would like to give monetary encouragement to the open source software community to create Third Party components. In Vaadin Framework, software developers have already produced 600 free open source software components. There are more to come, as the community has become active. In a year, the growth rate of components has nearly doubled.

Vaadin is a Finnish word that denotes a female reindeer.

The Vaadin community currently grows linearly in size. In 2015, there were around 2000 new registered users per month. Downloads of the various components have even grown exponentially.

“We currently have an on-going R&D project with the goal of expanding our target audience tenfold. This is comprised of two projects. The intention of the Vaadin Components project is to bring the much-appreciated Vaadin user interface components into the hands of all web developers, not just Vaadin Framework users. The goal of the second project is the overhaul of Vaadin Framework to make it applicable to even more types of use than before.”

Actively capitalizing on N4S programme research data

The universities and research organisations included in the N4S programme have produced a great number of scientific publications about nimble software applications, lean transformation, data analysis and real-time software development. The goal of the programme is to advance the implementation of quick and customer-responsive software development in Finnish technology companies. The starting point of current software design is that the team is responsible for the entire service or product. Development work must be allocated to the features of the software as well, not its components.

Different ways of leveraging activities carried outside companies play an important role in various software companies. Practices such as open source software and crowdsourcing have gained wide interest, as they promise rapid advances in development capabilities with small monetary investment.

Vaadin has actively made use of research results in its own business. The company adopted the DevOps transformation in the maintenance of Vaadin Framework. The data gathered in the Development of Operations model crafted by the University of Oulu has been made available to everyone in companies and decision-making is supported with relevant data. In the maintenance of Vaadin Framework, the same team handles the entire lifecycle of the software from handling and fixing bugs to changes based on customer feedback and implementation.

Vaadin also developed an application for the collection of customer data and the utilisation of the data in decision-making.

“Eclipse Plugin collects API data from developers and sends it to us. By analysing this data, we get information on the frequencies of use and correlations. We can make use of the data when developing new features and work on those things that are used most. This way, we can create better API interfaces.”

Cooperative work was done with Åbo Akademi University and JAMK University of Applied Sciences. Thirty students at JAMK tested the new tool and gave feedback on the user experience.

“This was a new way for us to test a new product, and based on the feedback we made a lot of changes. In the future we will make use of this method more extensively. Going forward, we are definitely concentrating on the collection and analysis of different data as well as new tests based on the findings. Our goal is to be able to make decisions based on relevant data and findings and validate the results with tests. We want to ingrain this method in our everyday work at Vaadin.”

Ari Turunen
October 22, 2015