I signed up for a free two week trial of 51Degrees.mobi to test with premium data. According to their documentation, IsTablet (along with ScreenPixelsHeight and ScreenPixelsWidth) is only available with the premium data. Also, gaining a better understanding of how 51D defines IsMobile and IsTablet helped me a bit:
IsMobileThe device's primary data connection is wireless and is designed to operate mostly from battery power (ie a mobile phone, smart phone or tablet)
This explains why tablets return as true. Also, since implementing the premium data, all phones are now returning as false for IsTablet.IsTablet - (Only included with 51Degrees.mobi premium data)
The manufacturer of the device sells the device primarily as a tablet.
Note, Samsung Galaxy Tab (Android), Samsung Galaxy Note (Android), Google Nexus 7 (Android) all report false for IsTablet.Another note, 51D does not provide any information regarding MaxSideSize on their properties dictionary found here:
http://51degrees.com/Products/DeviceData/PropertyDictionary.aspxCould this property have been discontinued?
Overall, the goal I'm attempting to achieve is RESS - Responsive Design + Server Side Components:
http://www.lukew.com/ff/entry.asp?1392Ultimately this technique means somehow detecting if the user is on a phone and serving different/optimized code to them via Device Profiles, Conditional and Device Layouts.
What I'm struggling specifically is how to detect if the user is on a phone. My approach was to use ScreenPixelsWidth or MaxScreenSize, but neither of those seem to consistently return correct values (many devices incorrectly return 640). I'm not entirely sure why this is.
I hope some of this helps, let me know if you would like any of the data files provides by 51D.