How can I test multiple device screen densities for web? - html

Let's say I want to build a web application for Phonegap.
I can design it as much as I can on my pc screen, but since there are a lot of different screen densities on mobile devices and we use mostly px units on HTML/CSS, the elements' sizes may vary a lot from one device to another...
Since I don't have all those physical devices, is there another way I can test it? Using somekind of browser addon, app or online tool?
Thank you

Use mobile phone emulator
http://www.mobilephoneemulator.com/
select device where you test and then open your site link,
here is another good simulator
http://transmog.net/iphone-simulator/
i use 2nd one to test my site and app....

Related

Why do my web apps look different when they're being viewed on a phone?

Link to app
I've written the media queries to make the app responsive and they looked fine when I'm viewing them via Chrome DevTools. First screenshot is from Chrome DevTools, second is from my iPhone X:
Iphone X has a screen size of 325x812, which is the first difference.
Secondly, G Chrome Dev is an emulator, which means it only simulates what a page will look like on a specific device. It does not account for hardware and software (say which browser you're using). They use different rendering engines, so deviations are bound to occur.
I checked the URL, you are using react to make your page responsive which takes care of your application to be visualize properly on all the screen size.
You have design correctly only, you don't want your users to open desktop view in mobile.

Which tool should I use for responsive web development: Chrome web developer tool or simply resize the window?

I have been trying to make a responsive website for mobile devices . I have found two ways to test responsive design:
By resizing the window
Using Google Chrome developer's tools
In both of them I get a different view. Which one gives me the right view, as I use font-size and padding in 'em'.
Resizing browser window is not Responsive. While developing Responsive applications the easiest, but yet not perfect, way is using Chrome's Developer tools. Even that may give you different results, because mobile device screens are using not just width/height but also dpi. So 320 iphone6s screen is not going to be perfect match for 320px resized browser or equivalent android device.
Go for chrome developer tools. It's a great way of checking responsiveness. It comes with dimensions of popular mobile and tablet devices. So you can check for a variety of device at once.
Simply resizing the browser is not a right way of checking responsiveness.
Recently I built a page that works fine with both the ways you mentioned. You can check it here.
Let me know if you need any help.
I would say Chrome Dev Tools is the best bet for a local snapshot.
However, if you have access to one or more mobile devices you may want to launch the site on Heroku or another production environment and view it from the actual device.
An iPhone 6 for example, I find Chrome does not take into account the address bar or bottom nav in safari so things can be slightly off from the Chrome Dev view of iPhone 6.

Only show webpage to mobile browsers

I've got a html5 website/webapp. I only want people to view this website/webapp from their mobile phone i.e. iphone, android, blackberry.
If they try to visit the website/webapp from their desktop browser, It should display an error message as the website/webapp is only meant for the mobile phone.
Is this possbile? any tips?
Thanks
There's no way to check for sure wether a site is on mobile or desktop. HTML is made to be device agnostic.
you can do browsersniffing BUT
user_agents are easily changed in several browsers
you need to make sure to keep your user agent->mobile/desktop mapping up to date
you could do mediaqueries and conditionally display a query that way, but with the large array of formfactors available today there's no clear line to draw that way either.
Both methods will be prone to misidentification.
Quite Frankly, I'm kinda puzzled why you would want to prevent people from accessing your site. Why do you care if someone accesses your site from a desktop instead of a mobile device?
A site designed for mobile will work on a desktop just fine (it's the other way around that might be problematic)
Grab the script for the language you prefer from here:
http://detectmobilebrowsers.com/
Works for me.
You could use media queries, on the page and check the device width on which the page is width. Say if the page is viewed on Desktop, You can show a Message that this App is compatible with Mobiles Devices only and Not Desktops. similarly this should apply for tablets as well and this message can be customized.
Are you using any serer side technologies (ASP.NET, PHP) to generate the page? If so, you can perform your logic on the server side and return different content (like your message) on the desktop requests.
This is usually done by reading the user-agent. Are you ok with a desktop user over-riding their user agent to simulate a mobile browser and viewing the mobile content?

Advertising display kiosk. Would a browser be ok?

I am considering a project in which workstations, connected to a central server display various content under the control of a central timeline.
Requirements are that the kiosks could have various compositions of monitor and an extended desktop. This screen space would be use to display images, movies or various mosaics of images and movies.
For example, a machine with 3x3 monitors might be configured to display video in the lowest right four screens, a title on the top three videos and whatnot elsewhere.
I am figuring out how to create the viewer. I think that sticking to web technologies I know well would be good and using JavaScript for the timeline engine sounds easy.
As for codecs and video drivers I think I would stick with Chrome, Css3 and Html5, I think I can require Chrome and Windows 7.
There are a few concerns, though.
Will there be performance problems considering video split on different monitors on an extended desktop?
Will it be pixel predictable to size and stack divs so that images fit inside a physical monitor or monitor group?
Thank you all.
A great solution for this is Adobe AIR. You are already talking about HTML, might as well check that out.
The nice thing is that AIR provides facilities for kiosks. Check out this link:
http://www.adobe.com/devnet/flex/articles/flex_kiosk.html
Just replace everything there that says Flex with HTML/Javascript. The platform functionality is available to both technologies.
As for stretching a browser or AIR app across multiple screens, I believe you would have to manually position the window yourself. I.e., if you maximize an app window on a multi-monitor setup, it expands to the size of the monitor only, not the entire viewable area. You likely will have to manually position/resize in Javascript.
As for using Chrome as a client, see this thread:
http://www.google.com/support/forum/p/Chrome/thread?tid=12bde481a208c4ca&hl=en
It doesn't look like Chrome supports a kiosk mode.
Browser shouldn't be a problem at all. Just remember the architecture - you'll need a server somewhere and each kiosk will be a client. Just set up a port/url for your app and there you go. Chrome has some features that allow you to prevent users from exiting the app. I forget the specifics, I believe it involves incognito mode and something
Company I work for does something a lot like this. We make 'apps' that run on iPad and another touch screen device called MSI (btw - one of the advantages here is the freedom of using different client platforms), but not in the typical Objective-C way. Theres a server with a LAMP stack and the client uses the browser.
Will there be performance problems considering video split on different monitors on an extended desktop?
I think more than multiple monitors what you really have is multiple clients. This is interactive to some degree right?
Will it be pixel predictable to size and stack divs so that images fit inside a physical monitor or monitor group?
Yes. I don't really do artsy design and display details so I can't comment on specifics. But I don't think this is too hard - especially if all the clients are similar. Majority of this would be dictated by CSS.
EDIT - took a look a what we do on chrome. between running on start up, using kiosk mode and incognito (both can be runtime flags) and the regular F11 kind of full screen, you should be pretty much there
Will there be performance problems considering video split on different monitors on an extended desktop?
IMHO screen space does take a little toll on your video processing. You will need a relatively good video card to support such huge amount of displays. I am a user of dual screen on ATI Radeon HD 5750 (1GB), and I can do intense gaming on my main screen while read news and be on twitter on my other screen.
Will it be pixel predictable to size and stack divs so that images fit inside a physical monitor or monitor group?
DIVs can be easily styled and positioned using CSS. You can define the number of pixels for both width and height. And if you do your storyboarding and layout design, everything should fit in your window.
However the trouble for you is that I assume you're stretching the browser window across the 3x3 screen. I recommend you to instead have one browser window per display.
I've tried that Chrome can full screen on each display without exiting-full-screen-mode on the others.

HTML APIs for touch devices?

What HTML APIs are available for touch screen devices (e.g. tablet PCs)? I notice that GMail's iPad interface (and other mobile interfaces) doesn't scroll down in a normal web browser (pretending to be an iPad via a user-agent hack). How can one access this API on a PC?
I have a school full of tablet PCs that aren't wonderful in tablet mode due to lack of application support, but there looks to be an increasing number of web-based apps that will fill this gap.
In most cases, the webapps are using touch-based javascript events (touch, touchstart, touchend) which (for obvious reasons) are not implemented on Desktop browsers.
Check out PPK's compatibility table for details: http://quirksmode.org/mobile/tableTouch.html.
He also has a demo which shows the touch events in use: http://quirksmode.org/m/tests/scrollayer.html. There's a link on that page for a "variant" that works on desktop browsers. That's the one you need.
You can use, as you've already stated, UserAgent, to present content laid out specifically for certain devices.
For each, device, you'll have to read its documentation on how to write HTML in order to make the device behave as you want.
For example, here's how you would do it for an iPhone/iPodTouch. Here's for iPad. Similarly, depending on the device you have, you will be able to find proper documentation.
There is an awesome open database that can help you get device information based on user agent. It's called WURFL.