PDA

View Full Version : Device compatabilty info



SimonFlack
5 Feb 2011, 2:11 PM
Hey Sencha Team.

Is there an official document that specifies what devices currently work with ST?

I have tested quite a few devices in connection with testing in my previous project but it's not very cost effective to buy a whole load of devices for testing.

As many have noted older HTC desires and legends don't work well enough to be used commercially. Eventually these old phones will be phased out but until then us developers need to know about them.

This framework is no longer in beta and not only being used in free apps. Many developers are using this stuff to build software for commercial products. The worst thing that can happen for us developers and sencha is that ST gets a bad reputation because products built on this framework get used on older phones unintentionally.

My previous employer is already experiencing dissatisfied customers that have purchased their new sencha based mobile app on the assumption it would work on their Android phones. The only info we had to give to sales personal regarding compatibility was based on limited device testing and information on this site.

An official list of compatible devices released by sencha would be very useful to developers like me. It would allow me give informed answers regarding compatability and reduce the risk of me selling a sencha based app to customers using older android devices.

I understand that sencha faces the same problem getting hold of all devices in order to test them but information is coming in via this forum. It just needs to be collected and published.

If such a list exists then it needs to be easier to find.

I agree. HTML 5 is the future of mobile apps but until devices, browsers and phone owners catch up it's important that developers don't push apps to paying commercial customers running incompatable devices. We (developers) need help to help you (sencha).

This is not a criticism of ST or sencha. It's a great product and everybody from the team I met at the conference instilled confidence in me to continue using this framework. Keep up the awesome work guys.

joseeight
6 Feb 2011, 8:14 AM
Currently, Sencha Touch supports Webkit browsers, more specifically, iOS 3+ and Android 2.0+ (note that below Android 2.0 is not supported, so Android 1.6 which is what older devices run is not supported). The Sencha team has listed Blackberry 6+ as their next targeted browser for support.

I used a PHP script to detect the browser type and version, for which I then direct the user to the correct version of the site. Here is the link to the library for that script: http://chrisschuld.com/projects/browser-php-detecting-a-users-browser-from-php/

