Launch HN: Cohere (YC S20) – Real-time user support for web apps

Author: yunyu

Score: 180

Comments: 56

Date: 2020-10-29 13:33:33

________________________________________________________________________________

CoffeePython wrote at 2020-10-29 15:07:46:

I didn't find the demo very easily but here it is for others[1].

Pretty amazing demo

1-

https://cohere.so/demo

rapind wrote at 2020-10-29 20:37:33:

Slightly frustrated the demo broke my back button (history hijacking) on my phone (safari) and I had to close the window (should have opened it in a new tab i guess).

40four wrote at 2020-10-29 22:37:31:

Same for me. The demo is really cool, this seems like a fantastic concept. But getting my back button hijacked drives me crazy.

yunyu wrote at 2020-10-30 16:36:23:

We fixed the back button issue – the root cause seems to have been that iframe content can interfere with the parent's navigation. Thanks for reporting!

yunyu wrote at 2020-10-30 00:38:01:

Thanks for reporting, this shouldn't be the case (I'm unable to replicate it on Chrome). Will test on iOS!

40four wrote at 2020-10-30 01:09:55:

No sweat. It was on iOS for me. I bookmarked you guys though, this product looks really nice!

swyx wrote at 2020-10-30 09:38:04:

also happened on Android chrome

yunyu wrote at 2020-10-29 15:08:32:

Beat us to the punch :)

mwcampbell wrote at 2020-10-29 15:12:18:

Pointing things out over Zoom screenshare is highly time consuming ("click the 4th checkbox on the right", "click the handle and drag")

There are also accessibility issues, on both sides of the connection. For example, if the person providing support is blind, image-based screen sharing is completely unusable; they would have to ask the customer to run a screen reader and share audio (or more likely, they just wouldn't be able to get a job providing remote support in the first place, even if they're technically proficient). If the person receiving support is blind, or has some other disability, it may be challenging for them to get the person providing support to give them instructions that work for them.

In principle, this DOM-sharing approach could solve these problems. Implementing a shared cursor in an accessible way could be an interesting challenge though.

yunyu wrote at 2020-10-29 15:23:16:

We're looking for ways to reduce the friction needed to get support, and this is a super interesting use case we haven't thought of!

m00x wrote at 2020-10-30 07:32:02:

You can give out remote control on Zoom as well. I'm not sure how this is better.

dternyak wrote at 2020-10-29 23:28:09:

How do you handle browsing? Does Cohere only work with SPAs? Do you inject turbolinks or something similar to prevent resets of the execution environment when users navigate between pages?

yunyu wrote at 2020-10-30 00:37:29:

