MeinFernbus is a leading German supplier of transport services in the area of passenger coaches. In 2015, MeinFernbus announced a merger with another company, thereby becoming the number one player in Germany's passenger transportation market.
Our team developed the Android app's first version. Further development, including the local payment system, next app’s versions, and iOS app, were realized by the MeinFernbus team. But we are interested to share our involvement in this project, we are grateful to MeinFernbus for the provided opportunity and gained experience.
The initial task of the application was to implement one more sales channel in addition to the web interface. And this task was elegantly solved, without adding anything extra in order to meet all the user requirements that helped to derive maximum benefit from the service. During the process of work, we took on the UI part of the application and started developing the first application’s version in close cooperation with the MeinFernbus team, which then continued the development independently and brought the app to the first release in the market.
For example, there is no registration in the application, as a person who wants to buy a bus ticket, simply does not need it.
During work, the API is still under active development, it was decided to start with creating the application under one platform, particularly — Android. One of the team’s tasks was close cooperation with the developers of the web part, to design and implement a convenient, safe, and reliable API, which will be used in the iOS app as well. Thus, postponing the development of the second platform, we managed to optimize the cost of the iOS version.
And so, those are just a few examples. This approach let us save money and focus on the essentials, creating a quality product at the same time. Moreover, the designers' team made a great contribution to UI development and MeinFernbus mobile apps’ design for both Android and iOS platforms. On screenshots, you may see the design that we created for the next app’s version, which afterward was used by the client's team.
Android application development
When the app’s development had only been started, Xamarin 2.0 was released and the buzz around the cross-platform development was fairly large, it was decided to write a native app. In fact, we all knew about the cross-platform, but no one ever thought of it, as the team understood — the best User Experience can be achieved only by using native technology, everything else is a primitive assembly.
So, the main tools of the first app's version are Android SDK, Java, and Android Studio, the team also didn’t pass through various libraries and solutions that accelerate development. The interface has been drawn up with the aim of scaling on tablets, without rearranging the screens of the app. On the application basis, the MVP architectural pattern was laid. The RoboSpice library was responsible for all asynchronous tasks. In order to let users fill in the ticket search form instantly, the application was implemented with the SQLite database. A whole load of cities’ and stations’ names into the drop-down lists and search fields were carried out, it gave a feeling of fluidity and incredible speed application experience for users.
The app aims to maximize the use of Android tips. For example, in the list of cities and stations, you may find a station with information about it, the Google map, point, and button, allowing to open the Navigator familiar to the user and to make a route to the station inside of it. The lick on the field with the mobile number opens the standard dialler. But if you cannot find tickets, as all of them were sold — the app will suggest other dates, when there are tickets available in a given direction or will notify the availability on your request. As for payment, there were several familiar Germans local payment systems realized in the application, and the PayPal SDK was added.
By the development start, Android 4.4.4 KitKat was announced and released, which, in turn, was first presented on board of Nexus 5. Accordingly, the team had to support the device with the installed version of the operating system Android 2.2–4.4.4. Also, there was the problem of devices fragmentation, as the Android Support Library was only picking up the stream, and Design Support Library wasn’t even in Google’s plans. Our guys managed these objectives. Because of testing on a large park of devices and emulators we met the goal.
We've developed a simple but very interactive app with 3 sections (Station, Booking, and Information), where there is no need for users to register and exploitation is simple as it is. We've described only the 1 version of the Android app developed by our team. The current app versions developed by the client's team, you can find in the marketplace.