Blame it on Connect

Some weeks ago I blogged about the discouraging signals coming from Connect and my post started a discussion that didn’t go very far. Instead it died quite soon: somebody commented the post and ranted about his Connect experience. I’m blogging again about Connect, but I don’t want to start a personal war against Microsoft: today I want to look at what happened from a new perspective.

What I find disappointing is a different aspect of the reactions from the SQL Server community, which made me think that maybe it’s not only Connect’s fault.

My post was in the headlines of SQL Server Central and was also included in the weekly links that Brent Ozar sends out with the Brent Ozar Unlimited newsletter, so it got a lot of views that day. Looking at my wordpress stats, I see that thousands of people read my post (to be fair, I can only say that they opened the page, I cannot tell whether they read the post or not) and some hundreds of people clicked the link to the original Connect item that started my rant.

Nobody upvoted the item. Yup, nobody.

Ok, very few people love the Data Collector and I rarely see it used in the wild, so, yes: I can understand how nobody cares about a bug in it. But, hey, it’s not my only Connect item that got no love from the community. Here’s another one, involving data corruption when using linked servers. See? Only 9 upvotes.

Here’s another one yet, that involves the setup program. No upvotes except mine.

What’s the point I want to drive? The voting system and the comments are the only way we have to improve the content on Connect. If we disregard the tools we have in our hands, there’s no use in complaining about the feedback system at all.

We need more community engagement

Filing our own items on Connect is not enough: we have to get involved in the platform to make our voice heard in more ways. When we find an item that we’d like to get fixed, we should definitely upvote it. At the same time, when we find items that are poorly described or are related to an issue that can be solved without bothering the support team, we should interact with the OP and ask for clarification or provide an alternative answer. When appropriate, we should also downvote poor questions.

Some popular Q&A sites like StackOverflow have built successful models based on this paradigm, like it or not. Moreover, the “points” system has proved successful at driving user engagement, which is something totally missing from Connect: you file your complaint and never come back.

Some online communities have moderators, who can play a fundamental role in the community. They can flag inappropriate items, edit and format questions and comments. The can also close questions or put them on hold. If part of the problem with Connect is the signal/noise ratio, more power to moderators is a possible answer.

Can PASS help?

In this post, Kevin Kline says that one of the ways that PASS should improve itself could be playing a better role in advocacy, telling Microsoft what are the features we really would like to see in SQL Server vNext and what are the bugs we really need to get fixed in the product. The idea is that Microsoft would (or at least should) listen more attentively to a whole community of users rather than to single individuals.

It’s a great idea and I think that PASS should really go for it. Unfortunately, something like that will never substitute Connect, because it’s a platform to collect feedback for all Microsoft products and not only for SQL Server. Moreover, how PASS is planning to gather the user feedback is still unclear: would it be using a voting system like Connect’s? How would that be different from Connect itself then?

Speed matters

Another thing that I think drives people away from Connect is its dreadful slowness. Connect is slow and nobody uses slow sites. It seems to be getting better lately, but we’re still not there. StackOverflow is probably using a fraction of Microsoft’s hardware and money to run all the StackExchange network at the speed of light. Part of its success is the responsiveness and Connect has a long way to go to catch up.

Bottom line

Connect has its issues, we all know it, but it’s not all Microsoft’s fault. The individual users can do something to improve the quality of the feedback and they definitely should. Everybody can start now! More votes means more attention, less votes means less love. Simple and straightforward.

On the other hand, the communities can contribute too. How they can contribute is not clear yet, but some communities (like PASS) have lots of people that volunteer and make their voice heard. It would really be a shame if that voice got lost.

Microsoft, please do your part. Users and communities want to contribute: help yourself by helping them and you won’t regret it. Responsiveness is the keyword here: we need a more responsive site and more responsive support engineers.

The underlying problem isn’t the lack of community. While it’s not all Microsoft’s fault, I’d have to say the better portion of the problems having to do with CONNECT are. They’ve inappropriately closed a wealth of items that sometimes have hundreds of up-votes or that are real problems, such as the ones you’ve discovered, and they’ve done so with little or no explanation, some of which boarder on the ridiculous. Some haven’t been closed but have been open for a decade or more with no resolution by release, service pack, nor cumulative update.

For bugs, there shouldn’t need to be “up votes”. Bugs need to be fixed but a whole lot of bugs have been inappropriately closed as “Runs as designed” or simply “Will not fix”.

While I applaud Microsoft for even having “CONNECT”, I cannot applaud their management of the tool or the respect of the time of the people attempting to use the tool to help Microsoft improve the product known as “SQL Server”. I believe that I’m not the only one with that opinion and a lot of people that were actively engaged have become largely apathetic when it comes to participation on “CONNECT” and, until Microsoft changes the management of the tool, I suspect that even incredibly motivating speeches will do little to “rally the troops” in this matter.

Thanks for dropping by, Jeff.
It is difficult to find a balance. Connect has disappointed many people, yet the average quality of the submissions is incredibly low and it has no love from the community. I’m just wondering if we can do something to help Microsoft help us.
It won’t be easy, but I’ll do my part.

So I went to your previous post, and looked for a link to the Connect item, and didn’t find it. It honestly took me three passes over the article before I spotted it. I wouldn’t necessarily blame the lack of up-votes on that completely, but it might have had more traction if the link was framed with the actual title (instead of just “here”) and in its own indented paragraph. That said, as you’ve alluded to, I suspect that utility control point is not an extremely popular feature, and even of those who use it, some would likely rather see resources be spent on more important (to them) bugs.

