Leaving Apple & Google: a general eelo development status

Last year, I decided to leave Apple & Google: I want to free myself from the smartphone duopole, I want to regain control over my data privacy, I want to protect my freedom.

At first, I thought I would just fork Android, add a better design, remove any Google stuff, select a few privacy-compliant web services and add them to the system.

A little more than 6 months later, I realize that we’re building something really, really bigger than I had expected. This is made possible by the tremendous support I’m getting from many people around the world, and by a growing community of eelo contributors…

[Note: this is a long read, if you don’t have time you can watch the full demo video at the end of this article]

We’re in low budget mode, but things are going quite fast. And the main project’s bottleneck is presentely… myself! I have asked many volunteers to hold on because I don’t have enough time to manage too many projects at the same time (read “If I had an eelo co-founder…. ♫“).

Anyway, we plan to release the first eelo operating system and some web-services as a beta “MVP” (Minimal Viable Product) by the end of August.

Time has come to unveil eelo’s development status!

Building a team and a community

Since early February, just after the end of the eelo crowdfunding campaign on Kickstarter, I spent a lot of time to communicate with people: eelo is receiving many incoming requests from people who are offering some time as volunteers. I need to figure out their real motivation, the amount of time they can spend. For some of them, we discuss a compensation.

This is a long term process, and I’m very happy with the team that we have started to build: people from many places in the world, who are very smart and very talented.

Today, this makes aproximately 15 people full time equivalent on various projets, from infrastructure to design. I’m also discussing with some others about side projects, more long term, that won’t be integrated into eelo first releases. Like an AI-based assistant, and the eelo token feature.

Building a compilation farm

A smartphone operating system is a lot (really a lot) of source-code. When you want to build it for testing on a real device, it can take up to 1.5 hour to compile on a fast machine (Core i7 / 32GB RAM / SSD drives…). And this is the case for each supported device . At the moment, we are targetting 6 different test devices, and we plan to support dozens ones.

This means that we need:

  • several compilation machines
  • an automated setup to manage source code and builds

We have decided to go with GitLab (self-hosted) + docker containers. This brings us a lot of flexibility to manage source code, and to deploy new compilation servers easily.

We started to rent a first dedicated server, and I bought two refurbished IBM x3650 M3 that we have set up for compilation. We can now add as many servers as we need already. And we have a full compilation chain for the continuous integration of eelo, with automated daily builds and soon custom builds on demand.

An eelo operating system, in progress!

We started to work on the user interface of eelo from the begining. Therefore, we now have a great launcher, which makes icon grouping and application deletion intuitive.

The launcher also provides notification badges on icons. For now, these badges are green, because I think notifications should not be stressful.

 

 

 

 

Read below for a more comprehensive demonstration of the current eelo user interface.

The little details

eelo is about user’s data privacy and freedom, but my only certitude is that without a good user interface, it cannot be successful.

So we need to go into little details, and I’m very pleased that we were able to implement these ones:

  • our calendar icon shows the current date
  • our clock icon displays the current time! look at the clock needles moving below:

Applications…

The choice for default application has lead to many internal and public discussions!

I agreed to lower the number of preinstalled application at a “reasonable minimum”. This will leave users to install their prefered apps.

One discussion we had was about the default messaging app. I received many suggestions for messaging apps. It’s been a difficult choice.

Options were:

  • have no default messaging app: this means that people who don’t know will instantly install WhatsApp messenger or Facebook messenger, which is not really something we want to encourage!
  • install some great messaging apps such as Wire or DeltaChat (which is definately worth a try)… At the moment, they lack the a large number of users, which means you are likely to find nobody using it in your contacts.
  • put Telegram: I personally like Telegram and I think that it’s one of the most secure messaging application around (the attitude of certain countries with Telegram seems to prove that). And it has many users. But this makes Signal supporters unhappy.
  • put Signal: it’s not as good as Telegram in term of user experience, and has less users. But it’s probably extremely secure and is fully open source. And it can handle SMS / text messages.

