The story behind OpenStore
Interview with Michael Zanetti and Brian Douglass

In the early days of Ubuntu Touch, Michael Zanetti was a lead developer for Canonical, working on Unity 8 (today called Lomiri). OpenStore wasn’t an official project, but a Friday Lab and spare time project. We had a little chat with Michael Zanetti and Brian Douglass about the story behind OpenStore.

Hi Michael, how did the idea of OpenStore come to life?

Michael: Canonical’s approach to the app store was to directly introduce full confinement for all apps without exceptions. While in general I agreed with the approach to properly take care about user’s privacy and security, this had rather big limitations. For example, this system didn’t allow any background processing whatsoever until eventually some purpose-made system services would provide this functionality.

With the manpower of the project I felt like it would be too long to keep the community waiting for essential features of today’s smart phones. I wanted to provide an interim solution to allow the community to use unconfined applications on their devices and explore the whole world of mobile computing. Because of this, in the early days there was a policy that only unconfined applications would be allowed in OpenStore. The OpenStore was meant to supplement the official app store and not compete with it.

Why did you approach Brian?

Michael: I like hacking on end user devices. However, when it comes to cloud and web hosting, I don’t feel that much at home. In my opinion my time would be better spent to work on enabling features on the device. I figured I had to find someone who enjoys and knows the cloud better than I do for the server parts.

Brian already created another supplement to the official app store: a website that would allow browsing packages in there. So he seemed like a good candidate to expand his project to include packages from the OpenStore. After all we had the same goal: improve the app ecosystem for Ubuntu Touch.

So Brian, how did it all begin for you, and what was your background back then?

Brian: Back in college when I was studying to be a software engineer, I discovered Linux. I fell in love and would distro-hop to try out new things. So naturally I was curious when I found out about Linux on a phone, also known as Ubuntu Touch. Initially it was only available on a select few devices, so I wasn’t able to try it out. So instead I created uApp Explorer which was a website to view the apps in the Canonical Ubuntu Touch app store.

After a while there was a scope design contest by Canonical. I participated and I won a Meizu MX4. From there I was able to start developing apps, build Clickable, participate in the OpenStore and eventually UBports itself.

And what made you step forward and decide to maintain the OpenStore?

Brian: Initially Michael approached me to create a website and API (application programming interface) for the OpenStore he created. This was because of my work on uApp Explorer. The OpenStore website and app continued to grow and evolve until Canonical dropped support for Ubuntu Touch. The community scrambled to make sense of it all, and for UBports the OpenStore looked promising to fill the app store void going forward.

Due to the limited involvement of the other OpenStore contributors at the time, I stepped up to evolve the OpenStore into a general-purpose app store. Because, as Michael already pointed out, the OpenStore then was only for unconfined apps unavailable in the Canonical store.

Can you tell us something about any new developments for the OpenStore?

Brian: Right now the development focus of the OpenStore is on modernizing the code and infrastructure for the API. This should ease development and maybe open the door for other contributors. After that, there are plans for modernizing and refreshing the website code and also improving the app developer experience.

What can you tell new contributors who are thinking of joining in?

Brian: App development is a great gateway, as it helps you learn various aspects of the system. Get started with the documentation of app development. And if you want to help development of the OpenStore, please reach out to me (@bhdouglass on Telegram): I can always use some assistance with the app and frontend.

Ubuntu Touch OTA-21 Call for Testing