If you’re a Rekord Buddy 2 user you’ve surely seen one of those dialogs while using the app:

Most people refer to theses as crashes and while, for all intent purposes, this might be somewhat accurate there is actually a lot more to it than just a simple crash. Wonderful things have to do with Rekord Buddy’s overall development philosophy and trying to use the best tools available to diagnose potential issues.

What is a wonderful thing?

First it’s interesting to explain where this line “Something wonderful has happened.” comes from. It’s one of the few inside jokes I added to the app while developing it. While the movie buffs amongst you might think it is in reference of the movie ‘Short Circuit’, it’s actually one step removed from this. I learned to program on the Commodore Amiga and that computer had the distinction of being the home of one of the first publicly known computer virus named the SCA Virus. This virus would infect your floppy disks, replicate itself and from time to time display the message: “Something wonderful has happened. Your Amiga is alive.”. That line was in fact in reference to the movie. My line is in reference to the virus and and inside joke for ex-Amiga owners.

Being that Rekord Buddy is developed by me alone (there is currently someone else helping me with the Windows port but the core app development is all done by me) I have to sometime make choices that will make my life easier and development more straightforward. One of the things I do to help with that is to make sure that the app fails early when it encounters something unexpected. This helps prevent data corruption and prevents the app from entering an unknown state with unknown consequences. You’d be surprised how many apps out there do not perform those types of checks of fail to act accordingly when they encounter them. My choice was, from the start, to stop the app completely if something was off. That’s what the wonderful things are all about. Something is wrong. We should stop right now to avoid making thing worse. There’s a healthy dose of paranoia in doing this so strictly but it has served me well over time.

What to do?

Once you encounter such a problem, the next question becomes how can I then investigate the issue and create a fix. The hardest thing remains issues that happen on other people’s machines and that I cannot reproduce on mine. This makes it almost impossible to fix unless you have an idea of what is going on.

That’s where the crashes come in.

You see, as I’m sure you know, apps crash. When apps crash some developer somewhere has to go figure out why and then provide a fix for the crash. In order to help them with that task, a lot of very cool tools and libraries have been created to help programmers deal with crashes and for users to report them. If you feel like that sounds like something that could also help me diagnose odd behaviors, you are right. So that’s the magic answer. When the app behaves in a way that it should not I tell the user that something wonderful has happened and then I make it crash. That way, I get to benefit from all the tools that exists to diagnose crashes even though I’m really only diagnosing the app’s behavior.

I get to see where in the code the user is and sometimes get a good idea as to how a user got there. This is the next best thing to being able to reproduce a problem myself and sometimes that’s all I need to fix issues, even ones that I don’t see on my own setup.

The more you know.

No app is perfect and no app is 100% bug free. But what you do when unexpected things happen can make a big difference in trying to make an app as good as it can be. I hope this helps you understand Rekord Buddy’s philosophy a bit more and that, if you thought that the app was crashing a lot, you now see that it’s just being very paranoid. Like me 🙂

12 comments

    • Comment by Damien Sirkis

      Damien Sirkis December 14, 2016 at 5:54 pm

      Me too trust me 🙂 2.1 is actually going to have some code from the Windows code base.

  1. Comment by Marco Bongiovanni

    Marco Bongiovanni December 18, 2016 at 11:28 pm

    I can’t use this app, always crashing, this is still a beta release, I will ask my money back!

    • Comment by Damien Sirkis

      Damien Sirkis December 19, 2016 at 9:25 am

      Take the time to read this post 🙂 what you’re seeing most likely is not a crash.

      If you have found an issue that you can replicate that often then it should be an easy fix but the most effective way to address this is via support.

      In agreement with the refund policy (http://next.audio/knowledgebase/what-is-your-refund-policy/) I will be happy to provide a refund if for whatever reason I’m unable to fix the issue you’r encountering.

      • Comment by Marco Bongiovanni

        Marco Bongiovanni December 19, 2016 at 2:44 pm

        Yes sorry, as I wrote you by mail I solved the problem, it was the rekordbox.xml file that wasn’t in the default folder but in the document folder.

        Now seems to works fine.

        Thanks for help.

        Marco.

        • Comment by Damien Sirkis

          Damien Sirkis December 19, 2016 at 4:22 pm

          Glad you got it sorted. Always here to help via support if you need anything else.

  2. Comment by Marco Bongiovanni

    Marco Bongiovanni February 3, 2017 at 3:01 am

    Can’t authorize Rekord Buddy 2. Error 0.
    Your local authorization is missing, expired or invalid.
    This is what i got today when I tried to open the app! Why I always have problem opening this app?

    • Comment by Damien Sirkis

      Damien Sirkis February 3, 2017 at 7:04 am

      Can you contact me via support? We’ll find out what is going on.

          • Comment by Marco Bongiovanni

            Marco Bongiovanni February 4, 2017 at 12:54 pm

            Yes it works now but honestly I hate those applications that need an internet connection to work, really annoying!

          • Comment by Damien Sirkis

            Damien Sirkis February 8, 2017 at 2:42 pm

            The app doesn’t need an internet connection to work. You can use the app up to 15 days after the last time you launched it with an internet connection.

            This was an issue with the server that unfortunately went unnoticed and triggered this 15 days after it happened. That’s all.

Leave a reply

Close
Go top