Participating in the Pump.io community

I came ‘late’ to many free software communities (including identi.ca), when the software had been released  more than two years before, and the community was already mature.

So, when Evan Prodromou announced the migration of Identi.ca to a new software (Pump.io) in ‘active development’, I saw the opportunity to become an early adopter (yay!) and maybe contribute helping the Spanish translation, or sending bugs or whatever.

In this post you will find my adventures with pump.io the last 3 months, in particular:

  • Dipping my toe AKA creating an account
  • The API is the key
  • Clients: losing the fear to build from source
  • Who to follow?
  • Bugs, bugs, bugs
  • Take away, TODO, or whatever..

Here we go… Hey! Wait! What about the migration of identi.ca? Well, it’s in progress, you can follow Evan in pump.io to get updates from time to time. In fact, you can watch how the dents are migrated into pump.io in realtime in an easy way: edit your /etc/hosts file and write at the end:

15.185.111.9  identi.ca

Save, close your browser, open it again, and go to

https://identi.ca/larjona

(or change ‘larjona’ for your user). You will see the last dents that are migrated. Press F5 to refresh, and enjoy the journey! (you can return to the actual identi.ca editing again your hosts file and removing or commenting out that line, and closing and opening your browser again).

Dipping my toe AKA creating an account

So I created a ‘test’ account: I went to pump.io, clicked on “Try it!”, and signed in the server to which I was redirected:  larjona_test@pumpdog.me

I created the account 3 months ago, posted something, lurked here and there, didn’t understand many things, and returned to identi.ca, the comfort zone. But not without opening an issue about the localization of the webUI.

I tried the pump2status.net service and found some identi.ca friends that were already in pump.io; I followed them but it seemed that the pumpiverse was quiet (at least, my identi.ca friends were quiet in pump.io, except evan@e14n.com, of course).

The API is the key

I had a look at the documentation of pump.io and understood that the main effort had been done in the API, and the web interface was only one way to interact with pump.io.

As an example of a service that can be integrated in the pump network, Evan also developed the OpenFarmGame. It is a “proof-of-concept”: you register your pump.io account in the website of the game, and play it. Activities of your farm will be published in your pump.io account and you’ll receive notifications from the game too.

In the pump.io wiki there was also a page for listing the different clients that would work with pump.io. Three months ago, it was nearly empty. The identiverse was very worried about if our preferred clients ( Mustard, Chokoq, Gwibber…) would add support for pump.io before or just after the migration. Meanwhile, some developers jumped into the challenge and created some clients: Dianara (by Jan Kusanagi), and Impeller (by Owen Shepherd) for Android. The competition just had started: Mats Sjöberg “Sazius” wrote Pumpa and Michele Azzolari, “Macno” (Mustard’s developer), created Puma.

These are just one type of community contributions to the pumpiverse (or is it ioverse? people are still discussing it!). Other people set up their pump.io instances and shared recipes. For example Jeremy Pope (I knew him from the Mediagoblin community) has made a kind of installation guide, and created some ‘bots’ that use the pump.io API to post some specific information in the pump network: so now you can learn Shakespearean insults, or you can follow the Word of the Day, the Astronomy Picture of the Day, or the XKCD comics, among others.

There are some small web services created that allow you to be hip on something, hate something in the internet, or love them.

Clients: losing the fear to build from source

I was atonished with the speed of this community development.

I wanted to try some clients. I tried to build Dianara from source, there were only a few instructions but they were enough. I found some problems but they were quickly solved by interacting in identi.ca with Dianara developer, Jan Kusanagi.

Hey! Seeing the pump network from a client made me understand better how it works, and compare how the Web UI and Dianara were similar or not.

Then I discovered that I could not run Impeller in my phone, since it was for Android ICS and up. I tried to polish my Android skills and port Impeller for Android 2.3.x but I had no success: it is needed to change many things in the code since it used some features not present in old versions. But I managed to setup my Android development environment ready to build, so I tried to compile the source code of Puma and generate an apk, and it worked! I created the Spanish translation file for Puma, recompiled again, and proudly updated the pump.io wiki to offer links to the source code and my non-official binaries.

I contributed the translation via gitorious and Macno merged it very quickly. He also tagged versions and released binaries himself (and updated the pump.io wiki page) so I was happy that I didn’t had to carry that responsability. I closed my eyes, opened them, and Puma was in the F-Droid repo, and in version 0.7 already!! I hurried up to update the Spanish translation and request a merge again.

Who to follow?

