[android-developers] Exception Logging
Just thought I'd let you all know that I have just updated my Exception Logger to Version 2 (0.9.5 RC1). I fixed a bunch of bugs related to my converting it from my own use to something that almost any developer can use :). I've also updated the documentation considerably. YuviDroid helped out quite a bit over this weekend by testing and sending me results... so thanks.. it was much appreciated :). Also, the web pages are functional now, so you can view the exceptions as you test. I will add some more features later, but they are at least functional. Anyone that downloaded it in the last week DEFINITELY needs to download it again : URLS are : . Zip file (w/docs and and install files ) here : http://bgies.com/media/exceptionlogger/exceptionlogger.zip If you only want the docs: http://bgies.com/media/exceptionlogger/bgies_Exception_Logger_Documentation.pdf Exception Logger Manager (for viewing the exceptions) : http://bgies.com/index.php/software-developers/exception-logger-management.html *What the Exception Logger does:* When properly setup the Exception Logger logs ALL unhandled Exceptions in your Android app, and optionally can be setup to log your trapped exceptions, and user settings or other information also . The fields it logs are below: * Insert Time - Time and Date the exception was logged * Developer Key - Used to sort your exceptions (and make sure nobody else can see them) * Application Name - If you have multiple applications, you can sort on this * Activity Name - the activity that generated the exception. * Function Name - if you setup your app to use this, it will log the name of the function that generated the exception * Application Version - the integer version number from your manifest file * Device Type - The alphanumeric string from the Android framework (android.os.Build.MODEL) * Exception Logger Version - so you know if you are using the latest version of our API * SDK Version - The integer version of the Android SDK the device is running (android.os.Build.VERSION.SDK_INT) * Android Id - the Android unique Id. You can sort by it to see the exceptions happening to each user * Email Address - if the user chose to send it * Extras - The Extras field is a varchar(255) of whatever your application sets it to. Use it to send additional debugging information * IP Address - the IP Address logged by our server. May be helpful in some cases * Stacktrace - the complete stack trace at the time the exception occurred -- Sincerely, Brad Gies --- Bistro Bot - Bistro Blurb http://bgies.com http://bistroblurb.com http://ihottonight.com http://forcethetruth.com --- Everything in moderation, including abstinence Never doubt that a small group of thoughtful, committed people can change the world. Indeed. It is the only thing that ever has - Margaret Mead -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
Re: [android-developers] Exception Logging
Ok... I said I would have this ready by the end of the weekend, and it might still be the weekend somewhere :). Sleep got in the way of finishing it last night. I have just packaged the API and uploaded it to my server. You can either download just the documentation or the entire .zip file (which includes the documentation). Zip file here : http://bgies.com/media/exceptionlogger/exceptionlogger.zip Doc file here : http://bgies.com/media/exceptionlogger/bgies_Exception_Logger_Documentation.pdf Yeah... I know... I use long names :). I think the package is ready to use as is, BUT don't take any chances with your project. BACK IT UP BEFORE INSTALLING THIS JUST IN CASE. I still have some work to do on the website so you can see you exceptions but it will be done within the next day or two. You can use it immediately by using this key : DUMMYTESTKEY for the developer key. When you use this key, the server doesn't log the exception, it simply echoes the parameters you sent, and if you are debugging you should see the returned values in Logcat. To get the values logged, you need either a Test Developer Key (this will be limited to a couple of hundred log entries per day per key. The actual value will be floating target for now), or a Prod Developer Key (unlimited logging). To obtain those, you need to register on my website and wait for me to get around to creating one for you. For this first release, I will be a little cautious about giving out too many dev keys, so please have a little patience. I just want to be sure the server can easily handle the volume, and I want to make sure I didn't create any problems with the Exception Logger when I packaged it (my testing seems to indicate it is good, but I want to be sure). PLEASE don't use this in any production apps for now. Consider this release a public BETA, just for debugging. I've also created a forum, so if you could report any problems or criticisms there I would appreciate it: http://bgies.com/index.php/forums/9-android-exception-logger.html And please do give me some feedback, even it's only I wouldn't use that if my life depended on it because ???. Sincerely, Brad Gies --- Bistro Bot - Bistro Blurb http://bgies.com http://bistroblurb.com http://ihottonight.com http://forcethetruth.com --- Everything in moderation, including abstinence Never doubt that a small group of thoughtful, committed people can change the world. Indeed. It is the only thing that ever has - Margaret Mead -- You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en
[android-developers] Exception Logging
This is a bit long winded (sorry, but I need to explain what I'm doing before I can ask the question). Just wondering if I could get a few (hopefully few hundred) opinions on this : I developed an Exception Handler for my first Android app (released the first month the market opened), which logs all uncaught exceptions to my server, and since then I have gradually refined it and improved. I'm now using it in my 4th public Android app and a few private apps, and I find it extremely helpful to find bugs that don't happen to me when I'm testing. One thing I added that is proving to be extremely useful is an AlertDialog when the exception occurs asking the user if it is OK to contact him/her if I need more information to be able to fix the problem, and a box for them to enter their email address if they agree. I don't have good numbers for you on the acceptance rate because most of my public apps already have the users email address and for the private apps the company enforces their compliance (or supplies the emails for me to use). BUT... it looks like about 20% of users do enter their email address if asked, and that is more than enough to be very useful. I think I can increase the percentage of users that do supply their emails addresses, and that is what my question is about :). (I will ask it soon) First, It has occurred to me that my Exception Logger might be even more successful for me if other developers were also using it because users might have seen it before and trust it when they first see it in my apps. That obviously would only happen if quite a few developers were using it. Anyway... sorry it's already getting long, and I AM trying to keep it from becoming a book. I have repackaged my Exception Logger and will release it in the next couple of days for other developers to use (the price is the good one - FREE). I will host the thing on my server (FYI it's a Cloud based server so we can increase capacity if needed) and any developers using it will be able to log in and view the exceptions their app has generated, and sort by time/date, user, and other fields. NOW.. the question: I think the Exception Logger would be more successful getting the users to agree to be contacted IF their email addresses were kept confidential. Actually, I don't think there is much doubt that would be the case. BUT, there is a tradeoff. Obviously, most developers would prefer to see the email addresses so they can manage the contacts a bit more effectively without using my website to do it, BUT if the email addresses are not confidential, fewer users will give them. So here are what I think are the options: a)keep the email addresses confidential, but developers can send the user an email using my website, include both a reply address which goes to my website and then forwards the email to the developer, and also the developers email address so the user could respond directly to the developer if they choose. I'm sure this would have by far the highest success rate for getting contact info but means devs have to use my website to send the first email at least. b)give the user a choice of keeping the email address confidential or just giving it to the developer. This should also have a fairly high acceptance rate by the user, but complicates the process for them because they would actually have to read the instructions to figure out how it works, and quite possibly a few users would think they asked for their email addresses to be confidential, when they actually checked the other option, and would be upset if they found out later. It's also a bit more work for me, for maybe very little benefit. c)Don't bother keeping the email addresses confidential. All my own apps work this way, and it is useful, but I'm sure either of the other two options would have a better success rate of obtaining the email addresses, and therefore would be better for most devs to get information about problems in their apps. I don't try the a) or b) options for myself because obviously I could see the email addresses in my log files if I wanted to look, and it would be a little deceitful to tell the user their email would be confidential in that case, even if I did use them properly ... BUT, I can do that for other developers without stretching the truth at all, so I think it's worth the effort if other devs want to use it. So, please let me know what your opinions are. I'm also hoping to get some idea of how many developers might want to use this. I've already done almost all the work, so it will be released even if nobody wants to use it. It freaks me out a little to open up my server to an unknown amount of use, but I am well setup to increase server capacity quickly if needed, and I don't think the cost of doing this will be too horrible (I hope). ... Sincerely, Brad Gies
Re: [android-developers] Exception Logging
I have thought along similar lines. I think it should just be option a. Don't confuse the user with options. In fact don't even allow user to reply back directly. On Sep 18, 2010 1:19 PM, Brad Gies rbg...@gmail.com wrote: This is a bit long winded (sorry, but I need to explain what I'm doing before I can ask the question). Just wondering if I could get a few (hopefully few hundred) opinions on this : I developed an Exception Handler for my first Android app (released the first month the market opened), which logs all uncaught exceptions to my server, and since then I have gradually refined it and improved. I'm now using it in my 4th public Android app and a few private apps, and I find it extremely helpful to find bugs that don't happen to me when I'm testing. One thing I added that is proving to be extremely useful is an AlertDialog when the exception occurs asking the user if it is OK to contact him/her if I need more information to be able to fix the problem, and a box for them to enter their email address if they agree. I don't have good numbers for you on the acceptance rate because most of my public apps already have the users email address and for the private apps the company enforces their compliance (or supplies the emails for me to use). BUT... it looks like about 20% of users do enter their email address if asked, and that is more than enough to be very useful. I think I can increase the percentage of users that do supply their emails addresses, and that is what my question is about :). (I will ask it soon) First, It has occurred to me that my Exception Logger might be even more successful for me if other developers were also using it because users might have seen it before and trust it when they first see it in my apps. That obviously would only happen if quite a few developers were using it. Anyway... sorry it's already getting long, and I AM trying to keep it from becoming a book. I have repackaged my Exception Logger and will release it in the next couple of days for other developers to use (the price is the good one - FREE). I will host the thing on my server (FYI it's a Cloud based server so we can increase capacity if needed) and any developers using it will be able to log in and view the exceptions their app has generated, and sort by time/date, user, and other fields. NOW.. the question: I think the Exception Logger would be more successful getting the users to agree to be contacted IF their email addresses were kept confidential. Actually, I don't think there is much doubt that would be the case. BUT, there is a tradeoff. Obviously, most developers would prefer to see the email addresses so they can manage the contacts a bit more effectively without using my website to do it, BUT if the email addresses are not confidential, fewer users will give them. So here are what I think are the options: a)keep the email addresses confidential, but developers can send the user an email using my website, include both a reply address which goes to my website and then forwards the email to the developer, and also the developers email address so the user could respond directly to the developer if they choose. I'm sure this would have by far the highest success rate for getting contact info but means devs have to use my website to send the first email at least. b)give the user a choice of keeping the email address confidential or just giving it to the developer. This should also have a fairly high acceptance rate by the user, but complicates the process for them because they would actually have to read the instructions to figure out how it works, and quite possibly a few users would think they asked for their email addresses to be confidential, when they actually checked the other option, and would be upset if they found out later. It's also a bit more work for me, for maybe very little benefit. c)Don't bother keeping the email addresses confidential. All my own apps work this way, and it is useful, but I'm sure either of the other two options would have a better success rate of obtaining the email addresses, and therefore would be better for most devs to get information about problems in their apps. I don't try the a) or b) options for myself because obviously I could see the email addresses in my log files if I wanted to look, and it would be a little deceitful to tell the user their email would be confidential in that case, even if I did use them properly ... BUT, I can do that for other developers without stretching the truth at all, so I think it's worth the effort if other devs want to use it. So, please let me know what your opinions are. I'm also hoping to get some idea of how many developers might want to use this. I've already done almost all the work, so it will be released even if nobody wants to use it. It freaks me out a little to open up my server to an unknown amount of use, but I am well setup to increase server capacity quickly if needed, and I
Re: [android-developers] Exception Logging
I believe option A is the best. One thing you might consider as a premium option for developers is reporting showing which crashes are more prevalent than others. I know Microsoft does this internally for application crashes reported via Watson. --Sean Calendar: http://www.google.com/calendar/embed?src=darkmane%40gmail.com Livejournal: http://darkmane.livejournal.com Every 5 minutes you spend writing code in a new language is more useful than 5 hours reading blog posts about how great the language is. On Sat, Sep 18, 2010 at 10:34 AM, Prakash Iyer thei...@gmail.com wrote: I have thought along similar lines. I think it should just be option a. Don't confuse the user with options. In fact don't even allow user to reply back directly. On Sep 18, 2010 1:19 PM, Brad Gies rbg...@gmail.com wrote: This is a bit long winded (sorry, but I need to explain what I'm doing before I can ask the question). Just wondering if I could get a few (hopefully few hundred) opinions on this : I developed an Exception Handler for my first Android app (released the first month the market opened), which logs all uncaught exceptions to my server, and since then I have gradually refined it and improved. I'm now using it in my 4th public Android app and a few private apps, and I find it extremely helpful to find bugs that don't happen to me when I'm testing. One thing I added that is proving to be extremely useful is an AlertDialog when the exception occurs asking the user if it is OK to contact him/her if I need more information to be able to fix the problem, and a box for them to enter their email address if they agree. I don't have good numbers for you on the acceptance rate because most of my public apps already have the users email address and for the private apps the company enforces their compliance (or supplies the emails for me to use). BUT... it looks like about 20% of users do enter their email address if asked, and that is more than enough to be very useful. I think I can increase the percentage of users that do supply their emails addresses, and that is what my question is about :). (I will ask it soon) First, It has occurred to me that my Exception Logger might be even more successful for me if other developers were also using it because users might have seen it before and trust it when they first see it in my apps. That obviously would only happen if quite a few developers were using it. Anyway... sorry it's already getting long, and I AM trying to keep it from becoming a book. I have repackaged my Exception Logger and will release it in the next couple of days for other developers to use (the price is the good one - FREE). I will host the thing on my server (FYI it's a Cloud based server so we can increase capacity if needed) and any developers using it will be able to log in and view the exceptions their app has generated, and sort by time/date, user, and other fields. NOW.. the question: I think the Exception Logger would be more successful getting the users to agree to be contacted IF their email addresses were kept confidential. Actually, I don't think there is much doubt that would be the case. BUT, there is a tradeoff. Obviously, most developers would prefer to see the email addresses so they can manage the contacts a bit more effectively without using my website to do it, BUT if the email addresses are not confidential, fewer users will give them. So here are what I think are the options: a)keep the email addresses confidential, but developers can send the user an email using my website, include both a reply address which goes to my website and then forwards the email to the developer, and also the developers email address so the user could respond directly to the developer if they choose. I'm sure this would have by far the highest success rate for getting contact info but means devs have to use my website to send the first email at least. b)give the user a choice of keeping the email address confidential or just giving it to the developer. This should also have a fairly high acceptance rate by the user, but complicates the process for them because they would actually have to read the instructions to figure out how it works, and quite possibly a few users would think they asked for their email addresses to be confidential, when they actually checked the other option, and would be upset if they found out later. It's also a bit more work for me, for maybe very little benefit. c)Don't bother keeping the email addresses confidential. All my own apps work this way, and it is useful, but I'm sure either of the other two options would have a better success rate of obtaining the email addresses, and therefore would be better for most devs to get information about problems in their apps. I don't try the a) or b) options for myself because obviously I could see the email addresses in my log files if I wanted to look,
Re: [android-developers] Exception Logging
If enough other devs do use it, I would put some effort into producing reports to make it more useful, but one option that I will do immediately is to put a button on the form listing your last ?? exceptions to download it in a comma delimited format so you can import it into a spreadsheet and do anything you want with it. The only paid option I am even considering is putting an optional Pay Pal donate button on the web page the devs use to view the logged exceptions. I'd be happy if that even covered the additional server expenses. I should also mention that devs will (soon) have the choice to send the exceptions to their own server if they prefer (the option is already in the code), but they will have to agree to some very specific provisions not to spam users before using it. When I have time to figure out the licensing, and set it up, I will put the code up on one of the open source sites so that other people can improve it. Sincerely, Brad Gies --- Bistro Bot - Bistro Blurb http://bgies.com http://bistroblurb.com http://ihottonight.com http://forcethetruth.com --- Everything in moderation, including abstinence Never doubt that a small group of thoughtful, committed people can change the world. Indeed. It is the only thing that ever has - Margaret Mead On 18/09/2010 10:53 AM, Sean Chitwood wrote: I believe option A is the best. One thing you might consider as a premium option for developers is reporting showing which crashes are more prevalent than others. I know Microsoft does this internally for application crashes reported via Watson. --Sean Calendar: http://www.google.com/calendar/embed?src=darkmane%40gmail.com Livejournal: http://darkmane.livejournal.com Every 5 minutes you spend writing code in a new language is more useful than 5 hours reading blog posts about how great the language is. On Sat, Sep 18, 2010 at 10:34 AM, Prakash Iyer thei...@gmail.com mailto:thei...@gmail.com wrote: I have thought along similar lines. I think it should just be option a. Don't confuse the user with options. In fact don't even allow user to reply back directly. On Sep 18, 2010 1:19 PM, Brad Gies rbg...@gmail.com mailto:rbg...@gmail.com wrote: This is a bit long winded (sorry, but I need to explain what I'm doing before I can ask the question). Just wondering if I could get a few (hopefully few hundred) opinions on this : I developed an Exception Handler for my first Android app (released the first month the market opened), which logs all uncaught exceptions to my server, and since then I have gradually refined it and improved. I'm now using it in my 4th public Android app and a few private apps, and I find it extremely helpful to find bugs that don't happen to me when I'm testing. One thing I added that is proving to be extremely useful is an AlertDialog when the exception occurs asking the user if it is OK to contact him/her if I need more information to be able to fix the problem, and a box for them to enter their email address if they agree. I don't have good numbers for you on the acceptance rate because most of my public apps already have the users email address and for the private apps the company enforces their compliance (or supplies the emails for me to use). BUT... it looks like about 20% of users do enter their email address if asked, and that is more than enough to be very useful. I think I can increase the percentage of users that do supply their emails addresses, and that is what my question is about :). (I will ask it soon) First, It has occurred to me that my Exception Logger might be even more successful for me if other developers were also using it because users might have seen it before and trust it when they first see it in my apps. That obviously would only happen if quite a few developers were using it. Anyway... sorry it's already getting long, and I AM trying to keep it from becoming a book. I have repackaged my Exception Logger and will release it in the next couple of days for other developers to use (the price is the good one - FREE). I will host the thing on my server (FYI it's a Cloud based server so we can increase capacity if needed) and any developers using it will be able to log in and view the exceptions their app has generated, and sort by time/date, user, and other fields. NOW.. the question: I think the Exception Logger would be more successful getting the users to agree to be contacted IF their email addresses were kept confidential. Actually, I don't think there is much doubt that would be the case. BUT, there is a tradeoff. Obviously, most developers would prefer to see the email addresses so they can