Xamarin and Microsoft announce a partnership to make it easier to use C# to build mobile apps for all the big platforms

microsoft - xamarin

I’m very pleased to hear about the partnership that Microsoft and Xamarin announced today, which brings together the company behind the C# programming language and the company who make it much easier to use it to write apps for platforms beyond Microsoft’s. This is good news for people who like the C# programming language — and there’s a lot to like — but who also want to develop apps for iOS and Android.

The first three results of this partnership will be:

  1. Truly Portable Class Libraries –  Portable Class Library (PCL) projects will now be fully supported on both iOS and Android, making it easier than ever for C# developers to share code across devices. Code common to all platforms can stay in a single, central project and then referenced from platform-specific code in the same solution, whether Android, iOS, Windows Phone, or Windows Store. PCL project references will allow developers to bounce back-and-forth between PCL and platform-specific projects.

  1. Support for Visual Studio 2013 – Xamarin and Microsoft released significant improvements to Xamarin’s Visual Studio extensions, as well as support for Visual Studio 2013, and more integrations have been promised.

  1. Special offers for MSDN Subscribers – Microsoft and Xamarin have created special offers for MSDN subscribers, including special pricing on new purchases of Xamarin, extending the trial period from 30 to 90 days, and free training from the newly-announced Xamarin University.

This is great news, because…

C# rocks!

For all the things that are wrong about Microsoft, there has consistently one thing that’s been right about them since 2000: the C# programming language.

Started as “Project COOL”, where COOL was an acronym for “C-like Object-Oriented Language”, C# was meant to be Microsoft’s answer to Java, with the ability to interoperate with COM, Microsoft’s Component Object Model, the binary interface standard that underlay a lot of Microsoft technologies, including OLE, ActiveX, Windows Shell, Windows Runtime, and DirectX. When it first started, C# was always playing catch-up with Java, but over the past few years, and most notably with the release of C# 3.0, it’s Java that’s being left behind in terms of language features and expressiveness. This list posted on Stack Overflow does a pretty good job of laundry-listing where C# beats Java:

  • Closures;
  • Runtime generics;
  • Generics of primitive types (benchmarks of this sorting a list of a million ints vs a million Integer objects have revealed a factor of 3 improvement);
  • Delegates;
  • Events;
  • LINQ;
  • Extension methods;
  • First-class properties;
  • Operator overloading;
  • Indexers;
  • Anonymous types;
  • Expression trees;
  • Using blocks;
  • No checked exceptions. Hooray!
  • Decimal type;
  • As of C# 4.0: the dynamic type, which is basically duck typing.

I’ve been doing some noodling with Java while teaching myself Android programming, and having come from the world of C#, Java feels so ghetto. I’m going to have to do some noodling with Xamarin’s tools now!


Microsoft eliminates stack ranking, and hopefully its Dwight K. Schrute-breeding culture with it

Dwight K. Schrute from the American edition of 'The Office' holding his D.W.I.G.H.T. sign:

Dwight K. Schrute: Stack ranking’s logical conclusion.

Microsoft has announced that they are eliminating stack ranking, the infamous and much-maligned system that required managers doing annual reviews to place their direct reports in one of three categories or “buckets”:

  • “Achieve”, into which 70% of your direct reports would go. The official description of the sort of person your supposed to put into this bucket is “Demonstrates potential at minimum to broaden in one’s role or to advance one career stage or level as a leader – either as a People Manager and/or individual contributor. Past performance suggests capability of delivering consistent and significant contributions over long-term. Competencies typically are at expected levels.”
  • “Exceed”, where you’d place the top 20%. If you did particularly well that year, you’d be put into this category. The description reads: “Demonstrates potential to advance faster than average as a leader – either as a People Manager and/or individual contributor – preferably multiple levels or two career stages. Past performance suggests capability of delivering exceptional results over long-term. Competencies typically are at or above expected levels.”
  • “Underachieve”, or the bottom 10%. This category comes with a set of consequences and often a lot of self-loathing and voluntary departure from the company. “Demonstrates limited potential to advance.”

Stack ranking was cited in Kurt Eichenwald’s damning article in Vanity Fair on “Microsoft’s Lost Decade” as being one of the reasons that the company, while financially successful, doesn’t define tech the way it used to. According to the article, it created situations where superstars would refuse to work on the same team, and it also incentivized teammates to compete against each other, in that sort of “I don’t have to outrun the bear, I just have to outrun you” way. I came on the team with 7 years’ worth of solo blogging under my belt and my own audience, and one way I put myself ahead was to simply outblog them — I wrote nearly 800 articles between October 2008 and April 2011. (As of this writing, I still have the most-viewed article on Canadian Developer Connection, and I left two and a half years ago.)

When chatting with former Microsofties about their former lives at The Empire, I found that most of them hated the system, saying that it rewarded those who spent more time “managing up” than getting the job done; it encouraged ass-kissing over actual productivity.

Simply put, stack ranking was creating an organization of Dwight K. Schrutes.

If you don’t believe me, then how about someone who worked at the same level as my manager, who commented on my earlier article about Microsoft’s stack ranking system?

You forgot one important aspect of the ranking process: calibration. Your manager talks about your performance in front of his peers and then together they “calibrate” how you performed relative to your peers.

This would shine a spotlight on folks who networked well, picked opportunities to “own scorecards” and exceeded them by crunching numbers and on backs of others by running “v-teams”, vs the actual do-ers and Subject Matter Experts who would do the heavy lifting. Extra calibration points who did a bang-up job on ‘launching’ something that made management look good (product, project, even if it were an internal one).

The calibration process turned into a contest in how well you schmoozed with your boss’s peers — based on criteria that are completely subjective and emphasized ability to do well in a pack vs. standing out. Folks like you, Joey, were the “outsiders” who were clearly not a team-player and too threatening b/c you actually knew the subject-matter, the audience and were liked by folks you dealt with on the outside, versus some mediocre manager’s buddy on the inside.

The elimination of stack ranking isn’t one of those things that Microsoft’s customers will notice, but it will have a direct impact on the people who work there, with increased job satisfaction, better cooperation, more employee retention, and less Macchiavelli all ’round. Those improvements may be reflected in their products, and that’s something customers will see.


On Vacation: Back on November 11th!


I’m on vacation in the lovely San Francisco Bay Area until next Monday, November 11th, when regular postings resume.


The BlackBerry/Fairfax Deal Falling Through is Probably a Good Thing

not gone yet - gone

It’s probably a good thing that the BlackBerry/Fairfax deal feel through. As an insurance company, FairFax is probably all about maximizing the value of its segmented funds, which it would’ve done by slicing BlackBerry into pieces and selling off the most valuable parts (most likely the patent portfolio).

As for now ex-CEO Thorsten Heins, he took on a really tough job, and I’d hate to be the guy to replace him.


One reason I’m looking forward to being able to use personal electronics through the entire flight

I think the distraction will help quiet kids and prevent adult freak-outs like this one:


JetBlue 2302: The first flight to allow gate-to-gate use of personal electronic devices

and so it begins

I wrote that it was happening soon, and it’s already begun: on Friday, November 1st, 2013 JetBlue 2302, which flew from JFK to Buffalo, became the first flight to allow passengers to use personal electronic devices at any time they were onboard, from gate to gate.

This is result of months of investigations by the FAA into whether portable electronics, from mobile phones and handheld games to tablets and laptops posed any kind of risk of interference with avionics and other vital systems on airplanes. They released guidelines on Thursday stating that airlines should conduct “carrier-defined PED [personal electronic device] testing” to make sure that electronic frequencies don’t cause any such interference. JetBlue 2302 was declared ready to go, and Delta has announced that all 191 planes in their fleet have passed such an inspection.

Here’s some video shot on JetBlue 2302: