7 ms·
Show HN: Errorception - High performance JavaScript error tracking
Just launched Errorception http://errorception.com/ yesterday. Errorception is a error tracking service which catches and reports in end-users' browsers as they happen.
I built Errorception since I couldn't didn't find any error reporting system that (a) didn't rewrite my JS, (b) didn't modify the browser runtime by overriding common functions, and (c) had a zero performance cost, especially with regards to blocking script tags.
Would love your thoughts.
Site: http://errorception.com/
- rakeshpai 15y agoWorking link: http://errorception.com/ http://errorception.com/
- narad 15y agoSeems to be interesting. Do you have a demo video? Will this work in all the browsers? Any browser restrictions?
- rakeshpai 15y agoNarad, no demo video yet, but I'll see what I can do. It works in most popular desktop browsers - any browser that supports window.onerror is supported.
- dclaysmith 15y agoI can see some problems with your "per-exception" pricing model. If your product works and adds value, it will result in the reduction of exceptions. A reduction in the number of exceptions will result in web sites requiring a smaller plan. Smaller plans will result in lower revenue. The more useful your app is, the less money you will make (a bit of a generalization but you get the point). Could you not migrate to page loads? Fire off an event on every page, regardless of whether or not there was an exception?
- rakeshpai 15y agoThanks for the feedback, Clay. I considered that model for a really long time. But there were two problems with it. (a) Actually just handling large amounts of hits wasn't really a huge cost for me, and (b) I don't think the usefulness will reduce for people who actively deploy regularly. If people don't deploy regularly, they'll likely be happy with the free plan anyway. :)
- richardmarr 15y agoCharging per exception also adds a nice synergy to bugfixing.
- colinramsay 15y agoWhat's the support like for mobile browsers? Debugging mobile webkit is a pain. It'd be nice to see some screenshots on the site too.
- iambot 15y agoIf you're product it targeting developers, as I'm sure a "High performance JavaScript error tracking" service would be. I would hope that the "Features" page would be a bit more descriptive of how it works. While I understand that you don't want to over complicate the features section, the reality is that the people you're targeting should have more than a basic understanding of whats happening, and you should talk to them as such. - Unless you're targeting managers and hoping they will force this on their developers. Edit: I notice you have _some_ technical info in the FAQ, but my personal opinion is that if you're targeting devs you need MOAR. tl;dr: Give us more info.
- rakeshpai 15y agoThanks. Point taken. Do you have any specific questions in mind?
- iambot 15y agoSome things off the top of my head: What info do you report back? What format is it? Do you handle different types of errors? And if so how do you report them? Do you plan on providing an API for devs to retrieve this info? That's all I can think of on the spot, I just think you know your product better than anyone else, adn if you were trying to convince yourself to use it, surely the 8 point feature list wouldn't cut it.
- rakeshpai 15y agoCool... thanks for this list. I'll incorporate it in the FAQs. To answer your questions right here: The only info reported back is the three parameters from window.onerror (error message, line number, file name), and the page on which the error occurred. It's submitted as a regular form POST. There's no distinction between different types of errors - everything that window.onerror catches is posted. I do have plans for an API (and several other features) in mind - it's still work in progress.
- iambot 15y ago
- nashjain 15y agoI've used Errorception for one of my products and was very happy with the service provided by the author. Thanks.
- tudorw 15y agoThanks, going to give it a try. One tiny typo (I think!), first line under Sign Up For Free Trial 'No oblations.' plural of ob·la·tion (Noun) Noun: A thing presented or offered to God or a god. The presentation of bread and wine to God in the Eucharist.
- rakeshpai 15y agoI asked the mighty Google, and couldn't find anything like that. You could be right, of course. Do you have a link? I've even seen several others use the term verbatim.
- bdg 15y agohttp://m-w.com/dictionary/oblations http://m-w.com/dictionary/oblations
- robterrell 15y agoI think the word you're looking for is "obligations".
- rakeshpai 15y agoAh. I even read the "oblations" as "obligations" in my head. Thanks for pointing this out. It's fixed now.
- tudorw 15y agono problem, it's working nicely, I have a few errors to fix now, cheers :) edit: it would be nice to see some data aggregated and fed back into the community so that issues with some of the more popular JS packages like jquery could be fixed :)
- rakeshpai 15y agoThat's a neat suggestion, though it may be hard to distinguish between developer errors and library errors. It's definitely something to aspire for. Great to know you are liking the service. Cheers!
- avlesh-singh 15y agoCool idea! Does it give me a stacktrace of exceptions too?
- rakeshpai 15y agoNope, no stack trace at the moment. This is because the stack has unrolled by the time window.onerror is hit. However, there might be workarounds - fake stack traces we can build by walking the callstack in some browsers. I'm currently working on just this. :)
- piyush_ranjan 15y agoI used http://errorception.com http://errorception.com on one of my projects and very surprised to find some really nasty JS errors which I never knew existed
- angry-hacker 15y agoYou need to provide more information how the service works, what kind of data and how you can get etc.
- rakeshpai 15y agoThanks. I'm assuming you already looked at http://errorception.com/faq http://errorception.com/faq and that wasn't satisfactory? I'll see how I can improve the FAQs.
- sourav_sachin 15y agoThis sounds like a really cool idea! Will give it a whirl
- pooja_chauhan 15y agoWow Really cool idea...let me give it a try....any discount coupons?
- acharekar 15y agoCongrats, I have worked with errorception, found it really useful. Thanks.
- gregdetre 15y agoWe've tried 2 or 3 existing Javascript error tracking systems in the past. None of them helped much. Performance is not the feature I care about. On the other hand, I would be delighted to pay to get more actionable information about our errors. It's so so hard to determine exactly where in the code, and under what circumstances, errors in the browser happen.
- rakeshpai 15y agoHey Greg, The challenge you have mentioned is real, and is hard to crack. I certainly haven't solved the problem to my satisfaction yet. However, I'm rather far along the way. A lot of errors are classified as being irrelevant (I call it "muted", but that's a terminology thing), and the ones that are in your face are based on relevance and frequency. This is a very rudimentary way of deciding importance, but it's something. At least it's not a raw list of logs. Improving the quality of "actionable information" as you put it will be the biggest (and most interesting and fun) challenge at Errorception. It'll get better over time.
- gregdetre 15y agoThat sounds promising. I'll take a look. P.S. I'm at greg at memrise dot com if you make further progress and are looking for beta testers.
- deleted 15y ago[deleted]
- karterk 15y agoSorry if this comes across snarky, but please avoid using "Painless X". People are over exposed to it, and it doesn't really convey any meaning.
- rakeshpai 15y agoHaha. Thanks for this feedback. I really have to work on my (non-existing?) marketing skill.
- bdg 15y agoYour product is for people who write code, but your sales pitch is some vaporous hand-wavy thing. I'm writing my own guide on quality JavaScript, and I have absolutely no idea of what your product does beyond "Group errors and email people, also, unobtrusive!" I imagine (based only on your comments here) this is a JavaScript file that basically sends ajax data with `window.onerror` events from the browser. You need a user story for customers. "Bob's website, twitter.com, sucks because it throws thousands of errors only to suppress them by hacking in window.onerror = function(){} so nobody gets to see them in the console and make fun of them, why not do better and get reports of what your errors actually look like!" Your user story needs to explain value (which I myself as a potential customer of yours do not see, I will explain in a moment). Also, pricing on the volume of errors doesn't feel right. Especially if I'm using this for development. Some websites will pass even your $60 limit in a few days, never-mind errors that happen in loops. Why not just set one price? 20-25$/month or $200/year feels right to me. You also need to compete on something that shows value. Who are you targeting? What errors do your customers care about? Why might I not want to use your tool? Why does twitter suppress errors rather than fix them? Why might twitter buy your service? As for why you don't have my business, I see no advantage or benefit to your product. I've implemented similar features in the past only to move onto other things. Sending an web request (ajax or any other request type) with window.onerror is trivial. I even optimized it to not lag out pages when we have errors in loops through some other techniques. You haven't convinced me why a competent JS developer needs this, when the implementation for very basic functionality is trivial. Give me a reason to buy this; a spreadsheet of hand-wavy features doesn't answer the problems that keep me up at night. tldr: Marketers, marketers, marketers.
- rakeshpai 15y agoThanks for taking the time for the comment, bdg. About the pitch/technology/complications: You are right - everyone here too has echoed that I should clarify how the tech works, why it isn't really trivial, and generally improve the marketing pitch too. I hear you. Expect a change coming up soon. Thanks for the feedback - it's invaluable.
- sdepablos 15y agoI suppose the main advantage would be information aggregation with each error next to the number of occurrences (I don't want to see a hundred times the same error), the same business model as airbrake or getexceptional. I mean, almost any developer could implement an exception logger, but I don't really want to spend that time on a non-core feature for my business.
- htilford 15y agoFound an IE 7 bug in less than a minute <3
- dolinsky 15y agoI came across http://www.muscula.com/ http://www.muscula.com/ over the weekend, and they seem to be farther along with this kind of a product in terms of features (not to discourage you, just to give you a heads up as to what else is out there). Specifically, they've implemented a stack trace and also provide the browser/OS data in addition to the file/line/error. They also provide a quick overview of their architecture if anyone is curious @ http://www.muscula.com/architecture http://www.muscula.com/architecture
- rakeshpai 15y agoI've heard about Muscula (and I'm reasonably sure they've heard about Errorception - it's a smallish world :) ), and I'm curious to know more about how they do what they do. That said, the architecture isn't too different. Errorception is also built on Node and MongoDB. I am not a fan of JSONP (GET) for writing data (POST/PUT), mostly because I'm a stickler for HTTP semantics. Otherwise, without too much insight into what Muscula is doing, it certainly looks like we are very similar. Browser/OS information is rather easy to get - it's all in the UA string. Errorception captures that already. :)
- endian 15y agos/effect/affect/
- rakeshpai 15y agoThanks. Fixed.
- endian 15y agoHow, precisely, does your service interact with my code? What does an error report look like? This should be on the front page. Also, "How can I pay for errorception? I'm working hard on getting a simple enough payment mechanism in place, that plays well with the laws of my land. As you can imagine, I need to start making money soon enough, and this is my top priority right now." doesn't inspire confidence in your product's reliability or half-life.
- rakeshpai 15y agoThanks for pointing this out. I've fixed the FAQ to be more recent - what you saw was from an older time. Thanks again.
- sidcool 15y agoClickable: http://errorception.com/ http://errorception.com/