Building a walkie-talkie for remote work
pragli.com
pragli.com
..."kill it with fire" or other equivalent meme is the proper response to this, no matter how wonderfully it is executed.
Really, what everyone needs is more asynchronous communication and less attention draining and less interruptions! This can only help very small teams of extroverts with very-very-similar personalities work, it brings HELL for everyone else! And creates a homogenous bubble by locking people with different personalities out of the loop because they can't stand being in it.
We should put more time into bringing to the future ASYNCHRONOUS communication tools that WORK FINE, like email, comments in project-management-systems (eg. in Trello, Asana etc.)... we need more and better of these! (And without compromising them by adding push-notification and crap that makes them synchronous and attention grabbing.)
Sometimes it's a lot faster/easier to be able to get on a 5-10 minute call to discuss something and be able to look at it together instead of sending messages back and forth for a week trying to get a point across / understand someone else's point.
A walkie-talkie system will likely fail for larger group sizes (e.g. >8) or more due to cross talk that will build up on a common channel. In the marine environment where ‘walkie-talkies’ are still in use, folks have worked around the problem by monitoring the common channel, 16, for interruption and then negotiate a switch to a less common channel to complete the conversation. In the long run, maritime folks will likely switch to TCP/IP to address, route and communicate more efficiently rather than the walkie-talkie system.
This sort of thing crops up in the office when a scrum master says to take it 'offline' in a standup, or when an open office gets big enough to have a din of conversations all going on at once.
Some people treat email and chat like sync communication, getting annoyed if there isn't a response within a short time. Ever have someone walk up or use chat to ask "did you get my email (that I just sent 5 minutes ago)?"
Async is great for initiating conversations or going back and forth a couple times. Go much more than that, and sync often (though not always) becomes easier and faster.
An example of an ideal flow to me:
Person A (12:34): hey, I'm trying to implement this new API call, but the parameters we came up with kind of conflict making it more complex than we thought
Person B (12:52): Hmm, maybe there's a way we can simplify those. Have time within the next hour to meet/conf/video chat on it?
A (12:55): just about to grab lunch, how about 1:30?
B (12:56): ok
A (1:26): alright, back, ready anytime
B (1:29): (initiates video chat)
(At end of call): ok, let's run this past rest the of the team and give us a day or so to think about it, and see if anyone has objections or we think of other implications. I'll send an email summarizing.
https://en.wikipedia.org/wiki/Grounding_in_communication#Gro...
Want to disturb me for 2 minutes and ruin my concentration losing me half an hour? If it's going to save you your afternoon - just do it. If you're probably going to send me a message on slack or call me there anyway I'd find this a lot less annoying. My goal should never be to get through the most work myself it's to move the company forwards. Having someone wait until tomorrow to get their job done because I haven't manually gone and checked my emails is a waste of company time.
Each to their own, and I don't think everyone would want to use something like this, but don't assume that it's only small teams and very similar extroverts that could benefit.
I'm also reading the Phoenix Project [1], and there's a worker Brent who knows every system well and can fix any issue. However, he is supposed to be working on the big company project (think like an ERP system). However, he can't get that work done because everyone and their brother keeps asking for a "quick" five minutes of his time, several times a day. All in all, he is not able to get his assigned tasks done because he's so busy with other interruptions.
If that happens then yes, talk to your direct report and come up with a better solution. But you shouldn't need to block out every interruption ever. There are times when it is warranted.
[1]: https://www.amazon.com/Phoenix-Project-DevOps-Helping-Busine...
Also the ability to control actions based upon what status you set is not granular or controllable enough. For example - if busy - only allow some people to send video mail message or IM for later perusal or if some people contact allow them thru if call more than twice, three times.....or if Director - instantly. Equally, to set a response time so if somebody in group A calls, make sure you call them back within an hour, two hours....10 mins etc. Details and control like that.
But back to changing that status, that is the important aspect that needs addressing as currently it in itself distracts from your workflow and having some setup that allows easier access. So if your in say vi, editing a system file - it sets you as busy, if your reading the news - your available, if you're reading email - your semi-busy and some people get thru, some don't.
So a system that detects when your busy, and sets your status would be the biggest improvement in work communications and in effect what we are reproducing is the personal assistant. An intelligence that screens your communications and handles what and when things get to interrupt you.
That is for me the area in most need of some revitalisation.
That requires people to use and respect them. Half the folks on I use the corporate chat with are permanently "away", and "busy" appears to mean "walk over and bug me".
That's the thing, will it actually be used like that? This feel so casual that it doesn't feel like it has to be used in urgent matter only.
I guess the important thing isn't about the tools but mostly about the training the user got around the tools. It's important to show what each one is used for and in which context. It's so easy to just believe something is more urgent than it is.
Something tooling can do though is help give cues. If I'm wearing headphones in an office frowning at the screen that's likely to change how people come up to me compared to if I'm clearly having a break. When remote those aren't around so you can't tell if I'm knee deep in diagrams and code or (say) hitting unsubscribe from as many emails as I can. Making those things clear to others is something tooling can improve on - but there's not much that can stop people contacting you if they're determined.
Just clicking on an individual's face and being able to talk to them without acceptance does feel like a step too far to me though. That said, some years ago now, a colleague and I were saying it might be useful to have a teamspeak-style voice room where anyone in the team could join/leave at will but it meant you could push-to-talk to the room if you wanted to. The idea being that people could share their frustrations easily so the team could help them out rather than have them feeling alone and unable to hit the dial button to ask for help from a specific individual. And you could always leave.
We never got around to setting that up though.
"This is wrong because it doesn't work for me. Really, what everyone needs is more of what works for me."
In hindsight I believe it's because we were following the startup mythology of "building a solution for the problem that you have" a little too closely. We failed to realize that this is really a problem that only small startup teams (usually a group of founders) have, as they need to keep in constant sync. It doesn't really scale past that. As soon as you have any sort of mixture of roles, personalities, or start to grow the team this is a communication method that just inherently doesn't scale well.
I do believe there is something here for small groups of founders/friends though, good luck!
I think probably the commenter's startup failed because of competition from big hyped, well funded players like Slack. Maybe when the hype settles, they would have a chance. Timing is everything.
Only a handful of lucky few who are well connected don't have to worry about competitors, everyone else needs to assume a competitive landscape full of noise and misinformation.
I manage a team of over a dozen people at a large tech company with a few of them remote, and a pretty flexible work from home policy. We find that our standups can run long because it’s such an easy opportunity to chat face to face with remote people, but really you want a couple of conversations and doing them one at a time is kinda slow. It’d be nice to be able to just have a super quick multi party conversation without having to do a call. We’re even considering Mumble or Ventrilo.
Essentially, it gave the impression that my boss didn't trust that I was doing my work. This tool made it so someone could see if I was actually at the computer doing work.
It also drained my battery, so I always needed to have my computer plugged-in.
On the other hand, new remote teams are still trying to continue their habits from being in an office, so they want constant, easy communication. To me, this product sustains unwise habits more than it solves a problem.
But to each their own -- all teams are different, as are communications styles. I'm not going to say that products like this are bad ideas... just that the market is more narrow that people might believe.
To make it work, we bought dedicated iPads and put them on stands next to our computer monitors on our desks. We start a FaceTime call at the beginning of each day and literally leave it running all day. We mute when not actively talking, so we can listen to music (and not listen to the other's keyboard noises).
It is amazing. We always can see if the other one is present and/or busy on a phone call. If I want to talk, I just unmute myself and start talking. It is surprisingly similar to being in the same room as someone, without having to agree on the playlist.
Obviously, this particular setup doesn't scale to larger teams, and it does rely heavily on the very high quality and reliability of the audio and video of FaceTime. But I'd recommend it highly for those in the same situation. Made the cross-country move possible without destroying the business.
The dedicated device is key, so that it is always visible and doesn't take CPU or screen real estate on your actual computer. And I can't emphasize enough the importance of the high quality audio in FaceTime. We tried Squiggle back in the day and the audio/video were just not good enough (and the freeze frames were unflattering and distracting in a way that silent video is not, strangely). It would be nice to unmute both sides at once, but FaceTime is obviously not going to add that feature.
We thought about trying to make a product out of our insights/experiences but concluded that it would be a bit like re-implementing MS Word to fix the find dialog (if anyone remembers that issue back in the day).
Which is really odd, considering I work in an office. Somehow the artificiality, the fact that it isn't a human puttering around near me, but a plane of glass doing magic makes a difference for me. But then I don't litter my home with surveillance speakers, either.
I have this strange feeling that we (the general public) are, in some manner, being segregated away from full implementation if IPv6 for precisely this reason.
That the limitations of IPv4 have benefitted the centralization of our internet access; IPv6, due to its sheer size of address space, turns that space into a commodity that is easily shared. ISPs would (or should) cease to be "gateways" and instead become mere infrastructure.
Assuming efficient network bandwidth allocation, it would allow for easy p2p or "peering"-like arrangements, which isn't easy or as scalable with IPv4 today.
But of course, that isn't in their business interest.
I can't think of any reason why IPv6 isn't "fully deployed" today; I'm sure there's a lot of legacy hardware out there that doesn't support it, but I would think it would be a minority amount in the whole "grand scheme" of the internet. Certainly the "end points" - our workstations and phones and such - are all IPv6 capable today. There's no real good reason for the rest of it not to be - except for control over access.
Just my opinion, of course...
But I agree you wouldn't want it with a wife and girlfriend. Could get awkward with them both there.
And therein lies the problem: we should all have a private office wherever we work, preferably without crappy lighting and with suitable heat / cold temps and a comfortable chair and so forth. Instead we get open offices with the guy three feet away feasting away on his boogers all day and the guy next to us whose headphones leak noise everywhere.
This is such an issue for me that it is one of the top five reasons why I went freelance - so that I can work in enjoyable professional settings with good hardware.
My partner moved in full time last year, such that we now share an office in addition to the rest of the house. We're coping, but it is honestly more problematic than I expected as we both are on the phone part of the day and need focused work time at other points. A 1984-style telescreen of some remote colleague staring at me all day work drive me nuts, but more power to the parent poster if it works for them.
My first job out of college was a database ops team that was distributed across 6 locations across the country. We basically lived and died over Nextel direct connect voice channels and AOL IM. It was a superpower.
Some, probably, but I miss that specific aspect about being in an office. I like that I can temperature and sound control my office, and be somewhere super sunny and cheap when the office is gloomy and expensive. I quite like this idea.
It didn't feel distracting the way receiving a phone call while being remote felt. It's clunky enough that people didn't come up unless they had to and I still could keep up with the verbal information that was passed along with the office gossip.
Some people get really bothered about this idea and probably if you are working on independent tasks you don't need to be so connected. For tight teamwork I found it to be the least bad option.
I wonder what you think of virtual remote space with advanced face rigged avatars as the future?
Btw, nice product!
It turns out that the detection itself is very fast and lightweight, so there was no need to optimize (background workers would've been a good idea though).
We somewhat optimized the CSS animation, but it's still not where we'd like to be... if anyone on here knows how to improve CSS animation performance beyond dropping frame rate / shortening the animation, I'd love to know. Tried some obvious things (z index, will-change).
Avatar could be quite fun but maybe too uncanny as well.
Typically you would have one at the end of a row of desks to “extend” that row to another row physically located in another office and vice versa
[1] https://www.atlassian.com/blog/archives/developer-lives-save...
I'd be keen to try misc variations of your telepresence strategy. From lowest to highest tech.
I'm also now intrigued by a walkie-talkie, CB radio (push to talk) style approach.
This creates a major time management issue. If you have time blocked off for important, high value tasks, you can be easily distracted by someone else's lower level tasks.
Task switching, especially to focus on low level tasks, is highly inefficient in both the short and long term and should be avoided at most costs.
I think it really depends on related context though. If I am working in an operational capacity then I may need to answer the phone every time it rings. If I am doing project work requiring a great degree of creative problem solving I am going to block off my calendar most of the day and prioritize a lack of distraction. My phone will be on "do not disturb" and I won't be looking at it. Impatience and interruption are the killers of creativity.
On average, I got almost half of my code for the week done on that one day.
I find it challenging to concentrate in an open floor plan office that is full of people. I find it absurd that it has become the status quo for software development.
The open office layout is a scam - pushed based on the build-out costs of new office space in a very rapidly expanding market in Silicon valley over the last two decades.
Companies needed lots of office space very fast. Companies also dies fast.
Building out office space is expensive and the push for open office layouts as a "culture" bit was just as much marketing as anything else...
Give me a choice box of now, snooze bar, or several other options culminating in “take it to email, my hair is on fire.”
By then, the damage to concentration has already been made. Yes, you can set your status to "do not disturb". But you have to remember to do that.
Actually, I'm starting to think I lost ability to concentrate because of that.
For example:
https://psycnet.apa.org/record/2015-28923-001
"We found that cellular phone notifications alone significantly disrupted performance on an attention-demanding task, even when participants did not directly interact with a mobile device during the task."
Imagine then what damage random people's voices asking you things while working would do to your concentration.
There's a section on setting manual statuses, including one specific example of "focussing - do not disturb". The animated screengrab below suggests that if someone wants to contact you with such a status set they will get a window informing them and the option to bother you anyway. Not sure how special you would want your handling, but something is definitely there. Though it isn't really clear to me if the example in the screengrab is based on a status or on a calendar entry.
I do agree that this isn't something I would want to work with, and as I wrote elsewhere, if my company had this I would set it to perpetual DND or just not run the software at all.
Mumble (speex codec) is great quality and low latency. Just has a poor UI / UX.
I makes a lot of sense to me, who have been doing this for over a decade with my friends.
Are you busy, don't join / mute yourself / go to the afk channel.
Are you waiting for a long build, just reading HN, between tasks? Join the channel and people can bond and talk about work/life.
If you happen to check your replies I’m genuinely interested:
- do you work remote?
- if so, do you choose remote for solitude?
- if not- do you consider face to face interactions with your colleagues not as good a use of your time?
Again, genuinely interested because the full remote teams I’ve worked with that have voice comms at the ready have a lot less misunderstandings and the barrier to conversation is much lower than having to make a zoom / slack call.
We use Hangouts and WhereBy (formerly appear.in) for some projects, but when you're in the "about to join" screen, the list of other people in the room isn't updated past initial load.
It's a social signal and one that, potentially, brings with it additional stress as you're actively opting out of something your colleagues/superiors believe is good enough an idea that they've implemented it.
What a strange way to spell "I"
Do you think our solution is insufficient? If so, any ideas on how we could further solve it?
Personally I just don't see the benefit over a chat message saying "time for a quick call about <topic>? <zoom link>".
We tried to use mumble on one team with push-to-talk and it only lasted a few hours.
If I can receive a message, respond to it four hours or a day later, and receive a phone call for anything more urgent than that, I'm happy to use IM platforms for collaboration.
Additionally the social protocols are different. An email requires (some level of) planning and completeness. An IM can include just one question without reams of context, or it can involve a long detailed back-and-forth.
Questions over IM can be resolved in minutes or hours. Questions over email somehow morph into hideous monstrosities that waste days without anyone being satisfied with the answers.
And of course your mileage may vary, different organizations are different, etc...
Isn't that exactly Slack with the "Do not disturb" mode on does or email?
Kudos for someone doing the IRC->Slack but for voice chat/Mumble.
I've used walkie talkies a fair bit on construction sites and industrial plants, and there the value is obvious. Walkie talkies are a broadcast mechanism - everyone stays on the public channel, and you don't squelch unless you have something urgent to say.
I don't understand where this fits in the hierarchy of human bandwidth (From Lowest to Highest):
Text Message
IRC/IM/Teams/et al
Phone Call/Conference Call
Video Conference
Face to Face meetings
The problem I see is that this seems to mean you need to learn radio dicipline which is hard, compared to having a video link constantly broadcasting.
As a new guy in that office, never having met “Jeff” before, this was really difficult for my introverted self to get used to. I was glad when I finished the trip and flew back to the home office where phones worked like phones.
This seems a bit like that, but with at least the ability to set some boundaries around who could start talking to you. If my current team adopted this I bet I’d spend my whole day in “focusing, don’t interrupt me” mode.
Don’t get me wrong, this is still a good idea. As a remote worker, I would not go for this solution. I already use slack, and google calendars.
IMO I don’t need more than that. And I think your solution is convenience oriented. Nothing wrong with that of course, people pay for convenience.
This seems more suitable for companies / employees that are semi-remote. I don’t think people who are fully remote would be for this.
Great job guys!
Another completely different model is async communication using videos. https://apps.apple.com/us/app/devtendo/id1488872267?ls=1&mt=...
As a remote worker for more than 10 years, the horror of the idea almost stopped me even clicking the link.
I connected via Firefox on Linux and my CPU temperature skyrocketed to 81C almost immediately.
Note: Not this blog page, the main landing page itself.
Let people know subtly you don't want to be disturbed unless it's important, otherwise you will be.
https://cb.virtualairwaves.com/channel/1
WebRTC Push to talk. It "just works" in most desktop browsers. No login, no registration. You can make private channels and there's several public ones. There's an iOS and Android client, too.
We really like the "push to talk" model. You can leave the client up and quickly say something to everyone else in your group. Especially good for non-critial, time sensitive things (i.e., "Y'all want to get lunch?") that are still important for a sense of "team"