The potential in Nokia’s alliance with Microsoft

I see a lot of potential in Nokia’s alliance with Microsoft. Of course there are also many severe disadvantages and risks in it (linked articles are in Finnish, sorry). Since I happen to know better the bright side than the dark one, I’ll write on it. If you are more interested in doomsday visions see e.g. this blog post or this post’s comments.

Why I find this partnership interesting? Nokia and Microsoft together have great potential for delivering the next generation business phone after the rise of social media. I really like the way social media have invaded to mobile devices. Now I can follow where my superiors’ and colleagues are on map and how their gym programs progress – and all that nicely in one place, in my Facebook feed. That is kind of entertaining but not business critical.

IPhone is made for consumers, it is not meant to be platform for business applications. Android tries to offer same nice stuff as iPhone
but better and with lower price. Of course there are business applications that have been made for iPhone and Android. Nonetheless, the focus is not in business but in entertainment. The emphasis on the business needs (rather than entertainment and socializing) is exactly where I see the strength of Nokia-Microsoft alliance.

In practice, the biggest opportunities in my opinion are:

  • Easier and cheaper integration with Line of Business (LoB) systems
  • Out of the box integration with some supportive systems like intranet and CRM
  • Easier and cheaper access to business data (via mobile phone)
1) Easier integration with Line of Business (LoB) systems

Silverlight 3[*] and .NET 3.5 contains a nice set of tools that make integration to LoB systems easier and faster to implement.

This is quite a nerdy beginning, but it’s really relevant in my opinion. On newspaper and news websites, this advantage is almost fully ignored, probably because it is “too technical” to most readers. Therefore, I start with it.

There are many systems in require 24/7 attention or cases where  the companies currently have to use custom made hardware to access the system. I’m now thinking of manufacturing, security, healthcare, inventory and critical IT systems. Many of the tasks related to these systems could be done by a mobile phone with good big touch screen, but building integration to mobile devices is too expensive.

The price comes from three main things: the work needed for design, implementation and testing, custom hardware and the changes during the software project.

1.1. Hardware costs

I start with custom hardware. It is easy to understand why custom hardware is overly expensive. It is obviously better, if normal mobile phone does the same thing than custom-made devise.

Historically mobile phones have had severe limitations relating to control devices, screen size, memory and processing capabilities. These limitations that have forced many companies to build custom hardware instead of utilizing normal mobile phones.

That has changed. You can manage most of the tasks needed in inventory handling by iPhone or any other modern smartphone. They have big enough touchscreen. Processors are faster and faster and memory is cheaper. Of course, there are and will be situation where you need custom hardware, but they are fewer and fewer. So, now the question is how easy it is to build integration between LoB systems and normal mobile phone.

1.2. Decreasing amount of unnecessary work with good development tools

I suppose that peoples understand well why development work costs. Good development tools and proper level of abstraction decrease significantly the costs of work. I’m not saying that Nokia didn’t have good tools. I’m saying that Microsoft has even bigger arsenal of extensible tools than Nokia has ever had. Both Nokia and Microsoft have worked a lot for proper level of abstraction. Probably some parts of work can be combined and some cannot. As a result of this all, the costs of custom LoB mobiles application will decrease.

1.3. Tackling the impact of changes with proper level of abstraction

The last costly thing is the changes and rework. In practice, there are always big changes in software projects. The requirements tend to be very volatile in software industry. Often, you start building five story element house and end up 10 floor above the ground  and 3 underground levels. The answer is not to design things better so that there won’t be any changes. That has been tried for decades and it has been found a deceptive path. Approximately 80% of software projects trying to do that fail. 20% of them won’t ship anything usable at the end. Rest of failing projects goes significantly over budget or given schedule, or deliver only a small subset of the original scope. (See. e.g. Steve Cornel, 2004, Software Estimation, pp. 24-25.)

Preparing for the change and rework are necessities in software industry. Proper level of abstraction in chosen technology and development tools is a big advantage. Proper abstraction layers is only a small part of answer, but nevertheless a significant part. E.g. .NET framework contains a nice abstraction layer for client-server communication, Windows Communication Foundation (WCF).

1.4. At last

Both Nokia and Microsoft have invested a lot to these three things (the lesser work amount, lesser need for custom hardware and better capability to adapt to change). I cannot say if they have invested more than other companies or shipped better products/tools.

