We use FullStory and it’s fantastic. Would be extremely difficult to convert me.
Any idea why?
Yes, I also think it's annoying that they do this.
We record all events for any web app so you can replay session and fire the exact same mouse+keyboard+ajax events to reproduce the issue. Very similar tools but we wanted to make something generic targeting every web app
To give an example, I've seen lots of "antiviruses" inject code or perform unexpected DOM changes, causing certain things to break.
Other times a user shows up with a heavily tweaked browsers that behaves differently from what you'd expect.
I stick with Flow for now just because create-react-app doesn't support officially TypeScript, but it should be possible with the next major version that will include Babel 7.
For error tracking I've previously used Sentry . I found it really easy to use and setup in a fairly large JS app. The best part is that it's open source, so you always have the option of hosting it yourself, which removes any fear of vendor lock-in. I'd say it's well worth paying for their SaaS offering.
EDIT: Looking through the docs, it seems they expect you to load their non-versioned third-party sourced script, and it's not even hosted on a CDN. That's a huge security risk, so it's an immediate blacklist for me.
We'll have a CDN up shortly, good point! You can also host the JS script yourself, or use the on-premises version (Docker image)
I am not sure how I feel about these session recorders and probably want to start blocking them from my browser. It is akin to someone recording your every movement inside your house and watching the video to see what issues come up. Oh and you have no idea its happening.
Also wonder about how this data is protected. If videos of how I used Facebook were leaked (messages I started to type but didnt send for instance) it would be a huge violation of my privacy.
In the same token, its like free UX research, you can see where people struggle by watching them use the app. It is like standing over someone's shoulder to see how they are using the product and helps immensely in that realm. I still feel like it should be opt in though.
1. We recommend all our users to use the opt-in prompt before an error is logged. Demo: https://app.therootcause.io/sandbox/confirmation/
2. We can also show a special icon in bottom right corner when video is recorded. Demo: https://app.therootcause.io/sandbox/videorecording/
And, it's not just about production sites - another use case is using this internally as a tool between QA <-> Developers to speed up communication when new errors are found.
While we'd like that to be true it's sadly not in practice.
The most common example is websites with sensitive data in the URL (ex: PII query parameters) using third party analytics services that receive the entire URL as a metric.
Imho Ext is a specialty of all the existing UI frameworks, and imho it's shit.
Tbh I though it would die directly after being bought by Idera. Even most of the most Senior people left or got fired after that.
Most annoying things (imho):
- lock in: all their widgets, and tooling, and everything only works for Sencha products, and is by far worse than the current open source counterparts
- price: for a SMB/big-company this doesn't matter, but you pay a premium to use "widgets" which are worse (imho) than open source
- Sencha Widgets compile into clunky and non-semantic HTML (thousands of divs), which also impacts performance a lot: simple apps usually have 3-5MB
- debugging is difficult as you have to go through their "OOP" layers (can be 5-10 layers) [Java Developers created this Web Framework]
People argue that it's great because many rich widgets are already available and because the framework tells you how do to stuff.
But everyone will run into a point in time where something is just extremely hard because of extjs constraints, which usually ends in a hacky solution.
The best error handling technique is to catch exceptions and show up a big popup on the screen with the error details.
Your users will send those details to you instead of just saying "the app crashed".
In a reasonable language, you do something obviously wrong, and it throws an exception immediately, which gives you a stack trace that gives reasonable context for understanding what went wrong.
Eh, I don't think that logging runtime-in-the browser is the value added here. I can wrap my codebase in a try-catch that catches exceptions and calls home with the stack trace in < 100 lines of code. Avoiding that < 100 lines of code isn't the value added.
It does in a reasonable language. That's my point.
"foo" + 1
undefined + 1
No it cannot. You need a backend to send and store the logs, a dashboard with some grouping/filtering features to analyze anything, an alerting system to send you daily/weekly emails, user/group/permission management if you don't work alone, and so on.
Don't act like this guy who said Dropbox has no value because it's trivial to make a FTP account online and sync it with your machine.
> No it cannot. You need a backend to send and store the logs, a dashboard with some grouping/filtering features to analyze anything, an alerting system to send you daily/weekly emails, user/group/permission management if you don't work alone, and so on.
That's a pretty big change in scope you've got there.