I disagree with Jeff that all bugs need to be fixed, period. Microsoft is a big company and the SQL Server platform makes them a lot of money, but there is still a finite amount of resources that can be devoted to fixing bugs, especially when the bug involves a component in the product that does not directly represent a revenue stream and/or for which there are few developer resources in the first place. Priorities must be made, and they’re going to go first to critical bugs like incorrect results, performance-related issues, and issues that affect high-visibility and broad impact components. To be honest, I can’t really say I blame them – not to diminish the bug you’ve reported, but those other categories of problems are the ones that are potentially going to cost them customers. This doesn’t seem like the kind of thing that will make your shop switch to MySQL, Oracle or PostgreSQL.

There is also the scheduling of resources to work on a specific problem. Guess how many query optimizer bugs Conor Cunningham can work on at one time? Guess how many people at Microsoft can fix query optimizer bugs? They can’t just pull people from the SSMS or service broker teams to come help with the backlog of bugs in the query optimizer. Conversely, if Conor can’t be working on an optimizer bug, what are the odds they’ll use his time and expertise to help the Agent or SSIS teams to work on their backlogs? Talent availability is another delicate balance that is not driven solely by number and severity of bugs, but also which component they’re involved in and what else that team is working on outside of the context of Connect.

Multiple times the Connect backlog has simply been wiped clean, because it’s just not practical for them to stop all of the development and fix all of the bugs. If they did that 5 years ago, we wouldn’t have seen SQL Server 2012 or SQL Server 2014, and they’d *still* be working on them.

Votes are important, but don’t dwell on that. Qualitative comments are much more important. One of the criteria Microsoft uses to weigh the impact of bugs is the business impact it causes (not just the number of people it affects). So one comment that gives insight into business value, competitive advantage, etc. that is important to the customer can be worth dozens of votes or more. I blogged about my thoughts on this a few years ago:

I agree with you that I could have made my link more visible. In my defense I can say that it was blue and underlined, so definitely a link :-). However, my intent was not to promote my connect item and get upvotes: my goal was to start a discussion on what I feel is wrong with the feedback system today.
Nevertheless, hundreds of people clicked the link to the connect item and I got no upvotes.

I’m not expecting Microsoft to fix all the bugs we report in Connect. I agree with you that working on new features and keeping SQL Server competitive compared to other RDBMS platforms is more important for MS and for us as well.

However, I feel that something has to change in the way we interact with Microsoft. We have very few tools in our hands and we have to understand how to use them for the best results. Votes is one of those tools. Comments is another one. Filing “good” bugs as you suggest is yet another one.

Personally, I will try to get more involved in the platform and do whatever I can to improve the signal/noise ratio. On the other hand, I want to believe that there’s someone on the other side of the fence who is doing his part. The current level of communication is diminishing my belief every day.

BTW, that bug is one of the reasons why we bought some licenses of SQLSentry PA. It might be very uncommon, but it is ultimately paying your bills. 🙂

I agree that Microsoft is in it for the money and they rightly tend to fix the money makers or money savers and critical items first (thank goodness for the expeditious critical item fixes they do), that they do have a new production agenda to remain competitive, and that they do have limited resources despite the size of the company.

But that’s my exact point and that’s why some people are discouraged when the little things are seemingly or actually ignored and closed.

Of course, I also have to sympathize with Microsoft on the CONNECT site. Some folks seem to think that it’s a “how to” forum and post bugs that are really classified as PICNIC and PEBKAC problems. Definitely not what the CONNECT site was designed for.

One significant issue is that the processes that Microsoft have created for fixing or even triaging bugs is really heavy. It makes it hard to know whether it’s worth posting most small bugs. For example, for a long time, Profiler had a menu option that talked about SQL11. That’s a code name. I’m guessing that code names shouldn’t ever appear anywhere in the product. I used to log things like that on Connect but the responses indicate that they don’t have the time and resources to ever even look at such things. Same thing for basic typos in the UI. Same thing for the menu items in SSMS where the use of ellipses is all over the place. I look at most of these things and know that if it was my own program, I’d wish someone would tell me about them as they’d take minutes to fix and the quality of the program would be improved. However, in SQL Server that’s not the case. The process involved in fixing a typo seems to be capable of burying people, and no, it’s not going to cause someone to use another product or have a critical outage. But it’s a concern when minor things cannot be fixed.

Some time ago a Microsoft person told me that each hotfix costs around $50K. It’s an insane amount of money, so I guess that their process must be very thorough and time consuming. I don’t want Microsoft to spend $50K to fix typos, I want that money on the new features.
However, $50K is also the price you pay for a 8 core EE license. When you spend that money, you want things to work.

Hey Spaghetti!
I was showing some people ForumSurfer then saw you wrote about Connect. Fortunately, this is an issue that Ken Van Hyning has committed to fixing. He even promotes following @closedasfixed.

I found that most items were closed as fixed or resolved with 4 votes or fewer. Often times, there were 0 votes. Though if you want an issue addressed, it’s always good to get it a lot of attention in a short amount of time.

I do find that the community is willing to upvote, too. But it does have to be obvious in the blog post or even on the side bar. Twitter is especially useful for me, too. Along with mailing lists and newsletters.