Goodbye Multi-Platform. Hi Performance.

Aura
Aura Blog
Published in
2 min readNov 5, 2017

Over the last months a lot of time and love went into the first working prototype for Aura. The technologies used were Cordova (aka PhoneGap) and Electron. They allow to wrap a website inside an (invisible) app. The advantages are considerable: It’s easy to use state-of-the-art web technologies like React, Redux, WebPack and StyledComponents. But moreover a single application can run on Android, iOS, MacOS, Windows and — with some limitations — even in the browser.

Where there’s multi-platform light, there lurk shadows

Writing a single application and seeing it run on all those different platforms is pretty cool. But it comes at a cost. There’s no easy way to control what runs in the background and when. For Aura it’s pretty important to not drain your battery but still be visible to Aura users around you. It turns out this caveat is solvable with some manual work for each of the platforms addressed. After having developed this for a while a second, more impactful disadvantage comes to light: Performance.

Today modern web technologies like react and redux make hundreds of thousands of websites blazingly fast and it’s fair to expect the same for mobile websites. It turns out the more features are being added to the user interface, the slower it gets. There’s no good way yet to avoid this on Cordova and deploying sluggish applications to users is naturally not an option.

(React) Native to the Rescue!

There’s a straightforward solution and that is React native. It addresses less platforms (but still Android and iOS) and requires more work than just wrapping a website in a ready-made app but it feels fast and fun to the user.

Speed and Separation of Concerns

Good software is fast and fun to use. The best software also consists of modules that can be reused and replaced individually. Therefore the learnings from the Cordova/Electron prototype will be taken to create the first version of Aura with a native communication layer. That’s the piece of software that makes sure that you see nearby Auras quickly and without any interaction for the user. This layer looks different on Android and iOS so it’s perfectly fine to not reuse the code.

On top of that there will be a beautiful user interface. In the first version this will be implemented in native Android to keep things simple and get user feedback quickly. When Aura comes to iOS it will change to React Native et voilà — what the user sees is the same on both mobile platforms.

Android Logo, Copyright Google

Today, development on the first public version of Aura begins.

It will be a native Android application.

--

--

Aura
Aura Blog

Censorship sucks. ◉ Sharing ideas can be dangerous. Aura shares your ideas anonymously without internet ◉ www.getAura.io