14 minutes to read

Shopware App Contest 2021 – the app that took 1st place

Shopware App Contest 2021 – the app that took 1st place

To the German article

Last year marked the launch of the first Shopware App Contest. And this year, developers can still submit their apps and win galactic prizes. But what does it take to emerge from the contest as a winner? In this blog post, you'll find out firsthand. Our winner, Sven Mittreiter, presents his winning app, offers insights into his approach to the previous contest and gives tips on app development in general. Maybe you can pick up a tip or two!

The "One Page Checkout" app tops the podium

What can the app do?

One of the most important KPIs in online business is still the conversion rate, which is used to measure how many users actually convert in a store. On average, there are high order abandonment rates throughout the checkout process which clearly shows that the standard checkout offers a high degree of optimization potential. The user does not want to spend more time than necessary entering their data and wants to place the order as simply, conveniently and quickly as possible. 

With "One Page Checkout", all order-relevant steps such as customer data, payment method, shipping method and order summary are displayed together on one page. Compared to the standard Shopware checkout process, which is split into 3 steps and requires reloading the entire page each time, with "One Step Checkout" customers can quickly get to their desired destination – completing their order.

 

One-Page-Checkout_App-Contest_1

With the solution from Premsoft, online store customers 

  • have all the important information at a glance, 
  • aren’t dependent on fast loading times, which is often a decisive factor, especially when on the move on a mobile device, 
  • and can complete the ordering process very quickly. This has been shown to reduce the average dropout rate.

"One Page Checkout" is of course responsive and optimized for all devices. With over 1,000 downloads, the product is already used in many stores and is now also available as a Shopware app. To the One Page Checkout App.

manifest-xml

Let's shed some light on the programmer behind this solution. 

The developer behind the app

Sven-Mittreiter-premsoft

The company "PremSoft", founded in 2015 by Sven Mittreiter, is responsible for this app. The name of the company reveals what is important to the founder in the development of his app. Premium Software. Even when he programmed for the first time at the age of 16, Sven was always anxious to put a thousand percent into everything he developed, and think it all through to the last detail. Bugs or compatibility issues have simply no place in a running system.

Do you recognize parallels to yourself when you read this? That is a good foundation for app development for Shopware 6 and its success in the Shopware Store.

Because it’s precisely these high standards that have enabled the developer to become one of the most popular sellers in the Shopware Store. You can rely on the quality of his code as much as you can on his focus on service. But how did it all start back then? Sven is now 39 years old and looks back on a career that showed early on where his focus lies. With his training as an IT specialist for application development and his B.Sc. degree in economics, he has both the economic and the technical perspective on ecommerce.

We agree that developing an app doesn't necessarily require a degree in business. Nevertheless, it can be helpful and necessary to consider economic factors.

Starting as a freelancer for Typo 3 and Magento in 2009, Sven then became aware of Shopware in 2014 through a customer inquiry and recognized the great development potential.

With the founding of PremSoft in 2015, Sven's first plugin also found its way into the Shopware Store. A lot has happened since then. The company has built up a network of specialists and offers full support for the planning, development and maintenance of plugins and apps. Specializing in Shopware, Sven and his team offer everything relating to store setup, theme development, relaunch, support and optimization in the frontend and backend.

Now, we’ll let Sven himself have his say and give us an insight into the development process and structure of his winning app.

Apps and their development process

Like probably every developer, it was especially important to me to be on board with apps right from the start. That's why I quickly familiarized myself with the subject and can report from my own experience which steps are necessary for the development of an app and quickly lead to the desired result.

The first thing I did was look through the Shopware docs to familiarize myself with the principle of apps and the different possibilities. In the second step, I looked at Shopware's demo app and got it working. To be able to start as quickly as possible, I chose PHP for the__ "App Backend Server"__ and used the app template from Shopware for a first test. This is convenient to use through platform.sh. But since the company has its own web server, the template was adapted for this web server and uploaded there. This made it possible to put the Shopware demo app into operation and get a good picture of how an app works and what possibilities it offers.

So the existing documentation and an app template is provided by Shopware. The first steps have been taken.

