程序灵活性与代码重用矛盾
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.
这是篇相当冗长的文章,并且尝试使其比我想做的要短一些,我假设读者已经听说过Freecycle , Freegle或其他重用组织,并且有一些以会员或会员身份发给他们的经验。主持人。 您还需要知道,自英国Freecycle成立之初(至今已有6年以上),我一直是Freecycle Group的所有者。 一年多以前,我和其他许多英国组织从美国组织中转移到Freegle。 Freecycle和Freegle并不是仅有的小组,而是我有经验的小组。
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.
当前,所有Freegle组和某些Freecycle组均基于Yahoo Groups邮件列表平台。 这不是用于重用组的自定义平台,作为主持人,只有通过Firefox Moderation插件的出色工作才能使用Yahoo组。 但是,尽管该插件使主持人的生活不再那么痛苦,但我们的用户在本质上比1999年更享受1999年的体验。人们不再以这种方式使用网络,对使用Facebook非常满意的用户找到了Yahoo小组很难注册,然后他们开始收到意想不到的电子邮件,并被主持人嘲笑以正确设置其邮件格式。
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.
过去,尝试重用组的尝试要么集中在Yahoo Groups的基础上-由于Yahoo的条款和条件,这是有问题的,而且还因为无法解决Yahoo Group的新问题。 或者,在构建大型中央系统时,由于某些原因,这是有问题的,我将在下面进行更深入的探讨。 我有一个备用想法,想在这里进行讨论。
基础 (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
重用组本质上需要启用以下帖子:
提供 –我有一件要提供的东西,它在x位置
想要的 -我想的事情,我住在x位置
采取 -这件事我现在提供取
收到 –我得到了想要的东西
A final category of messaging is ADMIN posts – stop asking for diamond rings, that kind of thing.
消息传递的最后一个类别是ADMIN帖子–不再要求这类钻戒。
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.
只需要TAKEN和RECEIVED帖子是因为Yahoo平台上重复使用组的运行方式已损坏。 从用户的角度来看,这是发生了什么。
- 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 …
- 我登录了Yahoo Group或通过电子邮件发送了我想要放弃的旧但仍可使用的笔记本电脑的要约。
- 我等待它通过审核(除非主持人认为我是值得信赖的,并且不放任自己-稍后对此进行更多介绍)。
- 电子邮件出现在组中后,我会收到大量发送到我的个人电子邮件地址的电子邮件,告诉我他们为什么要使用笔记本电脑。
- 除非我是小组的常客,并且不认识某些人作为我可能会优先考虑的好成员,否则我会选择我认为听起来不错的人,然后通过他们的电子邮件或电话号码再次提供给他们。
- 电子邮件不断到来。
- 我在小组上发布了TAKEN通知,但是自从我发布原始消息以来已经过了两天,并且有很多消息经过,因此不会被人们联系起来。
- 电子邮件不断到来。
- 我提供笔记本电脑的人没有出现。
- 我向主持人抱怨没有出现–因为没有信誉系统,他们无法做的任何事情。 每当我提供这些东西时,这都会让人感到沮丧。
- 电子邮件不断到来。
- 我提供笔记本电脑的第三个人确实出现了-他们真的很好,我很高兴我把它给了某人。
- 电子邮件不断传来……
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.
作为重用小组的主持人,我讨厌为用户提供这种可怕的体验。 作为一名Web开发人员,我知道我们可以做得更好。 这是我希望在小组中获得的用户体验。
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.
重复使用小组就像许多其他由志愿者领导的组织一样,因为他们有很多志愿者来保持幸福,很少甚至没有钱。 在Freecycle / Freegle的情况下,由于过去的历史,他们也非常谨慎地尝试部署一个集中所有数据的中心站点并分配主持人等。 将重用组织置于免费邮件列表系统周围的好处是,每个组的所有权都由本地主持人掌握。 主体组织没有机会决定他们不喜欢您,并取消了您从头开始建立多年的团队的权限。 不管该政治问题如何,开发分散式系统都有技术上的好处,因为您回避了扩展此类系统的实际问题。
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.
一个组织内甚至跨组织的实例能够进行通信显然有好处。 当前,在Freegle中有一个垃圾邮件发送者列表,用于标记垃圾邮件发送者-这些信息会反馈到我们许多人使用的Firefox扩展中。 该网站从Yahoo Groups筛选有关组增长的统计数据。 尽管我没有进行任何深入的思考,但我仍在思考以下想法:xmpp是基于实例之间的信任网络创建这种通信的理想方法。
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.
这种交流实际上是最重要的。 如果我们正确地做到这一点,那么用户与之交互的实际UI可以是任何东西,只要它可以报告与其他所有东西相同的协议。 这意味着,如果个人所有者想要提供与组进行交互的其他方式-只要组支持相同的消息传递系统,那就很好。
声誉 (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.
我对这个问题的看法是,该系统会根据人们对网站的使用为他们赢得声誉。 在Yahoo Groups上这是不可能的,因为我们无法知道是谁拿走了一件物品,甚至是谁做出了回应。 在有目的的系统中,当要约人将交易标记为成功时,可以将声誉分配给该物品的购买者。 还有其他交互点–发布的项目数等等,可以提高一个人的声誉,并且在查看需要您提供的项目的人员列表时可以显示此值。 这样可以避免使用eBay风格的评分系统,并且可以在网站信誉系统(例如Stack Overflow)上建立更多模型,在该系统中,信誉是通过您在网站上的操作获得的。
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.
作为主持人,这个声誉系统将是极好的。 大多数重用组在Yahoo Groups上的运作方式是对人进行审核,除非主持人认为他们是理智的(不是垃圾邮件发送者),并且能够正确格式化其帖子。 然后,他们变得毫无节制。 但是,我知道小组中的某些人很少发布信息,因此我看不到这种模式,因此他们永远不会变得自卑。 声誉系统可能会允许您在达到x个声誉点数后立即直接向该组发帖,从而消除了主持人对谁是不值得的判断的要求,而这正是用户所希望的。 然后,主持人可以根据需要覆盖此问题,但通常来说,好的成员是好的成员,无论如何,诸如格式错误的帖子之类的小问题都会被适当的系统消除。
向前进 (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.
我认为任何“内部”主要的再利用组织都不会按照这些思路开发新系统。 Freecycle已经走上了集中式系统的道路,目前在Yahoo上的各个小组之间以及使用其系统的小组之间进行了划分,Freegle决心继续在Yahoo Groups之上构建更复杂的事物 ,其中许多是非常了不起的努力,但是不要不能避开Yahoo小组不是一个很好的平台这一事实,Yahoo可以随时改变一切并使所有这些工具变得毫无用处。 我还认为,我有直接经验的两个组织都沉迷于政治及其过去,以致于无法真正走出这一步,以崭新的眼光看待这个问题。
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.
我曾在Freegle内部列表中几次建议,重复使用平台是作为一个单独的开源项目开发的,可供任何重复使用的小组使用(并且可以用于其他目的,例如交换,贷款,专家再利用小组等。)我并没有低估使这样的项目起步所需的工作,但是我认为,一旦该项目起步并且已经制定了基本功能和核心决策,就会有人来董事会做出贡献。 将其付诸实践需要一些怪才共同努力以开发核心框架和规范,以使感兴趣的人可以看到需要什么并能够参与其中。 这将是一个很棒的devhouse / fort / hack-weekend项目,我认为可能会产生一些真正的好处。
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.
所以,把它扔在那里。 我没有资源自行开发。 我所拥有的是内心的知识,即成为重复使用组的所有者六年来带来的内在知识,我敢肯定,你们中的很多人都清楚地知道在为这些组提供服务时会感到沮丧。 如果我知道还有其他人按照同样的思路思考,那么值得探索,如果没有,我将继续为用户服务,并像1999年那样将像样的东西从垃圾填埋场中剔除。
翻译自: https://rachelandrew.co.uk/archives/2010/10/09/an-open-source-application-for-re-use-networks/
程序灵活性与代码重用矛盾