Mobile device detection for rendering rich web content - mobile-website

What are the most web-capable mobile phones to date (models and / or user agents) and
What rules should be assessed when trying to determine if they will handle a rich mobile-customised site?
I am developing a mobile website and currently doing some user agent detection to determine if the mobile device should see a fully enhanced js, jquery mobile, css view, or plain a fallback one.
Here is what I currently have for my two questions, and I would like some input / suggestions on how this can be improved - this filtering is assessed top-to-bottom:
Enhanced view if the user agent contains the following: "iPhone",
"iPad", "Android 3", "Android 2",
"MSIE 9", "MSIE 8", "MSIE 7", "Windows
Phone OS 7", "IEMobile/7",
"BlackBerry99", "BlackBerry 9800",
"BlackBerry Tablet"
then Fallback view if the user agent contains the following: "Android 1",
"MSIE 6", "MSIE 5", "MSIE 4", "MSIE
3", then there are a whole bunch of old
blackberry UAs i.e. "BlackBerry8" and older Opera Mini
versions i.e. "Opera Mini/3"...
then Enhanced view if found to be a web browser (also helpful for testing reasons). This is again determined by user agent rules.
then Fallback view when the user agent is loaded (and found) in the WURFL API and the
release date is found to be too old.
At the moment I am considering this to
be prior to 2007.
then Fallback view when the WURFL device_os capability shows 'Windows Mobile OS' with device_os_version capability '5', or '6'.
then Enhanced view as could not determine what they are using, so give the best experience (this will cater for new release handsets)
The way this is set up, it is better to find reasons to exclude a device than to include one, as the last condition will return the enhanced view.

What are the most web-capable mobile
phones to date (models and / or user
agents)
I think you've already identified the most important ones: iOS devices, Android 2.0+, and recent BlackBerry devices. But really, if you want to know how well your site is supported, you should check out the emulators/simulators available for particular devices.
An excellent list of example User-Agent strings can be found here.
What rules should be assessed when
trying to determine if they will
handle a rich mobile customised site?
BlackBerry devices running OS 6.0 or higher will have a WebKit-based browser which supports the latest goodies, so you could improve your filtering for BlackBerry devices to anticipate new/unreleased devices that will work well. The following User-Agent example shows that the device is running OS 6.0.0.141:
Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en) AppleWebKit/534.1+ (KHTML, Like Gecko) Version/6.0.0.141 Mobile Safari/534.1+
Prior to OS 6.0, the BlackBerry User-Agent looked a bit different (and the web browser experience was much worse). The following User-Agent example shows that the device is running OS 4.7.1.40:
BlackBerry9630/4.7.1.40 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/105

If the device supports preferred_markup = html_web_4_0
From WUFL

Related

Samsung-TV Tizen web-app not loading in 2015 devices

I have submitted a Tizen smart-TV application to the Samsung store, and during the testing process they found that it doesn't start when installed in 2015 devices (it works in modern TVs).
The application was developed in Tizen Studio with TV SDK 4.0, and the minimum compatible platform version is set in the config.xml to Tizen 2.3 (both values apparently compliant with this compatibility table).
Samsung's feedback is the same for 15TV_STANDARD1, 15TV_STANDARD2, and 15TV_PREMIUM model groups: "Blank screen on launching the app."
Any clue about what can be happening with those TV models? Is there any feature that could be causing the crash?
Without more information is difficult to know what may cause the problem with 2015 TVs.
Your best option would be to debug your application on a 2015 model, although I understand this can be difficult.
One thing you can do is to check the Web Engine Specifications and see the differences between the working and non-working models.
Blank screen most likely just means, that your application died somewhere during the initialization.
Did you by any chance use the getDuid() API during initial application initialization? I has some trouble with that if the display has never been connected to the web, so it threw an exception on that call.
Otherwise, assuming the profile is indeed 2.3, then it should work.

is it possible to make a packaged app to burn disc(CD, DVD, BD) for chrome book

