Leveraging the Cloud as your application development platform

Imagine that you are an electronics retailer and on Cyber Monday every year and around Christmas your website needs to handle 15M+ transactions in a day.  You would need to make sure that your environment can scale to handle the load while minimizing your CAPEX and OPEX. Microsoft’s Windows Azure is a Platform as a Service solution that provides businesses the flexibility to scale their platforms up/down based on demand.

Here is a quick primer on Windows Azure

We recently delivered a webinar on the benefits of Windows Azure and how it could fit with your long term application development strategy.

Click here for the webinar on Windows Azure

Driving IT efficiency by moving to the Cloud

The cloud is now on every IT Strategist’s mind.  There are many flavors of the cloud, Public, Private, Hybrid, Outsourced etc.  Microsoft’s newest offering, Office 365 allows organizations to move their critical services like Exchange, IM & SharePoint to the cloud.  There are multiple versions available and each organization must assess their internal readiness and develop an usage profile to identify the right flavor of cloud for them,

At the recently concluded SharePoint conference Jesus Salazar & I  presented on “Driving Efficiency & Innovation by moving to Office 365”.  In this session we focused on the differences between the various flavors of Office 365 and how to choose the version that is right for your organization

You can view the slideshare presentation here

Whitepaper: Consumerization of IT & Windows Phone 7

Every enterprise trying to develop a mobile standardization strategy runs into one major stumbling block “End User Preference”.  End users don’t care if the smartphone that they like/use is enterprise ready.  They prefer to use a single device that provides features that are suitable for personal and business use.  They would like to bring their devices to work and be as efficient and productive as possible on a platform that they are familiar with.   This phenomenon where end users buy devices for personal use and leverage it within the workplace is called the  “Consumerization of IT” and it has significantly impacted the mobile device landscape in most enterprises.

Here is a whitepaper that explores the consumerization of IT and dives into the strengths and weaknesses of the WP7 platform.


Bing Updates bring Airfares to the Search box

Bing has been consistently delivering innovations over the past year like Social Media search, songs and video previews from the Zune Marketplace etc.  Today they have released a great feature that integrates the FareCast airfare price predictions directly into the Search box.

When you are searching for airfares, Bing automatically determines your location and shows whether the prices are going up or down


Kudos to the Bing team and hope they continue to deliver these innovations to capture Google’s marketshare!

SharePoint Commerce Services Overview now available

My colleagues, Jesus Salazar and Joshua Grear presented a great session on SharePoint Commerce Services last week.  Commerce Server provides enterprises with a robust eCommerce platform.  SharePoint provides an enterprise class Content Management platform.  It is only natural that these two services when integrated provide your eCommerce and Merchandising team the capability to quickly deliver updates to your website using SharePoint’s CMS capabilities.  With SharePoint Commerce Services your business users can now easily manage your eCommerce website by creating pages, templates, modify product descriptions as well as reuse any prebuilt SharePoint and Commerce Server webparts to deliver a compelling experience on your website.

Click here for the SlideShare presentation on SharePoint Commerce Services

Windows 7 Bluetooth drivers download–Toshiba chipset

If you recently bought a Bluetooth dongle, you may have experienced significant frustration with the out of the box Windows 7 Bluetooth driver.  I could not get the A2DP profiles to work and the Windows 7 wouldn’t allow me to setup local PAN connections.

So, I returned my cheap $2 dongle and bought a Kensington Bluetooth dongle with the Toshiba chipset.  This dongle comes with a great set of drivers and an application to setup multiple profiles.  If you have a Toshiba Bluetooth chipset you can download the drivers from here.

Unzip the x32 and x64 files and run setup.exe and enjoy the Bluetooth goodness!

Download Toshiba Bluetooth drivers

Duplicate Entries in ViewLsts.aspx SharePoint

SharePoint allows you to create custom list definitions and deploy them as Features.  Here are a couple of blog entries that talk about the steps you will need to take to create a custom list definition



However when following these instructions, I noticed that my custom lists were appearing twice in the ViewLsts.aspx page



After hours of debugging I found the cause of this issue.  In your list definition file, confirm that you have only one view with the “DEFAULTVIEW=TRUE” attribute set.  If you have multiple views with this attribute set, you will see an entry in the ViewLsts.aspx page for each view that you have specified as the Default.

