Connected cars 🏎 — what are they and how to get started developing connected car apps

Trevor-Indrek Lasn
Level Up Coding
Published in
6 min readMar 23, 2018

--

New generation cars are extremely handy — from turning the engine on with your phone, opening the car doors when you’re nearby, to actually giving you notifications when you’re too tired to drive safely.

What exactly are connected cars? Well, according to Wikipedia:

A connected car is a car that is equipped with Internet access, and usually also with a wireless local area network.[1][2] This allows the car to share internet access with other devices both inside as well as outside the vehicle

There’s hardly any doubt these days that the future of automotive is going to be connected and electric — illustrated by top tier car brands such as Tesla and Porsche with their offering of excellent connected electric cars like Tesla Model S and Porsche Mission E.

We’re quite literally living in the future — how cool is that?

The interior of Porsche ME
Tesla S charging
Tesla S interior

I don’t know much about cars, but saving lives, creating a more eco and geo friendly environment, and making traffic more safe is something we can all benefit from thanks to connected cars.

With connected cars we can finally browse our favorite subreddits on our phones without putting anyone at risk.

Getting started developing connected apps

Update: This competition is no longer running. The team who powered the Porsche workspace, has launched their own car-branded workspaces. Check out their platform, SDKs and standardised API here.

We will be using the Porsche workspace since it’s the most advanced software development kit (SDK) I know of — please feel free to comment below your favorite connected car software development kit. 🙂

Signing up for the Porsche workspace

Why is it the most advanced? What makes the Porsche SDK so awesome is they’re going to standardize the API’s between all connected cars.

Right now each platform has unilateral API’s, meaning you have to learn each platform and API separately — not so much with the new standards!

After pressing register you should see a quick form, if you would like to follow our example, please fill it in.

After successfully making a user and login in, this is what you should see

Let’s create a project. What we need are the following:

  • A project (we will link the application to the project)
  • An application (a project can have multiple apps)
  • A vehicle (we link vehicles to applications)

In a nutshell, we create a project, the app and the vehicle. We link the app to the project, and then link the vehicle to the app. The logic is the following;

Project âźµ App âźµ Vehicle

Creating a Mario cart project

After successfully creating the project, we should see our dashboard.

Next, let’s create a vehicle.

I have to say, the UI looks very slick and intuitive. We now have the project, the vehicle, what’s left to do is create an app.

Let’s create an app for the project now.

We can use the API to build an Android, iOS or web app. We will be sticking to the good old web.

Creating an application and linking it to the vehicle

Don’t forget to link the vehicle to the application.

Alrighty — let’s launch the emulator finally.

Web UI of the emulator

That’s one fancy web emulator. We finally got through the scaffolding to the meat and bones. We can talk with the emulator through an API.

Getting started with interacting with the emulator API

Let’s grab this example repository as our boilerplate and open with our favorite text editor. Make sure you have Node +8.4 installed.

Let’s open src/app.js — we should see a useful comment. We need to provide the credentials.

We have done all of this. All we need is the credentials. It’s under develop → project → client certificate.

Client certificate

And finally we need the access token. Lots of scaffolding but keep in mind this is the “alpha” phase. In the future you probably will just run a command like yarn run unpack connectedcar-kit

Access token

Alright, let’s turn on our engine by running yarn run start

Turning the simulators engine on via the API

There you go! What a great time to be alive! Here are the docs in case you’re interested learning more)

Where to go from here?

If the topic peaked your interest, there are many roads to go from here but I’d recommend playing around and creating a couple of apps using the emulator. Here are some app ideas — who knows, you might even win some of the 100k prize for one of these in the competition!

  • App which displays the forbidden and paid parking spots. The forbidden spots should display red, and paid parking spots orange on the dashboard.
  • App helping to find the nearest charger.
  • App which gives driver quick access to Google Maps, messaging apps, music apps, and other utilities quickly.

Thanks for reading and making it to the end — you’re awesome! ❤

--

--