This is a rather lengthy post, and to try and keep it shorter than it would otherwise be I am assuming that readers have heard of Freecycle, Freegle or other re-use organizations and have had some experience of posting to them as a member or a moderator. You also need to know that I was a Freecycle Group Owner since the early days of Freecycle in the UK (over 6 years now). Just over a year ago I moved my group to Freegle along with many other UK groups in a split from the US organization. Freecycle and Freegle are not the only groups out there but are those I have experience of.
All Freegle groups and some Freecycle groups are currently based on the Yahoo Groups mailing list platform. This is not a custom platform for re-use groups and, as a moderator, using Yahoo groups is only made at all possible by the excellent work on the Firefox Moderation plugin. However while the plugin makes life less painful for moderators, our users are essentially treated to an experience more akin to 1999 than 2010. People don’t use the web in this way any more, users who are quite happy using Facebook, find Yahoo groups difficult to sign up to, then they start getting masses of email they didn’t expect and are nagged at by moderators to format their messages correctly.
Attempts to reframe re-use groups in the past have either focused on building on top of Yahoo Groups – which is problematic due to Yahoo terms and conditions and also because it doesn’t get round the joining Yahoo groups issue. Or, on building a big central system – which is problematic for reasons I will explore in more depth below. I have an alternate idea that I wanted to put out here for discussion.
A reuse group essentially needs to enable the following posts:
OFFER – I have a thing to offer and it is in x location
WANTED – I want a thing, I live in x location
TAKEN – this thing I offered is now taken
RECEIVED – I have been given the thing I wanted
A final category of messaging is ADMIN posts – stop asking for diamond rings, that kind of thing.
The TAKEN and RECEIVED posts are only required because of the broken way in which reuse groups, on the Yahoo platform have to run. From a user perspective here is what happens.
- I log into the Yahoo Group or send via email an offer for the old but still workable laptop I want rid of.
- I wait for it to be moderated through (unless the moderators have decided I am trustworthy and unmoderated me – more on that in a bit).
- Once the email appears on the group I get a torrent of emails to my personal email address all telling me why they want the laptop.
- Unless I’m a regular on the group and recognize some of the people as good members who I might prioritize, I select the person I think sounds nice and offer it to them again via their email or phone number.
- The emails keep coming.
- I post a TAKEN notice on the group, however two days and lots of messages have passed since I posted the original so they don’t get linked up by people.
- The emails keep coming.
- The person I offered the laptop to doesn’t show up.
- I complain to the moderator about no-shows – there isn’t anything they can really do as there is no reputation system. This is a bit frustrating as every time I offer things this happens.
- The emails keep coming.
- The third person I offer the laptop to does show up – they are really nice and I’m glad I gave it to someone.
- The emails keep coming …
As a moderator of a reuse group I am sick and tired of offering this terrible experience to our users. As a web developer I know we could do so much better. This is the user experience I would like on my group.
I take a photo with my phone of the laptop, then use the group app on my phone to send it to my local group with my usual settings for location and so on just filling in a few details about the item itself.
I log into the site and fill in a quick form – again it picks up most details from my account so there isn’t much to fill in and upload a photo if I have one.
I send an email to an address with details of the item.
I am notified on the app, site or by email that my message has been posted. I have set in my account how and when I would like to be notified.
People who want the item make contact via the system – and I am notified of these responses by the method I have chosen.
As soon as I select someone and message then to let them know the item is marked as taken. People cannot then ask me for that item again unless I go and mark it available again in the case of a no-show or the person decides it isn’t right for them.
On a successful pickup I mark the transaction as a success.
The above is obviously oversimplified and there are moderator requirements and much to hammer out in terms of how the different posting methods communicate with each other, but the reality is re-use groups are very simple in nature. They have had to be. They use a platform for running mailing lists with no special features available for them.
The politics and a case for decentralization
Reuse groups are like many other volunteer led organizations in that they have lots of volunteers to keep happy and little or no money. In the case of Freecycle/Freegle, due to past history, they are also very wary of attempts to deploy a centralized site holding all the data and assigning moderatorships and so on. The positive thing about basing your re-use organization around a free mailing list system is that the ownership of each individual group stays with the local moderator. There is not the chance the the main organization can decide they don’t like you and remove access to a group you have spent years building up from scratch. However disregarding that political issue, there is a technical benefit to developing a decentralized system in that you sidestep the very real issue of scaling such a system.
The core of my thinking is a decentralized system that allows each individual owner to install their own instance of the app should they want to. The main organization may decide to get a server with sponsorship to host the majority of sites, however that still benefits from the decentralized approach as if they need to get more hardware due to the number of sites and amount of traffic, they just start deploying new instances onto the new server.
Communication between instances
There is an obvious benefit for instances within an organization – or even cross organizations – to be able to communicate. Currently within Freegle there is a spammer list which flags up spammers – information that is fed back into the Firefox extension that many of us use. The website screenscrapes statistical data about group growth from the Yahoo Groups. Although I’ve not thought through this in any depth, I am pondering on the idea that xmpp would be an ideal method of creating this kind of communication based on a trust network between instances.
This communication is actually the most important thing. If we get this bit right then the actual UI that users interact with could be anything as long as it could report back on the same protocols as everything else. This means if individual owners want to offer some other way of interacting with the group – as long as it supports the same messaging system, that would be fine.
As a moderator the single biggest thing people complain about is the number of people who ask for an item and do not pick it up. The question always asked is, “can we create a blacklist of these people?”
My thinking around this issue is that the system generates reputation for people based on their use of the site. This is impossible on Yahoo Groups because we have no way of knowing who picked up an item or even who responded. In a purpose built system reputation could be assigned to the person who took the item when the offerer flagged the transaction as successful. There are other interaction points – number of items posted and so on that raise a person’s reputation, and this value could be shown when viewing the list of people who want your offered item. This avoids an eBay style rating system and is modeled more on the reputation systems of sites such as Stack Overflow where reputation is earned by your actions on the site.
As a moderator this reputation system would be fantastic. The way most re-use groups operate on Yahoo Groups is that people are moderated unless the moderator decides they are sane, not a spammer, and able to format their posts correctly. Then they become unmoderated. However I know there are people on my group who post so infrequently I don’t see the pattern so they never become unmoderated. A reputation system would potentially allow posting straight to the group as soon as you reach x number of reputation points thus removing this requirement for moderators to make judgments on who is and isn’t worthy – which is what it tends to look like to users. A moderator could then override this if needed but generally good members are good members and a lot of the niggle issues such as badly formatted posts would be removed by a proper system anyway.
I don’t think a new system along these lines will be developed by any of the major re-use groups ‘in house’. Freecycle have gone down the route of a centralized system and are currently split between groups on Yahoo and groups using their system, Freegle are determined to keep building ever more complex things on top of Yahoo Groups, many of which are a fantastic effort but don’t get away from the fact that Yahoo groups is not a great platform for this and Yahoo could change things and render all these tools useless at any point. I also think that both organizations I have direct experience of are too mired in politics and their past to really step outside of that and look at the problem with fresh eyes.
What I have suggested on a few occasions within Freegle internal lists is that a re-use platform is developed as a separate, open source project available to any re-use group (and could be used for other purposes such as swapping, loaning, specialist re-use groups etc.) I don’t underestimate the work needed to get such a project off the ground but I think once it is off the ground and the basic functionality and core decisions have been made, there are people who would come on board to contribute. Getting it off the ground needs some geeks to work together to develop the core framework and developing the spec to an extent where interested people can see what is required and be able to get involved. It would make for a fantastic devhouse/fort/hack-weekend project and I think something that some real good could come out of.
So, throwing this out there. I don’t have the resources to develop this on my own. What I do have is the insider knowledge that being a re-use group owner for over six years brings, I’m sure that many of you know exactly the frustrations felt when trying to offer things on these groups. If I knew there were other people thinking along the same lines then it’s worth exploring, if not I’ll carry on placating users and keeping decent stuff out of landfill as if it is 1999.