Removing this attribute and re-activating the feature helped fix this issue

Windows Phone 7 Enterprise Support –5 Reasons to wait

In a previous post, I discussed five reasons to consider Windows Phone 7 for your enterprise mobile communications needs. In this post let us discuss the top five reasons to wait before you take the plunge with Windows Phone 7.

Windows Mobile and Blackberry were the most viable options for the enterprise before the arrival of the iPhone. The iPhone 2G was a great consumer phone and its popularity eventually led to businesses adopting it for their enterprise needs. Unlike consumers, business users need better mobile device management and security, standardized hardware, ability to deploy applications easily to their mobile workforce and better connectivity to enterprise applications. Windows Phone 7 falls short in fulfilling these requirements.

#1: Windows Phone 7 – VPN Support – Non-existent
In my view, this is the single most important reason to stay away from Windows Phone 7 at this time. If you need IPSEC VPN access or use a third party VPN client for your mobile users, Windows Phone 7 is not for you. You may be expecting third party VPN vendors like Cisco, SonicWall to develop VPN applications. However, these types of applications are not possible at this time, since the device does not support a low level access to the network which is required by these VPN clients. This lack of socket support is also the reason why there are no VOIP  applications like Skype on WP7.

#2: Windows Phone 7- Enterprise Security with EAS – Limited

Exchange Active Sync(EAS) allows mobile users to access their mailbox, calendar, tasks etc. from a corporate Exchange 2003, 2007 or 2010 sever. Since mobile devices are prone to theft/loss, EAS allows administrators to enforce policies on the device like a device lock password strength, minimum password length policies, idle time threshold before prompting for password etc. EAS allows administrators to remotely wipe your phones of all sensitive data. The current version of EAS supports about 30-40 policies. However if you invest in Windows Phone 7 you can only use a small subset of these policies. Want to disable the camera for your business phones? Want to block certain applications, and disable SMTP? You are out of luck because only the following policies are supported in the first release.

Password Required – Requires that a password contains numeric and non-numeric characters

Password Expiration – Enables the administrator to configure a length of time after which a Windows Phone password must be changed

Password History– Specifies the number of past passwords that can be stored in a user’s mailbox, and does not allow a user to reuse a stored password

Allow Simple Password – Enables or disables the ability to use a simple password such as 1234

Minimum Password Length – Specifies the minimum password length

Maximum inactivity time lock – Specifies the length of time that a Windows Phone can go without user input before it locks

Maximum failed password attempts – Specifies how many times an incorrect password can be entered before the device wipes all the data

#3: Windows Phone 7- Mobile Device Management –Non Existent

The iPhone currently supports Mobile Device Management through third party MDM servers. These third party servers allow enterprises to push configuration profiles, enforce security policies and provide the peace of mind that only trusted users can access data on your corporate network. The System Center Mobile Device Manager, Microsoft’s MDM server currently does not support Windows Phone 7. This leaves Exchange Active Sync (EAS) as the only available option to manage your devices.

#4: Windows Phone 7 – Application Delivery – Limited

The Windows Phone marketplace is a great location to discover applications that enhance your mobile experience. If you are in the business of creating applications for public consumption, Windows Phone 7 is a great platform to invest in. The development toolset integrated with Visual Studio allows you to create compelling mobile applications quickly. However if you are looking to develop and deploy internal applications, the marketplace becomes a constraint. The current release of Windows Phone does not have application side loading capabilities. So when you create an internal application the only way to deploy this to Windows Phone 7 devices is to publish it to the marketplace. You would have to build authentication into the application to limit unauthorized access. This lack of side loading support is detrimental for the deployment of line of business applications on Windows Phone 7.

#5: Windows Phone 7 -SharePoint and Office 365 Support – Limited

You may have seen some WP7 demos about SharePoint support. True, the support for SharePoint 2010 under the Office hub is the best SharePoint experience on a mobile device. However you will need SharePoint 2010 and ForeFront Gateway configured to access your sites under the Office hub. If you have not upgraded to SharePoint 2010 you are out of luck. If you have migrated to BPOS/Office 365 you are out of luck. Though Email hosted on the cloud is supported through Outlook Mobile, the hosted version of SharePoint called SharePoint Online is not supported yet on Windows Phone devices.

Final Verdict:

