[android-developers] Exception Logging

2010-09-27 Thread Brad Gies


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

2010-09-20 Thread Brad Gies


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

2010-09-18 Thread Brad Gies
 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

2010-09-18 Thread Prakash Iyer
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

2010-09-18 Thread Sean Chitwood
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

2010-09-18 Thread Brad Gies


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