My app (http://renaissancenavigator.com/mobile/) uses 3 versions of the site for mobile. A Sencha Touch version for iOS 3+ and Android 2+, simple HTML for mobile devices with JS (using jQuery), and text only for all others. You shouldn't rely on Sencha doing the detection for you or providing support for all mobile devices.

I hope that helps a bit..

BlueCamel
6 Feb 2011, 9:06 AM
Consider using WURFL (http://wurfl.sourceforge.net/) to handle detection on the server. Setup your default page to handle the detection and then redirect the client to the appropriate site for serving your device specific app.

joseeight
6 Feb 2011, 9:52 AM
I did, but I liked Chris Schuld's script better, but both do the same thing.

http://chrisschuld.com/projects/browser-php-detecting-a-users-browser-from-php/

SimonFlack
6 Feb 2011, 10:40 AM
Currently, Sencha Touch supports Webkit browsers, more specifically, iOS 3+ and Android 2.0+ (note that below Android 2.0 is not supported, so Android 1.6 which is what older devices run is not supported). The Sencha team has listed Blackberry 6+ as their next targeted browser for support.

I am aware of what OS versions sencha supports. What I am looking for is a list of devices ( hardware) sencha touch actually works well on. For example. My friend has an older HTC desire running android 2.1. while the OS is technically capable of running sencha even the most simple examples perform very badly.

Hope this helps explain what I am looking for and why.

buz
10 Feb 2011, 5:07 AM
As you guys say, BlackBerry would be supported. During the conference the developers told the 1.1 release of Sencha Touch would be late January. I'd like to know how long it will take until version 1.1 of ST will be released?

gr

hitman01
10 Feb 2011, 11:41 AM
I absolutely agree that there needs to be a list of devices. I was testing with HTC Hero (Android 2.1) and its practically unusable. Many of our clients report strange problems with some Android devices which we have no capabilities of testing with.

joseeight
11 Feb 2011, 8:44 PM
I don't agree and think this is an unreasonable request, Android is used by hundreds of devices these days and each manufacturer is free to bake ontop of it anything they want, specially HTC, would you ask Microsoft to list every PC manufacturer and whether they provide the adequate support for drivers, etc...

Sorry, but its just a bit too much to ask for when they are giving this framework away for free..

dario
14 Feb 2011, 3:17 AM
Currently, Sencha Touch supports Webkit browsers, more specifically, iOS 3+ and Android 2.0+ (note that below Android 2.0 is not supported, so Android 1.6 which is what older devices run is not supported). The Sencha team has listed Blackberry 6+ as their next targeted browser for support.

I used a PHP script to detect the browser type and version, for which I then direct the user to the correct version of the site. Here is the link to the library for that script: http://chrisschuld.com/projects/browser-php-detecting-a-users-browser-from-php/

My app (http://renaissancenavigator.com/mobile/) uses 3 versions of the site for mobile. A Sencha Touch version for iOS 3+ and Android 2+, simple HTML for mobile devices with JS (using jQuery), and text only for all others. You shouldn't rely on Sencha doing the detection for you or providing support for all mobile devices.

I hope that helps a bit..

Can I ask you what combination of conditions (ie. OS version/browser) you used to check if the browser is compatibile with ST and redirect the request to the correct version of the site?
Thanks

SimonFlack
14 Feb 2011, 6:41 AM
I don't agree and think this is an unreasonable request, Android is used by hundreds of devices these days and each manufacturer is free to bake ontop of it anything they want, specially HTC, would you ask Microsoft to list every PC manufacturer and whether they provide the adequate support for drivers, etc...

Sorry, but its just a bit too much to ask for when they are giving this framework away for free..

I see where you are coming from but this is software not an operating system. Would you expect a 3d game like "Need For Speed" to just say "Works on Windows XP and VISTA" or would you expect some info regarding hardware specs too. Eg.


MINIMUM SYSTEM REQUIREMENTS FOR NEED FOR SPEED(TM) PRO STREET
===========================
Windows XP Service Pack 2
Intel Pentium 4 CPU running at 2.0GHz or higher
128MB DirectX 9.0c compatible video card (NVIDIA Geforce6 / ATI Radeon 9800 or higher)
1GB RAM
6.5 GB of HD space

And... Yes ST is free. But I firmly believe that it is in Sencha's best interest to prevent poor user experiences. If web apps get a bad name then I and many others will have a harder time pushing them over native apps.

joseeight
14 Feb 2011, 7:56 AM
Sure, I built 3 versions of the site, the Sencha Touch, HTML/JS, and text-only.

I first looked at who gets the Sencha Touch version of the site. iOS 3+ and Android 2+ are supported and were tested by our QA team. The iPad was made an exception of iOS and is served the full version of the site. Android 1.6 is not supported, so it falls under other devices that run plain HTML/JS. My logic on the PHP would check for iPhone, iPod, and Android and send those devices to the Sencha Touch version, if they were mobile but not the previously mentioned, I did something simple: all other devices get sent to the text-only version of the site, which has a simple redirect using JS for devices that can handle it to the HTML/JS version of the site.

The PHP detection script I use is pretty simple, you can detect OS and version, so it made it easy to target the iOS and Android versions I wanted, along with excluding devices like the iPad.

Should I post it here?

dario
14 Feb 2011, 8:15 AM
Yes, if you post the php snippet I will be very glad!
Thank you in advance!

hitman01
14 Feb 2011, 8:23 AM
Well maybe we, as community could come up with some sort of a list.

SimonFlack
14 Feb 2011, 9:49 AM
Well maybe we, as community could come up with some sort of a list.

I fully support this idea. We could create a "Sticky" thread in the help forum.

Here is a start.

Avoid: iPhone (first gen), Older HTC Desire (600 MHz ??) and HTC Legend (528 MHz??)

Works Well: Samsung Galaxy S, iPhone 3Gs, iPhone 4, iPad

joseeight
14 Feb 2011, 9:52 AM
This is a bit rough, you should check out the link to where I got this script from, here is more or less how I set it up, I had to remove some things, but it give you a good overview (there seems to be a problem with Android where it sometimes is not counted a mobile device, so you'll have to add the if statement to check for version number on both the mobile and desktop portions of the condition as a fallback, no big deal for me):

Also, remember, on the basic.php page, I then use a check for JS to detect and redirect the user to a more capable version of the site.




require_once('Browser.php');

$mobile_browser = '0';

if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
$mobile_browser++;
}

if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) {
$mobile_browser++;
}

$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
$mobile_agents = array(
'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
'wapr','webc','winw','winw','xda','xda-');

if(in_array($mobile_ua,$mobile_agents)) {
$mobile_browser++;
}

if (strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0) {
$mobile_browser++;
}

if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) {
$mobile_browser=0;
}

if($mobile_browser>0) {
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
//
if ($iphone || $ipod) {
//ADVANCE MOBILE
header( 'Location: mobile/touch.html' ) ;
} else if ($android) {
$browser = new Browser();
//
if( $browser->getBrowser() == Browser::BROWSER_ANDROID && $browser->getVersion() >= 2 ) {
header( 'Location: mobile/touch.html' ) ;
} else {
header( 'Location: mobile/basic.php' ) ;
}
} else {
//BASIC MOBILE
$browser = new Browser();
header( 'Location: mobile/basic.php' ) ;
}
} else {
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
//
if ($iphone || $ipod) {
header( 'Location: touch.html' ) ;
} else if ($android) {
$browser = new Browser();
//
if( $browser->getBrowser() == Browser::BROWSER_ANDROID && $browser->getVersion() >= 2 ) {
header( 'Location: mobile/touch.html' ) ;
} else {
header( 'Location: mobile/basic.php' ) ;
}
} else {
//This is where you would know it is not a mobile device, so send to desktop site
}
}

hitman01
9 May 2011, 11:09 AM
Just had a chance to try out the new Android Tablet (3.0.1) (Acer Iconia Tab).

Sencha Touch looks completely messed up. The animations is blinking constantly, scrolling not working properly and some components dont render properly or dont render at all. However, within Phonegap app, everything looks fine.

Overall, the browsing experience is still quite choppy and it looks like GPU acceleration is still not used for browsing.

Did anyone else had any experience with Android 3.0?