I`m beginner for chrome packaged app.
I want to make a app to burn DVDs, BDs, CDs on chrome os , is it possible?
I heard chrome os prevent burn disc because of patent, is it right?
Is there any method to burn disc ?
and How can I get handls for SATA device such as SDD, HDD, ODD on chrome OS?
There is an experimental API for doing this, but it's still in the development phase.
http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/api/image_writer_private.idl
I think eventually the plan is to let 3rd party apps use it, but right now access to it is gated on a whitelist until some security issues can be ironed out.

Developing a google play app with HTC Desire

I've been a Java developer for 6 years, but this is my first foray into Android, and it's not going well.
I've set up a simple example app which uses google maps api v2 - it's just a single page: I copied it from one of the many helpful sites on this topic.
I then discovered that I can't run it in an emulator since it uses the google maps api v2, which requires google play. So I bought a device (HTC Desire).
Now the device doesn't show up in the eclipse run configuration. It shows up with ./adb devices just fine.
I thought maybe this was because the device is on Android 2.2, and my app has minimum OS level of 4.2. So I tried to upgrade, but I couldn't work out how. In the software / update section on the phone it just says 'no updates available'. Can this be right?
Ok so assuming I can't upgrade the OS (in which case the phone is now useless), I modified the project so the minSdkVersion is now 8. But now my project won't build!
Errors include 'No resource identifier found for attribute 'showAsAction' in package 'android'' - what does that even mean?
And to cap it all the device is now doing the 'buzzing 7 times instead of booting' thing. I can access some menu called HBOOT, and selecting RECOVERY just reboots the machine, which fails.
So now I've spent £50 and several hours, and I haven't even got as far as hello world - just a bricked phone.
What am I doing wrong? Can Android dev really be this hard?

iPhone/iPad browser simulator? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I need to see how my webpages are looking on an iPhone and iPad on my windows desktop. Is this possible?
A quick search yielded some iPhone testing sites, which seemed like what I wanted. However, they are wildly inaccurate when I compared against my own iPhone! I really need something that is as close to 100% accurate as possible.
Does XCode have a simulator that is 100% accurate? I understand I'd need a Mac to run XCode...
The iPhone/iPad simulator that comes with Xcode includes Safari. If you run Safari in the simulator, you can view your website and it should appear the same as it would on a real device. This may work for general layout testing. But since it is a simulator, it is possible that not every single bit of functionality will be exactly the same as using a real iOS device.
If you are writing a website and you need to verify that it looks proper on a given device, then you need to test your website on that actual device. Testing with real hardware is part of the price of doing business.
And yes, you need a Mac to run Xcode.
EDIT 2020: Most of these are basically just to test resolution stuff, some of them even outdated, sadly, mobile browser development went sideways with desktop (especially in Apple), therefore one can't really "emulate" a real phone with these as mentioned with comment.
To emulate real phones, often the best choice is to download a desktop app which, for Windows, is usually paid/freemium, on Mac just use the Xcode one (but I doubt Mac people are looking for this Q/A).
Freemium online easy to use that I found recently is Appetize.io it seems to really render the screen according to network, but honestly I didn't really dig into whether it also has identical features and indentically missing features as real iOS.
Word of advice:before release, always test on the real device :)
I've encountered cases when even the iOSes themselves behaved differently on 2 iPhones...
Online simulators / emulators I use
1) recombu
Fine simulator which - unlike resizing browser window to mobile phone dimensions - acts same as a smart phone. Don't be confused that you can't edit address bar in safari - just open deveolper tools (usually F12) and rewrite iframe's source URL to yours.
Link: http://recombu.com/mobile/interactive/ios7-demo/
2) responsimulator
Seems to work like recombu, but you can open url directly by text input and you can zoom in/out.
Link: http://www.responsimulator.com/
3) transmog
This one seems to process the webpage, but it emulates old iPhone - still handy sometimes.
Link: http://transmog.net/iphone-simulator/mobile-web-browser-emulator.php
X) google it / internet search for it
Always use google (or other internet searchers) to check for other simulators/emulators and new versions.
Link with example google search for this one:
https://www.google.cz/search?q=online+iphone+emulator
Browser device mode
If you open your browser's developer's tools (in Chrome F12), there will probably be an option to toggle device mode (in Chrome it is the little smartphone icon at top-left).
After choosing this option GUI will change and will provide option to select device to simulate (in Chrome it is at the top - select option "Device"), after selecting device, refreshing the page is often adviced to ensure simulator's accuracy.
Both Chrome and Firefox now have built-in emulators. They aren't perfect but are good enough that can get you almost all of the way before testing on an actual device. The best part is if you like the browser's developer tools (Chrome, Firefox), you can use them while emulating.
To get the emulator: [Ctrl+Shift+M] and select the device that you want to emulate. You might have to refresh the page, esp if you have anything that depends on script that executes on page load.
Internet Explorer also has a device emulation mode. F12, then CTRL+8. It's not quite as straight forward as the Chrome Mobile Device emulation, but does allow you to simulate geolocation:
For now i think best emulator is https://app.crossbrowsertesting.com
It has real sizes and virtual keyboard (that is the most important thing) , zooming events...
Also https://appetize.io/demo has same things but it has time limit.
You can run safari in Xcode's simulator and it should accurately emulate iPads and iPhones. Another thing on the market that I've heard good reviews for is Ripple for chrome.
There's no good substitute to testing on an actual device.
Real devices have higher display densities, meaning that pixels are smaller. If you don't test on a real device, you may not realise that your design includes text that is too small to read or buttons that are too small to tap.
You use real devices with your fingers, not a mouse. This means that the accuracy of your taps is much lower and what you are tapping is obscured by your finger. If you don't test on a real device, you may not realise you've introduced usability problems into your design.
XCode does come with a simulator for the iPad and iPhone.
You can also use Safari on OS X to debug websites on your iOS device.
You can use the Ripple emulator on Chrome.
I have been using Mobilizer, which is an awesome free app
Currently it has default simulation for Iphone4, Iphone5, Samsung Galaxt S3, Nokia Lumia, Palm Pre, Blackberry Storm and HTC Evo.
Simple straightforward and effective.
I use mobile-browser-emulator chrome plug-in which is has iphone device types. It actually uses user-agent and size of device on which based responsive pages are rendered

Debugging iPhone CalDAV interactions?

I'm trying to connect my internal CalDAV server to my iPhone but am running into issues. The CalDAV account is recognized as valid on the "Mail, Contacts, Calendars" settings page, and I can see activity on my server where (as far as I can tell) valid XML is being sent to the device, but none of these events are showing up in the Calendar (nor is it displayed as an available CalDAV calendar).
This is a new CalDAV interface, so I'm fairly certain it's an issue on my end - but I can't see what's causing the iPhone to choke. Is there a way to access debugging output/log files for the iPhone calendar app? If not, is there a reliable iPhone emulator that runs the Calendar app (the emulators I've come across are geared for custom app dev, not for testing the "standard" apps).