I began to post in pump.io about the things that I tried or disvovered. And then realised of what I’m sure that you already know it: if I begin to follow in pump.io all these people tinkering with the software and the API, my timeline maybe awakes a bit… and, believe me, it is being a very nice experience to read and share a bit of this thriving community.

So I began to follow people, try things, post notes, and this lead to…

Bugs, bugs, bugs

Pump.io has been an opportunity for me to interact with a simple bug tracker with a not so big set of bugs. Reading the issue tracker one gets a nice idea of what the software does, what the software cannot do (yet), the roadmap of the developers (Evan files bugs for each desirable feature, no matter if he cannot not work on it yet) and the needs of the community. I’m afraid that when the bug database becomes too big, this is impossible to figure out, at least just reading it. But Pump.io issue tracker now is a nice place to search and read.

Evan is still the main developer and main bug-squasher (and bug-filer). But the help of the community filing bugs, diagnosing them well and testing solutions is very appreaciated, for what I saw. Even without being able to look at the code or provide a patch, I think I’ve been useful in some way. When I found a problem I took a little time to try to provide accurate data, search if the bug is already open, and if not, filing the bug. It’s not more than what I ask to the users at job when they report a problem! Until now I filed some bugs and commented on others, as you can see in my Github public activity. I am learning a lot, and I hope, not introducing too much noise into the system.

Take away, TODO, or whatever…

I’ve met very nice people in the identi.ca community, and knew some of them a bit better in this transition to pump.io. You know I mostly write about free software and free culture, so this pump.io experience is very interesting for me. I am very happy to be part of this community, and contribute what I know, what I see.

If I had time, and nobody wants to do it, I would like to continue learning to create Debian packages, and maybe package Dianara for Debian. I would also try to setup a pump.io instance, but I don’t think that I can find the time (setting up a Mediagoblin instance is also in my TODO…). I hope we find somebody with node.js knowledge to help us to internationalize pump.io, so we can translate the web UI (see issue #502).

I hope that identi.ca migration finishes soon and all the people enjoy the new platform as I enjoyed, and be flexible with the parts that are not working 100% yet. I hope we can altogether make a great free software, federated social network with a wide range of capabilities (not only microblogging!) and push the edge of the software technology one step ahead, again, as the free software communities did so many times.

Meanwhile…. Enjoy!

About larjona

My name is Laura Arjona, I am a libre software user and fan of the free culture. If you want to contact me you can write an email to larjona [at] larjona [dot] net I am @larjona at identi.ca in the Pump.io social network. --- Me llamo Laura Arjona, soy usuaria de software libre y fan de la cultura libre. Si quieres contactar conmigo puedes escribir a larjona [en] larjona [punto] net Soy @larjona en el servidor identi.ca, de la red social Pump.io.
This entry was posted in My experiences and opinion and tagged , , , , , , , , , , . Bookmark the permalink.

7 Responses to Participating in the Pump.io community

  1. Dirk says:

    Thank you very much!
    I am also not sure where the whole discussion is going – other software projects use Google Groups mostly. Where is the puplich discussion? Is this supposed to be in the pumpiverse (nice one btw :-) )? If yes – where is it?

    Regarding the installation: I created a script that does all the dirty work to set up a pump on Amazon EC2. I hope this helps someone.

  2. Pingback: Links von 22.06.2013 bis 11.07.2013 | Mythopoeia 2.0

  3. finn says:

    Aw, this was an extremely nice post. Throughout idea I have to put in writing like this additionally – taking time and also actual hard work to make a very good article but so what can I say We procrastinate a lot and by zero means manage to get something completed.

  4. Yuhang says:

    Hi,
    I am very new to pump.io (and node.js development in general), so please bear with my dumb questions.

    I installed the pump.io on an Amazon ec2 instance, and it seems to run (after a few changes in the /etc/sample.io.json). The backend is mongodb. I created the keys and certs, and figure out a few other minor issues, and hit /bin/pump and it seems to be running. The log indicates it is listening on port 8000. Netstat shows it is actually listening. tcpdump shows my browser tries to establish a connection, etc.

    However, I have no clue how to do anything with it. In other words, how can I point my web browser and start the register process? (There is a register template, should I modify that?)

    Sorry, I am really a newbie on this one, and really like to get it up and running so that I can do something useful on top of it. It would be great if there is a “how-to” type of document, maybe just bring up a simple website with minimal content.

    Thanks again.

    Y.Z.

    • Dirk says:

      There are no dumb questions, you did the right thing to ask.
      Did you open the ports in your EC2 security group? I forget this so often.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s