How much does the Community drive Canvas?

Community Champion

For those reading the title and wondering if I'm going to answer that question -- the answer is no. But if you want to see how the Community influences, impacts, or is related to Canvas, you might benefit.

In the question Idea System Broken? , a comment was made about how much in Canvas was driven by the Community. I'm going to focus on a single word here: driven. I'm probably putting more emphasis on it than was intended, and I often type the wrong words myself, but I want to make a distinction.

In statistics, we talk about the difference between correlation and causation. I think saying the development is driven by the community is akin to establishing causation, whereas a more realistic statement might be that there are related community contributions.

These relationships might even be established after the development was done. I have seen places where Canvas takes ideas from customers that came up through their CSMs and then tries to find related Community content to them, where the related idea is marginally related to what Canvas has done. There may be an idea in the Community that gets a lot of play, but what Canvas turns out is very little like what was discussed or wanted. While I agree that's often a good thing, I wouldn't say it rises to the level of driven.

Several have written here in the Community that they contacted support and were told that it needs to be put in as a feature request in the Community. I think I heard last week that was being worked on, but to send people to the Community and then say that the Community is responsible for much of what's happening seems misleading.

As part of project Khaki, we were given homework with a list of 51 items to consider. 42 (82%) of them had some related feature in the Community. I remember at least 3 of those being nowhere like the description that was provided of the issue, 6 of them only had related ideas or discussions that were archived or in cold storage. We're now down to 33 (65%) that were possibly Community related. Of those, 2 were already in development, 4 were currently open for voting, and 27 were already on product radar (even though one of them had zero votes at the time).

People can spin things however they want to make the case they want. I recently saw where awilliams‌ had used a quote from Charles Babbage saying "Errors using inadequate data are much less than those using no data at all." However, it is a complicated process and although we all have our favorite metrics that we like to use to paint a picture, no one of them represents the entire picture. If I'm picking metrics as to the power of the Community, I kind of like the number of feature requests that are even on the product radar.

From a statistics perspective, there is no randomized experiment here and you can't establish causation, just a relation.

Community plays an important role in Canvas (I can't speak to other LMSes because I've never used one other than to do the equivalent of SIS imports.) Feature ideas are important part of the Community, but having something developed that is related to an idea in the Community doesn't mean that the Community drove that process. It might have played a part, but there are a group of product managers that attend meetings and look at their own research, what the CSMs are saying, what implementation specialists are saying, what the sales team is saying, what the Community Managers are saying, look at the number of users that will be impacted, accessibility issues, technical issues, the cost to implement it, the other things that won't get done if it's implemented, the merit of the idea, the impact doing this will have on things coming down the pipe, whether it will actually help learning, and probably some other things I don't know about, then try to make it all work together in a way that is consistent with the guiding principles of Canvas.

I will fully acknowledge that it is disappointing to anyone who sees good ideas sit and go nowhere. It's extremely frustrating to see "not in the next six months" turn to into "not in the next 12 months" and some requests, after more than 2 years, still look like they're not headed anywhere. We all have our bucket lists of things that we want done and pretty much all of us think our bucket list should be prioritized. Canvas has to consider all of those criteria I listed when deciding what gets implemented.

If our ideas don't get implemented, there are sometimes other avenues like the REST API, LTIs, or custom JavaScript to handle them. When I went to my first InstructureCon in 2013, I went to a hack day. I didn't know anyone and sat at a table by myself. A few minutes later, Brian Whitmer came over, introduced himself, and gave me some pointers and directed me to some people who could probably help. The solution then was that if Canvas didn't do it, you could do it through the custom JavaScript. That didn't help me much since I didn't know JavaScript, but it kind of laid out the plan -- if you don't like it, it's up to you to do something about it. Somewhere over time, that message got lost. I don't know if it's intentional, if Canvas lost their way for a while, if they finally realized that some of the features should really be built-in, or if it's still there but not being communicated well enough.

Sometimes we can't do what we want to do because Canvas doesn't have the API support to do what we need. I'm working on a project like that now where the information just isn't available through the API and I can't even scrape it off an existing page. I know I could make a feature request in the Community, but I'm not going to because the number of people impacted by it is probably going to be small (admins with more than 50 global announcements). Fixing it would likely be a matter of changing two words in a single line of Canvas code. But there would be a debate that would ensue about whether or not that was the best way to do things, what impact it would have, and it might be decided that it's not worth messing with because announcements are going to be reworked at some point in the future anyway. If I had to make a call as a product manager, I would probably down vote it as there are more important things -- and it's my idea.

All of this is to say that there's a whole lot that goes into Canvas that most people don't consider. As frustrating as it is to see your idea not developed, at least we know those things on product radar are being heard. There are others ideas that get mentioned, but we know they're at least thinking about and considering those on the product radar list, which is why I said I like the number of items on product radar as a good metric. While I wouldn't say we drive the process, I do believe we make a valuable contribution and at least feel like I was heard.