Our non-SPA users generally stick us in the head of their standard page template. We store a token in sessionStorage (so it's not trackable across tabs) that is sent over when the page is reloaded in order to keep track of sessions across navigations.

mwcampbell wrote at 2020-10-30 00:38:19:

In theory they could use something like a session cookie to keep the server-side session intact when page navigation happens. I think I would prefer that over injecting something like Turbolinks or limiting this to SPAs.

aloukissas wrote at 2020-10-29 13:44:58:

That's pretty cool (the GoToMyPC paradigm has been really successful for desktop app support). Did you end up using Caldera or move to LiveView for this?

yunyu wrote at 2020-10-29 13:51:13:

Thanks, we're hoping to be the GoToMyPC/TeamViewer for web apps! A lot of the input handling code is derived from Caldera, but since we're embedded on other people's websites, we ended up going for a more conventional stack (a JS script talking over WebSockets).

ignoramous wrote at 2020-10-29 13:53:48:

> _...we're hoping to be the GoToMyPC/TeamViewer for web apps!_

For a different approach to remoting, see the recently announced Cloudflare Browser:

https://blog.cloudflare.com/browser-beta/

yunyu wrote at 2020-10-29 14:01:05:

Streaming over draw calls is a super unique take on this – I think this is what Mighty.app is trying to do as well. Browsing the web is the perfect use case for offloading client-side compute, and I'm excited to see this industry develop.

aloukissas wrote at 2020-10-29 13:59:57:

So this means this only works for NodeJS-powered web apps?

yunyu wrote at 2020-10-29 14:01:42:

It works for all tech stacks, as our integration process is client-side only! You don't need to change anything on the server to use Cohere.

mwcampbell wrote at 2020-10-29 16:57:19:

Just curious, what is Caldera in this context? The only Caldera I was familiar with was the 90s Linux distro.

yunyu wrote at 2020-10-29 17:18:15:

It's our earlier project that used DOM streaming to allow developers to build server-side React apps:

https://github.com/calderajs/caldera-react

mwijaya736 wrote at 2020-10-30 11:14:34:

Can we use it for Android app or only web app for now?

nc wrote at 2020-10-29 18:31:24:

Interested to hear how people are using this product? I've tried experimenting with building frontend apps in a way where it's easy to see what users are doing in the past to help with research.

yunyu wrote at 2020-10-29 19:29:50:

People tend to use it either for support or training. For support, it's more actively taking control of the other person's screen and performing the task for them. In the training use case, they tend to point things out and let users navigate the app themselves!

CoffeePython wrote at 2020-10-29 14:16:46:

Nice idea! I think this would be very useful for myself and other indiehacker types.

Is there a video of a demo of the product anywhere?

Also is there audio involved as well? How do you communicate when you're in a session with the user?

yunyu wrote at 2020-10-29 15:07:37:

Thanks for pointing this out – we're working on putting a video on the landing page. If you'd like to try out Cohere before integrating, there's an option to connect an example webpage to your team after signing up!

Most of our users usually are already on a call or chat when they hop in a Cohere session, and we integrate with Intercom and Slack to make this easier. We're definitely thinking of ways to streamline this more!

radihuq wrote at 2020-10-29 15:57:16:

This looks really useful! I have two questions:

1) What's the process to integrate this into an existing application?

2) I'm curious about your choice of branding. Your website & logo looks really clean -- was there anything in particular you guys discussed when deciding on brand colors, design of logo, and overall look & feel of your product?

yunyu wrote at 2020-10-29 16:08:37:

Really appreciate the feedback!

1) All you need to do is install our NPM module (or add a script tag to your website), and call Cohere.init when your app has launched. If you want to see logged in users identified in the dashboard, you can optionally pass their info in:

https://docs.cohere.so/#/?id=optional-identifying-users

2) This isn't the most detailed answer, but we went off of gut feeling for the overall look and did the graphics/interfaces ourselves. The starting point was the initial shade of blue, and we played around quite a bit with variations on that hue. We ended up working with a design firm (Aesthetic S18) for the logo, which we're quite happy with!

radihuq wrote at 2020-10-29 17:09:45:

Awesome, thanks for info! The docs look great -- Also (I don't know if this is intentional or not, but) I wasn't able to find a link to the docs on the landing page. Could be useful to include it imo

yunyu wrote at 2020-10-29 19:32:16:

Appreciate the feedback! We're revising the CTA section and will definitely take note ;)

samradelie wrote at 2020-10-29 15:42:31:

If you want to make your app respond to clicks etc. , do you have to add anything to the jsx? I'm curious how interaction works. This is very cool btw, at first I was imagining you're server signaling WebRTC sessions between people.

yunyu wrote at 2020-10-29 15:46:41:

No changes should be needed! We wrote some gnarly stuff to make forwarding inputs work across a variety of frameworks. This includes a bunch of React-specific hacks to support the synthetic event system, and some locks to ensure that people can't override each other's scrolling or typing inputs.

samradelie wrote at 2020-10-29 16:47:49:

Thanks, very spicy. You should see how much time my gf has to evaluate law startup apps within her firm...

You know something that could be cool, record + playback: the demo could be recorded once with voice over and played back for future reference within the org: "This is the playback that demonstrates importing raw docs from X, tagging and saving it to Y" , and you could record it using dummy info so there wouldn't be a risk of pollution.

kurbin wrote at 2020-10-29 15:18:03:

I didn't think this would be useful from the title, but the demo honestly blew me away. I've seen much more expensive applications that only handle read-only cursor playback, but handling real-time tab sharing is amazing.

kamesstory wrote at 2020-10-29 15:59:13:

Appreciate your kind words! Let me know if you have any questions :)