In my view WP7 is a great prosumer OS. If you are interested in increasing productivity, Windows Phone 7’s glance and go user interface, Office Integration, SharePoint 2010 integration and Outlook Mobile connected to Exchange provide the best productivity experience on a mobile device. But if you are looking to standardize on a device for your enterprise, look elsewhere. Windows Phone 7 is a great device to use, but not yet there for full enterprise support. However, Microsoft has committed to provide at least two updates this year and you can expect VPN, MDM and other capabilities within the next year or two.

Some helpful Links to get more information regarding WP7 for enterprises

Microsoft’s Enterprise Mobility Kit – Microsoft’s datasheet and presentation about Windows Phone 7



EAS policy List for Exchange 2010

Windows Phone 7 – 5 Reasons to Consider it for your Enterprise

The release of the iPhone in 2007 opened the floodgates for smartphone adoption within enterprises.  Though Windows Mobile and Blackberry were significant players before the arrival of the iPhone, Apple’s entry into the market led to the development of an ecosystem around application development and delivery.  Forrester estimates that about 25% of businesses leverage mobile phones for Sales Force Automation, emergency response and field services by building native applications targeted towards platforms like iOS and Android.  The arrival and adoption of the iPhone has significantly dented Microsoft’s dominance in the mobile market.  After three years of development and missteps, Microsoft has decided to completely revamp it’s mobile strategy by releasing a new smartphone platform, Windows Phone 7.   Unlike previous editions of Windows Mobile which unsuccessfully aimed to bring the Windows experience to the mobile device, Windows Phone 7 takes a consumer first approach.  The goal for the platform is to deliver compelling user experiences while providing developers the capability to leverage their existing toolset to build enterprise applications.    Microsoft has publicly stated its commitment to regularly update its mobile offering and the platform is expected to evolve as a top notch competitor to iOS and Android in the near future.

Top 5 Reasons to Consider Windows Phone 7

Hardware Standardization: Microsoft has taken a page or two from Apple’s handbook and has standardized the hardware configuration for Windows Phone devices.  Every Windows Phone device has to conform to specifications around the core hardware, positioning of buttons and camera capabilities.  Gone are the days, where OEMs controlled the device specifications and the user interface.   With Windows Phone 7 you can rest assured that the application experience is going to be similar across multiple phones

Simplified Developer Experience:  Developers proficient in .NET can leverage Visual Studio and SilverLight to build compelling applications for the platform.  Graphic Designers can leverage Expression Blend to develop visual interfaces and seamlessly share their work with developers to build the functionality of your application.  Increased synergies(attained through better development tools) between the creative and functional tasks involved in developing an application can ensure that your end users get a compelling user experience through the mobile application.  The results of this are stunning.  There have been 6000+ applications released in the Windows Phone marketplace in the last three months.  While this is less than the apps available on iPhone and Android, these numbers do speak for the ease of development on the platform

Integration with Enterprise software: Windows Phone 7 integrates out of the box with Exchange for email, SharePoint for document management and collaboration and provides the traditional Office suite for viewing and editing documents.  Of all the mobile devices in the market today,  Windows Phone 7 provides one of the best integrations for Office and SharePoint

One Device for Work & Fun: If you are used to seeing your users carry a BlackBerry and an iPhone those days may be coming to an end.  Windows Phone 7 is a great phone for enterprise needs (email, document management etc.) as well as for personal use.  A contact centric UI integrates with your Social network accounts and provides an unified interface to access your contacts on the device, in your corporate network and the cloud.   With the integration with Xbox Live and the Zune Marketplace(for audio/video entertainment) and Windows Phone marketplace(for apps) you can rest assured that your employees never need to carry a second device just for entertainment

Microsoft is the underdog: The mobile market is projected to explode over the next couple of years and Microsoft is the underdog here.  Android and iOS have been eating Microsoft’s lunch in this space for the last couple of years.  This has led Microsoft to regroup and innovate again and this can only mean regular updates and enhancements to the platform.  This may change if Microsoft becomes the leader in this space because they have been known to go into an innovation lull once they dominate the market(e.g. Internet Explorer, Windows etc.).  But Microsoft has a long way to go to catch up with iOS and Android so you can expect to see a lot of innovation on the platform

Here are a couple of links to catch up on the latest Windows Phone 7 News

Official Microsoft Windows Phone 7 Site