I have to say that Microsoft has made few big mistakes in its search for proper level of abstraction. E.g. ASP.NET Webforms lures web developers to a poor, hard-to-test two-tier architecture that is fragile and difficult to change once requirements change. Fortunately Microsoft has learned from the mistakes and has recently done many big and good changes in its technology roadmap.

Currently, Microsoft technology stack for implementing LoB system for mobile devices is very promising and extensive. It’s not prefect, but definitely one of the best you can have.

2) Out of the box integration with some supportive systems like intranet and CRM.

I’m expecting to see nice out of the box applications that integrate Nokia phones to Microsoft server and cloud service products.

In practice, this means:

  • Extensive and easy to use integration between WP7 and SharePoint[**]. There is already some integration between them – both mobile website based and native phone software. I haven’t had change to test them by myself due to my employer’s current phone policy. I have seen impressive demos but I don’t know if it works in real-life situations.
  • Extensive and easy to use integrations to Microsoft Dynamic products, especially CRM. I have not followed much what happens on Dynamics area. Anyway, nice, easy and cheap integration to CRM data and reporting would be clear benefit.

Both SharePoint and Microsoft CRM (a part of Microsoft Dynamics product family) are also part of Microsoft cloud services. I’m pretty sure that Microsoft makes better profit by selling cloud services (like Office 365 and Microsoft Dynamics CRM Online) and server software licenses than by selling mobile operating systems. Actually, I suppose, it does not really matter if effort to mobile operating system causes big losses in income if it boosts significantly sales on cloud services and server software license area.

This is beneficial also for Nokia. It is clear that Nokia will make good profit, if big companies want to buy Nokia smart phones for their employees just because it is easy and cheap to integrate with the supportive systems like mail server, instant messaging services, intranet, extranet and CRM. I see this as a clear win-win situation even if Microsoft wins probably a bit more.

3) Easier and cheaper access to business data

Microsoft has done good progress in business intelligence stuff during the last decade. Microsoft’s self-service BI is a good concept. For instance Excel services is really nice and easy way to do some simple reporting and publish it to everyone in the company or in the partner network. It is good alternative for more traditional reporting tool, like SQL Server Reporting Services.

However, currently all available easy to use reporting stuff tends to be too heavy for mobile phones – including Excel services and SQL Server Reporting Services. It is also difficult to scale reports so that it is usable in small screen as well as on big screen. If you want to have some nice reporting to mobile phone, you have to do a lot of custom development and that is expensive.

Thus, I’m expecting to see better abstractions in BI systems so that you can more easily scale the same data and reports to mobile devices and to PC with big screen. Certainly this is not the first thing Nokia and Microsoft need to take care of.

However, together they have good capabilities to deliver better reporting and BI tools for mobile devices. Apple and RIM lack hardcore server backend knowledge in BI and they don’t have much experience in BI development tools. Microsoft has. Google doesn’t have mobile hardware knowledge and experience. At least it is not as strong in mobile hardware as Nokia. Neither does it have similar BI tool comparable to MS Business Intelligence Studio, SSRS Report Builder, PowerPivot, PerformancePoint Services and Excel Services. (Please correct me if I’m wrong. I’m not an expert in Google offering and development tools.)

In short: If you want to have reliable and fast to implement reporting system for mobile devices you need to know a lot of hardware and backend systems, and you have to offer good, easy-to-use tools for report builders. Only Microsoft and Nokia together are strong in all these areas.


*) You can develop Windows Phone applications in two ways, by using XNA or Silverlight 3. XNA is used in XBox games and Silverlight is Microsoft attempt to create a UI toolkit you can use everywhere (on desktop, web, mobile, Windows, Linux…). Silverlight former name was WPF/E (Windows Presentation Foundation Everywhere). Recently, Microsoft has announced that their attempt to run the same Silverlight application everywhere was too ambitious and they have descaled this goal a bit.

**) SharePoint is a very nice platform for intranets, extranets and BI reporting portals. You can use it also public web, but to be honest, it is not the best tool to use in public websites. There are many significantly better and cheaper platforms to public web sites than SharePoint. IMHO, SharePoint is to public website CMS what IE6
is to browsers.