The next step is to find an idea. What should the app be able to do? What added value do you want to offer the end customer? What demands are there already on the market, in forums, groups, etc.? The idea generation process can be the same as for a plugin. Here are some examples of where you can find ideas: entries in the Shopware Issue Tracker, forum, cool functionalities that you see in other stores, customer requests, or even existing functionalities where you see a need for optimization. The best way is to write down all the ideas and then pick your favorites. Once you have this list, then it's a matter of checking which technical requirements arise for the implementation and whether a plugin or app would be more suitable. 

So Sven is now faced with a decision: app or plugin? How did he weigh up the options and why did he choose the app? We're about to find out.

The question can be answered simply: if only templates, JavaScript and Sass files are needed for implementation, then an app is more suitable, because unlike plugins, apps aren’t only available for customers with self-hosted plans, but can also be used by SaaS customers. If deeper functions are needed, then it’s necessary to check whether these can be solved by means of webhooks and the REST API. If this is possible, then implementation via an app is also possible and makes sense. This allows you to quickly prioritize the list of ideas.

Aha. So, the decision lies in the scope as well as the functionality of the application, which in turn influences the customer base to be reached.

Plugin = for self-hosted plan

App = for Shopware self-hosted as well as Shopware cloud

Great, Sven has made a decision – it should be an app. But what does an app like this look like from a technological perspective? Sven tells us.

Technological structure of an app

App-Ordernerstruktur

Apps can in principle consist only of templates, JavaScript and Sass files. If this does not allow the desired functionalities to be mapped, an app backend server is required on which the logic is executed remotely. For this purpose, it’s addressed via API from the app. Whether this logic is then implemented with PHP or another programming language is up to the developer. In the end, the only important thing is that communication with the app is implemented.

The app provider is responsible for hosting the app backend server. This has the great advantage that the provider has the technological freedom to decide which software runs on the server and which programming language is used. 

This is where the economic aspects come into play. Hosting a server and the associated availability of the app itself are therefore the responsibility of the app's operator – you. So you also have the freedom of how you provide your app.

Sven tells us how this information can be used to create apps from existing plugin-based extensions.

Since the existing One Page Checkout plugin contains logic using PHP code, it was necessary to remove or outsource it for the transfer to the One Page Checkout app. In addition, the development of an app is comparable to the development of plugins, for example, in terms of information that needs to be processed in it. The rest of the app's structure, in terms of templates, snippets, sass and JavaScript files, is identical. Only the directory structure is slightly changed. Those who are already familiar with the plugin system can thus find their way into the app system very quickly.

These have been some very interesting insights. Now let's read what Sven's conclusion is and what his outlook is.

Through apps, there’s a good opportunity to provide functionality for customers of self-hosted and cloud-hosted versions. At the time of creating One Page Checkout, it was unfortunately not yet possible to read certain data from the Shopware database in the storefront. In our case, these were shipping methods and payment methods for display on the login page. It’s all the more pleasing that Shopware has announced that as of Shopware 6.4.8.0 there are so-called "App Scripts". This makes it possible to create database queries in Twig files, read database contents and use them in Twig templates. This creates many new opportunities. As of Shopware 6.4.9.0, it’s even possible to define your own URL endpoints via "App Scripts" and thus reload data on the page in a meaningful way. The practical thing about "App Scripts" is that many functionalities can be realized without the company having their own app backend server, which eliminates the necessity for detouring data storage on the company's server.

Inspired by these new features, PremSoft's next app was created immediately: a voucher list in the checkout, which is already available in the Store. Other apps that use "App scripting" are also already being planned.

let-there-be-apps

You too can enrich the Shopware universe with your own app

Has Sven Mittreiter inspired you with his insights? You too can register for the current Shopware App Contest. Prizes include a commission-free year in the Shopware Store, application push, and much more. But be quick – because the contest ends on July 11.

To the App Contest

* App or plugin – are these the correct terms? Actually, in Shopware we only talk about apps: apps based on the plugin system or apps based on the app system. In order not to complicate the readability, we use the simplified terms apps and plugins in this blog post.

Newsletter

Never miss out - get all the latest news sent straight to your inbox.

To the newsletter manager