Get the top HN stories in your inbox every day.
Svetlitski
loehnsberg
I can only agree. Used it for a couple of weeks when live co-coding was indispensible. You cannot even compare this to similar features in Teams, Slack, and the like. The tool works seamlessly and has a super-smooth usability. I did not notice latency either.
You can share screen and keyboard and work on the same codebase as if looking at the same screen and having a keyboard one for each. Audio worked extremely well. Did not use video for long because the fans spun on (2017 MBP). Without it, resource consumption was reasonable.
Made us super-productive back then. Can definitely recommend it.
undefined
DonHopkins
When working alone remotely from home, I simulate pair programming with a methodology I call "The Stranger". I sit on one of my hands until it becomes numb and tingly, and then it feels like somebody else is typing and moving the mouse!
r00k
Hi folks! I'm one of Tuple's cofounders. Happy to hear any feedback or answer questions :)
kccqzy
In places I've worked in, there's very little pair programming culture. If a dev needs help, maybe the reaction is "push your code to a special branch and I'll take a look later" or if it's really urgent "use screen sharing" instead. A lot of that comes down to different environments: some use Emacs, others use Vim, yet others use VSCode, and remote control isn't really effective because of all the different shortcuts and UI and customizations. That's before even different personal preferences for different tools: I want IDE-like integrated error messages right beside my code, they want error messages in a separate terminal window, etc, etc. Simple screen sharing and dictating things to do is good enough in that case. And if both persons are at least somewhat familiar with the language, you wouldn't be dictating token-by-token.
How do you solve that problem?
sodapopcan
Until recently, I spent the whole pandemic exclusively remote pairing. We always did driver/navigator and never did any controlling of each other screens. If we switched roles we’d just pull the branch and work on our own machines. Tuple is nice for doing that quickly as you can just take over sharing without having to ask the other person to stop first. Its markup tools are very nice and simple, too.
aeonflux
Having a way to ping things or draw on screen is super useful even if everyone uses their own environment. No more "no, not this line, the 4-th one from top, well now its on bottom, wait don't scroll".
stickfigure
I can tell you how Pivotal solves this problem (or used to; my time was years ago): Standardize the configuration. If some special tool is making you more productive, share it with the team and get everyone on board. Don't try to be a special snowflake.
IMO this is the right way to do pair programming. It tends to bring everyone up to speed with the latest tools, and it keeps eccentrics out of the weeds. It's not to everyone's taste, of course. But neither is pair programming.
toastal
Cater to your own needs. "Special snowflakes" would include disabled folk that need special setups. If you need a special setup to avoid RSI or to be more productive, do it.
jck
Everyone at your organization uses the same text editor and/or IDE?
biztos
Hi there. I don't do pair programming and I'm pretty wary of it, but I checked out the site and watched the video and I have a suggestion.
Suggestion: market this to remote teams regardless of whether they do "pair programming" per se!
In my last job we had our team spread out over continents and time zones and home-offices and office-offices: bandwidth for meetings was super unpredictable.
Thus anything with a live video component was hit-or-miss, and if you had something very technical to discuss, you often had to sync up to make sure everyone was reading the same page on Jira or whatever.
I realize your tool is probably only for 1:1 conferencing, but even then, I think it could be compelling to have really good screen sharing with some annotation and the resolution control. Even if (especially if) it's only going to be used by two people at a time.
(Maybe this needs a different kind of license though. If I have 10 people on a team and expect 5 of them will use it but I don't know in advance which 5 or when...)
Also I would absolutely want something like this in a startup, even for managers, just to be able to go over stuff like AWS consoles (shudder) together.
[edit: grammar]
chrisseaton
It's a brilliant tool! Picture quality is excellent - I guess due to peer-to-peer - and the quality of the product also generally feels high. I recommended it to a new team just today.
But the audio connection seems to keep going for a few seconds after you close the pairing screen. Could be seriously embarrassing if someone utters something after thinking they've ended the call.
r00k
> the audio connection seems to keep going for a few seconds after you close the pairing screen
I'm pretty sure this isn't true, but if you can reproduce it, please do let me know and we'll fix asap! ben@tuple.app.
chrisseaton
> I'm pretty sure this isn't true
Lol I'm not lying to you! I almost always hear an end-of-call sigh from the other person that I'm sure they aren't expecting to broadcast because they think they've ended the call, but nothing embarrassing yet!
I'll try to screen-record my next interaction and show you. I think the problem is closing the window shuts down the screen link but not the whole pairing session, but people don't realise they need to separately end the call.
weakwarm
I adore Tuple and my team used it really effectively. It’s the best tool out there for remote collab as far as I’m concerned. And with a colleague on a 4G connection the way it’s economical with bandwidth is really appreciated. But we have a few teammates on Linux and we just had to drop it. Is there any possibility of a Linux version?
r00k
Yep! Hoping to make it GA soon. https://tuple.app/linux
latchkey
I just about closed the window and dismissed you entirely based on this on the pricing page...
Do you support Linux and Windows? Not yet! We're Mac-only for now. If you'd like to hear when we launch support for those OSs, please drop your email in this form.
If you have something in beta or coming soon, you should update it to send people to that more actionable link instead.
r00k
Oh, also: we're looking for an experienced Linux app developer to help us bring the app to, well, you know.
karmakaze
I've been working at pairing culture companies for a good number of years now, initially in-person, but then increasingly remote with offices distributed in several cities. Tuple was such a great find, even in the earlier times when sometimes we had to wait for connections to establish (presumably from rapid growth/adoption). It is still amazingly good at what it does and each little new feature seems to be reading our minds about bothersome things. It's a clear sign that it's used internally and also that feedback is really used. I always try to fill out the end-of-sesson form/rating if I have anything specific to comment on.
The best improvement was the clunky 'observer'-party that wasn't easily able to become the 'driver'. I think I actually received a reply on that one, plainly stating that it's a well-known issue that's being actively worked on, and not long after it began working seamlessly. I was about to ask about shortcuts, as moving the mouse to the menubar to temp-mute (or hang-up at end of call) can be a bit awkward if your screen is the one being shared--I just looked and there are Hotkey settings, just no defaults. Great stuff.
There used to be some issues where leaving Tuple running for days/weeks(?) sometimes could have it consuming CPU while idling. I don't recall the OS-version specifics, but I've got into the habit of exiting and restarting it every day or so. The problems may have been fixed but I haven't tried leaving it running to find out. If there's a way of submitting diagnostics specifically for these sorts of issues, I'd like to know.
It all it's as close to a perfect product as I use on a daily basis. Even with one team member's internet that can get slow at times, dropping to 1080p makes the text a bit chunky but still readable and able to follow along.
Nuzzerino
I use this on a daily basis. Really has been a game changer for my remote work. Thank you!
desireco42
Hey R00k,
Love Tuple, use it daily. It really is the best for pairing.
The one thing that is annoying for me and can probably find out myself, but I think it maps cmd-a to something so I can't use it to select all.
r00k
We don't bind any global shortcuts, so it's probably not us.
If, however, you only see that problem when Tuple is running or call is active, let me know and we'll look into it.
chadlavi
Not a single screenshot on the homepage? The number zeroth thing I want to see is a picture of the thing. Maybe even a gif or a silent autoplay video. I saw there's a video but it's a guy who's gonna talk. I just want to see the product.
bspammer
It’s basically just an icon in the top bar. There really isn’t much of an interface, which is wonderful.
mavelikara
Please watch the video and then tell us what would have been a good screenshot.
JohnCurran
I believe 0:19 would make for a better thumbnail than the current. Shows the video is actually a product demo and not fluff from a talking head
As far as a screenshot for product? Not sure, it really stays out of the way which I like but that makes it difficult to convey visually. Which you seem to have realized :)
aeonflux
Funny thing is, this is a pairing app. It's actually better if it gets out of the way. But I agree, that thumbnail with both screen and speaker would be better. I think something with more on content on screen than just a dropdown from the contact list would look better. Either code or that fancy network monitor (plus the speaker).
brailsafe
I didn't even realize there was a video, but I certainly wouldn't have watched it, that's just not super thoughtful design, and the thumbnail kind of looks like a chatbot sort of thing, which in 2021 is something I ignore like banner ads.
I realize that watching a video is maybe how a lot of product companies wish potential customers made decisions, but much like an elevator pitch, if I can't scroll the website and have a glance at what the product looks like, I ain't gunna watch a vidya bud.
armadsen
I've been using Tuple for the past year and a half or so, IIRC. It's just a really well done Mac app. One of those tools that "just works", is thoughtfully designed, and mostly just stays out of the way and does its job without doing anything annoying.
We don't pair program as a regular thing, but we have junior engineers on our team, and often when they need help, or we're working through some bit of architecture, etc. I'll pair with them. Tuple is the best tool I've found for doing that (remotely). I'm not teaching full time any more, but if I were, I'd absolutely be using Tuple to do remote 1:1 sessions for that as well.
Finally, I've interacted with Ben, the CEO of Tuple, and came away with a great impression of him and what he's trying to do.
r00k
You're too kind! <3
rememberlenny
Tuple is hands down the best pairing software.
We use it because the latency is the best compared to other pairing tools, and it has the best UX for remote pairing.
We even use it for pairing when we have people in the same room, and we need two people on their own machines.
ryukoposting
I've worked at companies with 20 employees, and companies with 100,000 employees, and not once have I ever been asked to participate in pair programming. It would have been immensely useful in college, but VS Code already has a built-in tool that would do the job... and VS Code works on operating systems that I actually use.
Who is using this? What do you use it for? I don't mean to be facetious, I have just never been exposed to pair programming in a professional space.
jpgvm
They are excellent for mentoring. As a remote senior engineer I'm not able to simply stand over someones shoulder but I can offer to drop into a peer programming session and help someone through a problem and be able to take the keyboard and show them different approaches etc. Without these tools I don't think I could do my job effectively.
smashedtoatoms
Same! I also find I learn all kinds of new tricks from jr and sr devs alike. Pairing is programming with the cheat codes on.
ryukoposting
Mentoring! That makes sense, and depending on where you work, the obvious "mac only" limitation isn't a big deal. Thanks for the insight!
smashedtoatoms
I have worked in FAANG and in 10 person startups and have paired in them all. VSCode is fine if you're all using VSCode and don't need to screen share anything outside of VSCode. If everyone is on mac though, there is nothing better than Tuple that I have used. If one party uses IntelliJ and another uses vim, and you need to have a db client or browser or something open as well, Tuple is fantastic.
armadsen
There are plenty of programmers that don't/can't use VS Code, for one. I'm an iOS and Mac developer, so VS Code is of little use. I'm in Xcode all day. Tuple makes it so I can pair with Xcode, but also see/use the iOS simulator over the pairing connection.
chana_masala
That's strangely the opposite of my experience. I think you have to work at a company that values engineering culture. Also, you could suggest it.
ryukoposting
Pair programming isn't inherent to good engineering culture. I would say that my employers have had phenomenal engineering culture, and the first couple had the best mentorship experiences I could have ever asked for.
chana_masala
Have you practiced it extensively though? You said you haven't professionally, so that leaves just personal experience. I would say it's not entirely critical, but I'd be very skeptical about a company's engineering if they didn't pair program. It would make me look closely at their other practices or lack of
PascLeRasc
You've correctly identified why Windows isn't worth their time.
tangoalpha
Nice one. One suggestion. While you open the shared URL on the pair's browser automatically, there are still a bunch of steps involved in copying the url, pasting it in the app, and then hitting open, before the URL opens in the pair's browser.
Instead, build a chrome/firefox extension that allows 'pushing' a tab into the pair's browser session. I find something good, I right click on the tab and click " Send to Pair" or similar.
r00k
Love this! Thanks for the suggestion.
beebmam
This looks cool, but I don't use proprietary operating systems for my work environments. Is there any planned support for X11 or Wayland based desktop environments?
r00k
psadauskas
> 2021
Only a few days left! I'm so excited :D
r00k
We'll miss that deadline, but are hoping to be close-ish :)
berkes
I worked on a team (of nine) which tupled a lot.
Using Linux, I, and one other, was therefore not able to participate in a lot of work. Coworkers would pair with others because of familiarity, and because between macos and linux, there was more friction.
This caused a severe schisma in an already disfunctional team.
Management then disallowed tuple, because it was making things worse. But the practice continued. I quit. Not because of Tuple, but the entire distinction, of which Tuple was an ingredient.
The choice to not support an important part of the developer community is understandable from technical perspective. But socially, in times of isolation, home offices etc, it is doing harm out there.
Aeolun
Nobody is forced to use Tuple. If you blame anyone blame that company for allowing anyone to use Tuple in the first place, or the asshat engineers that held it against the Linux people.
berkes
Sure.
My point is that any company that makes a co-operation product, but which excludes a demography from co-operating, should know they are causing harm.
Imagine if slack excludes Android. Or Google Meet excludes Apple devices. That is not only a poor product, it causes minorities to be excluded. Or divides the companies or teams using it. This is what Tuple is doing.
I'm blaming both Tuple for not including Windows and Linux up-front, just as well as management adopting such tech that has these clear limitations.
In this practical case, the Linux (and Windows) users joined later into an "mac-only" team. Tuple, however, was the major cop-op tech: they refused Slack, accidentally used Telegram (!?) and email, and when using Google Meet all engineers refused to turn on webcams. So as a non-Tuple-using person you were really kept out of the loop.
daviddoran
Tuple’s audio quality really is good enough to feel noticeably different to Zoom or other VC. Much more like your pairing partner is in the room talking into your ear.
yodsanklai
I wonder how many programmers don't like pair programming. I love programming because it's me and the computer, working at my pace. When collaborating, asynchronous work better I feel.
etothepii
Why would I use this over VSCode liveshare?
Genuinely asking, why would I want to run video streaming if I can just send small amount of text deltas.
r00k
Live Share is great if your pairing session is extremely code-focused. But if you're jumping between the browser, terminal, IDE, docs, Xcode simulator, etc., you begin to want to see your pair's entire desktop.
oneplane
So far it seems that this is intended as a type of remote KVM instead of a per-application collaboration. I've looked around on the site but haven't really seen any obvious screenshots. Maybe I've seen to much marketing pages and completely miss the 'click here to see how it works' link...
Edit: and as I suspected, on second pass on the homepage it's right there in the middle in the purple bar. And it does seem like it's "TeamViewer but for developers". I suppose in the spirit of 'pair programming' that makes sense, but I'm not sure how streaming an entire desktop is better than streaming only application state if you just want to work together on the same thing.
skeletal88
It is useful to stream the whole desktop because you don't only look at code while pair programming. We look at the stories in Pivotal, read slack, google stuff, read documents and so on, all of that needs to be shared also.
macintux
Haven't seen either Tuple or your solution, but I assume at the very least Tuple wins out if the two programmers aren't using the same editor.
And if all you're sharing is deltas, how do you discuss existing code interactively? Can you also share text selections and/or mouse movements?
nextaccountic
With Live Share you see their text selections, but not mouse movements. (except inside the Draw.io integration [0], then you see a remote mouse that is drawn by the extension itself). It's a bit like Google Docs or Etherpad, but for code.
Also: other editors could implement the same protocol perhaps, it would be cool.
[0] https://szymonkrajewski.pl/drawio-real-time-collaboration-in... here it says it doesn't show the cursor, but a new update does
phaedryx
Live Share lets you see which files your pair is looking at and what they have selected. You can also share a terminal session if you'd like. At work we mostly do Live Share + a Slack Huddle for audio. I think it works pretty well.
dijit
Or “Code with me” built in to jetbrains.
Which works across platforms too.. which is nice.
It’s the only thing I’ve tried and it works pretty nicely.
girvo
For more complicated things that require multiple applications working in concert maybe?
Get the top HN stories in your inbox every day.
I have nothing but the highest praise for Tuple, it blows all the other tools in this space out of the water. Used it for several months while working on a compilers project back in college, and over many many hours of usage it was rock solid. The latency is so low you practically feel like you’re in the same room as the person you’re communicating with. And the UI/UX is very thoughtful and intuitive, making it easy to point things out to your pair, take control when necessary, etc.
I’d highly recommend checking it out.