Hacker News new | past | comments | ask | show | jobs | submit login
The latest version of Slack has a setting to disable the WYSIWYG editor (twitter.com)
773 points by agwa 2 days ago | hide | past | web | favorite | 218 comments

In case anyone's interested, here's the Chromium bug(s) that's one of the main reasons the WYSIWYG editor has such issues in Chrome(/Electron):

- https://bugs.chromium.org/p/chromium/issues/detail?id=102937...

- https://bugs.chromium.org/p/chromium/issues/detail?id=608393

- https://bugs.chromium.org/p/chromium/issues/detail?id=608162

The gist of it is that they "canonicalize" the DOM selection when you have two adjacent inline elements, so that it can only ever be at the ending edge of the first inline element. Which makes certain selection states impossible. And on top of that, they don't draw the cursor in the right spot when doing the canonicalization. So for instance, it might look like your cursor is here:

But it's actually here:

Drawn in the wrong place. And impossible to put it at the beginning of "two" at all! It's crazy!

I don't know how much the take "starring" into account, but it can't hurt to star them in the hopes they're fixed sooner.


Edit: If you want to see the craziness in action, check out this sandbox:


1. Try to put your cursor at the end of the word "one"

2. Try to type a character at the start of the word "two"

It's mystifying, absolutely mystifying, to me that Slack shipped that editor when both electron and chrome show such obvious problems.

What sort of out of control process let this get out, and also let them ignore bug reports for so long?

This significantly lessens my opinion of Slack and their internal culture. In prior threads there were rumors that Slack employees were hesitant to give negative feedback internally, due to culture. I don't put much stock in rumors, but I'll be paying attention now to that possibility.

When Slack first showed up, their development process seemed pretty fast and loose. There were tons of bugs and everyone who endured their initial forays into 2FA will probably remember the discussions of "Is Slack (the company) responsible enough for people to use the product in a mission critical application?" To be completely fair, they've tightened up their development process significantly and I'm actually pretty impressed that this is the first major gaff I've seen from them in a long time. I'm hoping its an aberration. I'm pretty public in saying that I don't really like SaaS offerings unless I get source code, but I have to use Slack at work, so I'm hoping they are successful ;-)

Not sure Chromium is to blame here. All the WYSIWYGs in all the environments I've ever seen I found fiddly and unpleasant to use.

The above demo works fine in Firefox, FWIW. I had a large hand in building a WYSIWYG email editor a few years back, using direct DOM editing, that was the most full featured available at the time. I would only recommend it to people with very high pain tolerance, as the differences between browsers are stark, undocumented and hard to work around.

In firefox it skips one letter at a time and maybe that is the intended behaviour, but it doesn't seem consistent with what I'd expect from a WYSIWYG editor.

I'd expect there to be 2 positions between the "e" and the "t" that the cursor would stop at so I can either insert text with the formatting of "one" or "two"

There is a position at the start of "two" in Firefox, but you have to approach it from the right. That feels sane to me.

The "approach from the direction you want to take styling from" breaks down when you cannot approach from the other direction, or if there are >2 possible insertion points in the middle of a piece of text. I'm going to use Markdown to show the markup in HN, but pretend like it's rich HTML:

  A string that ends in *bold!*
Only position A is possible in Firefox's "approach from" algorithm; there is no way to tack on non-bold text to the end, short adding it and then re-/unformatting it.

You can then pretty quickly see what goes wrong here:

  A string that have *_italic bold_ and bold!*
In Firefox, only positions A and C are possible; there is no way to start editing at B.

I think you could turn any of these into interesting box forms like one of the links in this thread that has two colored boxes, and you could have text somewhere (like between A & B in the second example here) and delete that text, and suddenly not be able to get a cursor back there, short of laying some text down and reformatting it.

Markdown, and other markup/syntax based inputs, make this trivially obvious, to a large degree. (Some ambiguities in the syntax can cause issues, but those seem to be rarer than issues w/ Slacks WYSIWYG editor.)

Don't Fuck with Paste, extension that disables anti-paste event handlers some banks use, triggers this when pasting into rich editors. Even Facebook and old Slack editor, IIRC.

Yup, in order to be able to paste into any of those inputs you need to have clipboard events on

It doesn't work fine on Firefox android.

Firefox on Android ( / Preview) is generally terrible with input handling anyway. I still haven't figured out a way to paste into a textbox without removing existing text — long press is required to show the menu, but also selects the last word, and unselecting removes the menu.

>long press is required to show the menu

It's not. Tap on the caret and the menu will show up without selecting anything.

Same for FF preview.

Checked and it behaves the same in Safari as Chrome so it appears this is left over from WebKit and by HN logic since Apple did it it's the right way! (jk)