WMPowerUser – a great blog to catch up on the latest Windows Phone 7 News

WPCentral – a great blog that has links to the newest applications released on the Windows Phone 7 platform

In the next post, I will detail five reasons to wait before you decide to take the Windows Phone 7 plunge.

Windows Azure–Simplified! – A quick introduction to Windows Azure

Over the last couple of years, Cloud Computing has risen to prominence as the single most disruptive technology in the enterprise software landscape. Unfortunately the word “Cloud” has become one of the most confused terms in IT terminology. It has been applied to almost any technology/software that is not hosted in your data center. There are also many flavors of Cloud, that it is almost impossible to get a clear idea of what the Cloud means from a platform and application development perspective. In this post lets look at one such Cloud initiative, Microsoft’s Windows Azure.

Microsoft has been promoting Windows Azure, its platform as a service (PaaS) solution for enterprises to move their critical business applications to the cloud. To describe Windows Azure it is necessary to take a step back and analyze the various steps you would take if you are developing a Line of Business application to run on-premise.

Step 1: Choosing the OS

To develop an application you need an Operating System for your application to run on. This OS needs to be scalable, flexible, extensible and secure and enable you to develop and deploy applications that leverage multiple programming platforms like .NET, Java, Python, Ruby etc. Traditionally Windows or Linux had filled this void for on-premise applications. If you decide to move to the Cloud, you still need an Operating system to run your applications. Microsoft’s answer to this is Windows Azure. Azure is the OS that enables you to run and deploy applications on the cloud. When you choose the Windows Azure platform you implicitly choose the Windows Azure OS to run your application. The Azure OS, which is built on Windows Server 2008, is designed for scalability and Microsoft manages this infrastructure so that you never have to worry about patching the OS, scaling it to multiple servers etc.

Step 2: Choosing your Data Storage

Any enterprise application needs to store data of some form. In most cases you have structured data stored in databases (like Oracle and SQL) and some unstructured data like images, videos, files etc. The Azure platform provides you solutions for both these scenarios. To store structured data when your application is running on the cloud you will need a relational database and Microsoft’s answer is SQL Azure. To keep it simple, consider SQL Azure as SQL Server hosted by Microsoft on the cloud.

To store unstructured data on the cloud, Microsoft provides the Windows Azure Content Delivery Network (CDN) and the Windows Azure Storage component. With CDN, files can be stored in one location and Windows Azure automatically caches and stores a copy of the file close to the user’s network. So if you have someone in Europe accessing a website that displays a video, the video is automatically delivered from a location close to the user. Windows Azure Storage allows you to store files on the cloud as well without the benefits of CDN.

Step 3: Data Integration

Almost every business application needs to integrate with external applications. If you ran every application on premise this task is easier. However when you run an application on Microsoft’s servers you need a way to consume external data that may be running on-premise. Microsoft solves this integration problem using its Windows Azure App Fabric solution. The Windows Azure App Fabric allows you to integrate data from anywhere using a service oriented model. With the App Fabric you can consume Cloud data into your on-premise application or consume your on-premise data into your cloud application. The App Fabric uses standards based Web Services model for data integration.

Step 4: The Development Environment

Now you have decided on the OS (Windows Azure), finalized the data storage(SQL Azure) and have identified the integration points(Windows Azure App Fabric) for your application. The next step is to go build the application. Windows Azure’s Cloud SDK integrates with Visual Studio and allows your developers to build solutions using familiar tools. The toolset promotes interoperability and the SDK provides samples for developing solutions even on non .NET languages like Python or Java. The SDK also provides a local environment for users to test their cloud applications.

Step 5: Deployment and Testing

Once your application development is complete, you will need to test and deploy this to the cloud for your end users. Windows Azure provides a one-click deployment option from Visual Studio to deploy your application to the Cloud. There is a separate Staging environment that you can leverage to conduct user acceptance testing before going live with your application.

As you can see, the approach to application development for the Cloud is similar to the steps you would take for application development on premise. The confusion comes from applying the word “Azure” to every component. So here is a short guide

Windows Azure – The OS that you never have to worry about

SQL Azure – SQL Server on the Cloud

App Fabric – The web services/integration component

Azure Storage – the Storage on the cloud for unstructured data

Azure SDK – Your development tools


%d bloggers like this: