dwyl / hq

:red_circle: All things in the dwyl organisation
https://github.com/dwyl/hq/issues
GNU General Public License v2.0
28 stars 1 forks source link

Gitter? #517

Open nelsonic opened 5 years ago

nelsonic commented 5 years ago

Preface

Building a technology/software product is difficult. There are many competing demands that need to be juggled. Gitter is a good product and has provided a good service to the Open Source community. We have used it for free and benefitted from it. (in "exchange" we have promoted them everywhere)

On a personal level I have nothing but love, respect and admiration for Mike, Andrew and the team that has built Gitter, they have worked really hard against massive odds (being based outside of Silicon Valley can be a major handicap for a venture-backed startup and they are operating in a very crowded market) and have (largely) succeeded in their original mission and objective(s): ✅

"Build a community for software developers."

Along the way Gitter have made much of their code Open Source: https://github.com/gitterHQ This is a great example to follow and we wish more companies/organisations dit it.

Honest Feedback !== Personal Critcism

My intention is not to "criticise" anyone personally or to defecate on the hard work they have done! My objective for this issue is to capture our user-experience of the product/service, list the features, "flaws" and "gripes" in a systematic way so that we can all move forward! Without "honest feedback" nothing improves.

Revenue vs. Cost Centre ?

I feel that while GitLab made a good-fit acquisition, they also made a huge mistake by making the Gitter product "free" for everyone/everything because it transformed the product from a "revenue centre" into a purely "cost centre" i.e: rather than continuing to generate income from the product they made it "free".

Many teams/companies were willing to pay for the product in the same way that many companies pay for Slack. I would happily send them a lump-sum cheque to cover both the infrastructure costs and a portion of development costs for the time we have used the product/service because it has given us a measurable business benefit in the form of real-time chat and team discussion.

Having an independent revenue is essential for an independent product to continue flourishing after it is acquired by a bigger company. By being a cost centre every bugfix, improvement or new feature added to Gitter is a "cost" that must be minimised rather than an investment that will have a "return". The distinction is subtle but so is a zero from a one in binary.

I feel that the product has stagnated since the GitLab acquisition in 2017 (beyond "signin with GitLab" OAuth integration and a few minor improvements to the UX on iOS...) details on this below. This is not the "fault" of the Gitter developers/team, it is a failure of the systems they are subjected to.

With that noted, I advise anyone who is of a sensitive disposition to not read any further.

DON'T READ THIS!!
(if you are easily offended by honest feedback)

I am a member of several online communities that use Gitter and I have used the product extensively. @dwyl we have been using Gitter since early 2015 and it's been "OK"... good but not great.

I know that I should not "complain" given that I have not paid any money for the product/service, but as stated above, I would gladly send a cheque for the service if they would take my money and it was clear what I was paying for i.e. specific SLA including up-time guarantees and visibility of bug fix estimates. I would pay even more if the "core" product was Open Source and I could fix the issues myself or write a feature that I could then use. Hint: this is where @dwyl is going! 🔮

UX Notes

My biggest gripes with the product are that:

a) The product has not innovated beyond the initial feature set from 2015 ... e.g:

b) Memory/process consumption of both the Web-based and Desktop (Electron) App. The app is a memory/process-hog on my Mac and it often crashes requiring re-start. It could be lightweight and reliable, but it's not. And this does not appear to be a focus for the team as they haven't improved it in the 4 years we've been using the product ...

Note: this is not unique to Gitter, this is a major fail in Slack too: image

c) Notification failure; I often do not receive a notification for a message despite having the iOS app installed on my phone (against my better judgement). I regularly only get an email notifying me hours after the fact and when I click it, it takes several seconds to load the conversation. ⏳

d) Navigation Failure : when I'm in the App and attempt to navigate to a different conversation, the current page stays in the view rather than the one I have clicked on e.g: gitter-browser-navigation-shambles I was speaking to Sam, but I saw a notification in a project channels and clicked it, the UI did not change to show the project's thread it just froze. I had to manually refresh the page ... image

