Windows Phone 8 enterprise security versus Blackberry 10 Balance and Samsung Knox

How good is Windows Phone 8 security? Actually, pretty good. The key features are described here [pdf]:

  • Trusted Boot prevents booting to an alternative operating system, using the UEFI secure boot standard.
  • Only signed operating system components and apps can run.
  • App sandboxing:

    No communication channels exist between apps on the phone other than through the cloud. Apps are isolated from each other and cannot access memory used or data stored by other applications, including the keyboard cache.

  • Private internal app distribution by businesses who register with Microsoft
  • Password policies set through Exchange ActiveSync (EAS)
  • Built-in device management client
  • Bitlocker encryption when set by EAS RequireDeviceEncryption policy. AES 128 encryption linked to UEFI Trusted Boot.
  • SD card data is not encrypted, but the OS only allows media files to be stored on SD cards.
  • Information Rights Management can prevent documents being edited, printed, or text copied (other than tricks like photographing the screen).
  • Remote Wipe

The security features in Windows Phone 8 are largely based on those in full Windows, since the core operating system is the same. However, devices are more secure since they are not afflicted by the legacy which makes desktop Windows hard to lock down without damaging usability.

While the above sounds good, note that in most cases a simple PIN will get you access to everything. On the other hand, unless the PIN is seen it is not all that insecure, since you can set policies that lock or wipe the phone after a few wrong attempts.

Does Microsoft therefore have a good story versus Blackberry 10 Balance and Samsung Knox, both of which feature secure containers that isolate business apps and data from personal? The approach is different. In Windows Phone the focus is on the whole device, whereas the other two have the concept of segmentation, letting users do what they like (including installation of games and so on) in one segment, while the business gets to control the other.

Windows Phone does in fact have a somewhat similar feature aimed at children. Kids Corner lets you create a "fun" segment containing specified apps and games, sandboxed from the main operating system. While this is currently designed for children borrowing your phone, you can see how it could be adapted to create a personal/business split if Microsoft chose to do so.

For the time being though, you might worry about the potential for users to install a malicious app or game that manages to exploit a bug in Windows Phone and compromise security.

Even if the business can lock down the device so that users cannot install apps, this impairs the user experience to the extent that most users will want another phone for personal use. The attraction of the Blackberry and Samsung approach is the way it combines user freedom with business security.

Is Microsoft doing a good job of articulating the enterprise features of Windows Phone 8? That is a hard question to answer; but my observation is that Nokia, the main Windows Phone vendor, seems to focus more on consumer features like the camera and music, or general features like maps and turn by turn navigation. Enterprise features are hardly mentioned on the Nokia stand here at Mobile World Congress in Barcelona, while Microsoft does not have a stand at all. On the other hand, you would think that the company’s strong partner ecosystem would be effective in communicating the presence of these features to enterprises.

Power shifts at Mobile World Congress: Samsung rises, Apple absent, Google hidden, Microsoft missing

Mobile World Congress, now under way in Barcelona, is a big event. Exact numbers are not available, but I have heard talk of 70,000 trade attendees; it is not something you can safely ignore if you have a presence in the mobile industry.

image

Nevertheless Apple chooses to ignore it, preferring its own exclusive events. This is a strategy that has worked in the past, but this year it may be less clever. Several have said to me that Apple is falling behind, being too slow to innovate its iOS device family. Of course many here are using Apple devices, but the momentum for now is elsewhere, though one magical announcement could change that any time.

Samsung on the other hand has the biggest stand here (actually several stands) and is everywhere. The underlying story is how Samsung is moving on from being an Android device vendor and focusing on Samsung-specific features. In the consumer world that means hooks into Samsung TVs or its new HomeSync media box with a Terabyte of storage, intended to be the place for all your music and video, as well as enabling Android games in your living room.

