People are saying that development of bugs-free software is almost impossible. Actually, building a bullet-proof project in my opinion should almost never be a goal (except of blockchain development, duh!).
When you want to do quick progress, you should allow yourself to do some mistakes. At least in the very first phase of the project.
Don't get me wrong, this doesn't mean that you don't have to care about quality of your code. I think I wrote enough about that in my post: "How I bankrupt my first startup by not understanding the definition of MVP - Minimum Viable Product" ;)
The point is: You should be prepared
So, to better handle those kind of inevitable situations, I worked last 2 days on those two Pull Request:
Default look of an error page is determined by server which a project use.
It tells a little bit about what happen, but user might be very disappointed if he ends up on such a page. We do not want him to leave our great website, right?
Turning a bad situation into a ... funny bad situation :)
If you could prevent an error from happening, as a good developer you should do that, but in cases where you couldn't, you do not have to be super formal and serious... unless something really bad happen, like:
We detected that your account was deleted - oops, you need to create new one ¯_(ツ)_/¯
On SteemProjects, I decided to use memes. In case a user will use a broken link, John Travolta will be surprised in similar way as he :)
When your server returns code 500, that means, that you really screwed something up. Where it might occur? Imagine a scenario, where user spend 5 minutes filling a long form, he submits the form.... and he got an error (what can mean, that he just lost a result of own work). Not cool, right?
For those kind of errors I decided to use more personal approach. I decided to try to show to the user, that I am really sorry, that such a moron like me didn't prevent this situation from happening.
Yes, above you can see recording of myself, where I am trying to show, that I am really sorry and... probably this will not happen again in the future, because I already know what the problem might be.
But how can I know? Thanks to mechanism of gathering data (whole callstack, values of key variables) from the moment of error:
I integrated SteemProjects with Sentry already some time ago:
This really helps figure out, not only what wrong happen, that that something wrong happen at all? How otherwise I would know, that user encounter an error? I would need to manually go through all application logs, what is really inconvenient way of approaching this problem. Such tools like Sentry not only gathers all information, but also organize them, group similar issues and help convert those errors into a github issue with just 2 clicks.
But sometimes, even with such great tool, you can't figure out what was the root of the problem...
Maybe you have already noticed this form on the gif above, but in case you didn't, here you have:
Gathered feedback from users is then attached to all logs, and it can looks like this:
Those kinds of information really speeds up bringing the quality of a software product to the user.
I hope, you will not encounter those pages on SteemProjects very often, but if you do and if you will leave me some feedback, please know that I really appreciate that! :)
Please let me know, what do you think about those kind of funny Error Pages? Do you like them or maybe they only makes you even more angry? Which websites have the most interesting error pages in your opinion? :)
Posted on Utopian.io - Rewarding Open Source Contributors