Users of my app can optionally submit their scores to my server. I can see that about 20% of them do so, and when they do, I record their 'useragent' in my DB. Actually 95% of the time 'useragent' is 'None' ( I don't know why - is it because most operators filter it? ) but sometimes I do get to lie my hands on a full useragent. Let's see how it looks:
mysql> select date,query,useragent from logs where useragent!="None" order by date;
+---------------------+---------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| date | query | useragent |
+---------------------+---------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 2010-01-06 06:24:20 | | Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; MS-RTC LM 8; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) |
| 2010-01-06 06:32:59 | | Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; MS-RTC LM 8; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) |
| 2010-01-08 05:51:06 | l=0&c=1&t=131&v=&n=Jesus&s=%2b61415011501&h=360&r=0 | Nokia6700c-1/2.0 (07.90) Profile/MIDP-2.1 Configuration/CLDC-1.1 |
| 2010-01-08 22:27:15 | l=0&c=1&t=52&v=&n=Annelie&s=%2b27841000000&h=141&r=0 | Nokia6303classic/2.0 (06.40) Profile/MIDP-2.1 Configuration/CLDC-1.1 |
| 2010-01-09 20:52:54 | l=0&c=1&t=9&v=&n=T&s=%2b393359609600&h=64&r=0 | UP.Link/6.3.0.0.0 |
| 2010-01-14 08:11:58 | | Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; MS-RTC LM 8; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) |
| 2010-01-14 18:00:27 | l=0&c=1&t=46&v=&n=.da.&s=%2b447973100973&h=369&r=1 | Nokia6700c-1/2.0 (07.90) Profile/MIDP-2.1 Configuration/CLDC-1.1 |
| 2010-01-15 01:49:17 | | Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; MS-RTC LM 8; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) |
| 2010-01-18 21:13:20 | l=0&c=2&t=4&v=TEST&n=Peter&s=%2b886931000099&h=479&r=12 | Nokia3120classic/2.0 (07.16) Profile/MIDP-2.1 Configuration/CLDC-1.1 |
| 2010-01-18 21:13:58 | l=1&c=2&t=18&v=Peter&n=Peter&s=%2b886931000099&h=177&r=12 | Nokia3120classic/2.0 (07.16) Profile/MIDP-2.1 Configuration/CLDC-1.1 |
| 2010-01-18 21:14:15 | l=2&c=2&t=36&v=Peter&n=Peter&s=%2b886931000099&h=291&r=12 | Nokia3120classic/2.0 (07.16) Profile/MIDP-2.1 Configuration/CLDC-1.1 |
| 2010-01-18 21:14:47 | l=3&c=2&t=136&v=Peter&n=Peter&s=%2b886931000099&h=91&r=12 | Nokia3120classic/2.0 (07.16) Profile/MIDP-2.1 Configuration/CLDC-1.1 |
| 2010-01-18 21:27:12 | l=4&c=2&t=485&v=Peter&n=Peter&s=%2b886931000099&h=52&r=13 | Nokia3120classic/2.0 (07.16) Profile/MIDP-2.1 Configuration/CLDC-1.1 |
| 2010-01-21 07:11:51 | l=1&c=1&t=94&v=&n=Alpocoloco&s=%2b447802000332&h=509&r=0 | Nokia6300/2.0 (06.01) Profile/MIDP-2.0 Configuration/CLDC-1.1 |
| 2010-01-21 07:16:12 | l=3&c=1&t=234&v=Alpocoloco&n=Alpocoloco&s=%2b447802000332&h=258&r=0 | Nokia6300/2.0 (06.01) Profile/MIDP-2.0 Configuration/CLDC-1.1 |
| 2010-01-21 07:33:33 | l=1&c=0&t=6&v=Alpocoloco&n=Alpocoloco&s=%2b447802000332&h=83&r=0 | Nokia6300/2.0 (06.01) Profile/MIDP-2.0 Configuration/CLDC-1.1 |
| 2010-01-22 19:00:50 | l=0&c=1&t=303&v=&n=Bamberlaa&s=%2b447802000332&h=183&r=0 | Nokia6700c-1/2.0 (07.60) Profile/MIDP-2.1 Configuration/CLDC-1.1 |
| 2010-01-24 20:24:58 | | Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; MS-RTC LM 8; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) |
| 2010-01-31 09:17:00 | l=0&c=1&t=182&v=&n=Sarah&s=%2b491722270333&h=89&r=0 | Nokia6700c-1/2.0 (07.60) Profile/MIDP-2.1 Configuration/CLDC-1.1 |
+---------------------+---------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+
19 rows in set (0.00 sec)
Sorry, a bit unreadable. Look at the 'useragent' column - we can see several Mozilla/4.0's ( I dont know what model can that be so lets forget about that ) , we can see a Nokia3120classic ( that's me ) and , most importantly, we can see this (cut for brevity):
2010-01-08 05:51:06 | l=0&c=1&t=131&v=&n=Jesus&s=%2b61415011501&h=360&r=0 | Nokia6700c-1/2.0
2010-01-08 22:27:15 | l=0&c=1&t=52&v=&n=Annelie&s=%2b27841000000&h=141&r=0 | Nokia6303classic/2.0
2010-01-14 18:00:27 | l=0&c=1&t=46&v=&n=.da.&s=%2b447973100973&h=369&r=1 | Nokia6700c-1/2.0
2010-01-21 07:11:51 | l=1&c=1&t=94&v=&n=Alpocoloco&s=%2b447802000332&h=509&r=0 | Nokia6300/2.0
2010-01-21 07:16:12 | l=3&c=1&t=234&v=Alpocoloco&n=Alpocoloco&s=%2b447802000332&h=258&r=0 | Nokia6300/2.0
2010-01-21 07:33:33 | l=1&c=0&t=6&v=Alpocoloco&n=Alpocoloco&s=%2b447802000332&h=83&r=0 | Nokia6300/2.0
2010-01-22 19:00:50 | l=0&c=1&t=303&v=&n=Bamberlaa&s=%2b447802000332&h=183&r=0 | Nokia6700c-1/2.0
2010-01-31 09:17:00 | l=0&c=1&t=182&v=&n=Sarah&s=%2b491722270333&h=89&r=0 | Nokia6700c-1/2.0
Before users submit, they first have to choose their username. It's the 'n' parameter in their query, so above we see the following users:
1) Jesus using a 6700c (heh!)
2) Annelie using a 6303classic
3) .da. with 6700c
4) Alpocoloco with a 6300 ( 3 times )
5) Bamberlaa with a 6700c
6) Sarah with a 6700c
Users cannot choose a username that is already taken, so the point is that we have at least four 6700c's, a 6300 and a 6303 here. Now let's look at my sales report 'per device' list:
#1 Nokia E71 22.4 %
#2 Nokia N95 9.5 %
#3 Nokia N95 8GB 7.8 %
#4 Nokia E75 6.9 %
#5 Nokia N96 6.0 %
#6 Nokia N86 8MP 6.0 %
#7 Nokia E66 6.0 %
#8 Nokia E63 6.0 %
#9 Nokia E72 5.2 %
#10 Nokia 6210 Navigator 2.6 %
#11 Nokia N85 2.6 %
#12 Nokia E52 2.6 %
#13 Nokia 6220 classic 1.7 %
#14 Nokia N79 1.7 %
#15 Nokia E71x 1.7 %
#16 Nokia N82 1.7 %
#17 Unresolved 1.7 %
#18 Nokia E90 Communicator 1.7 %
#19 Nokia 5630 XpressMusic 1.7 %
#20 Nokia N78 0.9 %
#21 Nokia 6303 classic 0.9 %
#22 Nokia 5800 XpressMusic 0.9 %
#23 Nokia 6760 Slide 0.9 %
#24 Nokia N81 0.9 %
( yes, yes, I know you can calculate I have sold 116 copies this month![]()
Now, there is one Nokia 6303 here. Where are the 4 6700c's and the 6300 though? The 'unresolved' device stands at 1.7%, which means 2 sales, so that does not explain it.
On top of that, in the sales report we can see a 5800 XpressMusic - a S60 5th edition touchscreen device, with which my app is incompatible and clearly marked as so in Ovi. I don't know what the poor chap with the 5800 did. For sure, on a 5800 with no keyboard he cannot do jack shit with my app.




