Saturday, March 28, 2015

Native/Hybrid/Thinshell Web Model for Mobile

Native/Hybrid/Thinshell Web Model for Mobile

Web Vs. Native Vs. Hybrid

A Native Application – is one which is installed and runs on the device. Native applications only run on one platform so you need to develop a different application for each platform. But this comfort comes at a price: maintenance, development and distribution costs with a dependence on app stores and the continual install and update cycle.

A Mobile WEB Application –  is a web-based application which runs in the browser of the device. The goal is to build a web app which is usable by most, if not all, of the different types of device. However this limits in developing application which provide benefits in its performance and tight integration with all the device’s features and APIs.

A Hybrid Application - is a native downloadable app, that runs all or some of its user interface in an embedded browser component. To the user, a hybrid app is almost indistinguishable from a native app. But to developers there is a huge difference, because instead of rewriting the app from scratch for each mobile OS, they write at least some of their application code in HTML, CSS and JavaScript, and reuse it across devices.


What is Hybrid Application




What is PHONE GAP

PHONE GAP Process




Phone gap Features




Friday, March 27, 2015

Standard WEB Designing For Mobile and Tablets

Necessity for Standardization 
When designing a website layout for a large audience, the designer must consider the following potential attributes:   
Ì  Screen resolution.
Ì  Browser.
Ì  Whether or not the browser is maximized.
Ì  Operating system and hardware.
Ì  Device Orientation.

With standard web design it is possible to provide a solution which is fully design for the web’s 
inherent flexibility and fluidity.

Front End Layout Ingredients
Front-end layout requires four core ingredients:
q  A flexible, grid-based layout,
q  Adaptive Content
q  Flexible images and media, and
q  Media queries, a module from the CSS3 specificati

Types of Layout
Majorly CSS layouts are of four types:
Ì  Fixed Grid Layout Many designers prefer fixed layouts to fluid ones because they’re easier to make and provide more assurance that what the designer sees, the user sees.
Pros : Fixed-width layouts are much easier to use and easier to customize in terms of design
Cons : Fixed-width layouts generally have a lower overall score when it comes to usability

Ì  Fluid Grid LayoutDesigners may not use fluid page designs for various reasons, but the layout’s benefits are often overlooked. Below are pros and cons to think about when considering fluid web page design.
Pros : Fluid web page design can be more user-friendly, because it adjusts to the user’s set up.
Cons : The designer has less control over what the user sees and may overlook problems because the layout looks fine on their specific screen resolution.

Ì  Elastic Grid LayoutIt mixes the two other main layout types. It works by sizing all elements with em‘s.
Pros : If implemented correctly, this layout style can be very user-friendly. The goal is to have everything grow larger or smaller in proportion with the user’s preference.
Cons : Even given the first pro above, this type of layout can create a huge problem with usability. It takes a lot of savvy and testing to get the layout right for all users.

Ì  Hybrid LayoutIn this designer uses features of Fixed, Fluid and Elastic Layout together.
for example:
margin and padding are provided in pixels.
font-size are provided in em’s
and, content panel’s width provided in relative percentages.

Adaptive Content
A technique that involves adapting content to a specific ranges of screen resolutions.

Fortunately, we can use this technique outlined with our grid layout designing, and then we can add this technique for even better usability. below  is the showcase for Adaptive content


Below are few screen resolution bench marks:



THE BENEFITS

1)  The designer is able to see with greater accuracy what a design will look like in different resolutions.
2)  Better adherence to design principles of spacing and balance, no matter what platform the design is viewed on.
3)  The tiniest and largest resolutions are handled with perfection.

Flexible images and media
“img” element will render at whatever size it wants, as long as it’s narrower than its containing element. But if it happens to be wider than its container, then the max-width: 100% will forces the image’s width to match the width of its container.
However, the cold and hard truth is that Internet Explorer 6 and below don’t support the max-width property. But in a separate IE6-specific style sheet, we’ll include the following:

img,embed,object,video { width: 100%;}

only Internet Explorer 7 and lower are affected, as is Firefox 2 and lower on Windows. More modern browsers like Safari, Firefox 3+, and IE8+ don’t exhibit a single problem with flexible images.

Best practices:
1) Avoid Flash files.
2) Usage of split images – this reduces the number of request heavily.
3) Use of light PNG images.
4) No Image backgrounds.

Media Query

Problem : Fluid grid makes it pretty resilient to changes in window size and screen resolution—much more so than a fixed layout would. But even slight changes to the size and shape of the browser window will cause our layout to warp, bend, and possibly break outright.

Solution : Media Query

The recognized media types are: all, braille, embossed, handheld, print, projection, screen, speech, tty, and tv.
Supported features are : width, height, device-width, device-height, orientation, aspect-ratio, device-aspect-ratio, color, color-index, monochrome, resolution, scan, grid. Some features accept  min- and max- prefixes

