Adding some rocket science to 020202 Palvelut
The cooperation of Rakettitiede and 020202 Palvelut aims at making sense of the increasingly complex taxi services. A rocket scientist was hired to develop the 02 Taksi service, which compares the prices and arrival times of taxicabs. Another developer of ours built a new toolbox for 020202's customer service representatives with the aim of making their everyday life easier.
The nationwide 02 Taksi service allows you to order a taxi, calculate the price of the trip and compare the arrival times of taxicabs. “For a long time, we have been forwarding calls to taxi centres and making bookings through the Valopilkku app. Launching a service dedicated solely to booking taxis was a natural continuation of our services,” says Mikko Lehmuskoski, IT Director at 020202 Palvelut.
The 02 Taksi service was developed by a small but productive team: rocket scientist Topi Sarkkinen worked as the software developer while Lehmuskoski acted as the chief architect. A design agency was hired to work on the interface design.
“Google's system wasn’t good enough, so I built a Finland-wide GIS for the service,” Sarkkinen says.
The back end of the online service runs on a fully serverless AWS cloud platform. The advantage of serverless computing is that there’s no need spend a lot of time managing the infrastructure and most services scale automatically.
The computing is performed by Lambda functions, which are small code snippets based in the cloud. They reside behind a REST API created with API Gateway which enables the easy use of functions over http.
The main database is the MariaDB database hosted by the AWS RDS service, but DynamoDB is also used to store simple data. User management has been implemented using AWS Cognito. The back end is directly integrated into the systems of different service providers.
Three user interfaces
The system has separate interfaces for customer service, the web and mobile devices. The customer service and web interface are built on the same foundation using React. Redux and Rematch are used for state management. The web interface has been built as a Progressive Web App (PWA) making it easily accessible on mobile devices.
React Native is used for working on the native mobile app, so the development is very similar to working with React on the web interface. From the software developer’s point of view, the differences between the various user interfaces are minor, and some of the code can even be shared between the mobile and web interfaces.
And that’s not all folks!
Rakettitiede and 020202 Services have cooperated on product development in other software projects as well. Rocket scientist Tuisku Salminen prepared a toolbox for 02 customer service representatives. The technologies of the original package, made in the early 2000s, had expired, and its customized IE builds no longer worked smoothly with new websites, for example. The entire IE environment was replaced by a Chrome extension installed in the Chromium browser of the customer service representatives.
Practically speaking, the new toolbox package was built by Salminen from start to finish. The developer of the original toolbox helped the team with the old integrations.
The programming framework, ReactJS, has been supported by AWS services such as Cognito, RDS, Lambda and API Gateway. The project’s own APIs have been implemented with API Gateway and Lambda inside AWS. In addition, 02's internal services are used with http requests, which can be employed to retrieve and enter different data if necessary. The front end of the project has been implemented with a combination of ReactJS and Redux.
02's customer service representatives have been very happy with their redesigned tools. Compared to the old ones, the new tools are faster and more user friendly, making everyday routines a breeze.
Refining details with end users
Lehmuskoski praises the way the rocket scientists have carried out the projects: “Both are highly skilled when it comes to application development. Time and again, we’re getting great, finished solutions as agreed and on schedule.”
Lehmuskoski particularly values our rocket scientists’ ability to communicate with the organisation's internal clients. “Knowing that you can trust the app developers to work out the details of the services directly with the end users saves time and improves the end result,” Lehmuskoski says.