[HN Gopher] Show HN: Pop.com - pair programming with low-latency...
___________________________________________________________________
Show HN: Pop.com - pair programming with low-latency, Screenhero-
style sharing
Author : jsherwani
Score : 113 points
Date : 2021-08-18 16:25 UTC (6 hours ago)
(HTM) web link (pop.com)
(TXT) w3m dump (pop.com)
| nathell wrote:
| At Fy!, we've been using Pop for impromptu remote pair
| programming sessions for a few months now. The killer feature,
| for us, is how easy it is to take or surrender control over the
| sharer's screen. Much lower friction compared to Zoom or GMeet.
|
| It works well, too. There've been random hiccups, but nothing too
| disturbing. Most of the time it just gets out of the way.
|
| Thanks for the great tool!
| jsherwani wrote:
| Wow, that's great to hear! Please do let us know about the
| random hiccups at hello@pop.com, since the long tail of issues
| is surprisingly long in this product space, and so we really
| appreciate any feedback that can help us improve.
| DrBenCarson wrote:
| I think I remember seeing this when it was screen and being a
| little confused why you were using daily.co if it's your core
| business. Still using daily.co?
| jsherwani wrote:
| Our core business is enabling remote work and remote pair
| programming. WebRTC infrastructure is largely commoditized, and
| we're open to revisiting how we handle our WebRTC
| infrastructure in the future.
|
| Daily is a great infrastructure provider, and moreover, the
| team was incredible to work with.
|
| The reason we switched out from Daily was because we were
| running into bugs in the product, and weren't able to tell
| whether they were on our end or Daily's end. By owning our own
| infrastructure, this became a non-issue: every bug was ours to
| find and fix. It turns out most of the issues we had were bugs
| in our custom modifications to Electron to reduce screen share
| latency, but we had no way of knowing at the time. Now that
| we've invested in our own infrastructure, it's the path of
| least resistance to continue using it, but we're open to
| revisiting this decision in the future.
|
| The Daily team is stellar to work with, and I strongly
| recommend them to anyone looking for a WebRTC infrastructure
| provider.
| smoldesu wrote:
| Am I the only one who can't scroll on this page? There appears to
| be content, but it won't let me go anywhere past the front page
| (Firefox, if it helps)
| jpetrucc wrote:
| +1 for this, I can't scroll at all on Firefox. Works on Chrome
| though
| hhw3h wrote:
| I can confirm that I'm unable to scroll on the site while
| browsing with firefox
| [deleted]
| mhash22 wrote:
| Scrolling on Firefox should be fixed now. Apologies about that!
| [deleted]
| [deleted]
| rubiquity wrote:
| I loved Screenhero. How do I know you won't hurt me again?
| jsherwani wrote:
| I'm explicitly not taking funding for Pop for this exact
| reason: I want to keep Pop around forever. I know that isn't
| something most people are able to do, and I'm grateful for my
| past success that's enabled me to do this. But I can tell you
| that it was incredibly sad for me to see Screenhero die, and I
| never want that to happen again -- both as a founder, but also
| as a user.
| jauco wrote:
| Probably because they learned how much it hurts? (They get
| money but lose their baby)
|
| Going through all the trouble to rebuild the product I doubt
| they'll do an acquihire again.
| jsherwani wrote:
| Hello HN! I'm the founder of Pop (https://pop.com) and formerly
| the co-founder and CEO of Screenhero. Also on the team are a
| couple other ex-Slack folks and a former Electron co-maintainer.
|
| Pop is the spiritual successor to Screenhero and strives toward
| the same goal: making remote work better than working together in
| the same room. After Slack acquired and subsequently killed
| Screenhero and after becoming remote workers ourselves, we found
| that none of the Screenhero copycats were really solving the
| problem adequately. Some are unstable, some are slow, some have
| poor UX. We decided to get back into the space and build a
| product that we like to use, leveraging some of the good ideas we
| came up with working on Screenhero and Slack.
|
| With Pop, instead of just talking with your coworkers about
| concepts with words, the shared screen becomes a shared
| whiteboard for diagrams and flow charts. Instead of barking out
| line numbers or function names, it's faster to highlight the line
| with a mouse. And instead of telling someone what to type, it's
| easier to just show them by typing directly in their text editor.
| You can start a call directly in the app or with the Slack
| integration "/pop" command and collaborate with coworkers on
| macOS, Windows, and Linux. Or, if you don't want to bother
| someone to download the app, they can join a session via web
| browser (mobile browsers supported, too!), even without a Pop
| account.
|
| For now, it's _completely free to use_. We plan to always
| maintain a free version, though for heavier team and enterprise
| use, we're looking to start charging soon (servers are very much
| not free). Once we have revenue, we plan to turn some of our
| attention to adding more remote office features, like spatial
| audio and presence, and, more broadly, addressing issues of
| isolation and loneliness in remote work.
|
| We've bootstrapped the company entirely ourselves and are
| unbeholden to outside investors. Our goal is to build a product
| that people enjoy using. We're not looking for an exit; we've
| been through that and know what it's like (financially great, but
| emotionally taxing). We want to create an independent and
| sustainable company where we are happy to work for our entire
| careers.
|
| Let's get these out of the way:
|
| 1. Yes, we're building on Electron. Yes, we are aware of the
| performance tradeoffs, but have decided this is the best choice
| for us. We're shipping Windows, Mac and Linux clients along with
| browsers with a four-person team -- it's the only good way right
| now to do that without features taking six months. We've modified
| the screen sharing pipeline in Chromium to reduce latency as much
| as possible, because with interactive screen sharing,
| milliseconds matter.
|
| 2. Yes, the domain was expensive. Roughly $1.5m. We consider it
| an asset that is unlikely to depreciate significantly. (The
| domain actually has an interesting history as a failed precursor
| to Netflix from Ron Howard and Steven Spielberg
| https://www.theguardian.com/technology/2000/sep/10/internet....)
|
| 3. No, our non-compete no longer applies -- it expired two years
| after Slack's ScreenHero acquisition.
|
| 4. Yes, we were originally called Screen.so. It was not a good
| name (and HN let us know, thanks!) and we are now very happy with
| Pop.
|
| We'd love you to try Pop and let us know what you think, even and
| especially if it doesn't work well for you. The app has gotten
| exponentially better because our dedicated users tell us about
| their issues and work with us to get them fixed. And, if you have
| ideas about how remote work could be more enjoyable, we're
| eagerly listening!
| hartator wrote:
| I've been following you guys' work since Screenhero then Slack
| integration then Slack reduced integration then Slack killing it
| (still makes no sense why) then screen.so then now we'll give a
| try to Pop!
|
| > Yes, the domain was expensive. Roughly $1.5m. We consider it an
| asset that is unlikely to depreciate significantly.
|
| Congrats on getting it! Hopefully it wasn't too much of
| distraction.
| jsherwani wrote:
| Thanks!
|
| I worked with https://news.ycombinator.com/user?id=ted0 who was
| AMAZING at helping find and acquire the domain. I can strongly
| recommend him as an amazing person to work with. It took a few
| days to find a domain we loved, and another few days to close
| the transaction. It was quite an interesting experience!
| rexreed wrote:
| Why is it so important to get an expensive domain? Does the
| three-letter .com really add that much value? Especially when
| it's not a B2C product / offering and specific to a focused
| audience? I'd think a three-letter .com would be something with
| widespread, international appeal to be worth the expense.
| flyinglizard wrote:
| My personal opinion is that in this case it's going to make a
| world of difference. Very difficult to know for sure, not like
| we have a control group, but it's super catchy and feels
| premium.
| jsherwani wrote:
| Agreed!
|
| After starting with screen.so, we realized firsthand the
| importance of having a name that's easy to remember and
| communicate.
|
| Also, instead of viewing the domain as an expense, it's more
| of an enduring asset, which potentially increases its value
| over time.
| dang wrote:
| Previous related threads:
|
| _Show HN: Pop.com - Video Calls, in 3D_ -
| https://news.ycombinator.com/item?id=25497737 - Dec 2020 (136
| comments)
|
| _Show HN: Screen - screen sharing for remote work, by the
| cofounder of Screenhero_ -
| https://news.ycombinator.com/item?id=22676040 - March 2020 (203
| comments)
| hartator wrote:
| Thanks dang! I don't seem to be able to reply to OP's top
| comment for some reason. Is it a wanted behavior or a bug?
| dang wrote:
| We do that sometimes with Show HNs when the top comment is
| introducing the project. The reason is that there's not much
| difference between "replying to the comment introducing the
| project" and "replying to the project itself", i.e. posting a
| top level comment. But the former end up ranking higher on
| the page, which can be unfair.
| [deleted]
| j3th9n wrote:
| The website instantly overheats my computer and made me close it.
| mhash22 wrote:
| If this is an issue you can replicate, would you be open to
| debugging this live with me? If so, please pick a convenient
| time here: https://calendly.com/mustafa-pop. Thanks!
| tibiapejagala wrote:
| Since you mentioned in a comment that your non-compete expired,
| maybe you are also no longer under any NDA. Can explain to a
| person outside of the startup world how this buy-and-kill works?
| If not killing a competitor, why? What do they expect a founder
| to do after killing their baby?
| jsherwani wrote:
| It wasn't ever intended to be a buy-and-kill, it's just
| unfortunately what ended up happening. When Slack acquired
| Screenhero, it was with the full intent to bring
| voice/video/screen sharing to Slack. The problem was that,
| post-acquisition, leadership lost interest in what could've
| been a promising feature set and growth vector for Slack (see:
| Zoom in 2020). Partially because integrating disparate pieces
| of software is a hard problem and partially because
| management's appetite for investment in the team waned after
| the first year, building Slack Calls was slow and it was
| unclear how valuable the feature was to Slack's success. Add in
| the cost of maintaining what is a very complicated and far-
| reaching implementation for interactive screen sharing, (not
| just for engineering, but also for policy/legal and customer
| support), it made sense for Slack to kill it.
|
| While I was still at Slack, there were retrospective
| conversations around how Screenhero maybe should have been
| built on the Slack platform, instead of as a first-party app.
| However, the acquisition happened so early in the life of Slack
| that the platform didn't really exist yet, so it's unclear how
| we'd do better if we had to do it all over.
|
| With Pop, we're doing things the right way. Pop is a standalone
| app, with a solid Slack integration. It makes it really fast to
| jump between the two (in fact, it's faster to jump into a Pop
| meeting via Slack, than it is to join a Slack Call!).
| mchusma wrote:
| Slack's poor calling is baffling to us, and the fact that
| they are uninterested in making it better is obvious. The
| quality is so bad, we use google meet for almost everything
| at the company, even though we would prefer to use the native
| slack calling.
|
| Its actually easier to use other apps than Slack's own apps.
| For example, you can't schedule a recurring slack call that
| calls all the participants. I would LOVE this feature, if
| there is a way to add it into slack.
| jsherwani wrote:
| We could actually build this -- drop us a line at
| hello@pop.com and let's talk through exactly how this could
| work with Slack + Pop!
| [deleted]
| jeremyw wrote:
| Your security doc says 1-on-1 calls are end-to-end encrypted, and
| I'm glad for it. Recommend promoting that bit to homepage
| marketing.
|
| Do you expect to be able to make 3+ multiparty calls end-to-end
| encrypted, eventually?
| jsherwani wrote:
| Yes! Once it's available in WebRTC, we'll implement end-to-end
| encryption for group calls. There is progress being made in
| this direction: https://webrtchacks.com/true-end-to-end-
| encryption-with-webr...
| [deleted]
| Cu3PO42 wrote:
| I have a small bug to report with the website: I cannot scroll
| the Privacy Policy site. This is on Firefox 91 on Windows 10, it
| does seem to work in Chrome, however.
| jsherwani wrote:
| This is now fixed, thanks for the heads up!
| danellis wrote:
| > Yes, we're building on Electron
|
| I hope you'll reconsider as your team grows. Developers look at
| their own app and think the extra resource usage isn't too bad,
| but the more this happens, the more Electron apps I end up
| running at once. Because Pop includes presence, it's something
| that, if it were more lightweight, I'd keep running all the time.
| As it is, if someone wants to call me, they have to first contact
| me on another platform to ask me to load Pop.
| jsherwani wrote:
| When you say Pop could be more lightweight, are you talking
| about CPU or memory usage?
|
| Also, do you keep Slack / Microsoft Teams / Dropbox / 1Password
| / VSCode always running, and do you have the same concern with
| those apps or is it something unique to Pop?
|
| Performance is definitely a priority for us, so understanding
| where you're feeling the bloat would be really helpful to us.
| anotherevan wrote:
| I wonder if you could write a small native app for the
| presence component that launches the main electron app when
| needed.
| nawgz wrote:
| 1Password and Dropbox being on Electron seems absurd.
|
| Regardless, you kind of hit on the point - Slack & VSCode are
| basically non-optional, maybe for other people it's some
| other combo. Pop, on the other hand, only has potential to be
| "non-optional" for collaborative work. Thus, given that real-
| time collaboration is not the standard way of working, being
| a resource hog on the level of "non-optional" apps means you
| will be shut off first for most users.
| jsherwani wrote:
| This is a good point. We definitely want it to be a no-
| brainer for people to keep Pop running. One idea may be for
| us to look into relinquishing resources while running in
| the background, which could be a best of both worlds
| solution.
| tfsh wrote:
| Not OP, but with the apps you've mentioned (and other
| Electron apps), I'd be less likely to keep them running (and
| would prevent them from opening at login) due to their
| outsized resource impact. Which in turn decreases user
| retention and my ability to recommend it to others.
|
| To add to that screen sharing and video calling is already
| resource intensive, so whilst the argument could be made -
| what's another 500mb of ram, I'd expect the client to be as
| optimised and light weight as possible, because a system
| under strain is no longer "blazing fast".
| Cu3PO42 wrote:
| For me personally, memory usage has been a big concern with
| the growing number of Electron apps. CPU usage on well-
| behaved Electron apps in idle seems mostly negligible or at
| least not significantly worse than on native apps.
|
| But memory is a different story. I don't always get to work
| with machines with "enough" memory, so I don't keep any apps
| with a larger memory footprint (let's say anything above
| 50MB) running longer than necessary. More often than not I
| will try to just use the web app, which will at least not
| load "yet another copy of Chrome". Where feasible I will also
| simply switch to an alternative.
|
| Not to backseat engineer too much, but maybe you could look
| into a smaller native component that can run in the
| background to listen for incoming "calls" and only loads up
| Electron (or maybe a native webview) when the user wants to
| actively use the app.
|
| All of that said, it looks like you have a solid product and
| I wish you success with it.
|
| EDIT: It appears that a year ago when your product was still
| named screen, I also provided some feedback which you acted
| upon swiftly, so I'm optimistic you'll figure this out as
| well :-)
| jsherwani wrote:
| This is a really fair point, and we will look into seeing
| what we can do to alleviate this resource usage when in the
| background.
| jshier wrote:
| This also explains why the screen sharing so much less
| efficient than Screenhero's. I had no idea. Hopefully they can
| add more control over video quality in the future, as the
| current implementation seems to go for maximum quality all the
| time, which interferes with system performance. It being
| Electron especially explains why it's so much more resource
| intensive than the other solutions.
| jsherwani wrote:
| We have tinkered with the idea of a native module solely
| responsible for screen scrape + encode + send, which would
| further improve performance.
|
| Also worth noting is that there's a setting to "reduce power
| when idle", which throttles screen scraping frame rate when
| relative CPU utilization is high. Additionally, you can
| disable "Use full resolution" to turn off Retina support,
| which should further improve performance for you. We'll work
| on surfacing these settings better, since it's not obvious
| that they're buried inside the settings page.
| jshier wrote:
| Right, thanks.
|
| "Reduce Power When Idle" is always selected, but there's no
| explanation of what it actually does. I would've expected
| it to be based off the user being idle in regards to the
| shared screen (e.g. no input for x time), not based on
| relative CPU usage calculations. It's hard for the system
| to increase CPU usage if Pop is already consuming most of
| it, so I wonder how long it takes for this to actually kick
| in.
|
| "Use Full Resolution" also doesn't explain what it does, so
| it's unclear how bad the video would get if it was turned
| off. Even "turn[ing] off Retina support" is unclear, as it
| doesn't tell me what the alternative is. Does it scale down
| to the 1x version of the screen? Ideally we'd just have a
| resolution selector here, for both local and remote.
|
| I've also long had issues with the keyboard shortcuts and
| various settings, again because it's unclear how the
| settings actually effect anything. I've also encountered
| bugs where just typing certain characters (I think it was
| ".") to a remote share toggled my ability to control the
| remote at all, which was extremely irritating. I really
| need more explanation of local vs. remote short cuts and
| which go where and when.
| jsherwani wrote:
| Thanks for the feedback! You're right, we need to improve
| each of these significantly.
|
| Reduce Power When Idle: decreases the frame rate from
| 30fps gradually down to 15fps when there's no user
| activity after a few seconds, and also drops frame rate
| due to CPU utilization. But you're right, we need to
| rethink this.
|
| Resolutions: yes, it does scale down to 1x, and yes,
| selecting a resolution would be better.
|
| Re: shortcuts, do you remember when it was that you
| experienced these issues? We had a few bugs around these
| that have been fixed. We're also working on a revamp of
| our keyboard handling code for all three platforms to
| address some of the remaining issues. If you're still
| running into a specific issue, let us know via
| hello@pop.com and we'll make sure it's fixed in our
| keyboard overhaul.
| tanduv wrote:
| Congrats on the launch! How "low" is the latency? The "Live
| Share" feature is VSCode gets mentioned a lot and has some
| advantages over traditional screen-sharing as it seems to beam
| the diffs of the code itself rather than a typical video stream.
| How do you compare to that?
| ElijahLynn wrote:
| I've been using VS Live Share too, and it is good, however, I
| still use a Pop session along with it, as we still need to
| share the browser at times as well as other things. So, I use
| both in tandem and will likely continue to do so.
| jsherwani wrote:
| Sending over keystrokes will always be faster than sending
| across a video stream of your screen. So VSCode Live Share will
| always be faster. However, in practice, we've found the cost of
| a few extra milliseconds in latency are far outweighed most of
| the time by the benefit of being able to interact with any
| application on the shared screen (and draw).
|
| For instance, if you're building a webapp, and need to look at
| the product alongside the code, screen sharing (especially with
| the ability to draw) is a lot more valuable than being able to
| type in the IDE.
|
| Back when we made Screenhero, we had the option to share a
| specific app, and what our users told us was that they'd often
| start by sharing the IDE, but then realize they wanted a lot
| more, and so would have to stop and share the entire screen. We
| eventually dropped the 'window share' feature for this reason.
| xeno42 wrote:
| My team has been using CoScreen (https://www.coscreen.co/) for
| collaborative meetings and development for much of the last year
| and it's been really transformational.
|
| The ease at which anyone can share any window and everyone can
| instantly interact with it is quite game changing for distributed
| teams IMO.
| dorian-graph wrote:
| Looks interesting!
|
| I've used both https://www.drovio.com/ (formerly Use-Together)
| and https://tuple.app/ during the pandemic successfully at work.
| ElijahLynn wrote:
| Been using Pop since beta (on Arch Linux) and while it has had a
| few rough spots along the way, it keeps getting better. Pop does
| have a public issue tracker that we can submit bug reports and
| feature requests to as well > http://support.pop.com/.
|
| Pop used to have a roadmap
| (https://www.figma.com/proto/bMYNNI6cy4DL1r0dgOFzjI/Screen?no...)
| more visible about the longer term vision which I really liked,
| it was about creating a constant layer on the desktop where you
| can just press a hotkey, up comes a list of Pop contacts, and you
| can basically knock on their door, they get a quick ping and you
| can be joined together in a second. This is the vision that I am
| really into and there is an issue to track the progress here >
| https://screen.canny.io/feature-requests/p/global-shortcut-t....
|
| This means no more posting video share links in Slack and the
| friction to actual pair with someone becomes a couple seconds
| versus a minute+. Really looking forward to this!!!
| jsherwani wrote:
| We heard an equal number of people excited about being able to
| jump into a call with a coworker, vs. being worried about yet
| another layer of distraction. Having said that, we've now built
| out most of the infrastructure to support that feature (we have
| a contact list with your team in it), so we'll be looking into
| this soon.
| ElijahLynn wrote:
| Ahh, I could see some being distracted about that. Suppose
| one can just set a "status" of "available" or "focused/away"
| to be able to be pinged or not.
|
| Good to hear that most of the infra is built out to support
| this feature!
| brightball wrote:
| I miss screen hero, before acquisition.
|
| Very glad to hear you're back in the game!
| jsherwani wrote:
| Hopefully we can fill the Screenhero-shaped void in your
| toolbox with Pop. Please do try it and let us know what you
| think! We're committed to making Pop exceed Screenhero in both
| functionality and longevity.
| brightball wrote:
| I'll just drop in my thoughts on pricing that I wrote up back
| just before Slack.
|
| https://www.brightball.com/articles/screenhero-this-is-
| your-...
|
| Good luck and I'll be keeping an eye on it!
| jsherwani wrote:
| Wow, thanks for sharing, and for the detailed write up!
| Please keep the feedback coming (I'm j@pop.com if you'd
| like to keep in touch in the future).
|
| I do agree Screenhero should have had a more generous free
| tier. With Pop, we will likely have a free usage tier when
| we start charging. We haven't mentioned it on the pricing
| page just yet since everything is currently free and it
| would complicate the story.
|
| I love the analogy you've made with Adobe Acrobat Reader!
| We definitely want Pop to become the default tool you'll
| use when you want to work remotely with someone on a task
| together on your computer (pair programming today, but a
| whole lot more in the future). And I agree that keeping a
| generous free tier will help us enable that, beyond just
| the ability to join calls started by paid users.
| atonse wrote:
| Not that anyone can hold a grudge for founders getting
| acquired, but I think myself and others here just want to
| make sure this doesn't meet the fate of ScreenHero, purchased
| by Slack and disappeared, ruined, etc.
|
| Good to hear you're also feeling it.
| lucas3 wrote:
| Helloo!! I found a bug which I can replicate as many as I want.
|
| Steps: 1. Share screen 2. Change cameras videos to the big option
| (Out of the 3 options available) 3. Click on draw
|
| Result: You are not able to click elsewhere on the screen, you
| just keep drawing.
|
| Great tool though :D
| jsherwani wrote:
| This is now fixed, thanks for the heads up!
| jmacd wrote:
| Hey @jsherwani Welcome back!
| Palmik wrote:
| Pop.com is a great domain name. How did you manage to get it, if
| you don't mind sharing.
| jsherwani wrote:
| Thanks! Discussed here:
| https://news.ycombinator.com/item?id=28225447
| nonameiguess wrote:
| Please provide a way to voluntarily downgrade stream quality. I
| understand if people with poor vision require it, but I really
| don't need everything in hi def and definitely don't need 3D.
|
| A serious issue I've had lately is Teams consuming 90%+ of my
| total Internet usage. The fact that it is consuming massively
| more bandwidth even than Netflix doesn't seem at all justified.
| My ISP is throttling me now and again and preventing me from
| being able to work at all. I understand it isn't the place of
| your company to fix the problem of crappy residential network
| infrastructure in the United States, but if you want broad
| adoption from people working from home in the United States, you
| really have no choice but to accommodate this.
|
| Note that the only reason I'm using Teams is because I'm required
| to while working on government contracts because it's the only
| service right now certified to transmit controlled unclassified
| information.
| jsherwani wrote:
| This is a great point. We'll add support for this soon, thanks
| for the idea!
|
| We actually have a developer console command you can type to
| achieve this today if you really need something ASAP:
|
| - In the desktop app, click the hamburger menu, and then click
| the Pop logo 8x to launch Dev Tools
|
| - In the console, type setBandwidth(1000) to set the max and
| min bandwidth to 1000kbps. You can type resetBandwidth() to
| undo the change.
|
| If this doesn't work for you, please email us at hello@pop.com
| to let us know.
| [deleted]
___________________________________________________________________
(page generated 2021-08-18 23:01 UTC)