How I use EurekaLog to improve my software and make my customers happy.

  I am programming in many different languages and am doing it for 12 years. In the last few years, I started doing it professionally and began earning good money for that. Along with it came the need to ensure better quality for the applications I was developing.

  When I discovered EurekaLog, I thought it could be nice for a program to be able to report its own bugs. Deciding to use it was a no-brainer since EurekaLog does not reduce application’s performance. Moreover, the increase of the .exe file size was insignificant. I did not even think at the time that EurekaLog would become a crucial tool for improving my software and keeping it bug-free.

  Most inexperienced developers think that if an app does work well for them it will work well for everyone else. They are often surprised that a small change of the computer’s configuration may break their code. It is even more surprising when a customer uses the software in a way the developer didn’t think it will be used and didn’t test the program accordingly. It happens all the time.

  One stupid bug that I received a report (and fixed in no time thanks to EurekaLog) was when several customers of mine were clicking on the tray icon menu even before they have passed the nag screen. Who would have thought to test that?

  When I first released software to the public, I have tested it well. I didn’t hear any complaints from customers so I thought it is really bug-free. Far from it. It turned out that users don’t like reporting bugs. Even in traditional business, customers seldom complain. More often, they simply decide to go to other software vendor.

  When an unhandled exception occurs, (that is a bug of course) EurekaLog handles it and gives you thorough report. Along with the detailed list of user’s system configuration comes the most useful info: the Call Stack. Thanks to it, I can locate the exact line where the bug appear and track the calls that lead to it.

  The best part is that when a customer encounters a bug EurekaLog not only shows all the details but also allows him to send you the report by email with a single mouse click. Some users still prefer to copy-paste the info and send it to me manually by email or in the support forum. However, no matter how I get the report I have all the information necessary to fix the bug.

  Initially I was surprised and even overwhelmed by how many bugs EurekaLog unveiled in my programs. Luckily, the good part about bugs is that they obey the 80/20 rule. This means 80% of the problems users have are caused by 20% of the bugs that are in your code. Therefore, you have to fix just a few bugs and you will significantly increase the stability of your program.

  One of the greatest things about EurekaLog is that you can start using it without even adding a single line to your code. It integrates quite well with the IDE and you can configure it from its own Configuration Dialog.

  Later if you need it, you can add some code to handle bugs smarter. In my most recent project OverSpy (, I needed EurekaLog badly. OverSpy is computer-monitoring software that allows you to monitor virtually everything that happens on a PC (used to monitor kids, spouses, employees).

  OverSpy spends most of the time hidden, and should not reveal its presence in any way. When a bug occurs, I suppress the dialog shown but still record the bug report. If a bug happens when the user reviews, the monitoring reports or configures the application it is safe to show an error message. I display a custom designed dialog very similar to the one Windows uses to inform of critical errors. Then the program can send all the collected bug reports that happened when it was hidden.

  You may be familiar with the concept that the first hour of a user’s experience should be perfect because this is the time he decides whether to buy or not. Before EurekaLog, I was loosing sales and didn’t even know about it.

  I think it is obvious already: EurekaLog is one of the few must-have development tools for me. My software is much better and my customers are happy now.

Boris Yankov, CEO
Virtuoza, Inc.