The bigger Samsung news though is its enterprise offering, called Knox, which creates a secure, encrypted container on your Samsung smartphone or tablet exclusively for business use. IT admins have full control over access and app deployment. This is the same approach used by Blackberry with the Balance feature in its new Blackberry 10 devices. Knox is implemented by third-parties, and links with Active Directory, making this an attractive proposition for businesses getting to grips with the challenge of mobile device management.

Crucially, Knox works only with Samsung devices. It is based on a secure edition of Linux and includes a hardware element so that other device vendors cannot implement Knox, though they could create their own similar system.

Blackberry on the other hand has not taken a stand at this event. Instead, it has parked itself in a hotel across the road, which its staff informally call Blackberry Towers. The symbolism is unfortunate. Last year it had a big stand; this year it is out of the mainstream. Blackberry’s new devices look good but its key business selling point is Balance, which means it will not be happy about Samsung’s Knox.

Microsoft is a puzzle, as is not uncommon for the company. Via Windows Phone it is a premier sponsor (which I imagine means a ton of cost) but does not have a stand. Windows Phone is mainly represented by Nokia, though it can be glimpsed elsewhere such as on the HTC stand. This is a company that wants to convince us that it is a serious force in mobile? Windows 8 is meant to be a new start on tablets; so where is Surface RT or Surface Pro?

I also wonder if the company has left it too late to establish Windows Phone as the best choice for secure mobility. I have been talking to Centrify here at Mobile World Congress, one of the third-parties implementing Knox solutions. Everything in a Centrify Knox deployment is controlled by Active Directory, and it forms an elegant and secure option for enterprises who want to give employees the freedom of a personal device combined with the security and manageability of a mobile device. I also saw how app developers can query Active Directory attributes on Knox Android devices just as they would with a Windows application.

So where is Microsoft with its enterprise smartphone story? It has all the pieces, including Active Directory itself, Bitlocker for device encryption, and System Center for management, but it has not yet assembled them for Windows Phone.

At least it is better than last year when it ran embarrassing "smoked by Windows Phone" demos.

Google is another puzzle. Last year a huge stand and a hall dedicated to Android; this year, nothing. Android may have won the mobile OS wars, but do initiatives like Knox show how Google is failing to reap the benefits? Possibly. It does seem to me that Google is now engaged in differentiating its own products and services from what you might call generic Android; and its absence from Mobile World Congress is likely part of that effort.

Nokia at Mobile World Congress: aiming for a bigger market

At Mobile World Congress there are endless identikit Android smartphones. Does that justify Nokia’s decision two years ago to adopt Windows Phone? We will never know; but there is some merit in a distinctive offering, even though it comes with the pain of being a minority choice.

image

The press would prefer to see jaw-dropping new features on state of the art mobiles, but instead Nokia is delivering what the Windows Phone ecosystem actually needs: cheaper phones. Along with a couple of new feature phones, the 301 with a reasonable camera and Exchange email support, and the 105 at €15 and with a battery that lasts for a month, Nokia CEO Stephen Elop announced two new Lumia devices.

image

The 520 is €139 but still a full-featured Windows Phone 8 device, with a 4” screen, apparently the same camera lens as on a 920, and Nokia’s location apps which are now branded HERE: Maps, Drive and Transit, and Nokia Music with free “Mix Radio” or premium quality, lyrics and download for €4 per month.

The 720 has a more advanced camera with a large f/1.9 aperture and a wide-angle front camera (usually front cameras are rubbish). Wireless charging with an optional cover. The 720 will be €249.

These devices will be in Asian territories this quarter and Europe probably in the second quarter of this year.

Android phones are also available at this kind of price; but my observation is that Windows Phone plus Nokia design and manufacturing compares well to the cheaper Android offerings.

The significance of these phones is that they have the potential to grow the market for Windows Phone apps and maybe to persuade key names like the BBC (there is no iPlayer for Windows Phone) that the platform is worth supporting.

Nokia also announced that its mapping technology will be in Firefox OS. It wants more users for its location services in order to improve their quality. More users means more data.