e) No Offline Capability in the iOS app ... self-explanatory. If you don't have network/wifi you cannot see any history or queue up any messages to be sent when connection resumes. gitter-offline-fail This is a screenshot of the Gitter app in "flight mode", it shows a blank UI even though I have looked at this page earlier in the day and already downloaded the most recent messages, they are not saved in a "cache" on the device so I must be connected to the internet to see them. 🤦‍♂️

f) Use-case Failure ... this more of a "process failure" than a product failure ... but people constantly using Gitter (instant messaging) for asking project/technical specific questions instead of opening an issue question in the appropriate place where everyone in the wider community can read it and learn from the answer. Using ephemeral "chat" for questions/answers that should be captured and allow the future team members to learn from is a massive "anti-pattern" that costs us time/money. The reason I list this as an issue with Gitter is simple: if they had a SDK I would have solved this problem by writing a bot to do NLP on the messages and identify the ones that look like a project/tech related question and encourage the person to open that question as an issue instead.

g) "We're Hiring!" permanent clutter in the (web) UI. 😕

... I could easily go on listing my UX gripes, but I feel this is a task for someone else more qualified ...

Todo

We need someone who has used the product even more than me and has the time to systematically list all the features of the product as well as the shortcomings and potential features we would like to see!

Who on our team has the most experience and/or frustration with Gitter and want's to dedicate a pomodoro (or two) to writing up the features they like, the frustrations that grate them and the features they wish they had?

This is not a "technical" task and requires no specific skill other than observation and writing, it can be performed by anyone who has used the Gitter product and knows its' strengths and weaknesses.

I don't mind if this task takes more than a couple of pomodoros because it is a useful exercise both as a "UX Review" and ideation session and because we (@dwyl) need to move forward. By the end of February we will need to make a decision as to whether we continue using Gitter or switch to something else.

Please leave a comment if this task interests you. Estimate how long you think it will take you before you dive into the work.

Thanks ✨

Cleop commented 5 years ago

My opinion on this one is: - Could gitter do with improvement? yes - How? the reloading issue you mentioned, notifications not reaching the user (both bugs in my opinion) - Does it need new features? potentially but this is far lower priority to me and of much less interest to me than removing the existing bugs. - Do better alternatives exist? From the limited use I have made of slack in comparison to gitter I don't believe that slack has the bugs that gitter has. Although I can't say I have tried slack's mobile app. - Summary your analysis of gitter's features and strengths vs weaknesses is far more knowledgable/comprehensive than what I know of gitter. Whilst we could put more time in to delve deeper, given that for me I enjoy the more basic elements of chat features I am not so interested in that aspect of research (although no harm in anyone else doing so if it is of interest :blush:). Should dwyl switch to slack? I'd be willing to trial something out to help us decide and if we don't like it, we can swap back.

nelsonic commented 5 years ago

@Cleop thank you for reading and commenting. ❤️

This is issue is specific to Gitter and capturing the existing functionality, flaws and desirable features of the product/service. We'll determine what to do next after we have gathered the "evidence" and ideas.

If you know of any other "bugs" in Gitter that you would fix if you had a "magic wand", please share. 🙏

To be clear (to anyone/everyone reading this): I am not even remotely suggesting that we'll be using Slack. I mentioned Slack above for reference merely to note that the "market leader" in Work-based instant messaging is every bit as much of a memory hog as Gitter. Slack is a productivity sap that destroys developer focus and encourages instant gratification at the expense of deep work. I would rather become a monk and never write another line of code than use Slack. 😊

RobStallion commented 5 years ago

@nelsonic as @Cleop mentioned above, your analysis of gitter's features comprehensive, but I'll try to add what I can.

Features

Fails

c) Notification failure; I often do not receive a notification for a message despite having the iOS app installed on my phone (against my better judgement). I regularly only get an email notifying me hours after the fact and when I click it, it takes several seconds to load the conversation. ⏳

d) Navigation Failure : when I'm in the App and attempt to navigate to a different conversation, the current page stays in the view rather than the one I have clicked...

Wish list

rub1e commented 5 years ago

This is uncanny - no word of a lie, I was thinking of opening this exact issue last night

I reckon I've had all of the issues described above, plus on Android I'll see a notification but when I go to the app, the message isn't there - and the only way I can get the message to download is by logging out and back in again. It's... frustrating.

The idea that this is created by developers for developers has never made sense to me

How about I collate everyone's comments and do any extra research next week (after we've closed off the company annual accounts)?

nelsonic commented 5 years ago

@rub1e thanks for adding your Android UX ... that's horrible! 😞 Why have we put up with this for so long?! 💭

The "by developers for developers" is a variant on "we are fixing our own problem" AKA "dogfooding". The theory is that if you are the user of your own product you will want to make it better. And because you are actively using the product, the "user feedback loop" is instantaneous. This is a fairly standard "wisdom" in the startup world, see: https://github.com/dwyl/home/#solve-a-problem-you-yourself-have Sadly, I feel that it has not applied to Gitter ... or more specifically I feel that their OKRs are not closely tied to delivering an "amazing" UX on all platforms. From talking to the Gitter team back in the day, they had infrastructure woes, "funding issues" and other higher priority issues to solve. 🙄 Building a software company is mega difficult! We take "chat" for granted because it's ubiquitous. But building Chat at scale with Node.js and MongoDB is definitely "Eating Glass".

@iteles and I would be delighted if you could collate the comments in this thread (initial feedback). Please estimate how long you feel it will take and add the appropriate label. (thanks! ✨)

Also we need to "cast a wide net" to capture the 3 points (current features, gripes and wishlist) from an much wider audience by writing a questionnaire which we can send out to the general developer community. (The "market research" questionnaire can come later ... for now, just estimate and focus on the collation + summarising task)

iteles commented 5 years ago

At the moment, whilst our processes are still under improvement, I often use gitter to alert people to something that they might miss if there is a lot going on like a re-prioritisation of an issue, that I have answered a question or reviewed a pull request. I don't tend to use it for anything urgent or of any consequence - all of these things go into issues directly (though we do need a much better way of dealing with urgent issues, thats for another day!

I use the gitter desktop app and mobile app for iOS. I never use gitter in the browser because I have enough tabs open across enough windows without having to keep track of one more every time I want to use it!

By far and away my favourite thing about gitter that I have found is also one of my greatest gripes with Slack is 'read receipts' (mentioned in @robstallion's great feature list): image

It brings me a lot of peace of mind! ☮️

The fact that these exist mean I don't feel compelled to acknowledge every single thing that has been said - if a person can see that I have read something, unless it requires an ephemeral answer or I will take a while to get it done, they can see I have read their message and it's on my radar.

Similarly, if I have a non-urgent note for people on logistics for example, e.g. 'The client has asked to move the demo in a few days to the following week, does that work for you guys?', I can see that people have read it (and if they haven't answered it's because they're checking whether it works) rather than having to chase people and keep it in the back of my mind as an uncertainty.

My biggest issues with gitter are similar to the above:

I have a number of little niggles, but these are the things that I feel I'm missing (that and the 🙄 emoji which I find myself wishing gitter supported on the regular 😛 )

nelsonic commented 5 years ago

"Unread" Messages Counter/Notifications ... 😕

Another "bug" that drives me nuts is when I click on a room that has a few unread messages: image When I am in full view of the unread messages (screenshot window viewport constrained for privacy), image Gitter still does not classify the messages I can see as "read". Even after I click on the hovering link to read the "unread messages" the counter in the left menu continues to say 5.

Note: I like the fact that there is a visual cue (green highlight/background) for the new messages. I just wish it worked! If I open room and my viewport displays all the latest messages, they should be classified as "read" immediately. Not linger for ages and often stay "unread" for hours.

So I keep checking and re-checking rooms/threads which have no new messages but Gitter insists there are new ones.

Addendum: this happens intermittently, sometimes it works fine others the counter lingers ... 😕

💬 Does Anyone else Experience this Bug...? 🐛

Cleop commented 5 years ago

Yep, I experience that bug (forgot to mention it before)!

iteles commented 5 years ago

@nelsonic I mentioned that as my second point on mobile above :arrow_up: https://github.com/dwyl/hq/issues/517#issuecomment-459137486

Only happens to me rarely on desktop (I never use in-browser gitter).

nelsonic commented 5 years ago

https://signal.org ? 💭 image