Finally, I took a simple decision: have Telegram preinstalled as a messaging app, and Signal preinstalled as default SMS app (which includes instant messaging capabilities).

The choice for other default applications is important too, and I was worried about the default email application in AOSP, because it’s totally integrated with Google services.

Therefore, we decided to use K9-mail and work on its user interface. It still needs some improvement, but it’s already better than ever. K9-mail also has support for email encryption with PGP.

Regarding the default web-browser, we chose the default web browser from LineageOS: it’s fast and slick, but we had to modify its settings to have it provide a different list of default search engines. By default, it’s now using our new eelo meta-search engine, but users can choose to configure Qwant or DuckDuckGo.

We’re also still evaluating default applications for calendar, notes, …

… and widgets

The launcher left view can host some widgets. The first one we have been able to implement is the “most used apps”, and a search field that is using eelo’s meta search engine online (watch the video below). And we are working on a weather widget.

A huge application repository

One of the big challenge of eelo is to offer a unique place where users can download and install applications, easily and without having to use a user account.

We’re starting with free Android applications, and F-droid (open source) applications.

We have built a big database of theses applications, that is now updating continuously 24/7.

Now, we still have to build an Android application that can connect to our database and manage installed application on the user’s eelo operating system + a public repository.

 

Operating system services

One of the most important aspect of eelo OS, is to be totally free from Google software that is leaking our personal data.

Therefore, we have removed Google Play Services, which are used by many applications and provide some services such as geolocation using wifi networks or GSM networks.

We have replaced Google Play Services with the open source microG component. microG offers a nice alternative to Google Play services (it’s not addressing all features yet though).

An important feature is also to offer instant synchronization and backup capabilities. Therefore, we’re implementing an “eelo synchronizer” service, that users can chose to use to have their pictures, videos, device settings, backuped to the cloud. For now, they can use a public OwnCloud/NextCloud instance, or a self-hosted one. eelo will also provide an online drive.

We also already have an “Over The Air” (OTA) mechanism in place for upgrading the whole system.

Web services

Take the most secure and data privacy-compliant smartphone: you can still ruin your privacy if you are using email or search or drive from online services that are using your data for their business.

Therefore, we had to work on alternatives for those services.

We already have an eelo email service implementation, that eelo backers can soon access, as well as a drive service implementation. It still lacks some consistency on the user interface, but it’s in progress.

The challenge is going to make it scalable, we’re discussing with some hosting partners for that.

eelo search, webmail, and drive

 

 

 

 

 

One of the web service I’d like to offer with eelo is a good maps application. OpenStreetMap is working great, but for now, I don’t find a good enough mobile (and open source) application that can display maps from OpenStreetMaps.

We could hack some apps, but this is a big project I don’t want to start for now. (I’m open to ideas/suggestions!)

A demo of the current status…

Icon grouping, ungrouping, application deletion, launch some apps, do a search… watch the video!

Another feature I wanted to show is media synchronization, but it was a little too complicated as a movie, so I took some pics:

First, take some pictures of a lovely Raspberry-pi:

 

 

 

 

 

 

 

Then, wait a little, and you can see that the pictures have been synchronized to the eelo drive:

 

And if you have another device connected to the same eelo drive account, you see the same pictures appear:

 

 

 

 

 

 

 

Deletion is supported, edition as well. Multimedia contents, including images, videos, sounds, are synced, and we’re working on backuping the device settings.

What remains to do before eelo’s first public beta “MVP”?