Another announcement is that the API for Nokia location and imaging features are being opened to third-party developers.

First sight of Firefox OS at Mobile World Congress

Alcatel OneTouch has a preview of its Firefox OS smartphone on display at its stand here in Barcelona.

3.5” HVGA, 1Ghz CPU, 3.2Mp camera, 256Mb RAM, 180Mb internal storage, MicroSD, 1400mAh battery.

image

and to give you the scale

image

The phone looks ordinary, but bear in mind the Mozilla philosophy which is more geared to universal, open access than to high-end smartphones for the few.

Several well-known names have signed up, but that in itself does not mean much. What counts is the extent of that commitment. A device like this one looks more about “let’s put it out and see who bites” rather than serious investment.

The app story (HTML 5 based, naturally) is key and I will be investigating later.

HP goes Android: what does that say about Windows 8?

Here at Mobile World Congress in Barcelona HP has announced a 7” Android tablet which will be available in April.

I took a quick look at the Mobile Focus event today. The back of the device is more interesting, showing logos for HP and for Beats Audio.

image

From the front you would be pushed to distinguish it from, say, Google’s Nexus 7. Black screen, runs Android.

I asked the guy on the stand what is distinctive about HP’s little Android slate in a crowded market. He said it had above average build quality, above average sound thanks to Beats Audio (you can find this discussed here), and support for HP’s printing system.

Not much, in other words; but the more interesting question is why HP is doing this. One reason is price. This will be a relatively cheap device, substantially less than any of HP’s windows machines, and without it HP would have little to no presence in the consumer tablet market.

Why not a Windows RT or Windows 8 device? That is the heart of it, and more interesting than the slate itself. HP is not giving up on Windows tablets, but it is positioning them more as business machines whereas the new slate is a consumer device.

The problem is that Microsoft has so far failed to make Windows 8 viable for this kind of market. It is too expensive, too peculiar, and there are too few worthwhile apps. That, and the Windows Runtime platform is not yet good enough, as developers at the sharp end discover. This means that HP has little choice but to go Android.

The form factor is also a problem. 7” seems to be beyond Windows Phone 8 territory, but too small for Windows 8 or RT bearing in mind the desktop and Office aspect. It is an awkward gap in the Windows offering.

The impression I got from several vendors at the show is that Microsoft is on the right lines with Windows 8, but the first release is disappointing on the tablet side.

What if HP starts to experiment with Android tablets that can be used like laptops, with neat keyboard cases and office-style applications? In the end the market will decide on the balance between Android and Windows, with the signs currently that Microsoft will struggle to gain momentum in the consumer tablet market.

Reflecting on Google’s power: a case for regulation?

Via Martin Belam’s blog I came across this account of how the well-known flower vendor Interflora has, it is claimed, been penalised by Google for violation of its webmaster guidelines on paid links:

Searching for the terms [Flowers], [florist], [flower delivery], [flowers online] and hundreds of other related search terms yielded the interflora.co.uk domain in first place – until yesterday afternoon.  Now the website does not even appear for its own brand name.

Possibly by no coincidence, an official Google post reminds us of the rules:

We do take this issue very seriously, so we recommend you avoid selling (and buying) links that pass PageRank in order to prevent loss of trust, lower PageRank in the Google Toolbar, lower rankings, or in an extreme case, removal from Google’s search results.

I find this troubling. Here are a few statements (some may be contentious) that taken together will, I hope, express why.

1. Google has a market-dominating position in search, certainly in the UK. With good reason, users wishing to visit Interflora’s site are more likely to type “interflora” into a search engine, probably Google, then to type the URL directly. The combined address bar and search box in most browsers encourages this. Many users probably do not appreciate the difference. Of course they might also type “order flowers” into the box, delegating to Google the responsibility for finding suitable sites.