ericglyman wrote at 2020-10-29 15:10:19:

This is really clever. Just couldn't exist without the changes/standardization in browser technology that have happened in the past 1-2 years. Congrats, and really excited about the potential.

yunyu wrote at 2020-10-29 16:17:46:

Appreciate your support, Eric!

cwhiz wrote at 2020-10-30 11:48:07:

Why is Google the only way to login? This is an instant dealbreaker for me.

danielandrews43 wrote at 2020-10-29 15:19:22:

We work with many people who are new to technology, and something like this is exactly what we are looking for to help walk our customers through our product. Amazing idea!

yunyu wrote at 2020-10-29 15:55:56:

Thanks Daniel! Let us know if you have any questions

r_singh wrote at 2020-10-30 07:05:58:

Similar product[1] exists since a few years and even works pretty well (I took a demo once).

[1] - Surfly.com

yunyu wrote at 2020-10-30 15:29:52:

Because it's a proxy, Surfly seems like it would be great for demos or scheduled calls where you're able to send out a link to the customer. After the initial integration, Cohere works for users without any effort on their end.

r_singh wrote at 2020-10-31 04:26:55:

Will check it (Cohere) out. Surfly initially started off only as a support tool though.

They have an Intercom like icon at the bottom right of the web app, via which one can share screens. It's used by a few airline companies, etc. to give hands on support to some of their older users I guess.

nichol4s wrote at 2020-10-29 17:07:05:

Nice work guys! We do something similar at Surfly but we start the session through our proxy so no extension or changes to the application are required.

yunyu wrote at 2020-10-29 17:19:07:

That’s awesome – Surfly seems like it would be great for demos and scheduled calls! At the cost of the quick initial integration, we’d like Cohere to just work for any user afterwards without any effort on their end.

ublaze wrote at 2020-10-30 02:38:26:

This is a pretty innovative idea. Wonder if the underlying tech can be used to get rid of selenium tests.

sroussey wrote at 2020-10-29 23:38:21:

Mutation events/observers were made for this, glad to see it used for more that devtools.

surayashivji wrote at 2020-10-29 16:44:03:

I really love how easy it is to use. How did you guys go about finding early adopters?

wasd wrote at 2020-10-29 16:27:13:

Love it. Using full story now but really want remote access. How much does it cost?

yunyu wrote at 2020-10-29 19:48:51:

Here's our current pricing:

https://cohere.so/pricing

jerryliu12 wrote at 2020-10-29 16:35:53:

Been using Cohere for a while now. Really impressed with how easy it is to set up!

mpenn wrote at 2020-10-29 20:31:26:

Would it work out of the box with a react native app?

yunyu wrote at 2020-10-30 15:26:42:

We don't support React Native at the moment, but it's something we're looking to do!

benjamincheck wrote at 2020-10-29 15:02:40:

That reads awesome! Will sure try it now!

yunyu wrote at 2020-10-29 15:14:07:

Amazing, let us know if you have any questions!

lucasverra wrote at 2020-10-30 11:01:41:

Hello there, looks amazing.

What is the GDPR compliance paperwork to have this roll OK with GDPR folks ?

Why should I install the NPM module instead of the script ? Is there some performance gain/loss of one install method vs the other ?

mrwnmonm wrote at 2020-10-30 00:55:15:

Wow, this is amazing!