E.g. - @media screen and (min-device-width: 480px) and (orientation: landscape) { … }

Support: Opera has supported media queries since version 9.5, Firefox 3.5 and above sup­ports them, as do WebKit-based desktop browsers like Safari 3+ and Chrome. Even Internet Explorer 9 supports media queries. WebKit-based mobile browsers, such as Mobile Safari, HP’s webOS, and Android’s browser all support media queries.

Others
View Port Meta Tag
handling Viewport meta tag properly:

e.g. : <meta name="viewport" content="width=device-width; height=device-height; maximum-scale=1.4; initial-scale=1.0; user-scalable=yes"/>

Conclusion  

All of these techniques can be implemented in one design to create a very user-friendly fluid layout.

A smart use of the fluid grid can create an adaptable layout whose proportions remain faithful to any screen and balance the other design principles. The adaptive content technique can handle unusually small and large screen resolutions with a bit of customization, so the designer is sure to get the perfect look for all users. And the third technique is a good one for making sure that images and other pieces of content with set widths aren't too large for the screen. Finally Media Query helps to handle device orientation and other device based custom changes if required.

Hopefully, advanced fluid layout techniques will signal a new era in layout design. With the growing variety of screen widths, it’s only a matter of time before these techniques become essential.

Monday, March 16, 2015

Tablet Optimized Website

Tablet Optimized Website


Necessity for Tablet Optimized Website
Experience = Expectation : User is Satisfied
Experience > Expectation : User is Delighted
Experience < Expectation : User is Dissatisfied

Why Tablet Optimized Website?

User expectations for Tablet Web experience
1.A good Tablet User interface = A good informative details coming together
2.Application layouts are divided in two column. First is a broad column displaying main content of the page, other is a narrow column displaying other options/short links available in the application.
3.All frequently used links/shortcuts must be handy to user.
4.Good intentions/Recommendations:
No Flash content
Large (and distinct) touch-targets
Advance the web by using HTML5, CSS3 and jQuery Mobile/Touch
Minimal data entry
Don't use dropdowns, even don’t try to style them using CSS either
Make sure people can use the keyboard to get to the first letter : implementing text field type keyboard

     PC sites on Tablet - Poor user experience
PC website renders very jazzy on tablets. Even though resolution of modern tablets are similar or larger then the PC, however physical screen size also matter when it comes to readability of a website.
Flash based website failed due on many tablets due to absence of adobe plug-in or support
On tablet user expects to perform action by touch/gesture events however on PC website user are friendly with Click events
Form filling is a pain for user due to dropdowns, radio buttons, list items, Finding special characters on keyboard etc
Text are too small to read articles
Fat Finger issue
Unnecessary Zooming issue on tablet due to absence of viewport handling

Taking PC websites to tablets
Basic  steps to convert PC website to Tablet Optimized Website:
Step 1: Analyze which feature are need to be implemented on tablet application.
Step 2: Following 80-20 rule, and find out which are the most frequently used modules in application.
Step 3: Design the app as per business requirements using UI design pattern like fly weight, form registration etc.
Step 4: While on home page of app provide links to 80% of module however provide summary or short links of the 20% most used modules like bill summary, usage summary, pay bill by LPM etc.
Step 5: Select the technology in which application would be developed.
Step 6: For application theme choose one primary and two secondary color.


AppStore and Google Play App Badges Standards


AppStore and Google Play App Badges Standards



AppStore : Marketing Guidelines



Apple provides badge artwork with the Available on the
modifier translated into 11 languages (listed below).


The App Store badge is available in these languages: Chinese Simplified, Chinese Traditional, Dutch, English, French, German, Italian, Japanese, Portuguese, Russian, And Spanish.

Minimum clear space and minimum size
1)  Minimum clear space is equal to one-quarter the height of the badge.
2)  Do not place photos, typography, or other graphic elements inside the minimum clear space.
3)  Minimum size is 10 mm for use in printed materials and 40 pixels for use onscreen.
4)  Always select a size that is clearly legible but not dominant.

Backgrounds Standards
The Available on the App Store badge always appears in black and white as shown here. The white border surrounding the badge is part of the badge artwork and must be included. The App Store badge can be placed on:
• A black or white background
• A solid-color background
• A background image as long as legibility is not diminished





Google Play : Marketing Guidelines 


The "Get it on Google Play" and "Android App on Google Play" logos are badges that you can use on your web site and promotional materials, to point to your products on Google Play.


Guidelines for usage:
1) Never separate the phrase “Get it on Google Play” or "Android App on Google Play" from the Google Play logo, and do not change the color, proportions, spacing or any other aspect of the logo.

2) When used online, the badge logo should be used to direct users to:
§The Google Play landing page: play.google.com
§The Google Play Apps landing page: play.google.com/store/apps
§A list of products that include your company name, for example, http://play.google.com/store/search?q=yourCompanyName
§A list of products published by you, for example, http://play.google.com/store/search?q=publisherName
§A specific app product details page within Google Play, for example, http://play.google.com/store/apps/details?id=packageName

