Consistent SharePoint 2010 branding for Mobile browsers

Through this article I am going demonstrate you how to make consistent UI in sharepoint2010 in different mobile browsers. 

My mates every time asking me why we need to involve mobile device with SharePoint. Through this article I am just giving the sample where I am showing why we are slowly moving to mobiles from PC. While giving demo on "SharePoint on mobile" to client I found below things:
  • Client want everything on their hand, means on mobile (Bcoz of busy schedule no time to open laptop/system)
  • Client doesn't want to compromise with UI.
  • Application should as simple and easy to use.
  • Application should be scalable and easy to extend in future.
Out of all four, below three is already provided by SharePoint. SharePoint is lacking somewhat in First point.  But as I said we developer can do anything so here we can do the same "We will bind the SharePoint without breaking SharePoint Rules".
I am using safari browser for the demonstration because through safari browser we can check the application in different browsers. To do this we need to follow below steps :
  1. Open the safari browser.Click on Preference
    sharepointformobilebrowser1.jpg
  2. Click on Advance tab, Check "show Develop menu in menu bar and close
    sharepointformobilebrowser2.jpg
  3. Go to Developer menu bar,
    sharepointformobilebrowser3.jpg
Now open the SharePoint site in safari browser after selecting User agent as Mobile browsers e.g." Mobile Safari 4.1-iPhone". The SharePoint site will look like below
sharepointformobilebrowser4.jpg
The actual site will look like below if you open the same site in IE browser
sharepointformobilebrowser5.jpg
As I said, Client always want the same UI so our next target is to make same UI as it is in normal PC browser.
Follow the below steps to achieve this :
  1. Go to "Run", enter "C:\inetpub\wwwroot\wss\VirtualDirectories",Select your site port number e.g.Port:2255, then my comple path should be like "C:\inetpub\wwwroot\wss\VirtualDirectories\2255\App_Browsers". Open the "Compact. Browser" file in notepad.
  2. The browser.compact file help you in finding browser before loading the sharepoint site in browser. Open the file in notepad and Find "<userAgent match="iPhone" />".
    It will look like below:
    <!-- iPhone Safari Browser -->
        <!-- sample UA "Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 like Mac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5A345  Safari/525.20" -->
        <browser id="iPhoneSafari" parentID="AppleSafari">
            <identification>
                <userAgent match="iPhone" />
                <userAgent match="Mobile" />
            </identification>
            <capabilities>
                <capability name="isMobileDevice" value="true" />
                <capability name="canInitiateVoiceCall" value="true" />
                <capability name="optimumPageWeight" value="1500" />
                <capability name="requiresViewportMetaTag" value="true" />
                <capability name="supportsTouchScreen" value="true" />
                <capability name="telephoneNumberDetectionDisabled"  value="true" />
            </capabilities>
        </browser>
  3. Change" <capability name="isMobileDevice"    value="true" />" to " <capability name="isMobileDevice"   value="false" />" 
  4. Save,iisreset and refresh the safari browser. SharePoint site will look like below:
    sharepointformobilebrowser6.jpg
  5. That's all. We are done with our requirement.
Hope you like this article and the beginning where you can show your sharepoint on mobile browser as well.
I suggest you to create a feature where you can add the mobile device ID and based on the id you can do the branding and customization

Comments