Yes, I agree it should be fixed. Most WYSIWYG editors do have issues though. Just tried Pages (apple's word processor. abc <b>def</b>. Putting the cursor before after the space before the d I would personally think is more intuitive to insert bold but it inserts plain. As it is there is no way to type bold at the front of the bolded word. You either have to type new text and bold it OR you have to insert after the d, type a new text and an extra d then delete the leading d. Yes you can press Cmd-B then type but of course if the text had more styling applied that would get cumbersome to reapply styling so you're left with the previous solution of inserting new text in the middle and deleting the leading character.

The reason is that content editable is a gaping hole in the HTML5 spec, at least last time I checked, there are tons of undefined undefined behaviors (not a typo) where vendors have to choose what they want to do and where developers have no idea that the behavior does not exist in a specification.

My very wise coworker made every effort to avoid that minefield. I thought he was wrong for many years, but I have been forced to agree, content editable is completely and utterly useless and should be avoided at all costs.

I always thought the entire cms space, the idea that non coders could manage web content, was a non starter just because of the editors.

But it's utterly inefficient to use coder time to manage web content. That's why the best idea is to create a block by block content editor with textareas or severally limited editors that remove and reformat HTML that's being generated. I've seen good results thanks to this.

I agree though, whenever I included a full WYSIWYG editor to a CMS the end users created unimaginable havoc. "Hey it's Word, I know this".

but it's good enough these days to serve as the basis for the CodeMirror 6 rewrite:


All that demo uses is a contenteditable div. The bug is definitely is Chromium.

Safari on Mojave and iOS has the same problem...so it'a likely a bug in that's been around since Chromium/Blink forked from WebKit

So stop implementing WYSIWYG if its a buggy piece of crap across the board.

Really? It works fine in Edge (edgehtml-based version) and FireFox.

Prepare for it to not work in Edge in ~1 month when they switch to being Chromium-based.

I really hope they don’t think they can fix a few “bugs” and make this thing usable.

I’ve noticed this in the past, when a previous employer got rid of their Markdown interface for interview candidate feedback. In response to everyone’s angry comments about their flaky piece of garbage WYSIWYG replacement, they responded “please file bugs if our Markdown-like shortcuts aren’t working right!”

They were completely missing the point since even if their tool was 100% bug free (which it wasn’t, and I’m sure still isn’t), WYSIWYG editing will NEVER feel like text editing, and I NEVER want it in a critical work tool.

Honestly people thinking their WYSIWYG editor “supports markdown” because “Star Star” is an alternate shortcut for Ctrl+B seems to be so severely missing the mark that I wonder if they’re deliberately insulting my intelligence.

> I wonder if they’re deliberately insulting my intelligence.

They are, but in cases like these you should always ask yourself if you're the target market. Frankly, if you're not the one deciding whether to adopt Slack at your workplace, you're probably not...

I work at a very small company with eminently reasonable management. If the engineers didn't want to use Slack, we wouldn't use it.

Sadly, you're probably right that most people aren't in that boat...

Exactly. At my current place, management would laugh in my face for even thinking of such a thing. And this is a small company, mind you.

Yes, I do want to leave asap.

My request for every rich text WYSIWYG editor is as follows: please never change the text style of my cursor unless I explicitly say so. Regardless of the cursor's location.

Toggling bold should function identically to toggling caps lock: if I press the bold button, any letters I type should be bold until I press the bold button again. Caps lock does not disable itself when I click into a non-all-caps block of text, and neither should bold.

This would be annoying sometimes, but it would help far more often than it would hurt. For some reason, however, nobody does it this way.

If I'm in non-bold mode and I click in the middle of a bold word/sentence to make edits, do I automatically start typing in non-bold? That sounds much more annoying than helpful.

> If I'm in non-bold mode and I click in the middle of a bold word/sentence to make edits, do I automatically start typing in non-bold

Yes! You'd need to press ⌘B to enter bold mode, and then begin typing.

It's ever-so-slightly more effort, to be sure. But, I loose so much more time trying to add non-bold to the end of a bold section, or vise versa.

I can learn to use systems which behave in repeatable and understandable ways. Once a system starts making decisions for me based on information I can't see—like invisible markup tags—everything becomes much harder.

The alternative is of course to make the markup visible, but for writing prose, I appreciate the clean look of WYSIWYG editors. Visible markup can feel messy.

What about text styling that doesn't have fairly standardized hotkeys? Pretty much anything outside of bold/italic/underline.

Text color, background color, strikethrough, superscript, etc.? If I'm typing in a block of red text, is my new text black unless I tell it again to be red? If I'm editing a superscript, do I type normal text in the middle of it and then need to select it and make it superscript afterward? Editing text that was highlighted with a yellow background?

It might be an easy toggle for bold/italic/underline but there's a lot of other text formatting that would either need to behave differently or would become a huge pain. Personally I'd rather keep it consistent.

It's been a while since I read this, but IIRC this article describes that bugs like these are exactly the reason why CodeMirror doesn't rely on contentEditable: https://codemirror.net/doc/internals.html

> CodeMirror 1 was heavily reliant on designMode or contentEditable (depending on the browser). Neither of these are well specified (HTML5 tries to specify their basics), and, more importantly, they tend to be one of the more obscure and buggy areas of browser functionality—CodeMirror, by using this functionality in a non-typical way, was constantly running up against browser bugs.

On the other hand, Notion (http://notion.so/) had exactly same bug a few weeks ago in their Markdown editor, and they have fixed it.

Wow, Firefox handles it just fine, Chrome just flat out breaks, that's a interesting bug!

Um, no, this is not impossible, us editor folks have been inserting 0-width space after the tag and selecting it for years.

The team the size of Slack should/could have easily worked around that.

Good point. The developer tendency to resist fixing bugs caused by our tools just leads to complacency about broken tools.

This is a good reminder that sometimes complaining about companies on social media like Hackernews and Twitter does actually help. Not always, maybe not even usually. But Slack went from, "no, we have no plans to adjust this", to "yes, we'll include a toggle", and the reason was that a bunch of people publicly complained and wrote a bunch of messages to support.

It is a very, very, very small victory, and if I was going to choose a victory, Slack's Markdown editor would not be very high on my list of priorities -- but I'll take it.

Isnt that just a silent admission that modern tech support is woefully broken, more than a twitter is good message?

Modern tech support is woefully broken in many ways, and the speed to which consumers resort to complaining on Twitter is a partial symptom of that broken system -- it's the result of consumers feeling like mass, reactionary public shaming is the only strategy that works anymore.

That's not what I'm getting at though; I'm not saying everything is awesome, or that public backlash is even the best way to currently enact change -- I just want to push against the occasional criticism I see that complaining about stuff doesn't help, that consumer backlash is ultimately just virtue signalling, that boycotts don't ever work, and that it's all just a waste of time.

To be clear, some types of complaining are harmful, problematic, or worthless: this is complicated, it isn't black-and-white. But it's not universally worthless to publicly push back on company policies. There are a nontrivial number of stories about consumer backlashes actually causing companies to change course. What that suggests is that on more important issues (just for one example, arbitration), we could see real movement if the backlash was large enough and unified enough.

i complained via the builtin "/feedback" mechanism, and received an email from support fairly quickly, then followups for two days.

i wasn't happy with the script that they were required to use, but at least it was better than any twitter-based support i've received, well, except alaska airlines which has (had?) amazing twitter support.

Broken how? This feels like a good example of a company building and launching something, then watching and responding to how the public/users react to it.

Isn't that more or less what you should do as a company? Build things and then adjust your strategy based on how the market likes or dislikes it?

The problem isn’t that they launched a feature, it’s that they unilaterally removed a feature people were using.

Everyone would have been totally fine with it being behind a toggle, even if on by default.

Broken how?

Broken in the sense that Slack kept going forward even after the complaints kept rolling in. How hard would it have been to pull the latest release?

Every release will get complaints. They have to wait to see if it is more than normal.

I think they also got a lot of feedback directly through /feedback in Slack and support emails.

So they were not necessarily reacting ONLY on public outcry - they have direct feedback from paying customers as well.

How do you know it was social media? I contacted Slack's customer support and asked for a toggle. It could have been my request. The customer support chat was fast, friendly, and professional. I couldn't ask for more.

The original people who contacted customer support got this message:

> "I apologize for the disruption to your existing workflows. Our aim is to build an editor that works for all Slack users to better format their messages and clearly communicate in channels, regardless of their technical expertise. While we are taking all feedback on board, disabling the new formatting tool isn't an option that we will be offering."[0]

It is of course possible that your particular request was super persuasive and caused them to change their mind, but the more likely explanation is the scale of the public backlash forced them to reconsider.

[0]: https://news.ycombinator.com/item?id=21592828

Of course OP was being rethorical, but I disagree that public outcry was necessarily the most likely cause. It could have had less influence than the massive amount of private paying customers feedback they undoubtedly received.

I emailed them to tell them I would stop using slack completely and start emailing my coworkers instead if they didn’t revert it. I assume hundreds of others sent similar mails.

Still waiting for an option to disable "drafts" (channels all of a sudden jumping to the top of the channel list)

I've been loving their responsiveness lately /s. I `ctrl-k` jump to another convo and start typing and the lag between `ctrl-k` closing and switching to the new convo is enough that I end up typing a few characters into the prior conversation - then I need to jump back to clear out the draft.

Their channel listing is generally crap though, I gave up on trying to navigate it and just use `ctrl-k` jumping for everything, which isn't terrible because it means I spend less time on the mouse.

It's hilarious to think that there's almost nothing the Slack client is doing that a fat desktop app couldn't trivially do with nearly zero latency in 1999 in 1/20th the amount of RAM.

If someone built an emacs plu-(pardon me a moment, * googles furiously * , * laughs * )

Okay, someone built an emacs plugin for slack[1], it doesn't look like a very usable version of slack, but I'm pretty sure it'd be quite possible to fix this up a bit, prettify the UI, and end up with a much more performant version.

1. https://github.com/yuya373/emacs-slack

Ha, I wish I could disable "threads" so nobody else can use them...

We have a culturally enforced strict rule of moving literally ALL new conversations into a subthread and I absolutely LOVE it. This means that if you want to respond to a comment, you never do it in the channel but in the subthread of _that_ comment.

This means that when you browse the channel itself, each individual line represents a conversation on a specific topic. You can essentially browse the "headlines" of the day all in one screen (for most channels), and if you care to hear more about how Bob resolved his problem with those third party build dependencies then you can view the conversation in the subthread.

This also enables folks to opt-in to notifications for channels, if they so desire, without getting overwhelmed with every new message that comes in.

We do this, too, but I really dislike the thread UX.

Threads should behave like nested channels. Today, that works okay if you click on the "5 replies" link under a message, though it opens up a cramped sidebar instead of taking you to something that feels "nested".

But when there are multiple threads, the only way to juggle them is that "Threads" entry in the man sidebar. It leads to a weird page that doesn't behave like a regular channel. For one, new messages don't come in automatically; it just shows "1 unread reply" or whatever which has to be clicked. Secondly, if you have multiple threads active at once, the view crams all of them into a single scrollable pane.

Threads should, in my opinion, show up as separate entries in the sidebar. And Slack should support having multiple windows open for separate threads and channels, which would make it easier to have multiple conversations going on at the same time.

Having multiple conversations at the same time in threads is really painful.

You would love https://zulipchat.com/ (I have no association with them, their threading model is amazing though)

As an aside, they received an NSF grant for their threading UX.


That would be easier to do if Slack had better support for threading. But you can only have one thread open at a time, and if you're in the overall "Threads" view you have to click every single time a new comment comes in before it will show the comment.

This is how I imagined threads working when they were announced, but it seems they are never used consistently. How exactly do you manage to enforce that rule?

Even if this worked, it's just a nice step toward a full comment tree (like HN or reddit). I get the impression some people find that format confusing, but I think it's vastly superior. I assume programmers generally prefer it.

If it's an actual comment tree and not a single level that also mixes in multiple conversations, then it works. Otherwise, it's like trying to use something like Facebook for a discussion platform.

How would HN or reddit look like if every reply to a post also had a single level nested thread that actually consisted of multiple subthreads of conversations with everything at the same level of nesting? It would be much more difficult to follow different subtopics of interest since it would be impossible to filter out posts that aren't pertinent to it.

Zulip has an option to let people move other peoples messages into threads after the fact.

Isn't this just Microsoft Teams? Not to be a shill (I prefer Teams over Slack but don't love either). In Teams the editor box in each channel creates a new post on which people then comment. Is Slack, a channel is just another group chat. What you do turns Slack into Teams in this regard seems to me. Which as far as I'm concerned is a better system, I just wish Slack had tools to enforce it stricter ways than as a cultural rule.

This isn't our standard for all channels, but we do have a channel dedicated to this approach that's meant to contain large direction decisions that are soliciting team opinions. We've also enforced keeping that opening message to a minimum (sort of like a title).

I don't know how I'd feel about all channels being this way (since visibility and notification control are much weaker in this format) but for time limited discussions that may warrant revisiting it's quite helpful.

I'm glad it's not just me. Threads are terrible and hide potentially important information.

Just to provide a counterpoint, threads are very useful for channels with hundreds of members, so that anyone can ask a question but the responses don't make other questions invisible. In that case, the lack of threads would hide important information.

In that situation, I think I would go insane, or resign to preserve my sanity!

Our slack channels have at most a dozen active members and my channel list has approximately a dozen channels with permutations of the same dozen people organized topically. I have turned off almost all notifications as they are so ridiculous and look at the sidebar once in a while to see which channels are active.

I consider slack content ephemeral, even if slack disagrees. If I want to track issues, I use an issue tracker. If I want a threaded conversation, I'd probably write an email still. If I want to find content, I search a wiki or an email archive.

My preference for threads is as appears in my old school mail client or my fading memories of the "trn" threaded news reader for usenet. Threads do not hide messages, they only reorder them into a hierarchical index. It is easy to move back up the index to skim prior content in the tree, but it is also trivial to press a key and jump to the next unread message sorted first by thread and next by message time (to break ties or decide which thread to visit next after exhausting one).

Recently I had the absurd situation of someone using threaded replies in a direct message channel. It was astounding to me that this person thought this was a good idea, and also that the slack UX could so completely obfuscate an attempt at communication...

> Recently I had the absurd situation of someone using threaded replies in a direct message channel

My colleagues and I sometimes discuss far-ranging topics in temporal proximity. While in the heat of the chat I can keep replies straight in my head, it helps to have them grouped for later review; furthermore, they reduce the need for segues in and out of conversational contexts, which I find incredibly liberating.

Is this in the context of a public slack? For our internal slack I'd strongly question why questions needed to be raised in a channel with so many people - at my office we have two channels that most people are in, a #general for company announcement and releases and #random.

Otherwise I think dedicated team interaction channels are the biggest of ours and we try and keep those pretty small still.

For an internal Slack with thousands of users across many locations it can be pretty common to have channels with hundreds of people in it.

What Slack needs is a proper way to respond to messages like Telegram/WhatsApp has it.

I like threads for this purpose. I really wish I could see a filtered chain of conversation as a subtopic of a main channel. Not sure how UX or exposure to this feature would look, but that wont stop me from dreaming.

I'm not really sure I follow. What does the WhatsApp has which is missing in Slack?

You can answer and the original post is shown below your answer. You can do the same with Slack by sharing the post, but other solutions make it way simpler, basically just one click.

this sounds dumb, but it's most likely due to patents [0]. in fact whenever you find really simple behavior missing from an app from a large organization you should first assume IP litigation played a role

[0] https://patents.google.com/patent/US9219704B2/en

Or Signal, or Skype.

Threads are fine, but I would love if they defaulted to post to channel.

Your mistake is showing a channel list. Hide unread channels; it's the only way to use Slack IMO.

You mean hide read channels? If you hide unread, how will you find your new messages?

Yes, sorry

You can edit your comment to fix it

Not after 5 hours you can't. The cut off is 60 minutes.

I've been on this site since 2007, I've been around the block a few times ;)

