The New Greenwheels App for iOS and Android is Out!
Here’s what’s new and how we got it done
As you may or may not know, Greenwheels launched a brand new website last year to mark their 20th anniversary. And with that, they needed both a new iOS app and a new Android app. Since we are a big fan of green (and because we like a little challenge) we loved to be the ones to build these. Luckily, Greenwheels liked our pitch and they gave us the green light🤓
We didn’t have to start from scratch since Greenwheels already had a few ideas in mind. Along with design agency Achtung! they made a complete UI and UX. With this we were able to immediately kick-start the project and actually start developing from day one.
We are super excited about the new features, and we know you are gonna love them too. Why? Because we made the whole process of using a Greenwheels car EASY peasy 🍋 squeezy.
Basically the new app consists of three core-features:
- Search and book a car
- Drive mode
Search and book
What is the main thing users want do with the app? Obviously searching and booking a car. When do most people decide they want to use a car? Yup, last minute. So finding a car and booking it should be made as easy as hopping in an Uber. Which is why we made the process a lot faster and more intuitive.
When starting the app, the user is immediately presented with the closest available cars. So instead of searching on a map, looking up the location, setting the time, etc. users can select the car right then and there. Those who don’t need a car on the spot can still search and filter on a map and an accompanying list view.
Possibly the biggest and most welcome change for Greenwheels is the ability for users to sign up through the app. This sounds like a no-brainer but up until now it was only possible to sign up by filling out a form on the website and posting it by mail to them. This was a long and tiresome process and obviously this had to be made easier. Which we have. In the new app it is possible to sign up in just a few steps, providing Greenwheels with all the information it needs to make you a customer on the SPOT. With this it is now possible to start driving right away.
When you have a reservation it is possible to change to drive mode which unlocks some other features. When in drive mode the user can swipe the virtual key while walking up to the car and have the car unlocked within seconds. The drive mode also gives the user information about the remaining time of the reservation and options to extend the reservation when needed. When the car is returned to its original spot the user can lock it just as easy with the app with a single swipe. Pretty cool stuff right?
Under the ‘hood’
Now, to the technical stuff. The iOS app is completely built with Swift 2.2. This was both a challenge and a great opportunity. We already did some experiments with Swift but never with such a big app.
Because we had already gotten a complete UI presented we had a good overview of the whole project. This made it possible for us to break up the app into smart, reusable views and modules that we could use throughout the app. For example, one of these reusable views is the bottom bar with one or two action buttons. We created a simple xib for this with the multiple options:
This bottom bar can be used anywhere in the app. When you set the properties and the delegate, it becomes a part of where you need it. This is just one of many reusable components, making it easy for us to build a new screen when needed.
To get all the car data and present the available cars to the user, the app relies on a brand new REST API from Greenwheels. With this new API it is possible to get the right data at the right moment in the app. To keep it fast, a lot of data is stored within the app itself.
Big but manageable
With extensive apps like this, usually there is a lot of text that needs to be managed by someone. From experience we know this can become very painful and will take up a lot of time that can be spent better elsewhere. I will explain why:
What we USED to do is send text files back and forth → implementing them in the app → fixing character errors → testing if everything would fit → show it to the client. To make this process easier for both the developer and for the client we now get all the texts from the API on start-up. On first run it loads everything but after that only those that have been changed. Now the client can easily change a text in the CMS themselves without any help from us, restart the app and see if it looks correct. A BIG time saver for everybody involved!
Multilanguage without the hassle
The painful process of making changes in an app (text-wise) is even more time-consuming when the app is multilanguage like the Greenwheels app, which is available in Dutch, English and German. Basically, there is triple the amount of text so triple the chance of making mistakes. And let’s be honest, spelling or language mistakes just look sloppy and unprofessional. So it is in the client’s best interest if any changes could be made fast.
Before, they needed developers to change the text. The developers then had to send the updated version to the app-store and then users had to download the update to see the changes. Very annoying for everyone involved.
The new app however eliminates the last two stages and makes it super easy to manage the multilanguage components. Greenwheels is now able to change every label on every button, every word in the app themselves. They just change what they would like to change in the CMS and automatically, without any additional updates, the user can see the changes. For the client as well as for us as developers this is a big win💪
Keep track of what’s happening
Before going live we had a bèta group testing the app. Now, while testing — but but also in production — you want to keep track of what your users are doing and what is going wrong, so you can fix it. To do this we used a couple of tools that helped us out a lot:
- Google Analytics
Especially through Instabug the bèta users were able to quickly send us feedback, along with a screenshot, comments and logs that were helpful to us. Instabug can be directly connected to Jira so each bug coming in can be directly assigned to the right person along with all the needed info.
So, there ya have it! Get the app and go rent yourself one of those red, shiny, environmentally friendly shared cars and let us know what you think!
Get the app
The apps for both iOS and Android are now available. You can download them right here: