Loomio

Feature request - use Discourse for discussions

Jaco van der Merwe PublicSeen by 115

Hi folks.

I've been using discourse across a number of (FLOSS) sites & projects and eployed an instance for my own testing purposes.
It's a mature stack with a lot of great functionality - and it's not a massive leap from what I'm seeing in Loomio to what's aready there.

Loomio as a whole is pretty swank, but Discourse(.org) has a clear advantage where the actual discussion thread takes place.

I'm wondering what the feasibility is of simply substituting Loomio's discussion column with Discourse's code-base, freeing up developers to concentrate efforts around other functionality that's needed, and/or contributing to the upstream Discourse code-base for functionality needed/desired?

Both are Ruby/RoR & .... orientation is not all that different IMHO.

Alanna Irving

Discourse was a big inspiration for us @jacovandermerwe - I think we definitely want to look to them in designing a commenting system. We're not really happy with the current commenting system, but we just haven't had the time or resources to improve it beyond the most basic functionality.

Is an integration with discourse something you have capacity to implement? If so, let's talk about how it could work.

Jaco van der Merwe

Hi @alanna,

Unfortunately I'm not in a position to help - my own Ruby/RoR knowledge is extremely poor.
I did have a look at both stacks github repo's, and from what I can tell it does seem possible to kobble them together, but the how eludes me.

From chatting with their peeps @ IRC, they certainly seem receptive to the idea - they've architeched their API to be extendible with add-on/modules (such a SSO being very popular), so I suspect that could be a way of achieving such an outcome.

Michael Duane Mooring

I'm a passionate about this idea as well. Integrate Discourse, let them do their awesome work of creating the best open-source online conversations, and Loomio laser focuses on making it's distributed/decentralized/open polling system the best it can be.

Alanna Irving

Great idea @michaelduanemoorin - why don't you research what's involved in such an integration?

Michael Duane Mooring

Sounds like a nice weekend project, will do!
Have you guys considered using something like BountySource to enable people to supplement their feature votes with dollars? For example, I'ld put some money down on the Loomio API. ;)

I know Co-Budget is coming out from EnSpiral this summer probably but it's different from BountySource I'm thinking.

Michael Duane Mooring

@alanna & @richarddbartlett, I'm in the process of scheduling an hour with a Discourse developer via http://airpair.com to discuss the idea. We may have as many people join the Hangout on our side as we want and the session will be recorded for reference and review afterwards. Is there an ideal time for you guys if you want to be present for the session or part of it? If so, let me know a good time(s).

Michael Duane Mooring

An hour's a long time. We'll have time to discuss the merit of the idea of employing Discourse as a commenting engine with the Discourse developer and if I get a Loomio staging server and some progress towards prototyping this feature we may even spend 30 minutes or so doing some actual pair-programming. Which would be pretty neat I think. :)

Richard D. Bartlett

Awesome, love that you're being so proactive @michaelduanemoorin.

I want to spend some time with @robertguthrie this week designing a great email-first discussion experience (we'll draw up some wireframes and user stories and then get some input from folks). I'd want to have an idea of those requirements first, before talking to Discourse.

Michael Duane Mooring

Good stuff @richarddbartlett ! and your welcome of course. Let me know if there are any gaps I may fill in your preparations.

p.s.
Is there a Loomio IRC? I remmeber finding a room once I think but now in Freenode I'm the lone user.

Richard D. Bartlett

There is a Loomio IRC (#loomio on freenode), but we don't use it so it doesn't get used.

Engaging with the open source community in a meaningful way is going to take some time and energy from our end, e.g. actually hosting a useful IRC channel, frontloading some wireframes and user stories for features for contributors to work on, then supporting them as they build them, and QAing and merging the work...

We're working on it, but it's a bit like spinning plates at the moment.

Michael Duane Mooring

Yeah that sounds like a nice open-source contributor portal that I know I'd enjoy! Hanging out in the IRC in the meantime can't hurt though. You may be people working on Loomio stuff silently already and be hoping to find some dev's for some quick questions in the IRC.

Mikey

@michaelduanemoorin also mentions Discourse in https://www.loomio.org/d/73uHjQfU/liquid-democracy.

plus one times infinity for Discourse integration. :)

i think it's wasteful to try and compete with a leading open source discussion platform that has more person-hours to focus on the UX of discussion (including email integration), uses RoR, and has a Docker install. i think Loomio would benefit from standing on the shoulders of a technical giant like Discourse so we can focus on amplifying the power of our discussions.

in addition, by pigeon-holing Loomio into one discussion platform, Loomio is unsuitable for groups that already have a discussion platform. i think Loomio would benefit from integrating with not only Discourse, but maybe GitHub issues, IRC, mailing lists, Google Hangout, wikis, etc.

that being said, integration is no easy task. that's what we hope to simplify with the Open App Ecosystem.

Michael Duane Mooring

@ahdinosaur, this was my perspective as well. Unfortunately Discourse integration has been archived and no longer a consideration at this time by the Loomio team. Unless someone(s) goes and hacks it together and does a pull-request, it's likely not to occur: https://trello.com/c/KCTIlCX8/89-discourse-integration

Twas observed as a technical Everest, however with a simple Loomio API for commenting, and with the Discourses API, this suddenly becomes a couples lines of code to send Discourse comments into Loomios.

Alanna Irving

a simple Loomio API for commenting

Look forward to your pull request for this @michaelduanemoorin :)

Mikey

@michaelduanemoorin s/achieved/archived

Michael Duane Mooring

Thanks @ahdinosaur, Chrome set itself to another language for spell checking so literally everything I type gets the red squiggle and so I never know if I'm typing anything wrong anymore. *UPDATE - Just took the time now to fix it in Chrome's settings... ahhhh that's nice...

@alanna, Challenge Accepted. Never wrote an API before and if I think I'm going to do it for Docport.io then I could use the practice (just wish it were a node.js app instead of Ruby.... but that's ok...). http://memegenerator.net/instance/51323879

Michael Duane Mooring

@alanna, awesome news. The cool thing about making the commenting API will be that you could potentially swap in/out different comment-engines as plugins. So people who like Mozilla's new product can use it for their group while others can use Discourse and yet others can even use Loomio's vanilla commenting engine as well. Plugins are cool.

Richard Foxworthy

Hello, I stumbled across this stale thread, and am wondering if the thinking within Loomio has progressed about potential to integrate Loomio and Discourse? I think there can be a very valuable fit between these platforms, where Discourse offers the high quality discussion forum and Loomio brings high quality decision tools that can really help crystallise value from those discussions.

I can see you've made an initial integration with Slack, which is a great step forward, even though Slack is proprietary and closed source. Would love to see similar integration with leading open source chat and discussion platforms, eg Rocket.chat and Discourse.

There is a lot of value in the intersections between these platforms

Robert Guthrie

It's really unlikely we'll do this - but we're happy for others to give it a go.

Personally, I'm really enjoying developing our own discussion platform and I am proud that we offer alternative features and direction to Discourse.

As a team: We've just launched nested comments and have a lot of great features planned around our discussion platform for next year.

Discussion is critical to collaborative decision making and we think we feel we need to continue to innovate upon our own discussion platform to suit our particular needs.

Richard Foxworthy

Thanks Robert - I think I understand your position on this, although I do also think there is an untapped audience of mainstream discussion forums users who could become Loomio decision tool users. To abandon these existing discussion platforms is a big deal. IMHO offering Loomio decision tools that can work with those mainstream forums is much more likely to provide value and grow usage.

Re the opportunity for others to try these kinds of integrations, is there an API where the Loomio decision making components can be used independently of the discussion capability?

Robert Guthrie

We've spent a lot of time making decision polls operate stand alone. You can start a decision without a thread. Integration with other tools is the next step.

Are you wanting to work on this? Or do you have experience with a group using another platform and that want's Loomio's decision tools integrated?

Can you tell me how you came to believe what you're saying here?

Richard Foxworthy

Hi Robert, It is possible that my team could do some work on Loomio decision tool integration with other FLOSS platforms. The key platforms for us today are Rocket.chat (Slack-like real time chat) and WordPress. We're using these to help support some commercial comms and process automation solutions in a specific industry vertical. We are currently looking at integrating deeper, contextual and threaded discussions via Discourse.

Part of our requirement is to help a key subset of our users to make decisions together. Most forums and chat tools, including the ones we are using, already have simple polling capability. This is useful, but we need to support and manage more complex decision making processes. I find the work you're doing with Loomio interesting as you are building a sophisticated decision-support toolset.

So I guess my questions on Loomio integrations are selfish and opportunistic in that I'm looking to solve my own particular needs and use cases. However, I do think that decision making is holistically an extremely important and valuable process, and there is an important role for a great decision tool to play in the FLOSS ecosystem.

To my mind, decision support is a separate and distinct capability to the comms capability provided by chat and forum platforms, and so I think that there is a valuable role for a high quality, modular decision support tool that might provide tooling, frameworks, and communities of best practice for everything from simple polls to complex elections.

I also think that the decision piece is an emergent requirement, and of a higher order than the comms piece, so its much more likely that groups and organisations of all kinds (commercial and non-commercial) will choose their comms platforms before they even think about the decision tooling they might also benefit from. And once a group is using a comms tool it becomes a big deal for them to abandon it and adopt another solution.

To my mind, a good strategy for a specialist decision-support framework would be to build great integrations with leading comms platforms, rather than invest heavily in developing native comms capability.

It looks like this thinking does not align particularly well with Loomio team aspirations? If you're willing to share, I'm keen to understand a bit more about your platform strategy and maybe explore ways to collaborate on some integration pieces?

James Kiesel

Hi Richard,

I think we're quite aligned in thinking, but have reached different conclusions. One of the things that is deeply embedded in Loomio thinking is that you cannot have clear group decision-making without the ability to discuss things with your group. So if Loomio were solely polling software, it would be an incomplete offering, and while Discourse is excellent software and somewhat values-aligned with us, it's not enough that we're happy with letting them take care of a core part of the experience we're trying to deliver. So we need, and have, a discussion platform, and we have invested a lot of energy in making it good enough to use.

From there, a good deal of the business side of Loomio relies on the value proposition of 'This is a place where you can make decisions with your group'. When we sit down with folks who are interested in paying a decent amount of money for Loomio, they often ask about integrations, but there's not really a clear pattern of what integrations they're after. We hear LDAP / SAML often. Facebook (both groups and messenger, which are altogether different beasts). Discourse. Slack. Rocket.chat. Sandstorm, back when Sandstorm was going. Basecamp, a time or two. And we'll build any of them, given that there's a client that reeally needs it. But thus far the people paying for hosted installs and enterprise plans are interested more in things like customization, like document management, like nested comments, and moderation tools and analytics.. things that let them better curate and understand their own community in our space. It's just closer to what they need, and we are happy to build those things because it delivers value to us and to them, and because it makes us a more attractive platform to more clients like them, which makes us financially sustainable as a business in a way we really haven't been since we were founded.

However, I think that we do share a vision for the potential of 'between the walls' decision-making. This version of Loomio has mobile apps with easy, step-by-step flows for creating polls and threads and stances (independent of a group). It's got deep linking to other apps and push notifications. It's got importers and exporters to/from Discourse and Facebook, so you can easily move your data somewhere else. You can forward an email chain to it and it'll make a discussion for you automatically. It emits events which are easily IFTTT-able to your favorite chat program, or to text messages. I personally am very interested in building in this direction (and have expended great effort to ensure that we can move rapidly in this direction when we're ready for it), but it's a high-risk, medium-reward kinda strategy at the moment.

We have made plenty of movements in this direction though; there is a fully-featured (although as-yet under-documented) API, we're an OAuth provider, there's a robust plugin system, we've set up hooks with services like Zapier in the past. I'd love for you to help. But if the question is 'will the Loomio team support replacing their own discussion platform with Discourse', it's just not something that we can spare any resources for.

I think next steps here might be to set up a call to explore a bit further how we might be able to work together, but unfortunately it being January in New Zealand, we may need a couple weeks before we can talk properly. A good place to start in the meantime is the API documentation, which I'm happy to answer questions about or accept PRs to :)

Robert Guthrie

I'm working on a reply, I've found this through provoking and I think it's a nice opportunity to articulate my product thoughts. I'm going slowly though.

Richard Foxworthy

Thanks @gdpelican for all that. I'll look into the API and come back after I've digested that a bit. Looking forward to your considered thoughts also @robertguthrie .

I really like those ideas that James calls 'between walls' decision making. These approaches feel very promising for what I am hoping to achieve to support my own use cases.

Oli SB

That makes sense. I'd still love to see more integrations tho... even with just the login system... for example, if i could use my Loomio login to join other platforms / open source apps I think lots of developers of those apps would be up for enabling "Loomio Login" as Loomio is so well used and respected. Then we'd suddenly have taken a huge step forward towards (version 1 of) the Open App Ecosystem https://www.loomio.org/d/qpPj0gZn/do-we-have-the-same-idea-of-what-an-open-app-ecosystem-is ;)

James Kiesel

Loomio is an OAuth provider, so you can use Loomio to log into other services, so this is possible today, you just have to bug said developers into providing a 'sign in with Loomio' function.

Basic steps:
- Create an app by going to https://loomio.org/apps/registered
- Give the app id / secret from that app to an OAuth client
- Follow the normal OAuth flow (we use doorkeeper) to obtain a code, then an access token to log in using your Loomio credentials.

mike_hales

I'm happy to live with "Loomio's vanilla commenting engine" - but with a couple of tweaks maybe, regarding nested sub-threads?

1 Make sub-threads collapsible, so structure of the main thread can be more clearly seen.

2 Make 'Reply' button on comments (currently a small grey back-arrow) larger, rectangular and ORANGE - mimicking the thread's 'POST' button - so that careless/hurried responders have a clearer choice whether to respond to the individual comment or the overall context. Since we have nested sub-threads, it would be good to make it easier for responders to systematically use them to go off at tangents and stay on-topic, instead of creating an endless string of tangents.

Please note, I'm not commenting on behaviour in this thread ;-), it's another (less web-dialogue savvy) group I'm referring to.

Robert Guthrie

Thanks for the suggestions! Good idea re: orange reply button!