Microsoft Surface v/s Apple iPad v/s Google Android Tab

Microsoft earlier had revealed Windows 8 based tablets during its CTP announcement. A tablet is not a new thing to us. Apple was a game changer, and Google’s Android was a tough competitor. However, the announcement of Surface is a clear indication of shift happening with the computing devices “a post pc era” and how serious it is. Time has passed from PC era to handheld, light weight powerful computing devices such as Mobile and Tablets. Apple iOS and Google’s Android has a very sophisticated framework of application distribution and monetization called Marketplace was one of the reasons for the growth. Consumers were able to download the software on the apps on the go. Thanks to Internet evolution such as 4G and LTE technologies that fueled the growth. Microsoft was always into the serious PC business and had overlooked the consumer market except for gaming space Xbox. By the time it realized market capability through Apple and Google’s Android share on mobile devices, it tried to play a catch-up with its Windows Phone 7, but still a long way to go.

 

Natural evolution of iOS and Android to run on slightly bigger and powerful devices called Tablets had started posing a threat to heart and soul flagship product of Microsoft, Windows. This time there is no room for errors. Microsoft has invested heavily and strategically on building the core foundation from last couple of years with Windows 8, Marketplace, Windows RT, Skype integration to its products for collaboration needs (yet to see deep integration). At the launch of Windows 8, Microsoft had showed its ability to run on tablets in-collaboration with its hardware partners Samsung, Toshiba, Acer to name a few. Microsoft had earlier burnt its hands on hardware business except for Xbox so tried to follow its successful PC business model and partnered with its hardware manufacturers for tablets. Tablets produced from its hardware manufacturers was a lack of innovation and always tried hard to catch up with iPad design. This was bothering Microsoft. As a result, innovated its own tablet hardware and eliminated the pitfalls of iPad design and has addressed those concerns with its Surface tablet. Clear plus points for Surface tablet are kickstand, USB ports, well known and a familiar Windows OS.

 

Will Surface be a hit?

Majority of the Apple iOS and Android applications are consumer oriented. Apple is not enterprise friendly. With many versions of Android running on thousands of different hardware, it has become a fragmented market. More fragmentation with Android OS, applications become fragile and it would be hard for any enterprise to maintain different versions of the same app. And, both of these lack an eco-system to integrate with different enterprise technologies and make it hard for an enterprise. Microsoft has added advantage here with its OS compatibility, toolset and developer base, more importantly its ability to work with ISV’s

Configuration binding extension ‘system.serviceModel/bindings/netTcpRelayBinding’ could not be found. Verify that this binding extension is properly registered in system.serviceModel/extensions/bindingExtensions and that it is spelled correctly. Error in AppFabric

Resolution:

1. Make sure Windows Azure AppFabric SDK is Installed.

2. Make sure below settings exist in machine.config file if not add manually

 

<behaviorExtensions>

…..

<add
name=connectionStatusBehavior
type=Microsoft.ServiceBus.Configuration.ConnectionStatusElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />

<add
name=transportClientEndpointBehavior
type=Microsoft.ServiceBus.Configuration.TransportClientEndpointBehaviorElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />

<add
name=serviceRegistrySettings
type=Microsoft.ServiceBus.Configuration.ServiceRegistrySettingsElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />

 

</behaviorExtensions>

 

<bindingElementExtensions>

…..

<add
name=tcpRelayTransport
type=Microsoft.ServiceBus.Configuration.TcpRelayTransportElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />

<add
name=httpRelayTransport
type=Microsoft.ServiceBus.Configuration.HttpRelayTransportElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />

<add
name=httpsRelayTransport
type=Microsoft.ServiceBus.Configuration.HttpsRelayTransportElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />

<add
name=onewayRelayTransport
type=Microsoft.ServiceBus.Configuration.RelayedOnewayTransportElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />

 

</bindingElementExtensions>

 

<bindingExtensions>

…..

<add
name=basicHttpRelayBinding
type=Microsoft.ServiceBus.Configuration.BasicHttpRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />

<add
name=webHttpRelayBinding
type=Microsoft.ServiceBus.Configuration.WebHttpRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />

<add
name=ws2007HttpRelayBinding
type=Microsoft.ServiceBus.Configuration.WS2007HttpRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />

<add
name=netTcpRelayBinding
type=Microsoft.ServiceBus.Configuration.NetTcpRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />

<add
name=netOnewayRelayBinding
type=Microsoft.ServiceBus.Configuration.NetOnewayRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />

<add
name=netEventRelayBinding
type=Microsoft.ServiceBus.Configuration.NetEventRelayBindingCollectionElement, Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 />

 

</bindingExtensions>