Xamarin Developer Showdown; iPad User Experience Guidelines

I've been a bit quiet here lately - not a lot of interesting stuff coming across my desk, and a site release for the day job (which is only of interest to people who live 60's music). And an Android app mostly finished. But it's not THAT quiet:

Xamarin announce the Xamarin Developer Showdown.

What is it, you ask? Well, you write an app (iOS, Android, Windows Phone - I suspect serious bonus points for more than one of those), using Xamarin.Mobile, submit it to Xamarin, and you can win an iPad, Surface or Nexus 10. Sweet!

What is Xamarin.Mobie? It's a cross platform abstraction of some of the common bits on the three platforms:

  • Location / GPS
  • Camera / Photos
  • Contacts
  • Compass and Calendar coming in the future.

It allows you to use consistent code to use these things, across the various platforms. The code is very .NET-focused, so you get nice stuff like:

{% codeblock %}
var picker = new MediaPicker (this);

if (!picker.IsCameraAvailable || !picker.PhotosSupported)
{
Toast.MakeText (this, "No photo for you", ToastLength.Short).Show ();
return;
}

picker.TakePhotoAsync (new StoreCameraMediaOptions
{
Name = "foo.jpg"",
Directory = "photos"
})
.ContinueWith (t =>
{
if (t.IsCanceled)
return;

Bitmap b = BitmapFactory.DecodeFile (t.Result.Path);
RunOnUiThread (() =>
{
	imageView.SetBitmap(b);
	t.Result.Dispose ();
});

});
{% endcodeblock %}

Which will mostly work - almost unchanged - on all three platforms. Obviously, Toast isn't going to work on iOS, but the TakePhotoAsync bits will. Xamarin.Mobile is free (tho not open source).

I've been using it on my current project (which is an Android one) and it's very useful and very easy to use.

Go forth and create!


On a totally different topic, UX Magazine has a great distillation of the HIG, in the form of iPad User Experience Guidelines. Worth a read for all tablet devices I think, not just iPads.

Apple's Human Interface Guidelines for the iPad outline how to create user interfaces optimized for the iPad device. According to Apple, the best iPad applications: downplay application UI so that the focus is on content; present content in beautiful, often realistic ways; and take full advantage of device capabilities to enable enhanced interaction.