Wow. Thank you! 4+ years of using slack and this is one of a genuinely useful things I just learned.

and star channels you need fast access to :) you can star people, as well!

If you're in so many channels that this is a problem then you have too many channels.

Do you feel the same way about email threads? If you're on too many email threads, there are too many emails in your company, right? I guess this is scale invariant with enterprise size too, right?

Slack is not email and should not be used the same way you'd use email.

Sure, but Slack channels are somewhere between email subscription lists and recurring email threads, in the space of corporate communication.

Channels may exist for each corporate customer, of which there may be a hundred or more, where CS reps subscribe to subsets that they're focused on, country managers subscribe to those that are local, product managers subscribe broadly by vertical but only scan to get a feel, sales may subscribe by function or region, etc. This is an easy way to get a large number of useful channels that simultaneously cuts down on noise.

BTW, you're surprisingly dictatorial in what you say. Emergent behaviour is far more interesting to me, because - along with conscious reflection - it evolves uses that can't easily be foreseen. Where did you get your rules handed down from on high, how were they justified, and what right do you have to think they are correct?

> BTW, you're surprisingly dictatorial in what you say. Emergent behaviour is far more interesting to me

Sorry, you're right. Nothing is set in stone, all rules have their exceptions, etc.

My point was that having too many channels can lead to a constant sense of urgency, FOMO, and increased anxiety. If you have a carefully defined way of using them, without a sense of urgency, and without a need to see everything, it may work.

