Last week the pixelated team here in TW Porto Alegre hosted a hack night which allowed me to dive into the enigmatic Pixelated Project and even submit a pull request! Read on if you’d like to know more.
The majority of the world’s emails are hosted at large, centralised providers. Let’s face it, there is practically no substitute for Gmail and in light of the Snowden Revelations we’ve willingly sacrificed our privacy for convenience. Pixelated aims to provide a secure alternative that everyone can use.
Pixelated consists of two major components, namely the Pixelated User Agent and the LEAP Platform.
The User Agent is practically a conventional web application that acts as your mail client. It consists of a really lightweight UI built with Foundation CSS framework and FlightJS. For the back-end it’s using Twisted, the infamous asynchronous web framework for Python. This acts as the backbone for sending and receiving emails from providers (hosts), either over plain old SMTP or soledad if your provider is a LEAP Platform.
Get it, run it
The Pixelated team has made it as easy as possible for anyone who’d like to dive in and contribute. I’m also really impressed by the progress they’ve made in just 9 months.
You’re going to need:
- Vagrant & Virtualbox
You’ll want to clone the user agent repository from github into a directory of your choice:
git clone https://github.com/pixelated-project/pixelated-user-agent.git
There is a
Vagrantfile that will provision a local development environment for you. Be warned however, it will first download the LEAP base box from https://downloads.leap.se/platform/vagrant/virtualbox/leap-wheezy.box if you don’t have it already. If you’re unconcerned, just run:
Once the box is up, it also will provision it with Puppet - I had to do this several times because Puppet will still run even if there are failures. If you’re curious as to what puppet is doing, have a look in the
Provisioning will take almost 20 minutes so while that’s happening, head on over to the Pixelated dev provider at https://dev.pixelated-project.org/ and sign up for an account.
Once the box has been provisioned you’ll need to run the go script which will setup the npm and (bower)[http://bower.io/] side of things:
Now, just one more step to get it running. The user agent needs to connect to a provider that you’ve registered with. In traditional terms, this is meant to be your ISP’s mail server, Gmail, company’s Exchange server…except this is a Pixelated provider.
To fire up the user agent, just type the command below and follow the prompts. Be sure to enter
dev.pixelated-project.org as the host and ensure your path to the certificate is correct. I had trouble initially because I had typos in my path that I didn’t find.
pixelated-user-agent --host 0.0.0.0 -lc /vagrant/service/pixelated/certificates/dev.pixelated-project.org.ca.crt
The team has a few dozen issues on github tagged with Beginner label to encourage contributions from newbies. Simply pick one and dive right in, the problems range from changing icons to exposing some property via RESTful API. So great little pieces of work that can take less than 3 hours to complete (what’s more interesting is that it allows you get to know the codebase better)
I found the project really easy to get into and just getting your first pull request to be accepted feels awesome. I would highly recommend getting involved with Pixelated Project, not only does it have a great, fun tech stack with pieces for anyone, it’s also a high impact social project.
I can easily see this being used in by organisations internally instead of the poorly supported Gmail for Enterprise. Wouldn’t it be great to free yourself from Gmail but keep all the functionality and have an even better UI? Not to mention the security benefits.