Reading their non-replies on Twitter feels like I'm reading something specifically designed to piss me off. Smarmy apologies, low empathy, cocksure of how correct their vision of a chat service should be.
This one in particular[1]:
> The goal is for workflows to evolve, but we realize change can be a bit of a pain.
"Stupid peasant, we are only here to help you. Once you see the glorious vision we have you will thank us."
This exchange is a pretty good summation of one of the biggest purely practical reasons why I'm so obsessive about tools, and why I'm so willing to put up with the initial cost of learning systems like Linux and Vim/Emacs.
Outside of fundamentally better workflow improvements, most professional fields don't randomly change their tools. If you gave a professional artist a new pencil that had to be gripped differently for no reason, they'd throw it in the trash.
But in software, we tolerate buggy tools that change all the time for no discernible reason. We tolerate software that simultaneously targets professionals and casual users, serving both segments poorly. We tolerate software that can't be customized or adapted for specific workflows. It's tough to put into words, but if you watch a musician or a painter interact with their tools, there's a very clear difference that emerges, and over time you start to realize how much better all of their stuff is.
In most professional artistic settings, workflow changes only happen because they have a clear benefit -- drawing from your shoulder instead of your wrist, changing your embouchure if you play an instrument. And even in those fields, it's generally accepted that over time people will end up with very specialized setups that are very consistent and refined and that remain constant for years and years.
Only in the software industry would someone tell me that my professional tools should change because change is inherently good. Only in commercial software would an elegant, consistent interface like Markdown that allowed me to build up decades of muscle memory until my computer was an extension of my fingers and I didn't need to think about the way I typed -- only in software would that be considered a bad thing.
Your comment is a punch to the gut for me, I've been developing an internal CRM for two years that embodies many of the philosophies you describe. But while it is somewhat depressing, I'm left with questions about how bad it really is.
First, is it possible to develop software without inconveniencing business users with temporary (let's assume the ultimate products are better then the linux/vim/emacs they are superseding) regressions and inconveniences? And what is the cost in terms of time to route around such pitfalls? Would we still be able to have startups at all if products required thousands of hours of QA or perfect test suites in order to launch?
Second, if we were to set a hard rule 20 years ago that all software was to avoid this phenomenon during its development, what valuable tools and services would never have been developed at all? Would we still have Twitter? Reddit? Steam? Whatsapp? I don't have to dig far into the history of any of those tools to find near revolutions by their userbases over braindead UI or adversarial practices in the name of "vision".
I don't know, these are open questions. I just think avoiding all such frustrations you mentioned is wishful thinking and at some point it is just part of the process of experimentation and iteration. Or perhaps this process is entirely different in a small corp. versus a big corp. environment.
> Would we still have Twitter? Reddit? Steam? Whatsapp?
How many of those broke old workflows to introduce new ones with no clear benefits?
But that's not the point. We're not talking here about broad services like Reddit, Twitter, or Steam. We're talking about something more akin to a libary. You shouldn't break interfaces in a library without a strong, compelling reason.
Do things need to change eventually? Absolutely. Do they need to change today, because someone decided that the old workflows they don't like need to break for everyone? Maybe not. There's perhaps some room between the two.
It's been my experience that business software often represents a deep investment in a given workflow. Sometimes to the point where businesses are willing to spend a great deal of money to preserve those workflows and integrate new things into them - MuleSoft springs to mind.
Which is not to say that you're wrong. It's absolutely possible to develop new, improved software that's better in critical ways. Sometimes people and businesses are willing to put up with temporary regressions and inconveniences to gain substantial improvements. To use the above comparison, I've seen artists invest the time in learning how to draw all over again in order to jump from paper to digital.
What Slack has done is take away what was a perfectly functional workflow for many people. This doesn't look like a temporary regression or inconvenience. This looks like a permanent, hard break without substantial obvious benefits for people who used the old workflow. Communicating with users in a way that telegraphs very clearly that Slack doesn't care at all is just gilding the lily.
I'm not saying that all change should be avoided. I'm saying that all change is an annoyance to your users, all change has a cost. So if you do want to force your users to change, provide them with an escape hatch so professionals can avoid that, or be really certain that the change is genuinely making things better.
Imagine that every change you're making is like hitting your user in the face like a brick. If you're going to improve my life a lot, I may let you hit me in the face with a brick so I can get the new thing. But if you hit in the face with a brick and then my life is worse as a result? Don't do that.
Learning the basics of Vim was a really big, hard change for me, but it was an adjustment to my workflow that was made for a specific reason, that made my life better and that made me more productive, and that (importantly) was a decision I made voluntarily. It was not change for its own sake.
> Would we still be able to have startups at all if products required thousands of hours of QA or perfect test suites in order to launch?
On the contrary, how many more interesting, better chat apps would we have if every one didn't feel the need to reinvent Markdown? Wouldn't it have been more useful if instead of rebuilding their editor for no reason at all, Slack's engineers instead added new API endpoints, or experimented with encryption, or added new search tools, or addressed any of the pain points that actually get raised by professionals using their product?
I would also push back against the idea that this is simply the cost of experimentation. Vim/Emacs are much more experimental editors than Word, yet even modern remixes of those editors like Spacemacs put more thought into user customization and consistency than Word does. Spacemacs' keybindings evolve -- but they never force you to accept that evolution if it would break something fundamental to your workflow. And Spacemacs is doing way more experimental, interesting stuff than Slack is.
To add further onto that idea, prioritizing future innovation over the productivity of real users is a very software-specific philosophy about how a professional field should work. New animation techniques come out all the time, but we don't look at people like Miyazaki and say, "that man is holding us back." It seems to be a software-specific concern that a change is proposed, people say, "I don't like it", and then engineers get somehow upset about that fact, rather than just saying, "cool, it was an experiment. Let's revert and move on."
I did not get into programming because I love computer interfaces. For me, being treated like a professional means that a company makes me specifically more productive. I don't care if a change makes things better for someone else if that change is making it harder for me to do something I love. As professional a professional developer, it is OK to demand tools that work well for you.
Of course no field gets this perfect, but virtually everyone gets it better than us. My experience is not a demand for a theoretical utopia I can only imagine. I'm looking at every other professional field and saying, "why can't we have the stuff that they have right now?" It's very much a feeling that's informed by how good it feels to work with physical mediums as an artist, and how utterly crappy it feels by comparison to use Skype or Windows 10.
This is honestly a major contributor to the badness of software in general.
Ideal software would be continually fine-tuned and shrunk -- there'd be no bi-annual massive redesign, no change for change's sake alone. Instead of bored devs sitting around an office looking for ways to integrate $FRAMEWORK_OF_THE_MONTH and get those coveted resume points, a well-run project would make something work well and then they'd leave well enough alone, focusing only on bugfixes, performance, and other "boring" projects that don't make for big press releases. Changes to working products should be as surgical and minimal as possible.
A good compensation structure that would prioritize stability and consistency would pay an ongoing royalty to the relevant technical people based on the product's performance, uptime, and minimal crash/bug occurrence. "Hours worked" would be minimally relevant. One wonders if so many people would be so desperate to desecrate their production infrastructure if a high-quality work product and compensation were actually correlated.
But because we can't break out of the assembly-line 40-hours-per-week mentality, we pay developers as if they're line workers, and there's always got to be something on the line to keep those worker bees buzzing, regardless of the aggregate negative impact of constant uncoordinated meddling in complex systems.
> Instead of bored devs sitting around an office looking for ways to integrate $FRAMEWORK_OF_THE_MONTH and get those coveted resume points
This hits painfully home for me. I learned a few weeks ago that some of my coworkers did something akin to this. They were working on what was frankly a mostly-silly project to preserve the relevance of increasingly irrelevant internal tools. Once they had produced something working, they stopped. Then they re-implemented the whole thing in Rust.
Which few in the company know or use. There are no clear benefits to this except exciting resume points for the developer in question.
And they are all scrambling to data mine every arbitrary slice of the data to make it look like the musical chairs of features somehow drove conversion and the lack of bottom line fiscal performance is some other department’s fault for handwavy reasons.
This new hive mind of corporations empathising with the poor common man needs to stop. It is outrageously frustrating, condescending and patronising. Every CS rep is trained to say “I understand” more often than they breathe. Corporate blog posts wax poetic about their understanding of the struggle of modern life in the first world. How sorry they are to be doing exactly the opposite of what somebody would do, who actually empathised.
I will be the first to admit to a temper, but honestly if I hear one more CS drone tell me how much they understand, I swear to god I will reach through that phone and quiz them on it. Do you really? Explain it to me. In detail. So help you God if you forget anything.
Ugh.
You know, say what you will about the mob; at least they don’t treat you like you’re three years old.
That style of communication where a corporate entity pretends to be friendly and concerned even as they're downright shutting you down is extremely annoying. It comes across as dishonest and condescending. I wish this type of PR would go away.
If someone who's reading this works in social media, here's what would have been less annoying:
- Saying "it's not possible right now, but you have a point and we'll reevaluate this" (even if it's a lie)
This attitude to their rollout reminds me of the recent rollout of Twitter's maligned new desktop UI, the new YouTube Studio Beta, and reddit's new UI.
There is almost a meme of online platform service providers not understanding their users and their workflows, and rolling out new revisions that hamper or outright remove functionality that those users rely on.
I guess the canonical example would be that one Digg redesign that nuked the whole platform, or Snapchat's redesign a year ago that stunted their growth.
Luckily, we haven't had to experience this at Hacker News thus far ;)
> online platform service providers not understanding their users and their workflows
In regards to the Reddit redesign, I think the people complaining that "they ignore their users" are stuck inside a bit of a bubble.
I have a lot of friends who recently discovered the site, and they much prefer the redesign to the old one.
I forgot where I read it, but I vaguely remember stats backing this up, or at least increase in engagement or a reduction in churn for new users following the redesign.
Something like 50% of Reddit users are on mobile, for which the redesign is targeted (I believe)
Re: Slack, I know many non-techies who struggle with markdown and would welcome a WYSIWYG editor with open arms and wide smiles.
What are they using reddit for, though? Serious question. You can probably find 10x-100x the number of people who would use a site just for amusing cat GIFs vs. a location for actual discussion, but the users of each are looking for fundamentally different things. Reddit built itself on being a text-forward group of forums. The new redesign is, frankly, a dark-pattern horrorshow designed for eyeballs at the expense of deeper engagement. They're keeping old.reddit around for a reason.
> There is almost a meme of online platform service providers not understanding their users and their workflows, and rolling out new revisions that hamper or outright remove functionality that those users rely on.
True, but there's also a meme of people screaming bloody murder over a redesign for a day, and then being fine with it, e.g. [0]. Some complaints are worth investigating and some are just who-moved-my-cheese griping that can and should be ignored. It can be tricky to tell which is which though.
Slack's voice is great when they're saying positive things, but God is it exhausting when they are replying to negative feedback. It's like listening to Ned Flanders, only with some extra patronizing emoji to rub it in
Smells of bad UX/design process - some senior "wants" this particular solution, despite their users showing direct feedback that it doesn't work for their needs.
I'd push back on your last point; there's a zero-sum feedback process here that is invisible. You're seeing the negative feedback from a vocal set of minority power users; the positive feedback from people isn't going to be known or seen in anything other than usage metrics.
You say "users": how many, what percentage, what cohort..you get the idea.
How do you tell the difference between unpopular features and ones that are mostly liked? In both cases, only "a vocal set of minority power users" would say anything.
With the state of statistics literacy in this industry, "usage metrics" often mean whatever the person citing them want, with no malice or deception intended. Accidental, inadvertent p-hacking is shockingly common.
Actually, the cmd/ctl-z advice is actually moderately useful. If you type it immediately after the closing formatting character it undoes the wysiwyg formatting. (I'm not arguing against a way to turn the wysiwyg input window off, however.)
Did their engineering team not dogfood this change? What Slack engineer or product manager tried to share a `snippet of code` with a peer and thought, "yes, that was a pleasant experience. we should ship that."
That's a surefire path to irrelevance. Nobody wants groupware. Nobody uses it unless forced.
On the bright side, that would leave a hole in the market for an enterprising chat developer to fill, hopefully with something less annoying and resource intensive.
It reads more to me like whoever they hire to run their twitter doesn't have the authority/knowledge to engage with complaints other than being nice and saying "I'll pass that on". This would be fine normally, but not really when they've shipped a feature that everyone hates.
I know. I try to give the social media people leeway since they're almost always just the messengers. This thread in particular just seemed laser targeted to aggravate me.
If you are taking a job with you are specifically being paid to be a human shield, I am not going to hold back from treating you like the face of the company you are. The more abuse these mercenaries take, the more the corp has to pay to staff them, and the more the owners feel the pain of their misdeeds.
Is there any way that tweet could have been written that would have satisfied you, without actually agreeing to change course right away?
To me the tweet's tone says that they honestly care and don't want people to be inconvenienced, but also want to at least see if people will warm to it.
There has to be some kind of healthy balance between listening to user feedback and never changing anything.
The extreme version of listening to user feedback is: https://xkcd.com/1172/
> Is there any way that tweet could have been written that would have satisfied you, without actually agreeing to change course right away?
Not passive-aggressively suggesting that the problem is with the user and not the tool. "The goal is for workflows to evolve" effectively means "this is how it's going to be, you'll have to adapt (even if it's worse for you)".
My workflows have thankfully "evolved" to use different tools. Zulip and Discord both still use markdown input, and I no longer use Slack for anything.
Amusingly, for https://riot.im we just shelved our WYSIWYG editor efforts after trying two completely separate implementations over the years (one via Draft.js, the other via Slate.js) because: a) it's a nightmare to get right, b) nobody used it anyway (it was optional), c) chat isn't a wordprocessor, d) markdown (commonmark) + floating formatting toolbar is good enough.
Our current editor was written from scratch (codenamed CIDER), and seems to work pretty well for markdown input + some semantic elements like prettified usernames, room names, etc.
So true, I was annoyed all day and didn't know why. Had no idea they had "upgraded". I thought I had inadvertently hit a toggle that put it out of adult mode. I was too busy to fuss with it. Every time I went into that box I came out a little more angry, a little older, and farther from the feeling of good flow that Wednesday typically brings.
You know what else has a terrible WYSIWYG editor? Microsoft Teams. It's kind of sort of like Markdown, except when it isn't, or when it breaks. At least it's a step up from Lync.
All I want is consistent syntax for links, italics, and bulleted lists, bonus points for numbered lists, bold, and code blocks. I don't want to have to click stuff when typing, and I don't want to remember keyboard shortcuts with subtle differences between different services.
Markdown is good enough, yet for some reason, each platform finds it necessary to do something slightly differently. I really don't care about a WYSIWIG editor, as long as I can use straight text if I want. Basically, I want Reddit comments in instant messaging and bug trackers.
The exact same happened with the draft feature. The importance of habit forming UI is very well documented, going back at least as far as Jef Raskin's The Humane Interface and the draft feature completely breaks it -- if you as much as accidentally leave a character in there, you can't find the channel/DM at its normal place. Despite repeated calls to make it optional, nothing.
Threads are also broken, has always been. For example, if you get a notification in mail and it's in a thread, you can't jump to it, clicking the link dumps you into the channel and you are left wondering. Previously (as in, going back at least to '90 or so with IRC) you were able to skim the entirety of discussion in backscroll, now you'd need to open every thread on its own. As a senior developer, this was tremendously helpful to everyone because I could just skim a larger batch of discussions at a time and give some advice later as needed. Both of these problems could be solved if threads could be opened, you know, thread style into the channel. But... no. Also, if you answer in the special "threads" view then you will need to click the new answers link every time someone answers. It's terrible UX.
It used to be that adding a text snippet was right in the "add" menu you opened on the right hand side of the text, now it's in a submenu, seriously slowing down creating one. The menu wasn't getting large at all, no reason to do this.
It's very strange, they are the top dog, with immense inertia but it doesn't mean a younger, more eager, better UX, slimmer chat won't replace them. Digg to Reddit, remember? Until then, does anyone want to write a "Better Slack" collection of scripts injected into the app? I pledge 20 USD to fix these three problems, anyone else?
I've had these exact same problems with Slack and every application that evolves and makes decisions for you. Usually they have the right idea, but sometimes they take decisions way too far and don't let us as users decide for ourselves.
I understand the concept of continual updates but these are some breaking changes and it scares me that they just show up overnight with no warning.
I actually love that drafts are brought to the top; it keeps things from getting lost for me. I even sometimes will write one character as a reminder I need to finish. But still, I understand your frustration.
That being said, search makes it really easy to solve this. I rarely do anything other than Cmd+K/Ctrl+K, and type a character or two. For me, it's become second nature, and I never find myself searching around for where to go. For me, the left sidebar is more of a status report, while Cmd+K is how I navigate.
The infuriating thing is that these would be some of the easiest possible features to add a toggle for. There's nothing wrong with liking drafts that float to the top, or rich text editing, but when a significant portion of your users is extremely upset about a tiny UX behavior like this, even if they end up being a minority, there's no excuse to not add an opt-out.
This is funny because I work across the street of Slack’s office in Vancouver, Canada and two Slack engineers who I frequently chat during our daily commute already told me they —and a handful of other employees— hate the WYSIWYG input box too, but were afraid to express their feelings because their role is irrelevant compared to the people who made the decision to ship it.
As others have said it means "Highest Paid Person's Opinion" but as a little extra.
It is usually used when a company has no actual data to work on and therefore goes with the "obvious" as defined by "the boss" (Hippo).
Not that it is necessarily true. There could be lots of data that some people are not aware of and that only senior people are privy to, but if that is not shared with the team developing the software then that is in itself not a great sign.
This reminds me of Atlassian's god-awful WYSIWYG editor.
In both cases, I get that some users can't or don't like to use a machine grammar/markup, however simple. For some people markup is bad UX. Give them a WYSIWYG; that's fine.
But don't remove the markup editor if your WYSIWYG editor is anything but a perfect one-two-one replacement for markup (and I have never seen one that satisfies that).
IIRC there was a time when Confluence axed their markup, and inevitably a table or a template would get completely screwed, and there was nothing you could do but recreate it. TERRIBLE design.
> IIRC there was a time when Confluence axed their markup, and inevitably a table or a template would get completely screwed, and there was nothing you could do but recreate it. TERRIBLE design.
There was. I was using Confluence at the time, and it broke a lot of things. There was a wonderful filed bug at the time with a lot of angry people on it, where they promised to bring the old mechanism back as an option, and they never did. That told me everything I needed to know about Atlassian.
Atlassian Jira/Confluence SUUUUUCKS. They have given up on making anything better. I try to do as much as possible on Markdown files in a GitLab repo using Atom's Markdown preview (e.g., documentation). Gliffy diagrams are still OK.
I stopped using confluence the moment I realized the markdown editor was removed. I don't care so much about the flavor, but there's something very annoying about needing to get fancy with the way I edit text to preserve formatting.
At the risk of sounding like a shill, I'd like to shill Zulip. We started using it instead of Slack, and it has been amazing. It's fast, everything is designed to help you get to conversations quickly, keyboard accessibility is second to none and the streams is a much better default than rooms.
I can't recommend it enough, it's well worth the money even though they have a nice free tier and are OSS so you can self-host.
I'll just go ahead and admit to shilling. Zulip is amazing and I tried to get my company to switch to it. The only thing that stopped us from switching is well, the fact that people have to switch. They have to learn another tool, and Zulip sadly is not too friendly when you first start using it, though it's amazing for power users.
I literally believe it's the future of enterprise chat. There's no better tool for getting actual work done.
edit: I guess I should clarify about the shilling part. I contributed a single feature to zulip, once. So I guess I'm not really a shill, but I love the product.
Zulip looks great, but it also looks like the sort of thing I'd have trouble convincing everyone to switch over to because even though it might be more useful in the long term, in the short term its a bit more complicated (even though we're on the free slack, so we're looking to move elsewhere)
That's exactly how I'd explain it. It took me about 3 hours to be extremely comfortable using it and feeling productive. But first impressions by all of my coworkers were "It's so confusing", "There's no way we can use this, it's terrible", etc. But it's amazing. Just absolutely fantastic.
Especially if you have a team of 1500 people. One person trying to make a browser WYSIWYG is bad enough; can you imagine how buggy it would be if 1500 people worked on it?
Specific bug gripes aside: I see this editor as emblematic of Slack's broader shift away from what I think it should be (primarily synchronous chat; irc with a friendlier ui and integrated bouncer features) towards what many people seem to want to use it as (async-heavy pseudo-replacement for email where I get to sit and watch the "...is typing" indicator flicker while somebody writes an essay at me).
My rule of thumb generally is: if I need significant rich text formatting in a message I'm writing, it should probably just be an email.
I feel like this increasing hybridization of sync/async comms is largely counterproductive and especially harmful to work-life balance, so it's unfortunate that companies like Slack are apparently unable to focus on core competencies and instead must shoot for disruptive growth via poorly-executed junk like this editor.
I personally have no problem with the hybridization of sync/async communication. That's where everything is headed. People send emails and sometimes expect them to be delivered and/or read immediately. OTOH, people send messages over these "chat" services that aren't time sensitive, simply because it's easy and available.
My problem is that all these networks are proprietary and isolated. When someone comes up with a really bad idea in their UI, you're SOL until they decide to fix it. When someone comes up with a really good idea, you have to hope their competitors re-implement it. And all they can do is gently try to guide their network into the place they want to occupy on the sync-async spectrum via features.
Looking back at the history of computing, I see that when a protocol is open and has many competing implementations, it lives on far beyond what the original designers ever intended. When a protocol is proprietary and implemented only by a single proprietary UI, it has a fairly short lifespan. What I can't tell is if these companies don't know their history, or if they think they're going to be the first ones ever to beat this trend, or if they don't care and just want to grab money while they can.
It is infuriatingly terrible. A regression. So many times I've had similar woes with the code block and quote block mechanisms too.
Another truly bizarre feature I noted and sent a bug report about was that when adding an image to an "Action" the _minimum_ size requirement is 512px by 512px. For an image that is never rendered larger than 64x64.
All code sucks now, not just blocks. Inline code screws up at least half the time I use it; it tries to guess what I want, and sometimes doesn't end when I close it with another backtick. And, when going back and editing it sometimes carries the formatting outside of where I put the backticks.
So frustrating. I hate having to think every time I insert code and re-do it about half the time; I'd rather have no formatting (just show me the markdown as-is) than this mess.
On a high-density display, that 64px x 64px image covers a lot more surface area than 64x64 actual pixels on the physical display. I suspect that this 512x512px requirement is related to scaling factors on devices with high DPI displays.
The changing behaviour of enter/shift+enter in code block drives me absolutely crazy.
Normally, shift+enter is newline, enter is send. However, inside a code block, it's the opposite. I constantly forget this and press shift+enter for a newline while in the code block and accidentally send a half-finished message.
Sad to see the new WYSIWYG editor does exactly the same thing.
That's likely due to HiDPI displays. A regular display is probably in the 100 DPI range, but we have phones that are in the 400 DPI range, so that icon size suddenly isn't so big anymore.
I've been suffering from this one too so I'll share the most annoying part for me. I frequently have reasons to type out glob patterns generally in backticks. The interface for this is completely broken in the new WYSIWYG editor. Here's what happens when I try to type: `//`, things work normally up until the second "" at which point the "/" between them becomes gets bolded, which makes no sense, because you can't bold text inside of backticks. Then when I input the second "`" it becomes a monospace block containing `//` and the ""s have completely ceased to exist.
They also somehow broke the tab key for tabbing through users when you're trying to @ someone, after the first tab it just starts refocusing your input boxes rather than selecting different users.
I suppose a new acronym would be suitable for this situation: WYSIWYGBNWYW, What You See Is What You Get But Not What You Want.
With the availability of detailed API documentation (https://api.slack.com ) that seems to make it relatively easy to write your own client (and they even link to some thirdparty clients as an example of what you can do), their refusal to change could almost be interpreted as "no, you fix it".
If I had the need and time, I could probably write a native Win32 Slack client in a very short time; in fact I'm a bit surprised that one hasn't appeared yet because I was expecting that to happen. Maybe it will, if they keep messing around with the official client.
The funny thing is that I am sure most of the people who work at slack know it's terrible, but no one asks them. There is a small cohort of product managers who probably have a plausible-sounding reason to do it, and they need to do something to justify their jobs, so they alienate everybody else because no one stops them.
I am, to put it lightly, familiar with this in other companies.
my experience with Slack technical folk (on some tricky auth bugs and other issues we've hit over the years) has been excellent. They're fast, knowledgeable, never pass the buck, and communicative. If it's the PMs doing this, they're letting down an otherwise great team.
The next step that also seems to happen more often than not: Despite user outcry, the company digs in, becomes defensive, and dismisses complaints with platitudes or snark like “you’ll get over it”. See also: Slashdot redesign, Fark redesign, Reddit redesign, Digg redesign, and so on.
I accidentally clicked a slashdot links yesterday. They show comments by default, sorted by New, despite having invented the best user-enforced moderation system ever seen on the web, and the #2 comment was 10 screenheights of screeenwide ASCII art swastikas. Hooray for UI redesigns to chase the next million dumber users.
Fuck slack. They're hostile to user choice and preferences, pushing a one-size-fits all attitude. Communication preferences are extremely personal and must be respected.
I have a custom ssl proxy to intercept slack.com and modify their api, eliminating what I believe to be dark patterns. Some things I do:
* Force dark mode always
* Disable favicon.ico updating when there are notifications in DnD
* Group channels based on name prefix (stealing behavior from an add-on)
* Ignore bots
It's hard to keep this up to date so it's not really that robust. If I open source it I know I'll get legal pressure from slack, not to mention they'll probably try to block it.
I'm going to take the opposite of this argument, and for bonafides, I run the product team for a 1000+ person company.
I'm going to assume that this thing was tested out the wazoo, both qualitatively and behind enough feature-flags and buckets to keep Optimizely in business for a year. So I have no doubt that this wasn't just a hunch on their part, but something that they meticulously tracked. If I'm wrong, definitely let me know.
Anyway, the main point, what percentage of people do we think knows markdown to such an extent where it's easier for them to use than a WYSIWYG editor would be? I'd venture on HN alone that number is <10%, and considering Slack is used by a far wider and less-savvy audience than on here, I don't have much of a problem with the reasoning behind the change.
I think the lack of backwards-compatibility is a legit criticism, and sure, an opt-out would be nice, but I don't think for a second that this is as egregious as people are making it out to be.
Everyone that was using slack was clearly aware of backticks, underscores, and stars, which is really the most you need, and probably 99% of everything used.
Surrounding some text with these marks to achieve some formatting is hardly rocket science. If someone doesn’t do it it is really because they don’t want to understand.
If you however make an editor that fucks up using any of these marks? Well, that’s a big time failure.
Exactly, all the cool kids were using backticks, underscores and stars. Naturally the lesser users would figure it out just to fit in. Everyone feels mildly powerful being able to wield a tool like this as trivial as it is. Now we're all just back to being bottom feeding piker fish toiling away on word docs.
I work with a bunch of non-tech people. I get what they're doing. The techy people are the only ones who bother using ` for anything. I have no idea if non-techies will start now that there's a button for it, but typing it is now really annoying for everyone who has been using it.
I kinda reminds me when Confluence added their WYSIWYG editor--or using Frontpage. I basically /had/ to go to code view to get the page to look consistent. So far Discourse has been my favorite implementation, with preview being off to the side. I'm sure that would eat up too much real estate for Slack.
>Anyway, the main point, what percentage of people do we think knows markdown to such an extent where it's easier for them to use than a WYSIWYG editor would be?
Well, Slack supported so little of Markdown that this is a moot point.
It's logical from a short-sighted perspective as I'm sure it looks good to investors to have a longer checklist of features. But shipping a broken feature is eroding customer trust.
At MongoDB, we were supposed to be on it at all times. It was a continuous source of stress and broken concentration. It is what I left behind most eagerly.
Curiously, Google Chat has not become similarly stress-inducing. Yet. Gmail has become moreso lately, though. At least once a week it manages to conceal an important message.
Since Google Chat works, I expect them to drop it soon.
Google Chat is quite stress-inducing for me as well. Maybe I don't know how to use it properly, but when I get a notification it is so hard for me to find the message that triggered it. Our Google Chat has a lot of messages, so sometimes I could have to scroll through hundreds of messages and thread to find it. It's not highlighted or anything to make it easy, either.
Because I often can't find the message that pinged me, it's extremely stressful. I worry people think I ignored them, when in reality I never saw their message, despite actively looking for it.
His second big gripe is you can't position your cursor before a styled phrase and add to the front of it. That's a legitimate annoyance, but tbf Google docs and TextEdit behave the same way.
I'm 1000x more annoyed with the features taken away from ScreenHero than this stuff. Or the channels jumping over to some "draft" list.
You can submit feedback to Slack using "/feedback" command. The nice thing it appears they have real people give you real replies. I encourage people to use it.
I asked them for the option to turn it off. An excerpt from their response.
> ... we understand that this has caused a disruption in workflows for some of our more technical users. While we don't have any active plans to make this configurable at the moment, we are in the process of collecting user feedback so that we can find a way to make it work for everyone.
I wish Enterprise software or anything where I have to pay money to use had strict contracts about changes and mandatory opt-ins.
It's ridiculous that in this day and age, we have to be worried about some PM deciding for large swathes of users what's best for them.
I just want my tools to be predictable and usable and not have to relearn every bit of quirk someone fancied.
Could not agree more. I hate the world we are building with SaaS type software where the user (me) has no control at all over versions, when/where, etc. I honestly think I may prefer the old "buy a shrink-wrapped copy" approach. Back then it was rare to run into bugs, and nobody ever "upgraded" me without me knowing and radically changed the UI. Maybe I'm just being grouchy and "get off my lawn"ish, but dang.
And it's insanely myopic that software companies don't understand that stability and predictability is a feature you best not mess with when it comes to _tools_.
I feel so blissfully privileged every time Slack comes up here.
Somehow using Slack has never come up in my life. I'm sure not looking forward to it.
(Though I do know the pain of having to use some frustratingly crappy-ass software because working with a client or for an employer makes it non-optional. Come to think of it, I've done my time.)
Yeah, I've always hoped they would change their position on supporting markdown. Their big report on it says they will never support it. Looks like this might be why.
Since moving companies, I have traded slack for microsoft teams.
Teams is pretty terrible in comparison, one of the most annoying "features" is it's WYSIWYG editor, I have no idea why slack would want to copy one of the worst elements about teams.
I love reading the responses here about how these decisions are made. I've watched a CEO at a unicorn constantly parade his vision past the UX and design team until they all quit or were fired. He got what he wanted. Customers were constantly battling the interface. And now he's worth sen digits so he must have been right... Right?
I want to chime in with one editor that I think nailed a markdown WYSIWYG: https://www.typora.io/
It's hard to explain the concept with just words, but I will try: While you're typing, markdown is fully exposed, but when you move the cursor away, the formatting characters disappear and you just see pretty formatted text. As soon as you move the cursor back to the formatted text, the markdown reappears so you can edit the plain markdown syntax.
I've been using this editor for two years and I think the developers were really clever in this implementation; I've never experienced any unexpected issues. Slack, on the other hand, has been driving me absolutely crazy. (Try changing an inline code block after you've created it. Easy in Typora, a nightmare in slack.)
That example worked fine for me, the second example (a variation on the first) worked as the article described. Once foo() was "code", I couldn't update it (at least I couldn't discover how to do so outside of killing that bit).
I'd bet the first example didn't work at some point, and then was quickly patched.
I've given up entirely on the Slack desktop app and use Ripcord exclusively. Much faster, more responsive and easier to use for 99% of my time spent on slack.
Pah. Next you'll tell us that once Ripcord shows you some messages, its "N new messages in this chat" notification actually goes away. Now that would be a killer feature, if Slack managed to implement it.
I just tested ripcord and it didn't seem to work very well on Gnome. Didn't do dpi scaling so it looked tiny on my main monitor and the notifications showed up pretty broken.
Gnome should probably have the correct DPI values, since it's a complete DE, but I'm guessing something has gone wrong with the way the Qt version that Ripcord uses is reading the DPI values.
It would be better if this always worked out-of-the-box 100% of the time, but Linux desktop environments are quite varied and it's hard to handle every case while also not limiting support to specific desktop environments and versions.
The speed difference between Ripcord and Slack is just night and day. I had forgotten applications can respond faster than I can type, yet here we are.
Sadly they aren't going to implement some of my most used features from slack in ripcord so I stopped using it. Was ready to pay a ton of money to the dev as well.
My main complaint about Ripcord is that it's non-FOSS, which is somewhat concerning to me (the price is a non-issue; I'd be happy to pay the $20 if that comes with source code access). Sure, Slack itself ain't FOSS either, but I'm more inclined to make it as FOSS as possible (e.g. via Rambox or in an actual browser like Firefox) than to switch clients.
It also doesn't seem to acknowledge my starred channels; while the bookmarks are better anyway, those don't carry over to my phone or my other computers.
I'm pretty sure there are others in that list which are also standalone thirdparty clients, but clearly they would not be listing those on their own site and providing plenty of API docs if they forbid them.
I've found "developers", people who work extensively with plain text and mark up languages, mostly hate WYSIWYG. Because it just gets in the way of / works differently than the skills/knowledge they already have.
I presume people who primarily work in Word/OpenOffice/Whatever Apples thing is, feel the opposite.
If your customers include both, UI is basically impossible to get right for everyone.
1. I used to administer a mediawiki instance for R&D at a mid-size enterprise software company. It was used by perhaps 300 people. Many, many developers disliked wikitext and wanted a visual editor and/or word-to-wiki converter. Some people just prefer wysiwyg over markup.
2. If your customers include a meaningful population of both, _include both_. Make the 'friendly' editor the default, with a preference to use the old (presumably stable) editor. Obviously this doesn't work for all features, but it seems like the text entry box in the Slack app is one that could be easily configured this way (maybe not?).
I never had a problem with formatting code in slack until this release. And the hotkey (Shit+Cmd+C) doesn't work for me, although that might be my window manager interfering.
I guess they reach point where they are trying to improve something that was already good enough.
For me most annoying is that they removed setting that allowed me to configure to have up arrow to repeat the last command (like on IRC) this is very useful if you do ChatOps.
This article reminds me of a recent post on HN titled "Text Editing Hates You Too" [1]. WYSIWYG text editing is never easy, and I am sad to see another instance of it taking over a spot where plain text (which still is not immune to the issues in [1]) used to be.
If they didn't care what designers thought when they shipped a new logo featuring a colorful pinwheel of erect, stubby penises and dangling testicles, then they won't care what users think when they deploy the equivalent feature.
Not exactly the same thing but GChat used to have a mini drawing UI where you could send a quick doodle and it super useful. No one else seems to have picked up on it.
It does the right thing for me. This was the case yesterday and it still is today.
It's possible that the author got a different release. It's also possible that the author was trying other very similar scenarios that behave differently, e.g. backquotes behaves differently at word boundaries and inside a span that has already been converted to the code-formatted rendering.
Overall it's pretty confusing, but the simple case that the original article points out works fine.
It's something so simple that they made complex. It's not just code formatting, even things like italics are annoying to escape from if you're used to the old interface.
Also, I totally understand their desire to get rid of the subdomain aspect of slack. As a developer I get it, I really do, but now there is no way to easily go in the browser to the slack that you want. It used to autocomplete now I have to figure out which slack is what and I get confused.
lol product managers are such a bane for tech companies. they have to keep shipping features which no ones wants but they have to show they came up with and are shipping something. i think tech companies should try and avoid product managers and designers for as long as possible.
Users are to blame. There always has to be something new, even if its no better or even worse. It just has to change regularly or people think its stale and move on. We see this loads in phones where totally useless features like samsungs curved edge or foldable phones and the removal of loads of useful features.
Slack is dead, they just don’t know it yet. Give Microsoft 2 years to keep grinding on Teams, continue to drive corporate adoption and slowly kill off Slack’s income.
I’m not a fan of Teams, but at work we’re switching Slack because we get it as part of our licensing agreement (3,000ish users.)
Only now realising that something had changed. I've spent days thinking I did something wrong that has made Slack more annoying. But of course more annoying is basically the spec for every new feature.
Hmm I am actually not experiencing either of these bugs. The backtick character works as I'd expect. I definitely prefer the pre-WYSIWYG interface that is currently loaded in my Electron client though! Markdown is the perfect level of abstraction for styling without getting in my way!
Press the "Aa" button and the row of icons goes away.
Based on the title, I was dreading checking this out but... I kind of like it; Keyboard accelerators for dropping in and out of the various block and list modes, quick action for code etc.
WYSIWYG in general is terrible as it tries to hide the underlying structure rather than show it. We really need an UX expert to rethink how these editors should behave so we can move forward with editing rich text
If I type an inline `foo()` it converts to WYSIWG as soon as I type the closing back-tic and everything I type after is back in normal text mode. If I left-arrow to have the cursor inside the formatted div but before "f" and type "bar." I wind up with the expected effect `bar.foo()`.
It takes one extra arrow press to move the cursor beyond the invisible back-tic to shift from the inline code to plain text regions before or after the block.
I preferred the old input just because I don't like having content jump around while typing. I'd still rather hit the preview tab to see it rearrange itself.
I use Firefox and I've had nothing but trouble from the text box. It's just atrocious, I don't know why they'd do this when the previous box worked so well. At least make it an option!
I think this may have changed, very recently. Now when I paste any of the example strings in the post, I get an alert that I've pasted markdown, with options to apply formatting, or not ask again[1]. After that, it recommends using a new shortcut, (Cmd/Ctrl)+Shift+F[2].
It is pretty astonishing how much Slack was able to grow from their initial 2 years of being ahead of the curve in UX, despite being mediocre/bad on every other front since.
> I think the only way to insert text at the beginning of a code span in the WYSIWYG editor is to highlight the first character of the span and type over it
This seems better than what I was doing: put the cursor after the first character, type the new beginning, add the same character and remove the same character from the beginning. Thanks for the tip!
The OP said they felt the person should be reassigned. This is hardly a call for termination. It was also accompanied by constructive points about productivity software relevant to the post at hand. I do not believe there was anything unkind in suggesting that maybe the person was in over their head.
I agree that it's much better than saying explicitly they should be fired or (as internet users often do) worse. Still, there's no need to get personal about it. Organizational failures are almost never one person's doing, and having an indignant thread sitting at #1 talking about how ugly your baby is is punishment already.
Their stock has been decimated. Tempted to still short it at this price. Very clear it’s not much more than a feature that has quickly been commoditized.
There is this long-standing bug on mobile versions of slack where large swaths of messages just disappear. The only way to get them back is to sign out and sign back in. This is supposed to replace business email?
You know what largely replaced business email AND these crappy chat applications for us? GitHub issue threads. We do a very large part of our collaboration right next to the code now. Email & chat is now mostly to just asynchronously notify regarding one or more issue numbers. Managers, developers, everyone. If you want something discussed or handled, make an issue. It's got a single numeric identifier that's trivial to pass around, even to clients and end users. Labeling systems applied to issues can quickly turn a messy bucket into a well-oiled software factory. If you use GitHub, this is also a strong argument for a monorepo, as you could have 1 unique identifier for anything across the entire org scope that also links into your code contexts seamlessly.
The UX around GitHub must be incredible for non-developers, because I am watching project managers with zero engineering/coding background learn markdown syntax almost accidentally. In all of our time using GH issues as a collaboration tool, I have heard exactly ZERO complaints regarding anything being broken or unfriendly to use.
We now look back on Teams/Slack/Skype/Email usage as dark days. "How the hell did we ever get anything done?" is the usual take when one of us talks about it.
Know what's better than Github issues? A directory in the tree named Issues. Create files there. They all stay with the project. Append comments to them. Code snippets. What have you.
I just saw this pop up in our workspaces at Papa's slack at the end of the day. Haven't had a chance to use it yet. Do you need to use the WYSIWYG or is it still markdown friendly?
Edit: Should've read the article:
>That is, closing backticks are not respected! If you want the proper display, you must hit right-arrow after the closing backtick (but before the space). That’s quite a gymnastic for someone with decades of muscle memory.
So if only 50% of the users have this, we should assume that it's only 50% done, and that by the time everyone has this thing, it will be perfect?
More seriously, while "this doesn't work right" is part of the complaint, the larger complaint is "this is fixing something that wasn't really broken." If Slack wanted to improve their editor, that'd be great, but they could have done that without losing what people liked about the old system. It's not like there's a lack of "quasi-WYSIWYG" Markdown editors out there to take cues from.
I went ahead and tried to reproduce the article's observations.
> when you do `foo()` it foos the bar.
I typed this exact sequence of characters in the new editor and it formatted exactly as one would expect.
> when you do bar.`foo()` it foos the bar
I was indeed able to reproduce this, and worse: if you put the cursor after the f, delete it, and type f again, the new f will happen before the backticks. One can tell this is about to happen by observing the cursor; even though the cursor is over the little box, it's black (as in for normal text) instead of red/salmon/whatever-that-color-is (as in for code).
That said, one can work around this by selecting all the text to be backtick'd and clicking the </> button (or pressing Ctrl-Shift-C); annoying, but slightly less annoying than having to retype things.
This one in particular[1]:
> The goal is for workflows to evolve, but we realize change can be a bit of a pain.
"Stupid peasant, we are only here to help you. Once you see the glorious vision we have you will thank us."
[1]: https://twitter.com/slackhq/status/1192147475672510474?s=21
reply