2. In consequence of 1, Google has direct and immediate power over the amount of business that will be achieved by a company trading online. In some cases that might be make-or-break, in some cases not, but it is a significant influence.

3. A further consequence is that Google’s search and ranking algorithms form an incentive to businesses to do all they can to climb higher in the search ranking. Since this appears to be influenced by incoming links (though probably less so than it once was) Google’s algorithms attempt to judge which incoming links are meaningful and which are not. Paid links fall into into the latter category, hence the guidelines which prohibit them.

4. Despite (3) above, the internet is infested with paid links and link exchanges. Even running a small site like mine, I get thousands of paid link and link exchange requests every year. The implication is that Google is not all that good at ignoring and/or penalising them, otherwise the activity would cease.

5. Worth noting: web site owners are free to accept paid links and vendors are free to buy them. They are not doing wrong. The only disincentives are first, whether you want to fill your site with worthless links, and second, whether you will be penalised by Google for doing so.

6. Google’s process for determining whether or not a particular web destination is down-ranked is not transparent. This is for good reasons, insofar as a transparent process would arguably be easier to game. On the other hand, this also means that a business which is penalised has no recourse other than to plead with Google, unless it felt inclined to experiment with legal action (prohibitively expensive and uncertain for most).

7. In fact there is another option, which is to advertise with Google, a form of paid link which the search giant is happy to accept. It seems to me obvious that this form of advertising is designed to look similar to unpaid search results, despite some small effort to distinguish them with small print and a light background colour change:

image

It is not clear to me that this intermingling of paid and organic results is in the user’s best interests.

8. It is also obvious that advertising in this form is more important in cases where a business is absent from organic search results. It follows that Google has a direct incentive to penalise businesses by downranking them, since it has the potential to bring more advertising business. Please do not misunderstand: I am not accusing Google of doing this and have no reason to believe that it does.

9. Users of Google will be grateful that it attempts to improve the value of its search results by reducing the influence of meaningless incoming links. On the other hand, I find it difficult to understand why a user who typed “interflora” into Google would not want to see the official site at the top of the list, since it is a legitimate business and not in any sense malicious. Of course they do in fact see this, judging from my own experiment minutes ago, but it is an advertisement and not an organic link. The top organic link is not Interflora’s own site.

10. Pause for thought: what would be the effect on Google’s business if it put ads below organic search results rather than above?

11. The only rationale for (9) above is that Google considers it worth inconveniencing its users (presuming you do not accept that it simply wants to sell more ads) for the sake of the higher objective of penalising sites which, in its view, breach its guidelines.

12. We all have a choice whether to use Google or not; but this choice is not one that fixes the problem. The problem, rather, is the choice which our customers or potential customers make, over which we have no control.

13. It is a company’s duty to maximize returns to its shareholders. Making a profit is not wrong, and Google is entitled to design its search algorithms and web site as it wishes. None of the above is intended to imply that Google is doing wrong.

14. Despite (13) above, the combination of this concentration of power in a single business entity, the lack of transparency in its procedures, and the difficulty smaller businesses (in other words, almost everyone else) have in fixing issues, is something I find troubling.

15. It is also worth noting that the power of a dominant search engine goes beyond SEO (Search Engine Optimization). There is a long-standing debate over how easy it should be to find sites which offer illegal music downloads, for example. Another recent case I encountered showed how Google can make it hard to find a business in the real as well as the online world. I also note the influence of search engines on education, as the first destination of students and pupils looking for answers, and on human knowledge in general.

These issues are both complex and important. Should Google be regulated? Should all search engines be regulated? I do not know the answer, but believe that the question merits wider discussion. In this instance, it is not obvious to me that the free unregulated market will achieve the best outcome.

Windows Runtime flaws spoil new Windows Store (Metro) apps

The Windows Runtime, the new touch-friendly platform in Windows 8. It solves many problems. Not only is it tablet-friendly, but apps are sandboxed for security, and easy to deploy. No setup hassles, just one-click (or tap) install or uninstall. It also supports three types of development covering most tastes: native C++, .NET Framework, or HTML and JavaScript. In order to ensure responsive apps, Microsoft made many of the APIs asynchronous, so that users would not have the frustration of a frozen user interface or spinning hourglass during long operations.

At least, that is the theory. When I came to write my own simple app though, I was surprised how fiddly it was, and that something trivial like displaying a tweet including a working hyperlink turned out to involve Run elements, a ContentControl, a converter class and so on. Even then, I could not get the mouse cursor to turn to a hand icon when hovering over the link.

This hands-on experience gives me sympathy with others struggling to implement more complex projects. Some have posted about their experiences. Here is Frank Krueger, who has ported his neat iCircuit electronic circuit simulator from iOS and Android to Windows RT:

You would be shocked to see some of the crazy bits of code I had to put in because the Win8 platform, while very rich, is also very generic and doesn’t help you at all to build standard apps (document based, tools, etc.) That is to say, Cocoa is a very mature platform designed to make apps feature-rich and consistent while also making the developer’s life easy. WinRT on the other hand gives you rectangles and a blog post that says “good luck”.

He lists a number of problems, including having to reboot Windows constantly while testing the Share Charm; having to disable media elements in he app because of 500ms delays, no control over buffer sizes, and playback issues; and graphics issues:

I want to do real-time 2D vector drawing. Direct2D is perfect for this. But WinRT puts all sorts of limitations on onscreen rendering, most notably: you can only have 1 DirectX swap chain (view) per window. That means I can’t use Direct2D for rendering the scope which means the scope is slower than it needs to be. Dear Microsoft, go spend a few minutes and see how beautifully CocoaTouch and OpenGL work together on iOS. You might get inspired.

Next up is Media Monkey, a popular Windows media player which has been ported to the Windows Runtime platform. I was pleased to see this, as it lets me play FLAC music files on Surface RT. It is not very stable yet though, and I have had difficulty getting it to index the collection of FLAC files which I have on a network-connected drive.

image

What I found most interesting though were comments about the difficulty of displaying lists beyond a trivial size. One user complained:

When I first started MM scanning my music library, I was seeing the Album list grouped into sections headed up by the Alphabet letters. However, as more Albums got added, the heading letters vanished – and I now have an unbroken list of Albums – a great wodge that is very tiresome to navigate through by scrolling.

to which the Czech developer replied:

It’s a big problem, but not in MediaMonkey, but in system itself. Disabling groups is only crashes prevention because of system limitation :-(. Because of this we cannot use semantic zoom as well.

This has caused me to wonder whether part of the reason for the small number of excellent Windows Store apps is the difficulty developers have in getting them to work right. If so, that is a sad state of affairs for Microsoft’s shiny new platform.

In fairness, this is version 1.0, and the best hope is that a significant update to the platform will come before too long with improved controls, performance and features.

Cross-platform frameworks ordered by percentage of shared code

Following my piece on different approaches to building the user interface in cross-platform frameworks, twitter user Sam Hogarth pointed me to the PropertyCross project. This implements a non-trivial application in 8 different cross-platform tools, covering Android, iOS and Windows Phone. Note that only four of the frameworks support Windows Phone.

Using the pie charts presented for each framework, I was able to order them by percentage of shared code as follows:

1= Adobe AIR (100%), JQTouch (100%) , RhoMobile (100%), Sencha Touch (100%)

5. Appcelerator Titanium (around 90%)

6. JQuery Mobile (around 80%)

7. Xamarin (around 40%)

8. Native (0%)

A couple of notes. Of the 100% frameworks, three do not support Windows Phone, and the one which does (Rhomobile) seems to be a bit broken on Windows Phone, judging by the screenshots. The Property Details and Favourites pages do not render properly.

You would get more code sharing with Xamarin if you only supported two rather than three platforms. That is logical: since it does not abstract the GUI.

In most cases (not Rhomobile) it is striking how different Windows Phone appears versus iOS and Android, even with jQuery Mobile which uses HTML5.

image

Xamarin vs Titanium vs FireMonkey: should cross-platform tools abstract the GUI?

Cross-platform development is a big deal, and will continue to be so until a day comes when everyone uses the same platform. Android? HTML? WebKit? iOS? Windows? Maybe one day, but for now the world is multi-platform, and unless you can afford to ignore all platforms but one, or to develop independent projects for each platform, some kind of cross-platform approach makes sense, especially in mobile.

Sometimes I hear it said that there are essentially two approaches to cross-platform mobile apps. You can either use an embedded browser control and write a web app wrapped as a native app, as in Adobe PhoneGap/Cordova or the similar approach taken by Sencha, or you can use a cross-platform tool that creates native apps, such as Xamarin Studio, Appcelerator Titanium, or Embarcardero FireMonkey.

Within the second category though, there is diversity. In particular, they vary concerning the extent to which they abstract the user interface.

Here is the trade-off. If you design your cross-platform framework to include user interface widgets, like labels, buttons, grids and menus, then you can have your application work almost the same way on every platform. You can also have tools that build the user interface once for all the platforms. This is a big win in terms of coding effort. If the framework is well implemented, it will still adopt some of the characteristics native to each platform so that it looks more or less native.

Some tools do this by drawing their own controls. Embarcadero FireMonkey is in this category. Another approach is to use native controls where possible (in other words, to call the API that shows a button, rather than drawing the button with the graphics API), but to use custom drawing where necessary, even sometimes implementing a control from one platform on another. The downside is that because those controls are not in fact native, there will be some differences, perhaps obvious, perhaps subtle. Martin Fowler at ThoughtWorks refers to this as the uncanny valley and argues against emulated controls.

Further, if you are sharing the UI design across all platforms, it is hard to make your design feel equally right in all cases. It might be better to take the approach adopted by most games, using a design that is distinctive to your app and make a virtue of its consistency across platforms, even though it does not have the native look and feel on any platform.

Xamarin Studio on the other hand makes no attempt to provide a shared GUI framework:

We don’t try to provide a user interface abstraction layer that works across all the platforms. We think that’s a bad approach that leads to lowest common denominator user interfaces.*

CEO Nat Friedman told me. He is right; but the downside is the effort involved in maintaining two or more user interface designs for your app.

This is an old debate. One of the reasons IBM created Eclipse was a disagreement with Sun over the best way to design a cross-platform user interface framework. Sun’s Swing framework, derived from Netscape’s Internet Foundation Classes first released in 1996, takes the custom-drawn approach, which is why Swing apps always look like Swing apps (even if you apply the “Windows” look and feel). A team from IBM, some originally from Object Technology International which was a company acquired by IBM, believed it was better to wrap native controls with a Java abstraction layer, created SWT (Standard Widget Toolkit) to do that, and used it to build Eclipse.

Personally I am wary of toolkits which rely heavily on custom-drawn controls rather than native controls, though I see their value. On the other hand, Xamarin Studio is so far in the other direction that it removes some of the benefit of a cross-platform framework.

My prediction is that Xamarin will come up with its own GUI abstraction framework in future, along the lines of SWT. It is a compromise; but one which delivers a lot of value to developers who want to create cross-platform apps with the maximum amount of shared code.

*I have never understood this use of the term “lowest common demominator”. The LCD in maths is the lowest number into which a specific group of numbers divide exactly, so it is an elegant thing. In cross-platform what you should strive for is the highest common intersection: to make available all the features common to each platform.

Update: in April 2014 Xamarin announced Xamarin Forms, a GUI framework which wraps native controls in a XAML implementation (XAML is the presentation language also used by Microsoft, for WPF, Silverlight, Windows Phone and Windows Runtime (Windows 8) apps. There is a quick hands-on here.

Xamarin 2.0 and Xamarin Studio announced, build for OSX, iOS and Android with C#

Xamarin has announced significant updates to its developer platform. Xamarin is the company formed around 18 months ago, when Novell discontinued its investment in Mono, a cross-platform implementation of C# and the .NET Framework. Its focus is on mobile platforms, in particular iOS and Android, though there is also support for the Mac. On Windows and Windows Phone, the presumption is that developers will continue to use Microsoft’s .NET Framework.

“If you look at what you can develop with C#, there’s about 1.2 billion Windows machines out there, but there’s now about a billion Android and iOS devices. Together we can make C# a universal language for application development and reach 2.2 billion devices,” Xamarin co-founder and CEO Nat Friedman told me.

“There’s a wonderful built-in audience of C# developers, millions of them, who need a bridge to mobile. We can help them take their existing skills and tools, and even code they’ve already written, and bring them to mainstream mobile platforms like iOS and Android.”

The key announcements:

  • Xamarin Studio is  an updated version of MonoDevelop, the Mono IDE. It runs on Mac and Windows.#
  • You can now develop iOS apps in Visual Studio for the first time
  • MonoTouch, the framework for iOS, has been renamed Xamarin.iOS
  • Mono for Android is now called Xamarin.Android
  • A new component store has pre-built components for download, some free, some commercial.
  • Xamarin now offers a free Starter edition, and pricing plans for independent developers, smaller businesses, and enterprises. Indie is $299 per platform per year, Business is $999 per platform/year, and Enterprise $1800 platform/year.

The Starter edition is not much use. It has a limited app size, and even the sample project I downloaded, an Employee Directory, exceeded that size and I had to register for a trial.

Xamarin’s philosophy is to share non-visual code, but to create a user interface that is native for each platform. This is a compromise in terms of the effort involved in supporting multiple platforms, but ensures a native experience on each device. “That’s fundamental to our platform,” says Friedman. “We tell our developers to separate the UI layer from the rest of the app. That allows them to share all the non-UI code across platforms, but to deliver a fully native UI, even though the whole app is written in C#. That’s what users demand now, people want native experiences.”

“We’ve been building tools that essentially project the underlying iOS APIs or Java [Android] APIs into C#”, explains co-founder Miguel de Icaza. “What it means is that people need to build a new UI for each platform.” He adds that Microsoft platform developers should be used to this, as Microsoft itself has several similar but incompatible .NET platforms. “There’s the one on Silverlight, the one on WPF, the one on Windows RT, and the one on the phone, it’s four,” he says. “Developers have had to resort to putting their logic into shared libraries, and build a per-platform UI. We’re reusing that knowledge.”

The ability to develop for iOS in Visual Studio is new. “It’s our most-requested feature of all time.” said Friedman.

I downloaded Xamarin Studio, which in my case was around 1.3GB including an updated Android SDK.

image

The IDE itself is clean and fast, and very much code-centric. It lacks the bloat of Visual Studio, though you will miss many of the features of Microsoft’s IDE.

image

I build the sample Employee Directory app and deployed it to an Android emulator which I use for Nexus 7 development. Deploying the runtime components took a long time, but after waiting patiently the app launched successfully.

image

If you want to do iOS development you will need a Mac of course. Although you can code on Windows, if you then the code is pushed over the the Mac side for compilation and debugging. In order to use Visual Studio, one option is to run Windows in a virtual machine on a Mac, as I have done with reasonable success using Embarcadero’s cross-platform tools.

Xamarin says it is growing fast. There have been 230,000 downloads of its tools, increasing by around 700 per day, and over 12,000 paying customers.

Despite Xamarin’s roots in the open source world (and Mono is still open source), a quick look at the pricing table shows that this is a fully commercial offering and priced accordingly. Presuming customers keep on subscribing, that is a good thing, ensuring the future of the platform; but it is not so good for the smallest developers who might otherwise give it a try.