There is a lot to do yet, but here is a a list of main things to be implemented:

  • integrate the synchronization service: it must run as a system daemon
  • add an eelo indentity mechanism so that users don’t have to authenticate for each eelo service (mail, drive…). We already have set up a keycloack server for that, work in progress
  • customize the first-time usage wizard, especially to include the eelo identity part, and to ask users about their choices (sync, do not sync, …) and have the same in general settings
  • tweak some default settings in the ROM
  • user interface: improve some default apps look&feel, improve settings look & feel
  • complete the choice of default apps and integrate them
  • maybe integrate XPrivacy
  • complete the application repository and developer installer application
  • test! debug! test! debug! test! debug!….

Roadmap for next months

I’m often asked “when is it going to be released?”

Our target has not changed: we plan to release the first eelo “MVP” as a beta software by the end of August. Then, we will open the eelo source code repository. This should probably bring more contributors aboard.

eelo Version 1.0 can be expected by the end of 2018 or early 2019.

Last but not least: “e Foundation”

I said that I wanted core eelo assets to be hosted into a non-profit organization. This is now a reality: “e Foundation” is now a legal entity (and is starting collecting donation and contributions from backers through eelo’s website.

More than ever, eelo needs everyone’s support: talk about the project to friends, to the medias, contribute!

And we’re now looking for partners: smarthpone makers who would like to distribute eelo, telcos, hosting corporations…

Let’s free us from the net giant duopole, our data is OUR data!

— Gaël (follow me on Twitter / on Mastodon)

PS

– Keep in touch with eelo: register at eelo.io landing page.

– Get in touch with me: gael @ eelo . io

– comments in ENGLISH please 😉

 

6 Replies to “Leaving Apple & Google: a general eelo development status”

  1. Hello !
    Wonderful project! I can’t wait to put it on my nexus 5 🙂

    How do you select the first beta testers, is there a list where we can sign up?

    Eelo use a meta search engine so which search engines are used in the background ?
    For the internet browser, why not Firefox?
    So for the maps which default app will you install?
    About MicroG (I’m using it) are you going to participate on the development of it, because, for example, right now, more and more app cannot run because it hasn’t been updated for a while. Eg : Blablalines, Yuka, …
    About the application repository, how do you manage? Is it a combo of F-droid + Google ?
    What about if an App is very dependent of Google service and can’t run properly with MicroG ? I mean who has to debug : MicroG team, Eelo team, the app developer?

    Good luck 🙂

  2. Good evening, I think the project is great. I wonder if the OS would be possible to be installed on any smartphone root.

  3. We need a application where shows the GPS-ID and make enabling to controlling the handy with Name and password
    where the phones stay.
    The next step, we need apps in Owncloud and Nextcloud for following (over OpenStreetMap), monitor and controlling per password in independence way in his own (next/own)Cloud as applet and not covered by Google or Samsung or an other strange/ unfamiliar for find again and knowing where the own Handy, this it is also possible for call the police and take back the Handy.
    Or to knows where the kiddys be..
    Or where the car, for monitoring a car over OpenStreetMap .
    because there it is gives Car-gps where it is directly connected with the battery from the car and therewith it is possible to monitoring the cars..

    With this could you have the possibility for supporting from trucking company around of the world to monitoring the LKW’s/Tracks from the trucking company Offices . Or Businesses Handy’s .. / Tablets

    Enabled only by knowing, configuration only by knowing and a icon in the task/sysbar
    Only install able and not as default application.

    have a look to both apps for the clouds and for the handy both in common developing works .. and the other possibility also include to give the user the control and monitoring over his own things back.

    Name maybe eelo-gps -applet/-app (next/own clouds)
    ———–
    Eelo-GPS
    EELo monitoring,controling and Overwhatching Application
    ———–
    ( maybe by activity starts the camera , only as non standart option)

    with this app can you also make a adversity for eelo 😉
    and give back the control

    best regards
    Blacky

  4. How about skipping device tree headaches and just targeting treble generic system image? Sure it limits the number of devices but would definitely cut down on maintenance headaches. Of course that means blobs but those are unlikely to be removed from phones anytime soon anyhow..

Leave a Reply

Your email address will not be published. Required fields are marked *