I actually like that; it reminds me to cleanup after myself :-)

I'd be 100% fine with drafts if it cloned the channel listing instead of moving it.

I wonder if there exists a single person happy with the current state of affairs other then the one who designed it

There's no reason to suspect that the people who designed it are happy with it either.

I provided that /feedback as soon as it rolled out (to me) I guess 6mo ago. I even got a reply along the lines that it was totally reasonable and eminently sensible, and yet here we are.

I provided feedback to slack once and got a reply similar to that. I wonder if they say that just to make you feel good and then throw the feedback in the bin.

Dark mode, better performances, option to disable divisive new features: Slack might be making it harder to focus at work but the product itself improved quite a lot in 2019, kudos to the PMs.

Kudos to the PMs?

They allowed a half-baked (if that) feature to be shipped out and then wouldn't back down from it for a week.

This reeks of PMs pushing a feature that isn't ready yet.

> then wouldn't back down from it for a week

The rollout happened over multiple weeks, no? I know it was multiple weeks between I first saw it on any slack and it was on all of my slacks anyway.

The outcry was “ignored” (or rather, “we know what’s best” attitude) for about a week though.

Side comment: I've tried to use Slack's dark mode but had to quit. I was constantly having to download images to be able to read the black-over-transparent background of matplotlib images (that's apparently the default for the axis, markings, legends, etc.)

It's not a matter of changing my code, too, because I want to see the images posted by _other_ people

I wonder if you could add a CSS rule to set the background colour of images to white?

Slack will cease and desist you for making such modifications.

Or use a pseudo element with z-index -1

Parent suggested a very sensible, simple, and efficient solution. Why suggest a less efficient and more involved one?

Honest question: what is the added value of having transparent background on matplotlib images ?

to be fair, that's not really a problem with slack

> better performances

I don't mean to bash slack too hard, but it honestly feels like the performance has gotten worse over time for me. Certain actions like Up Arrow (edit previous message) and loading threads on the "Threads" page seem to take way longer than they used to.

I concur, about 2-3 weeks ago an update occurred, i think the one prior to adding the WYSIWYG editor. Now if i minimize Slack in Windows then maximize it again, I get 5 seconds of black screen before it displays.

This happens at work, home, and my laptop.

Performance has never got better for me, just worse, but I keep hearing about performance improvements?!?

No PM anywhere gets credit for Dark Mode adoption in 2019.

The other 2 amount to solving self-inflicted problems.

You are kind.

Dark Mode was apparently an insurmountable task for Evernote back when I used their app. Lots of public requests spanning many years on their support forum, with no action.

I'm waiting on the better performance :)

Incompetence deserves no praise when the mistake gets fixed.

Don’t understand the need for a WYSIWYG editor in the first place. It’s not a word processor. The need to add formatting to a Slack message should be rare enough that the WYSIWYG overhead just isn’t worth it.

They want to make the product appeal to all users and not just techy ones. And If I product managers or CEO or whoever can print his message bold he's happy.

Very few non techy people know what markdown even is. (From my own experience asking friends etc.)

I'm sorry, but what users ?

AFAIK Facebook, Instagram, Snapchat, Twitter doesn't have a WYSIWYG editor.

Are there some hidden users that send font size 30 all capitals red colored text in Times New Roman to each other ?

Office productivity tools do typically have WYSIWYG editors: Word, Outlook, Gmail, ...

Thank you, it didn't occur to me that some users are actually using slack to replace e-mail communication.

Step 1: google “how to make text bold in Slack”

There is no step 2, that’s literally all you need to do.

I think you overestimate the tech skills of your average user. I know so many people for whom typing "how do I X" in Google is too difficult, and will flat out refuse to do it.

That's not to say that I think we should be dumbing down software for them. In fact, we should be doing the exact opposite.

You're not wrong. I suppose all I can say is that software companies have every right in a free society to cater to people like that to the detriment of technical users... and I have every right to vote with my feet and wallet.

(There's a reason OpenBSD and macOS are both alive and well.)

It's pretty incredible to think that for all the billions of dollars around Slack it's still fundamentally the same product with the same value add that it was when it first launched.

Sure, maybe it's faster or more efficient or whatever now, but what it is at heart is the _exact_ same thing it was on Day 1.

Does it need to change?

I don't want Slack to be a different or more comprehensive tool.

I’d prefer that slack just release more products rather than add a ton of features to slack.

I’d like to see a slack version ticket tracking for example — not a slack feature, just a separate product.

Probably not, but why do they need the billions of dollars of funding and steep subscription cost then?

The per-user cost is only Silicon Valley reasonable - it's nearly as high as GSuite which provides a lot more value, and if so many other major business suite companies (Google, MSFT) weren't absolutely terrible at building chat applications I'm pretty sure Slack would be forced out of the market (or to actually compete).

People and companies have a really hard time with something being "done".

One could start reducing the engineering and sales force, focus on polish and maintenance, gradually reduce price and collect on a successful useful product. That kind of declaring victory doesn't happen though so products get engineered into uselessness and get bought out by companies who collect on them by neglecting them until only people who happened to get stuck are still using them and everybody moved on to the next hot thing.

It's hard to justify CEO and management salaries when you decide your product is finished so instead they just keep doing things and end up ruining something great.

Yes, in order to provide a competitive advantage over the numerous clones that are already coming along, Slack must continue to innovate.

And become what, Microsoft Teams? Everything for everyone ... executed badly?

Staying focused is orthogonal to continued innovation.

I agree! That's why I think it's so interesting.

Aside from bugfixes, I'm sure they could have done absolutely nothing since launching and be profitable and useful.

And still just a web browser underneath!

If they used a native toolkit this bug wouldn't exist, no?

Probably not, but then you would have 100 different bugs browses handle flawlessly nowadays.


A Tesla Model S is fundamentally the same product with the same value add as a Ford Model T. Sure, the Tesla may be faster or more efficient or whatever now, but what it is at heart is the exact same thing as the Ford was 111 years ago.

For people who aren't interested in cars, this statement is quite true.

Not if you want a car for reliability, long distance high speed travel, and protection from the elements.

Not quite the same.

How so?

The Tesla Model S has dog mode.

The ability to format markup with keyboard shortcuts seems to be gone now. Previously you could select some text, type ctrl-i, and it would add the necessary markup to make the selected text italic. Same for bold text etc.

Still, I'll take it over the WYSIWYG editor which was a nightmare for code snippets.

You're right, after disabling WYSIWYG editor keyboard shortcuts don't work. That means I'm staying with extension for Firefox...

Judas priest this blows monkey goats.

Looks like this doesn't bring back the markup help text in the lower-right corner, which is a shame.

I really wish they'd just highlight your markup in the appropriate style while leaving the markup intact. That would solve the "I want to see what the markup I just typed will do" without any of the problems of the WYSIWYG approach. Basically just syntax highlighting for markup.

This is pretty much what Bear does. It's great.

Amazing to see how Slack turned from something everyone raved about to something everyone is sort of annoyed with and critical of. Maybe that isn't that surprising for most products as they age/mature but it seems particularly acute with Slack.

“There are only two kinds of languages: the ones people complain about and the ones nobody uses.” -- Bjarne Stroustrup

I've found this quote extremely true, but not just with programming language but with all things. People complain about Slack because they use Slack a lot, so minor quibbles become a daily frustration.

It is when people go quiet about a product that you should really worry. They're either extremely happy or aren't using it, might be critical to find out which.

The turning point is when tools go from something enthusiasts choose to being mandated by management.

Digging deeper on your excellent comment, when ai was inEnterprise Sales, we were taught that there were people who made buying decisions, people who influenced buying decisions, and users.

Sometimes users belonged to one of the first two categories, but often not. Companies that pivot from selling to people who use the product to selling to enterprise organizations pivot from building things for users, to building things for decision-makers and decision-influencers.

So it’s not only that management are choosing products for users, but the products themselves evolve to please managers at the expense of users.

> “There are only two kinds of languages: the ones people complain about and the ones nobody uses.” -- Bjarne Stroustrup

> I've found this quote extremely true

My impression of Python, Ruby, etc. hasn't been that they're in either of those categories, though I'll grant you that they don't compete in the same space as C++...

I use Ruby(not Rails) daily. I love the language. It's really good for fast prototyping or small scrips but I can complain all-day long for how bad is to maintain big codebases because of the dynamic nature of it. I really miss type hints that can make this much easier.

People complain about Python being dynamically typed, adding weird modern syntax that isn't intuitive, and breaking changes from 2.x to 3.x.

People complain about Ruby being dead, or don't talk about it at all because it's not relevant anymore.

Slack is nothing compared to JIRA in that regard. JIRA might be worst modern software I've ever been forced to use. I typically have no problems working with Slack -- everything just sort of works as I expect it to 95% of the time. The fewer questions I have to ask, the better the design.

Slack used to care about user choice, such as providing a IRC gateway. All of those customizable features have been walked back in favor of “its not us, it’s you” mentality.

It was better than everything that came before it for it's purpose, so people were happy with the improvement.

But then every time they change something, unless it is just 100% obviously better for everyone, like a speedup, it's gonna annoy some people.

People and companies alike keep forgetting that the best is the enemy of the good. They achieve success with the good and they try to get ahead of themselves with the better. Sometimes they succeed :-)

It is interesting to me that the rant post about Slack's WYSIWYG editor was the 18th most upvoted HN post of all time.

No idea what conclusion should I draw from it, if any at all, but surprising for me at least.

I know what I think it is: there's a great deal of latent frustration among the rank and file of this industry, that the people running the show are basically greedy and/or incompetent morons.

For people who are in it for money or status or feeling successful it's not a big deal. For the people who care about products, tools, elegance, and candor, it's absolutely maddening.

It especially doesn't help for a company to spew fake bullshit when it pointlessly changes something. What would it take to get a little candor? Why do all the corporations end up being so candorless? Why does working in this field have to be so depressing?

I'd love to know in a year what percentage of users disable the WYSIWYG editor.

It blows me away that there are almost 2000 people working at Slack. The product feels like it is done and they should be able to downsize to a skeleton crew and slip into maintenance mode.

lots of hn readers use slack

lots of hn slack users disliked the feature

lots of hn slack users who disliked the feature went straight to hn to vote up any post complaining about it

that's how communities around tech broadly tend to work

Cough, cough


They closed the loop, folks!

a few people figured out how to change their workflow to deal with the change. turns out the same problem that exists between non-technical users and technical users exist between power-elite users and the non-PE users. when you try to show a non-technical user a different way to do things, they get really frustrated and give up easily because their entire mental model needs to change (they were used to clicking on an icon in a certain spot, goto a menu, select an option, get a dialog etc.). To them this represents a massive unknown if they do even one step wrong and so instead of accepting and using the new feature, regardless of the perceived benefit their anxiety takeover.

The correlations here is astounding. I'm the kind of person who will vocally speak out about emacs vs vi or the pronunciation of "c-out" vs "sow-t", but the WYSIWYG editor didn't fundamentally break my mental model of Slack. I just learned to adapt, but seeing the blowback.. holy cow.

> or the pronunciation of "c-out" vs "sow-t"

Wait, "cout" from C++? "Clout" is a real English word, I always figured it was pronounced the same minus the "l", which is neither of the versions you have there.

I didn't do a good job, "see-out" vs "sowt" (the t is not hard)

i always pronounced it as "see-out", since i figured the "c" refers to, well, C. seems in line with cout's docs which mention "the standard C output stream `stdout`"

I bow to your eliteness.

I don't think there is anything strange about that. Slack is a widespread used tool, which introduced a feature that made it very difficult and frustrating to use.

Thank the maker.

I'm sure it is perfectly fine if you just bold stuff sometimes, but it's so wonky with anything slightly complicated, and completely messes with my muscle memory compared with every other application I use that doesn't mess around with this stuff.

I’m a bit amused because:

1. Their customer support emphatically told me they wouldn’t make this an option AND

2. They didn’t even need to do a new release to turn on the option.

At least their engineering team is still making good decisions :)

Customer Support having outdated/bad communication with Product is not surprising at all. For every person where the person who makes the decisions is not the person to relay the decisions, this error can be introduced. It's like a big game of telephone.

What's more ridiculous is that this WYSIWYG editor is not only a front-end change, it changes the backend. And broke our bot. I have no idea why anything else should care. Their changelog didn't make the problem obvious.

Took me a bunch of time to track down the issue, as it worked for a few people, but the bot would completely ignore other people – including my boss.


I just changed to the ripcord desktop client, and couldn't be happier. While not as superficially polished, it is super responsive and does what you would expect of a chat app very well. Overall, I think the UI is less ugly, because I judge latency as one of the ugliest warts in UI.

Well, they put it in the "Advanced" settings section, which I interpret as reluctance, but it's there.

I am a bit afraid they might be supplying it for just a limited while for them to fix it up and re-enable it for everyone.

Now all we need is a setting to make employers not require you to run it.

I have thought about why ggl hangouts at my current employer has been ok. We mostly only use direct, 1 to 1 windows so any activity is certainly to be relevant, and nothing important scrolls off screen.

Thanks to all that ruckus I discovered Ripcord and have been enjoying how snappy it is. Not pretty but works well for me.

What is the proposed utility of moving from being Markdown-friendly to getting all of these WYSIWYG solutions or " Simpler than Markdown " editing options on boards and chat solutions.

