Posts

Showing posts from 2014

Hybrid Apps using Cordova/PhoneGap: Ditch JQuery Mobile

I had a very difficult experience with JQuery Mobile & don’t recommend it to anyone due to reasons outlined below. Basically JQuery Mobile is only suitable for a rapid fire sample application that you could build in a week to impress the management. JQuery Mobile is very flaky & its event model is overly cumbersome e.g. I spent days figuring out a problem caused by Cordova scripts loading before JQuery or vice-versa. Furthermore to skin the app to your corporate branding, you will have to fight JQuery Mobile CSS all the way to end. This will result in lot of overrides & messy style sheets.JQM event model & CSSWe all know “deviceready” doesn’t fire in a browser. So what happens when you have tested your app in browsers & now ready to fire it up in simulators. I experienced lot of frustration to simply get the JQuery mobile event model right. Every time my Android simulator will start, my app will load all JQuery scripts before “deviceready” getting fired. After some…

Configure & Install Cordova Mobile Development Framework

Cordova is a life saver as it saves you from learning the native mobile programming languages. You can use your web programming skills to develop a decent looking mobile app. Cordova will package your HTML & give you an installation file that you can submit to app stores.Cordova comes with many plugins to expose the native device functionality. If you intend to use the Camera, there is a plugin, same for device file system & storage & so on.MAC or PCQuestion to use a MAC or PC doesn’t even arise if you intend to develop for iOS. You will need a MAC to do any kind of Apple programming. PC will only be sufficient for Android or Windows Phone based development.Go buy a decent MAC, if you are serious about developing mobile applications. I prefer to use the MACBOOK PRO as the main development machine to build both iOS & Android projects. However a PC would do the job if you just intend to get your hands dirty & explore the world of mobile application development.Whethe…

iOS Development - Code Signing explained

Image
This blog post explains iOS code signing & its associated terms – certificates, signing identity, and provisioning profiles – some of which can be confusing in the beginning.Why sign your code?Signing of application code packages is done primarily to achieve two important security objectives:Verify application identity i.e. to ensure application you are planning to install on your device has been developed by a specific organisation.Protect against unauthorised or malicious changes. The application signature will become invalid if any third party tried to tamper with application code.Security with Certificates & public/private keysYou may be well familiar with HTTPS secure communications protocol. HTTPS uses certificates with public & private keys to encrypt & decrypt information. Public key is available freely on the Internet whereas private key is secured & only available to the entity to which the certificate was issued. Companies keep their private keys highly …

Mobile Application Development using Cordova/PhoneGap

This blog post is the starting point of a series, I plan to write on creating mobile phone applications using Cordova framework. Let’s start with the basics first.An Introduction – Apache CordovaWhat’s Cordova?It’s a development framework that allows you to create mobile applications using web programming languages – HTML5, CSS3 & JavaScript. You create a mobile “WEB” application & Cordova bundles & package the application to make it run & look like a native app. Cordova comes with many plug-ins that exposes the device’s native functionality such as Camera, file system, location etc. By building “Mobile Web” applications, you can create truly cross-platform compatible Apps that work in all major platforms – iOS, Android, Windows Phone. HTML5: App Mark-upCSS: App StylesJQuery & JQuery Mobile: App functionalityCordova: App buildGet your name right – Cordova or Phonegap?Both names - Cordova, Phonegap – effectively correspond to the same framework so decide early on wh…

SharePoint 2013 Search Service Activation Error

Image
I was configuring a new SharePoint 2013 Search Service when everything became stuck on service toplogy activation. It doesn’t matter whether I tried to configure Search using PowerShell or Central Administration the search service topology simply won’t activate. Search service & all its associated databases were created successfully but when I tried to activate a new search topology, created by cloning an existing topology, commands will fail. My SharePoint 2013 environment I was configuring a new Search Service Application on Windows Server 2012 Standard, SQL Server 2012 and SharePoint Server 2013 SP1. It was a single server SharePoint environment with SQL installed elsewhere. Servers have been joined to corporate domain & have Windows security features like Firewall etc activated.Error messages in ULS logsULS logs were filling up with following error messages:“Content Plugin can not be initialized - list of CSS addresses is not set.” (Note: This error starts to appear in UL…

SharePoint 2013 Intranet, Extranet & Internet architecture

Image
For quite some time there has been a picture in my mind of one on-premise SharePoint 2013 farm used for hosting company’s Intranet, Extranet & Internet sites. Whenever there was any discussion of this shared farm idea, the immediate question raised was about security. Would you host your public website on infrastructure located inside corporate firewall? What are the security implications of an attack on Internet site, would that bring down Intranet too?In this post, I would try to address all of these concerns to give you some guidance about whether using one farm solution is a good option.Use casesLet’s formulate a typical business request using a fictional company name “Contoso” for building their Intranet, Extranet & Internet on SharePoint. Intranet: It comprises of corporate portal, team sites & employee personal sites. Employees working at company offices use their desktop computers to access these sites. Company has 2000 employees & currently use SharePoint 2007…