Buddy In Tour

Buddy In Tour is a project of mobile application targeted for smartphones based on iOS and Android. Application is designed for professional truckers and it provides many helpful features for them. The project’s goal was to simplify truckers' lives and to make processes like fuel usage or finances calculation automated. Buddy In Tour is an effect of Scythe Studio’s initiative in order to support workers in the transport industry as it is key to global trade.

Technologies used

Buddy in Tour is a project of a mobile application designed to help hard-working people in the logistics sector. This cross-platform application targeted for smartphones based on iOS and Android was developed using Qt framework. In this case study, we are going to show you all the insights from the development process and explain why Qt is a good choice for mobile apps.

Qt for the logistics sector. The idea behind the project

Logistics is definitely one of the most important sectors in the global industry. It is a link in the supply chain in production and trade. There are a lot of hard-working people hired in this sector, so we decided to help them in their daily work.

That’s usual that we have shops full of products, but we often forget that it is thanks to millions of people working as truckers. Many of them work as solo-entrepreneurs and they need to struggle with finding orders on multiple platforms. To have the proper overview of incomes and expenses they need to track everything in some way and no tool makes this process ineffective and unorganized.

To face this problem, we agreed to develop a mobile application for the logistics sector. Buddy in Tour is designed to help truckers keep track of the deliveries they make and all of the finances that are part of their work. Users have an overview of the carriages they made every month and they will not forget how much they earned on the particular order.

qml application firebase

 

Why Qt for cross-platform application?

As you already know Buddy In Tour is a cross-platform application. That means that we wrote the same code for all the platforms we handle. This approach is a really effective way to write all kinds of software products that need to be targeted to multiple operating systems. As Qt is a cross-platform framework and we specialize in software development using it we decided to choose this technology to develop the project with.

Admittedly, Buddy in Tour is targeted for smartphones based on iOS and Android, but if there would be such a need we could use the code we already wrote to release this project on the desktop also. Why so? Most of the frameworks are cross-platform in the context of development for mobile operating systems, but Qt allows to share code base with desktop, embedded, and web projects. Just imagine that you have a desktop application and you want to create a mobile companion app. With Qt you don’t need to write the same logic again and you simply use the code that already exists. It brings time and money savings.

buddy in tour case study why qt

Besides these obvious benefits, Qt has an internal Qml language designed to implement a fluid and nice-looking user interface. As Qml is one of the declarative languages it is fairly easy to get what you want with just a few lines of code. It would be much harder to implement the unusual Buddy In Tour’s graphic design separately for iOS and Android. Moreover, Qml uses JavaScript for scripting, so you can gain on the popularity of this language. You can use any JavaScript code snippets and open source libraries that you can find on the internet.

It is also possible to interface Qml with C++, so you can make your code fast thanks to C++ memory efficiency. The code written in this way is additionally well organized as you separate the frontend part with application logic.

qml app navigation

As you already know Buddy In Tour is a mobile application for people working in the logistics sectors. It means that we couldn’t develop this application without maps. Thankfully Qt has fully-featured modules for positioning and localization. They allow you to code advanced navigation features just like routing, geolocalization, reversed geolocalization, drawing custom shapes, and many more.

To summarize, Qt was an excellent choice for this cross-platform project as we were able to develop this project rapidly. The entire process was even fasten thanks to Felgo SDK that was used for storing users’ data in Firebase database. This technology stack allowed to release project successfully in a short time and it is nice factor for companies that want to automate their work.

Insights for releasing Qt mobile application on Apple App Store and Google Play

Software development is a process built upon many phases. The most enjoyable stage is coding, but just after it you need to publish the results of your work. Qt is a cross-platform technology, but still, you need to release your app separately to application stores. The most popular choice is publishing on the Apple App Store and Google Play as they are the most commonly used stores for iOS and Android.

buddy in tour apple app store

 

The preparation for the publishing will be explained in one of our future resources, but once you have your project buildable pushing them to application stores is an easy process. For both stores, you need to prepare the application’s assets like logo, description, screenshots, terms of use, and privacy policy.

In the context of Google Play you need to get built .apk (or .aab) file and upload it in Google Play console. If everything is correct your app will be published in just a few days.

For iOS version of Buddy in Tour, I used XCode to automatically sign and distribute the application to the store. That’s definitely the easiest way as a certificate and provisioning profile can be created automatically without spending extra time on it.

Apple has more strict rules of publishing in its App Store as they care more about the quality of applications published there. My proposal here is to record a video on which you will describe and show how the application works. It will increase the chances of passing the application’s review a lot. As a result, your app will be available earlier.

Releasing the application to both stores took us less than one week. Most of the time was just waiting to get positive review results.

You can download and test this application on your own following these links:

Key takeaways

It was a pleasure to implement an application that can simplify the work and life of some people. Now let’s list the most important Qt advantages that made this project successful.

  • Qt is a perfect choice for cross-platform development as you can reuse code between mobiles, desktops, embedded devices, and the web.

  • Qt speed ups development thanks to a modern approach to implement application design.

  • Localization and positioning features are well supported in Qt framework.
  • The process of publishing apps to application stores is not harder than for native applications.

Let us know if you consider Qt as a technology to develop your project with. We provide professional Qt software development services, so don’t hesitate to ask us for advice on this subject!