The logos are available in two sizes:
Large: 60(h) x 172(w)
Small 45(h) x 129(w)
For convenience, if you are using the logos online, you can use the badge generator at :

http://developer.android.com/guide/publishing/publishing.html#BuildaButton

to create the appropriate markup and link to your apps.

RWD - Responsive WEB Designing

RWD stands for Responsive WEB Designing & it allows,

1)  To create a website from a single-data source.
2)   Adjust its layout accordingly to provide an optimal viewing experience – easy reading and navigation with a minimum of re-sizing, panning, and scrolling – across a wide range of devices (from desktop computer monitors to tablets to mobile phones).
3)   It provides an elegant solution for a complex problem – how to develop a single website that satisfies today’s multi-platform consumer.
4)   It is not a new technology; rather, it is a new way of thinking about the web. 

RWD uses something with the obscure concept of fluid-based proportion grids. Instead of designing a layout based on rigid pixels or arbitrary percentage values, a fluid grid is more carefully designed in terms of proportions. This way, when a layout is squeezed onto a tiny mobile device or stretched across a huge screen, all of the elements in the layout will resize their widths in relation to one another.
Flexible grids have been around since the beginning of the web, and were very popular at the beginning. While media queries are the real secret to making any site responsive, we can save our self a lot of work and code by using a flexible grid approach. By using a flexible grid you can ensure your site will re-size on its own without having to have media queries. You can then use media queries to fix all of the little details that will make the site shine.
In addition RWD uses flexible images; one rule immediately provides an incredibly handy constraint for every image in our document. Now, our img element will render at whatever size it wants, as long as it’s narrower than its containing element. But if it happens to be wider than its container, then the max-width: 100% directive forces the image’s width to match the width of its container. And as you can see, our image has snapped into place.
What’s more, modern browsers have evolved to the point where they resize the images proportionally: as our flexible container resizes itself, shrinking or enlarging our image, the image’s aspect ratio remains intact.img, embed, object, video {
  max-width: 100%;
}
Whether it’s a cute little Flash video, some other embedded media, or a humble img, browsers do a fair job of resizing the content proportionally in a flexible layout.

And media queries, expressions to media type to check for certain conditions and apply different stylesheets. For example, we can have one stylesheet for large displays and a different stylesheet specifically for mobile devices. It is quite powerful because it allows you to tailor to different resolutions and devices without changing the content.
To do so, we could incorporate a query into a linked style sheet’s media attribute:
<link rel="stylesheet" type="text/css" media="screen and (max-device-width: 480px)” href="shetland.css" />
The query contains two components:
a media type (screen), and the actual query enclosed within parentheses, containing a particular media feature (max-device-width) to inspect, followed by the target value (480px).
Furthermore, we’re not limited to incorporating media queries in our links. We can include them in our CSS either as part of a @media rule:
@media screen and (max-device-width: 480px) {
  .column {
    float: none;
  }

}

Important Mozilla plugins for web design, development and debugging


Important Mozilla plugins for web design, development and debugging

This document will explain you how to add and use few plugin in Mozilla browser that are important for web development

    1)    XHTML Mobile Profile
Firefox does not natively support the mime-type application/vnd.wap.xhtml+xml. This is one of the possible mime-types for XHTML Mobile Profile. This extension adds support for this mime-type. (The other, application/xhtml+xml, is supported natively by Firefox.)





     2)    Wmlbrowser
Simulate WAP browsing by viewing WML (Wireless Markup Language) pages in Mozilla, SeaMonkey or Mozilla Firefox.



     3)    User Agent Switcher
The User Agent Switcher extension adds a menu and a toolbar button to switch the user agent of a browser.



Now when this addon is added to browser, we can add more devices/useragents as per our requirement. There are two ways to do it
a)      By importing a xml file
b)      By adding manual

By Importing a XML file

Download XML from http://techpatterns.com/downloads/firefox/useragentswitcher.xml
>  Goto ‘Edit User Agents…’ option




 Select import and add the attached XML file to addon



  All user-agents inside xml get added to the browser


Adding Manually
>  Goto ‘Edit User Agents…’ option, then select ‘New’




>  Then select ‘New User Agent…’



>  Then fill the information available and press ‘OK’. The new user agent hot added to the addon


Note: Don’t forget to clear domain cookie once user agent is change, otherwise changes will not be reflected

     4)    Web Developer
The Web Developer extension adds various web developer tools to the browser.




     5)    Modify Header
Add, Replace and Filter HTTP request headers. Modify Headers allows modification of the HTTP request headers sent to web servers. This addon is particularly useful for Mobile web development, HTTP testing and privacy.

For a guide on HTTP request headers, look at this W3C page: http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html