I really struggle to comprehend it, would it not be better to just have some sort of "standard" we all can go after?

Genuinely interested in knowing what companies are thinking, is it feedback-driven?

Bring back the IRC gateway.

Just bring back IRC

Ugh no. IRC was great in its day, and I'm sure there are things today that it's still good enough for, but at work, I vastly prefer Slack (and possibly other similar tools, but I haven't power-used any of them yet.) I've been a very, very regular IRC user up until a few years ago. I wouldn't want to go back.

With IRC, there is no simple, just-works-for-non-techies way to receive messages if you aren't online; running irssi in tmux is not such a solution. No proper history to scroll through to catch up on what's happened on your day off, or search for that analysis summary someone posted back in June.

No way to embed images or code snippets in a way that makes them visible without clicking a link or DDC-sending things.

No custom emoji, e.g. for making alert messages easier to scan (like, aws icon, server icon, triple exclamation mark -> EC2 instance(s) have issues and someone should check this right now).

Security and data protection are terrible by default in all ircds I know. Last time I checked, securing channels was a very cumbersome interaction with some custom network bot.

It's harder to get alerts sent to IRC; everyone and their mother offer Slack integration nowadays, and you can literally curl some text against a webhook if none is offered. We do that a lot.

No emoji reactions, e.g. checkmark on someone else's request to say "I did this, everyone else don't bother" or for thumbsup-thumbsdown voting on lunch places or for some sometimes-much-needed comical relief. We use gifs very, very seldomly, but they, too, are great for some comical relief.

No treads, like for "I just finished this analysis, this is the summary, details in thread" – extremely useful.

No functioning way to edit or delete messages for everyone after the fact (and see the edit history if needed) – great for "oops wrong channel", "i copy-pasted the wrong numbers", etc.

Yes, some could be improvised on IRC in some way, others could be replaced by lots of redundant messages, and if everyone agrees to use the same client (like irssi in tmux), and you sink enough time into hacking your ircd, it might even come somewhat close – but I vastly prefer the ready-to-use UX candy. Well worth the cost of the Slack premium package, IMO.

No way to embed things... no emojis... no editing or deleting... seems like you are enumerating the advantages of IRC

Reminds me of trying to explain why Markdown is so good.

Alice: “But why do you use it? It doesn’t do so much!”

Bobbi: “Exactly why I love it.”

>It's harder to get alerts sent to IRC; everyone and their mother offer Slack integration nowadays, and you can literally curl some text against a webhook if none is offered. We do that a lot.


> With IRC, there is no simple, just-works-for-non-techies way to receive messages if you aren't online; running irssi in tmux is not such a solution. No proper history to scroll through to catch up on what's happened on your day off, or search for that analysis summary someone posted back in June.

With the ability to stay online 24/7, why would you go offline? My work machine stays on all the time and I had no problem scrolling back through messages that were sent when I wasn't there. As for the analysis summary example, how easy is it to search for a post that was made half a year ago? Would it be easier to find if that had been sent via email?

> No way to embed images or code snippets in a way that makes them visible without clicking a link or DDC-sending things.

With my current settings using Slack, I have to click on the image link to expand it. Otherwise, I would have a window with multiple animated gifs running in the background to serve as a signficant distraction. Slack also seems to have a low limit on the number of lines you can post in a code snippet. At least a lot lower than what pastebin allows in my experience. And the new WYSIWYG editor made posting them far more annoying than using pastebin and pasting the link.

> No custom emoji

I actually disable rendering them with my current settings in slack. For :), I see :slightly_smiling_face: instead. Animated emojis, like gifs are distracting to me.

