Several grumpy opinions about remote work at Tailscale
apenwarr.ca
apenwarr.ca
Eh, I've found Slack to be highly competent at presence management, when it's working correctly, which is most of the time. It's usually smart enough to know I've walked away from my computer, and to start pushing the notifications to my phone instead, and then stop again. And I'm pretty sure it dismisses its own mobile notifications once I've cleared them on desktop, too.
> Third, it's highly integrated, not to say bundled, with Calendar, to the point where it obnoxiously auto-schedules a Hangouts meeting id even for your team lunch.
This is a setting in your GSuite Admin panel.
Also, I feel like Hangouts Meet (the evolution of Hangouts itself) is a much better product in general, and the Hangouts Meet Hardware is surprisingly decent, if expensive. Hangouts even has auto-captioning, which is kind of cool!
Surprised the author didn't call out Slack video calls. They're... also decent! And baked right into Slack! (So no incremental cost!) But they only work for meetings with people in your Slack workspace, so that's a bit auto-limiting.
It left us with no other options which had already gone through our internal compliance team, and their stance is fairly firmly "we've already got a tool which does X, another one increases the attack surface".
Each company has different practices when it comes to Slack; and, as someone who has used Slack so much that it's mentioned about him at those companies (not always in a positive light?), I have a few thoughts and rules about the best Slack usage that I think help, in general.
1) At any not-small company, you're going to want to almost immediately change your Sidebar from "Everything" to "Unread and starred conversations".
2) Star all channels that you personally need to keep track of (or want to keep track of for a certain amount of time) and all people that you want to talk to or are currently in an important conversation with.
3) Unstar channels and people where #2 is no longer the case.
4) Create private channels for any conversation / project or issue that will ever require more than the people that are currently in a 'multi-person private message'. Archive them when the issue is over.
5) Use @here sparingly and @channel way more sparingly. If you're at a company that doesn't use @here / @channel sparingly, mute them for the channels that use them in excess. My current company has a meeting room shortage, so every single time a meeting room is freed up unexpectedly, there's an @here in one of our channels. That channel has @here notifications disabled.
6) If you can, in your broader "all the devs hang out here and can chat about work stuff" or "talk with ops here" channels, consider adding group aliases, so you can say, in those channels @ops, or @team-ops to notify just that group when things are important.
7) Use @here sparingly, yourself. Use it only for extreme situations.
8) Give chatty bots their own channel. Having the pull request bot for your dev team in the same channel as active development is going on, or in the same channel as other teams are supposed to come in to talk to you about a project your team is working on is just not the best.
9) Current, unproven experiment: at my current job, my team is experimenting with a heavy use of threads. Previously, we had multiple projects occurring concurrently and historical knowledge on features is spread across the team with a lot of new members, so we can't use the tricks of private channels per project to as much effect. Threads have a lot of weaknesses when it comes to readability and following; but, they do reduce the chances that someone's important message will get lost in a swarm of other messages on more pressing issues.
edit: Whoops, thought of more.
10) Use snippets for any bit of code even slightly long. I'm thinking like 7 lines or more. There's syntax highlighting, and they're collapsible, saving precious screen real-estate
11) Use Posts for large format messages you want to post to a channel or multiple channels. They have formatting, headers, and so on. They're also collapsible, again to save on screen real-estate.
12) Personal preference: try to not send multiple, short messages, unless that's your company's culture. It breaks up the conversation and makes it a bit hard to follow where a thread is, if you're using threads. For example, which message do you put the response on? The part where the situation got confusing? A random message in the middle? The last one? The first one?
edit 2, 3: more adding (I'll just add more after this and not say I'm adding more, if it happens again), and some removing some unnecessary information
13) Mute channels that you want to remain in, but don't want to be bothered by (maybe unmute @here and @mentions on this channel). This could include your company's random chatting channel, or the operations channel, or even your personal team's channel if you're currently heads down in a major project, but you might need to be pinged for something serious.
This, but I'd change it a bit: don't ever use multi-person private messages. You can't add people, and people can't leave if they figure the conversation isn't relevant to them. They should have a feature to convert a multi-person-pm into a room, including all the previously sent messages.
RE threads: they seem broken to me. Hard to navigate, and when I'm typing, it will show that there are new messages but won't show new messages in the thread until I send my message or delete my draft.
I'll add another one: pay for typing lessons for everyone that isn't reasonably fast. I get very annoyed with people that are slow at typing and take forever to write a response. It gets to the point that I start suggesting to get on a call because I know they can talk at a reasonable speed but typing out the information will take them minutes.
I believe this is already an option, but you can only convert the multi-person-pm conversations to a _private_ channel.
I don't think you can leave though.
Can added people read previous messages, or are they only starting at the moment they enter?
I can understand the reasoning for this, but its also an area where private channels are much better at.
One Slack community I'm active in wanted to add `testing` as a channel. But we couldn't, because that channel name was already taken as a private channel that was created before we locked down channel creation to the admins only. None of the admins were part of that channel, and we don't know if its still active to this day.
As a result, we had to do `testing_`, with the trailing underscore as the differntiation.
BUT when you do `#testing_` in the slack input, the channel name isn't hyperlinked. :-/
Please just tell me immediately what you need, so I can decide how urgently I need to reply. I don't want to reply to you, and then have to wait for your to type out what you need for me. It's a big distraction.
> Hi
< Hi.
> Do you have time for a question?
*internal sigh*
< What is it?
It wastes both parties' time.But some people consider it more courteous. In general, courtesy is a low-level de-optimization (non-productive words/interactions) striving to avoid higher-level impediments (taking offense, etc.)
Previously discussed on HN:
I wish I could add an auto responder for “Hi” that replies “Howdy, hope you’re doing swell. How can I help?”
I disagree with you on the topic of threads though. IMO threads are Slacks worst feature. They put all of this effort into giving users excellent granular control over presence and notifications but every thread update gets lumped into a single sidebar item with no context. I don’t know if the thread notification is important or not nor who it’s from unless I interrupt my work and click into it. I wish they’d remove it or improve the notifications.
I feel like "attention", "presence", and "what device am I `on`" is a poorly exploited concept in tech in general.
The right answer probably entails a device using a combination of gaze and most recent input to assert "I'm the attention leader now", then gossiping out to all your devices. Any device hearing that gossip should mute off until it was leader again.
This idea is almost app independent, as an overlay. Phones, at least, seem to have do-not-disturb modes.
For various reasons "last looked at" is as likely to be wrong as right if you have more than a couple of devices.
"Last moved" might work better for mobile devices, but there are still going to be many misses.
Agreed. Even with just a computer and a phone it would not work in my case. I am sitting in front of my computer and that is my main focus, but I pick up my phone all of the time to do things like check on some messages or add the currently playing song to my favorites. If my phone decided that every time I interacted with it that was somehow an indicator that the phone was now my main focus... I think I would probably grow frustrated with that within a very short amount of time.
No thank, I don't want to install your desktop client and no I won't be taking "calls" on my five year old mobile. Why can't it Just Work like everything else does? Probably for the same reason they can't fix their text input bugs that they were able to confirm a year ago.
Slack is mediocre software.
The app works even in unrealiable network conditions and somehow doesn't skip a beat when switching between wifi and mobile network.
The only annoyance is not being able to share a single screen on Linux, but that's a Chrome limitation.
I've only used hangouts and it uses all my CPU destroying battery life and causing loud fans.
Classic Hangouts is going to be turned off for GSuite customers such that there's exactly one conferencing tool, and one chat tool remaining. Hooray!
Makes me seriously doubt any other latency measurement done by him.
The AirPods (even when connected to an iPhone) are said to have a latency of around 250ms [1] with the Pros having around half of that, 120ms. This makes both of them terrible as far as wireless headsets go. Even within Bluetooth headsets, the original AirPods are absolutely terrible, with the Pro now being in a much better position, but still nowhere near "low latency".
No surprises, since AAC is nowhere near a low-latency codec (this is not AAC-LD, it is plain old AAC-LC). The latency actually _improves_ when connected to BlueZ [my experience], likely because SBC is actually a much better codec when properly configured, something that few Bluetooth stacks do [2].
[1] https://9to5mac.com/2019/12/22/airpods-latency-test/
[2] https://habr.com/en/post/456182/ https://habr.com/en/post/456476/
On another topic 150-200ms of latency is definitely human noticeable, even for me, that I don't have very good hearing nor reflexes. Still I would say most likely not noticeable in a meeting room environment, except for one-person videoconference.
Most people are going to use the Electron App on either Mac, Windows, or Linux on a laptop with a decent amount of memory. Also, the part about no "GitHub integrations" is false too, because I'm looking right at githubbot that is maintained by the Keybase team. Maybe it doesn't support all the things the author is looking to do, but that is different than saying there is no GitHub integration at all.
* Ipad support (nascent but works)
* Bot integration (VERY interesting permission structure https://keybase.io/blog/bots)
* Neat SSH CA
I'm asking because I've seen many people complaining about the phone notifications from their work.
But even for a fully remote company, we have occasional client meetings. That often means meeting up beforehand, coordinating things on the fly as travel times change and maybe some people have to skip meeting before and go straight to the client, etc. Slack on a phone gives a consistent, single comms route for this rather than switching to text/WhatsApp/etc even if you know their numbers.
As a developer, I’d hate it and would only allow notifications on my phone if I had support responsibilities, but even without those, I’d probably still want the app on my phone, just with notifications muted. Our teams use it for lunch orders, free food notifications, jokes, erg conversations, random special interest groups, etc.
The one thing I do with work app chats and others is to install it on android's work profile which I deactivate when I am (or want to be) off.
Any chance of changing the title to something more...I don't know, accurate? It's a good write-up otherwise and I enjoy these kinds of posts.
Today? If I could choose, I'd just use Discord. The only annoying limitation is the 10 people screenshare/Go Live limit but that's only really a problem for company-wide meetings but thankfully in my case they're usually not very, ahem, informative (and thus not essential), plus they get recorded anyway.
Gamers use high-quality headsets with good microphones. Anything Bluetooth is still rather low quality because of the codecs used by the legacy hands-free profile. This will improve with Bluetooth LE Audio.
The app UI can be confusing for advanced features (annotations and the like and people sometimes have a hard time groking single window sharing [or remembering that’s what they did]), but basic video and full screen sharing “just works” IME.
Has anyone had experience using Org Mode files in a Git repo to achieve the same effect as Notion or a team wiki? Seems like it checks many of the same boxes (forgive the pun): todo lists, easy links, hierarchy, tables, Kanban (with org-kanban), formatting. I think that it would address the issues, too: ‘show me what changed’ would just be git diff, comments could live in comment blocks, todo lists and reminders are rather insanely powerful & flexible, and it’s very extensible and, of course, free software.
We use Quip (https://quip.com/), it's very equal to Notion.so, and suffers from the same issue. But Quip has a small API, and every hour i just grab my stared documents, flatten them to plain text and `diff` them. Changes are sent to email by a cron job. https://github.com/torvald/quipdiff
Ideally, I would like to not see the ToDo emails till I am ready to look at them.
[1] https://klinger.io/post/71640845938/dont-drown-in-email-how-...
[2] Ctrl+R, compose reply, Ctrl+Enter to send, A to archive message.
1. Customize Thunderbird toolbar and "View" button/menu to your toolbar. This reveals some hidden functionality that I discovered by accident just now.
2. Go to your Inbox folder and Tag some messages as "To Do" (default shortcut "4"), and then archive them.
3. Go to the Archive folder and from the "View" menu select Tags->To Do. This will display all "To Do" emails in the folder.
4. Under the same "View" menu, select, "Save view as folder" option. Select appropriate settings on the popup window and create your shortcut.
5. Now you have a shortcut folder in your folderpane that displays your ToDo items. At this point, you can revert step 1, as the toolbar button is not needed.
Now, if I can't deal with a message before the end of the workday, I can do "4 A" on the message to make it disappear from my inbox, while still keeping it handy. The only downside of this system is that I need to select "Archives" folder to update my local copy of the folder. Otherwise, newly ToDo-ed emails won't show up under the shortcut.
For in-company meetings you can of course use whatever you feel comfortable with, but when it comes to large meetings with many external parties, some of which will phone in, many of which are very restricted in what they are allowed on their computer, nothing beats GoToMeeting (no affiliation), and I have tried or been forced to try a lot of different solutions.
For email we use O365/Outlook. Although I use GMail for personal/family stuff, I find the Outlook client still beats everything else out there for business matters, and O365 mail has been pretty solid the last few years.
As for planning, notes, follow up, tracking etc. We use Tasks in a Box [2] (full disclosure, I am affiliated with an investor in this company). It integrates very well with Outlook and has been pain free and solid since the 2018 release.
I don't like Slack, nor Teams. Skype used to be fine for persisted chats but they ruined it. I'd love Discord for business. I use it with colleagues and some like-minded companies, but as of now it is not acceptable for many businesses.