EverythingMe open and out

Joey Simhon
Startup Nation
Published in
4 min readDec 28, 2015

do not go gentle into that good night

This post is not about the past but rather about the future, EverythingMe has announced it has shut down its operations a few weeks ago, and since then we’ve done what’s necessary to gracefully remove the app from the store, shutdown the service and communicate with our users.

rage rage against the dying of the light

We’ve decided to actively open up as much of our code, tools and practices as possible for others to use, it was always part of our moda operandi and it is only fitting to make that one last push so it doesn’t fade into oblivion. If some of it helps other teams and stays alive we’ll be proud and happy about it.

So without further ado, this is what we’ve managed to open:

Opening our prediction algorithm

One of the things EverythingMe was known for was its prediction bar, a section of your homescreen that surfaced the apps you’ll most likely be using next. We didn’t use a simple frecenecy algorithm or popularity ranking to power it, it wouldn’t have achieved the end result we were aiming for — finding that app you only use on Fri mornings in the city when you park your car, we called it “magic moments”.

Instead of going the default routes, we joined forces with Dr. Joseph Keshet and have rigorously iterated to come up with an on-device on-line learning approach that yielded better results than any other alternative.

Today, we’re releasing a draft of the paper we’ll soon publish that describes our approach and implementation details.

Open sourcing internal code & tools

Infrastructure and Backend

Vertex - Go-based API management framework

The 3rd generation of our API framework which was crucial and has helped us move fast, for the price of defining your API endpoints and payload you get so much more — a fast, data-validated, self-documenting, client-generating, tested API server.
1st and 2nd generations were called Gondor and built in PHP and then ported to Python over tornado
Contributors: Dvir Volk

Meduza - cross-language data store

A cross-language, cross database, loose schema NoSQL data store, with an Object Mapper for easy querying and code integration.
It has a server implemented in Go, and clients currently implemented in both Go and Python.
The idea behind Meduza is to create a simple yet powerful data abstraction API, but in contrast to other ORMs, make it easy to use it across different languages.
Contributors: Dvir Volk

Teleport

A python library that allows you to execute code within the networking context of a specific country, it is intended to run inside a docker container as it takes over the entire network “namespace”.
Have you ever needed to “look” at specific URLs from different countries? We surely did and that’s why we streamlined the process to a point where all there’s needed was a simple with in our python code.
Contributors: Eddie Mishelevich, Omri Bahumi

Productivity & Tools

Lobo - dev workflow cli

Internally we called this tool wolf, this is the tool we used to improve engineers productivity while tying everything together and providing visibility to the entire team.
Lobo covers things like opening feature branches on multiple submodules, updating JIRA tickets status, issuing builds on our CI server, and uploading multiple APKs to the Play Store using Google Publishing API. You can think of it as our team’s OS.
Contributors: Adam Kariv, Rotem Mizrachi, Ran Byron

Jitt - user-driven translations for apps (jitt.io)

A crowd-sourcing oriented localization service for Android applications. It holds all your resources along with their translations, and allows your users to suggest better translations or vote on current ones.
It also has a cli tool called jitter that helps integrating jitt into your builds.
Contributors: Adam Kariv

Android

Recat + PyRetrace

A logcat alternative with on-the-fly log de-obfuscation —
it retraces obfuscated logs using pyretrace, a python reimplementation of Proguard’s Retrace.
Contributors: Rotem Mizrachi

Overscroll Decor

The library provides an iOS-like over-scrolling effect for many Android native views. It also allows for very easy expansion to support custom views.
Contributors: Amit Davidi

Probe - android performance instrumentation

Our solution for the vicious cycle of performance tuning sessions we used to go through after adding functionality to our app. We built a tool that ran on all builds on all branches and collected vital signs we could analyze, detect deviations and avoid bringing in performance regressions.
Contributors: Rotem Mizrachi

More notable tools

Redash

Redash — our open source data querying and collaboration tool will live on and its maintainer Arik Fraimovich is hard at work making it even better, you should keep an eye on this one (and take it for a spin if you haven’t already).

Magneto

Magneto — our Android UI automation framework has received its own organization on Github and we’re calling interested parties who wish to help maintaining it, it needs you!
Maintainer: Ran Byron

If you’re interested in the entire EverythingMe OSS portfolio including projects we’ve open sourced in the past, you can find it here http://everythingme.github.io/

EverythingMe, over and out.

--

--