Table of Contents
Getting Started With Pump.io - by Stephen Sekula
New users of federated social networks may, at first, be a bit confused about simple things that seem so obvious on Facebook and Twitter. People coming from another Federated network to pump.io may find it hard to locate people, etc.
How do you find people to interact with? What programs should you use to post, reply, etc.? This little guide will help general users - people who just want to talk and share - get going.
You can find me over at https://hub.polari.us/steve
Other people than me have also written about getting started on Pump.io. Check these out if you don't like what I have to say:
- Jan Kusanagi, developer of the Dianara pump.io client, explains how pump.io is not identi.ca and many other great things.
- English version: https://identi.ca/jankusanagi/note/IpfiW7kBQYuXt6H7odMzQQ
Getting an Account on Pump.io
First, you need an account on a pump.io server. A single server running pump.io is called an “instance,” and all pump.io instances speak the same protocol and so they can speak to each other. You can choose an instance randomly merely by visiting:
This link sends you to a random, known pump.io server with open registration. Make an account. Upload your avatar image. Describe yourself. Be as brief or verbose, as accurate or as inaccurate as you like.
Need inspiration or, at least, an example of what NOT to do? Check out my profile: https://hub.polari.us/steve
If you have a specific server you want to join, contact the site administrator for an account (in case registration is closed). Are you a member or friend of the Cooley and Sekula families? Contact admin+NOSPAM@polari.us for an account on “The Hub”, https://hub.polari.us.
Your identity on pump.io is tied to your “webfinger,” a string like steve@hub.polari.us. It identifies me to all other pump.io instances via my username on the instance and the name of the instance. With this, I can log into any other instance, follow people, have people follow me, etc.
Identity and Pump.io
Many corporate social networks (like Facebook and, until recently, Google+) require you to use your real name to get an account. For a variety of reasons, there are many people who prefer to socialize without having to reveal their identity. Pump.io is one of many federated social networks that assumes that you are the best judge of how to use your identity. You can setup an account without using your real name, home address, or other personal information. Pump.io cannot promise total anonymity, but it's better than what Facebook can offer you.
How do I find people?
There are a few ways to find people on pump.io:
- Randomly finding people who seem interesting: visit a “PPump” instance. PPump presents a spam-filtered view of the open “firehose” of public posts from pump.io. There are a few of these: https://hub.polari.us/public, https://pump.mamalibre.com.ar/, and https://www.inventati.org/ppump/. You can also just visit the open firehose, but it's not pretty. PPump makes it pretty, mostly spam-free, and easy to go back in the history a few hours. It also gives a list of users across the network ranked by their number of followers.
- RSS feeds of the open firehose: http://ppump.redaustral.tk/rss.php, https://pump.mamalibre.com.ar/
- Specifically finding friends already on open, federated social networks: there are servers in place that let you link accounts on pump.io with accounts on GNU Social/Statusnet and find existing friends who also have accounts on both.
- https://pump2status.net/: find friends with accounts linked to both GNU Social/Statusnet and Pump.io!
- Take recommendations from others about whom to follow. Here is my biased list, in no particular order:
- Evan Prodromou: founder of the pump.io network and overall cool guy. Check out HIS list of followers and find out who he's following:
- Who is following Evan? https://e14n.com/evan/followers
- More importantly, whom is Evan following? https://e14n.com/evan/following
- Laura Arjona: passionate about many things, including a more active role for women in science, technology, engineering, and math.
- Christopher Allan Webber: founder of the MediaGoblin project (https://mediagoblin.org), you'll learn all sorts of cool things about this neat open media sharing platform!
- Jessica Tallon (Tsyesika): now a developer on the MediaGoblin project working on pump.io federated networking integration. Developer of PyPump (http://pypump.org/en/latest/), the python library for interfacing with pump.io, and “p,” a command line client that lets you interact with your pump.io account(s) (https://github.com/xray7224/p/).
- Mats Sjöberg (“sazius”): Sazius is the writer of the “Pumpa” desktop client for using the Pump.io network, and is a computer science researcher.
- Jeremy Pope: dude likes coffee and software. Enough said.
I am interested in more than people. Are there any robots I can follow?
You bet! We welcome all to the federated social web, including our transhuman friends. Here are a few nice ones:
- X11R5: the iconic botscript that uses some machine learning plus sampling posts from the social network to (a) construct its own posts (they are indescribable - just follow the bot to see what I mean) and (b) reply to yours. X11R5 also shares posts, likes posts. You'd swear it was a living 7-year-old. https://identi.ca/x11r5
- WeatherBot: want to know the weather in a city? Just follow weather@hub.polari.us (https://hub.polari.us/weather and send it messages containing “City Name,Region” to get the weather in that city. For instance, you could send “Jefferson City,MO” to get the weather in Jefferson City, Missouri, USA . . . or “Uppsala,SE” to get the weather in Uppsala, Sweden. Try it out. This is still a beta-bot. Lots more information is at http://polari.us/dokuwiki/doku.php?id=weatherbot
- Jeremy Pope runs a whole bunch of neat botscripts. Check them out! http://www.whird.jpope.org/bashscriptville-part-ii/
But how do I USE pump.io? (You need a client)
You, my friend, need a CLIENT. Pump.io is just a network protocol - you need something that speaks the language. Here are my suggestions:
- Quick-and-effective: just use the web UI that came with your pump.io server account. It works in mobile and desktop browsers and should let you do most things you want, like post, reply, and even upload images.
- Desktop Clients:
- I use Linux and sometimes Mac, so I like Pumpa (https://pumpa.branchable.com/) and Dianara (http://jancoding.wordpress.com/dianara/). You can even get clients in Windows. Check out the full list of desktop clients at https://github.com/e14n/pump.io/wiki/Clients
- Mobile Clients:
- I use Android most of the time, so I recommend getting either Impeller (https://play.google.com/store/apps/details?id=eu.e43.impeller) or Puma. Both are available from the F-Droid store. Impeller is also available on Google Play.
- For iOS, there is “Social Monkeys” - it's not free, but it's worth the small amount of money it costs: http://www.roguemonkey.in/
- Clients in the Terminal
- “p”: the Python/Pump.io equivalent of “t” (for Twitter, written in Ruby), you can check your activity stream and inbox, send messages, reply to messages, post images, etc. I love this. https://github.com/xray7224/p/
Pump.io and Your Language - it's a client thing
Many people mistake the Web UI Client that comes bundled with a pump.io server with pump.io. They are not the same thing. The Web UI is a demonstrator client utilizing the vastly more flexible pump.io network underneath. Don't mistake the client for the protocol. For instance, https://identi.ca, the old flagship Statusnet instance, has a web UI that only supports English translations.
The above misconception has led many to think that pump.io only speaks English. It does not. Pump.io transmits Unicode - it can speak what you speak, and transmit what you type. I have friends on Pump.io that write in Chinese, German, Swedish, French, Spanish, Portuguese, etc. You only need a client that handles that kind of thing, and which has its own interface supporting your language (that's up to the client developer and their community of support, and has NOTHING to do with pump.io itself). There are many available. Checkout the clients list over on the Pump.io wiki.
https://github.com/e14n/pump.io/wiki/Clients
Also, there ARE pump.io web UIs that have been specially altered to speak other languages than English. For instance, https://io.intevation.de/ speaks German in its Web UI.
For more proof that pump.io and human languages in general get along just fine, check out this public post on Pump.io: https://hub.polari.us/steve/note/R9NzwuOZSx2nQNc89oc1-g
What about Privacy?
Different clients implement privacy in different ways, but pump.io supports total lockdown of your posts if you choose - you can direct message people, message a few people, a group of people (you design the group), all of your followers, or the “Public” (that makes your post visible on the firehose - LITERALLY PUBLIC).
You can define groups most easily using the Web Interface. Go to your account settings and play with your groups. You can then set your default posting choices in many clients (e.g. only post by default to your “Family” or “Friends” group). You can also set, on a post-by-post basis, who gets to see it. If a feature is missing from a client, complain politely but firmly to the client author. It will get fixed.
Administrator Tips
So you're administrating a Pump.io site. Here are some tips.
Oh Noes! One or more of my users don't have associated email addresses!
Not to worry - you can actually fairly quickly edit the database directly and add the field. My instance uses MongoDB. Here is how you add a missing email address for a user in MongoDB:
Connect to your MongoDB: > mongo --host <IP ADDRESS> List your available databases: > show dbs Select the database for your pump.io instance: > use <PUMPIO DATABASE NAME> Print all your users' records to find the one you want (HINT: look for the "_id" data member in a record): > db.user.find() Once you have found the "_id" you are looking for (in this example, I will use "steve"), you can add the "email" entry to the record: > db.user.update({_id: "steve"}, {$set : { email: "email@example.com"} } ) Now check the record again: > db.user.find( { _id: "steve" } ) to verify the email entry is present. At this point, this user will start to get email notifications at that address if there is activity related to them on pump.io.
Is there really a pump.io song?
There is. There really is. Thank you, David Marsden: https://soundcloud.com/dmarsd/pump-dot-io