> Security and data protection are terrible by default in all ircds I know.

There's nothing that prevents applying company security policies to the servers that are running ircd on site. On the other hand, if Slack suffers a data breach, then what will your company do?

> It's harder to get alerts sent to IRC; everyone and their mother offer Slack integration nowadays, and you can literally curl some text against a webhook if none is offered.

Not everything needs to be sent via a HTTP request. There are plenty of tutorials out there to write a simple IRC bot that can handle the scenario of sending messages to an alert channel. This blog compares the Slack way with setting up an IRC bot: https://drewdevault.com/2018/03/10/How-to-write-an-IRC-bot.h...

> No emoji reactions, e.g. checkmark on someone else's request to say "I did this, everyone else don't bother"

What's wrong with just sending an actual response?

> No treads, like for "I just finished this analysis, this is the summary, details in thread" – extremely useful.

Threads? If I want threads, I would stick to email or usenet. Websites like this one and Reddit largely implemented threads correctly such that they're useful. Websites like Slack and Facebook did not. Having a single level thread under a response with multiple subtopics within that thread makes it much harder to follow what's going on in an otherwise threaded conversation.

> No functioning way to edit or delete messages for everyone after the fact

I've always used the convention of posting a sed style subtitution command right after I realize my error. E.g.,


I think it's easy enough. A different convention is to just post the correct spelling with an asterisks. Every chat client I've seen worked that way without any issues and people understood what the correction was for.

FWIW, I've used IRC, AIM, MSN messenger, and other proprietary messaging clients and platforms and none have been as sluggish and unintuative to use as Slack.

> FWIW, I've used IRC, AIM, MSN messenger, and other proprietary messaging clients and platforms and none have been as sluggish and unintuative to use as Slack.

You think slack is bad, wait until they force you to switch to teams.

You might be interested in weechat-slack. I use it for 90% of my slack needs, I only run the client so I can use the video/phone feature to pair with a coworker.

There is also a slack mode for emacs.. and also ripcord.

Slack will never bring back the IRC gateway, so these are our best solutions.

IRC hasn't gone anywhere, if you want to host a server for internal company use (or public use if you don't mind the bots) feel free to spin one up - or use freenode or whatever, they're still around.

But slack's strength for me comes from decent unfurling of links, threading and history searching - I could live without threading, but link unfurling is a hill I'll die on.

Where did IRC go?

Away after botnets (and later dogecoin) figured out its a free decentralized comms platform and caused every major enterprise to block all IRC ports out of fear of being owned. At least this was my experience in the early 2000s, which is why I gave up on IRC circa 2006-ish. The death kneel was the lack of a google/apple cloud-backed IRC app, so any mobile use of IRC was pretty much a death wish for your battery (this may have changed but meh damage has already been done). Also all of dividebyzero's reasons listed above

Otherwise, all the major networks are still around and two or three of the really really really hardcore old school users from the 90s may still be around. I still ask random geeks I meet if they used to hang in #FreeBSD back in the day, hoping to reunite with old peoples.

>The death kneel was the lack of a google/apple cloud-backed IRC app, so any mobile use of IRC was pretty much a death wish for your battery (this may have changed but meh damage has already been done).

Not really. Google/Apple also have a connection (or more) open to their servers, but IRC would kill the battery? It's the usage, not that the connection is open.

Yes, really.. because IRC sends traffic all of the time over the connection (PING? PONG!) so your client is always reacting rather than using a cloud-based service to keep the connection alive and only relay specific messages to your device.

IRC is devastating to your battery and back in the 2006-2008 times no one created such a service and thus no one could IRC on the go without a hot phone a dead battery after 2 hours.. pretty limiting to a communication platform if I would say so myself

I don't get the commotion about this. The old slack editor was really poor, and the new one is just as poor, but differently.

But at least with the WYSIWYG you can see before you send what parts of the markup it got wrong.

yes, but with the new one there are situations where you can't correct a mistake once you see it.

just start with a backtick escaped piece and then try to add extra text at the beginning of the line...

Okay lets say that that action would cause me to write outside the backticked area.

How would I go about adding something new to the beginning of a backticked area placed at the beginning of a line? That would either be impossible, or there would be a move of the cursor that doesn't move a character (to go in and out of the backtick/code segment.)

Isn't that just how it always is when working in WYSIWYG? The same struggle is real in word or google docs, where you constantly have to add a remove formatting when editing around inline blocks with styles or formatting.

Thank God. This was the worst thing ever.

I was never a fan of their pseudo-markdown (it’s so close, but the minor deviations are annoying), but it’s a great to have it back instead of that other train-wreck of an editor. At least you can now edit text without regularly wanting scream in frustration.

For someone who habitually uses old MUD style emote lead-ins I was constantly needing to back edit comments to fix:

* sigh * this was disappointing

being turned into a list.

When will they add tabs for open conversations? Why is there a limit one of open conversation at a time? Many times I lose the person I was talking to and have to hunt down few names to find it out again.

Not sure if it was a regression, but I found myself _having_ to use the editor to insert an image in a thread. I couldn't drag and drop in the threads view.

That's great! I've been using a JavaScript hack to avoid it for a while. The current editor has so many not well thought through corner cases!

Do not forget you can say thank you via the /feedback command in Slack

"Thank you for giving us a hard to find, poorly named option to opt out of your buggy shit"?

Just fyi for anyone who finds it MIA in the brower, you just need to refresh to get the option.

How to force this option for the whole organization/workspace?

Moral of the day: Grumpiest programmers win !

Looks like markdown for bullet items is still broken. Try

    * test1
    * test2

Thanks for fixing something that shouldn't have been broken in the first place.

The iOS client regularly loses large swaths of messages, with no clue that they’re missing except a time gap. The only way to fix it is to log out and log back in. I imagine a large percent of users are just oblivious to the missing messages. Me and others have been hitting this bug for at least a year at this point, probably much longer. Is anyone at Slack aware of this? Missing messages should be a priority 1 bug for a tool advertised as a replacement for business email.

Now support real Markdown.

In particular their ``` code block support is super frustrating, especially since copying a code block produces invalid markdown even if it was originally written properly, they like to pull new lines out of it.

Why is markdown so popular? It seems like a hacked up language instead of a language that was designed.

"I apologize for the disruption to your existing workflows. Our aim is to build an editor that works for all Slack users to better format their messages and clearly communicate in channels, regardless of their technical expertise. While we are taking all feedback on board, disabling the new formatting tool isn't an option that we will be offering."

> an editor that works for all Slack users

That's a common pitfall many companies, including Google, seem to be falling into. Everyone uses tools a bit differently. Imagine that each feature is an axis in the space of all the ways to use the tool. Every person will be a different point somewhere in that space. If you try to enforce only one way to use the feature, you carve a slice in the useful space of your tool. And the more features you have, the smaller is the space defined by the intersection of all those "works for all" features, and the fewer users it actually helps !

The "one tool that works for everyone" simply does not exist. Thankfully they realized that this time, but it's more often not the case.

> regardless of their technical expertise

Good luck with that. Trying to make one product powerful enough for the techies yet simple enough for the normies is the software equivalent of Napoleon attacking Russia.

... In the winter.


Well, I'm quite happy they had to shamefully walk that statement back - seems like it might have been a feature pushed arbitrarily by a C-level fiat rather than user research.

Having the WYSIWYG thing as an option is nice - forcing everyone into it less so.

Sounds very similar to the infuriating twitter replies when this feature came out.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact