An open source application for re-use networks

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.

The Basics

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.

or

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.

or

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.

Reputation

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.

Moving forward

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.

11 Comments

Rick Curran October 9, 2010 Reply

That sounds like a great idea. I’m an infrequent user of Freecycle, well, rather it’s my wife that uses it, but I’ve seen how frustrating an experience it is every time she posts something. People not showing, too many emails and the inability to sanely mark things as having been taken being the main issues.

A bespoke system for this purpose makes a whole lot of sense! I would have thought there’s potential for some kind of funding to help get this kind of thing going, perhaps via something like Social Innovation Camp – http://www.sicamp.org/

I’m sure there would be some other sources of funding to help make this happen too, like a Kickstarter project perhaps.

Philip Bragg October 9, 2010 Reply

I’d be interested in helping out with work on this, I’ve actually been working on some spam/scam code and automation of the mailing list content already. It is good material for building up a corpus for automatic classification purposes.
I was also rather taken with the challenge of tying up the offered and taken messages, it turns out to be harder than it should be for a variety of reasons – doing it all in a web application would make it so much simpler.

Marc Roberts October 10, 2010 Reply

Rachel

Great post. You’re echoing the experience/concerns I’ve had for freecycle/freagle as a user for years.

Recently I’ve started using ecobees.com instead, after seeing it mentioned on BBC’s ‘Click’. It solves some of these issues, and can optionally also post to your freecycle/freagle group at the same time. It does have its own set of problems but generally is a much better I find.

BobG October 10, 2010 Reply

All praise to Freecycle (and others) for what they have achieved. The concept is fantastic but sadly the user’s experience does vary…

As a donator (correct term?) I want the process to be as easy as possible to encourage me to use it as much as possible. An iPhone/Android app would be an amazing thing.

I explained Freecycle to my Mum(66) who uses her computer to check email and buy the odd thing online and she said ‘Does it work like eBay dear?’

This leads me to wonder if something close to the way eBay works would ease the transition as a lot of people already know how it works.

There seems to be a number of open source auction projects out there so something may already exist that is close to requirements.

Dan October 28, 2010 Reply

I have been exploring these issues too, and have even made contact with the tech crew who represent Freegle to see where they are at.

Currently they are concerned with mashing up facebook and yahoo groups which just adds to the existing confusion. These reuse groups really need a tool set of their own in order to grow the number of local members and for reuse to become a household action.

I’m not sure an open source solution would get anywhere. Running a group site with hundreds of page requests is going to cost money, could local groups afford to keep an open source tool set hosted? Interested to know what people think.

The only other option is a centralized system, provided by someone like yahoo! having the right features and listening to the community. I think Freegle will need to navigate the past (Freecycle) in order for that to happen. It is very political.

Great thought provoking post!

Mark November 2, 2010 Reply

I too have though along similar lines – and have even spent a few moments sketching database structures for such an application – usually to screw em up and bin them LOL !!

Te great strength of Yahoo groups is the ability to use the the web and e-mail interfaces

If we have the right engine integrating web and email – its relatively easier to add the bells and whistles to the user interface you describe – but I think developing a robust engine is more of a challenge.

It would be loads easier to use some existing Open Source framework – however their seem to be a number of frameworks CM or forum frameworks could be built on to provide what we need – but we also need a strong e-mail interface list server.

maybe the approach followed by http://groupserver.org/groups (an open source project) might be useful?

mark

Stuart November 4, 2010 Reply

I’ve actually been working on a project very much along these lines – principally as a way of learning ASP.NET MVC. The beta site has now gone live at http://www.jumblist.co.uk. Comments via the feedback link would be welcome.

It only covers a few groups in the east sussex area at the moment but I hope to expand it to cover more of the country and also to move it away from relying on freecycle/freegle for content.

Julia November 6, 2010 Reply

I can’t even register with Freecycle/ Yahoo despite spending a matter of hours doggedly trying … and Yahoo (despite their ‘mission to become biggest etc’ are impossible to contact so, very annoyed, I give up.
Apart from that, the thing that seems important is the nearness of potential takers to ones home. Streetbank do specific areas like that but there aren’t enough people on it yet, as far as I can see. Also, I am not sure that the idea of social lending of stuff doesn’t muddy the waters too much for it to be very efficient.
But you have alerted me to problems I might encounter re a couple of items I want to give away. Thanks

Julia November 6, 2010 Reply

I have justlooked at Freegle since you mentioned it(another Yahoo nightmare so I won’t even try!)
And at Ecobees, which appears to put stuff in without any attempt to zone where it is from. If you are Cornwall you don’t really want to even have to read that what you would like, or someone who wants your stuff is in Edinburgh!
Yes, Rachel Drew…there is masses of room for improvement!
Good luck! Julia

Chris November 22, 2010 Reply

This is great idea.

Personally, I hate yahoo groups for anything. I tried freecycle once or twice, but yahoo groups sucked so much that I dumped it, and I’ve never stuck with anything else that used yahoo groups either.

And your instincts are right — building a re-use network on a proprietary silo is an impedance mismatch.

When I want to give something away, I use craigslist — still very, very simple, but a step up. At least you can remove posts!

Craigslist is centrally run, and pretty limited in terms of features (moderating, rating users, etc), so I like your idea.

As for scaling — maybe building it on a cloud service is the way to scale — you could build it on Google App Engine, and get free hosting and full scalability. If Google changes things, you may be hosed, but your code is still yours, and you could port it to another platform. If you use Djago, for instance, you could run it anywhere with few changes.

Maybe some of the other cloud services would be worth checking out, too.

Neil December 3, 2010 Reply

Great post Rachel. I like your ideas! Being from the coal face of the movement, moderating my own group, I believe they are practical and are importantly something our members would like.

It would be great to see something get started using this approach! What needs to be done to get something started? What resources are needed? What are the steps involved? How can I help?

Leave a Reply