Windows Phone SDK Update for 7.8 available

SDK Windows Phone 7.8

Windows Phone 7.8 begins to be shipped with new phones and the update for 7.5 devices should start been deployed “over the air” very soon. That is the consumer part. For the developer, the good news was published today by Microsoft, the Windows Phone SDK Update for 7.8 was released this morning. You will be able to use some of the new features of Windows Phone 8 in your application that target Windows Phone 7.5.

You can install this SDK on Windows 7 and Windows 8 and it will add two new Emulators: Windows Phone 7.8 512 MB emulator and Windows Phone 7.8 256MB emulator. You’ll still be able to test your apps on Windows Phone 7.1 (or 8.0) because this new SDK is installed on top of the previous installs. There is no new API provided with this SDK, only the two new emulators.

New capability

The main (if not only) new capability that you can take advantage of in your app is the new live tile option:

  • The primary tile supports now 3 different sizes (like for Windows Phone 8), small, medium and large.
  • The secondary tile can now use the 3 tile templates introduced for Windows Phone 8: Flip, Iconic and Cycle templates.

Download the Windows Phone SDKs

Windows Phone 7.8 Emulator

Windows Azure Mobile Services – Update with REST APIs

Windows Azure Mobile Services

After the introduction to Windows Azure Mobile Services, I hope you had the chance to try this service. Di you know you can try Windows Azure for free for 90 days?

Today I would like to add a very short code snippet to help you updating an item in your Mobile Service. We have to use the HTTP method PATCH, send the id of the item to update and send the new item in the body of your request (serialized as a JSON message). You can use the following method in the class I gave to you in my introduction to Windows Azure Mobile Services.

public void Update<T>(string tableName, int idToUpdate, T item)
    where T : class
{
    Uri address = new Uri(string.Format("https://{0}.azure-mobile.net/tables/{1}/{2}", ServiceName, tableName, idToUpdate));

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address);

    request.Method = "PATCH";
    request.Headers = new WebHeaderCollection
                            {
                                {"X-ZUMO-APPLICATION", ApplicationId},
                                {"X-ZUMO-MASTER", MasterKey},
                            };

    string serialization = item.Serialize();
    byte[] byteData = Encoding.UTF8.GetBytes(serialization);
    request.ContentLength = byteData.Length;

    using (Stream postStream = request.GetRequestStream())
    {
        postStream.Write(byteData, 0, byteData.Length);
    }

    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    response.Close();
}

Introduction to Windows Azure Mobile Services

MobileServices

Today I would like to write about one of the feature on Windows Azure that was created by the team of Scott Guthrie. This new service, still tagged as a preview in the Azure management console, allows you to make easier your developments for Windows Phone, Windows 8 and even iPhone and Android devices with:

  • Structured storage. You can send and retrieve structured data between your client device and Azure using JSON messages or with the Windows Azure Mobile Services SDK. The backend of this storage is a SQL Server database but you don’t have to take care of it. Windows Store C#, Windows Phone 8, iOS.
  • User authentication. You will be able using a very simple line of code to get your mobile users to authenticate using for example their Microsoft Account or Facebook to access some restricted data or just to be identify by your system. Windows Store C#, Windows Phone 8, iOS.
  • Push notifications. Send a push notification to display a toast or change the tile on the client device has never been easier. With one line of JavaScript embedded on Azure, you can send push notification to all of your users. Windows Store C#, Windows Phone 8, iOS.

Microsoft did an amazing job by creating a lot of content to help developers creating applications using Windows Azure and I’ve linked, for each feature mentioned above, the corresponding tutorial for Windows 8 and Windows Phone 8 apps or even iOS.

Ok, now that we have the big picture of what is Windows Azure Mobile Services, let’s code a little bit. For one of my project I’m working on, I needed to connect Mobile Services, not from a mobile device but from a Worker Role also hosted on Azure. The main problem is that the Mobile Service SDK is not working for other projects than Windows 8, Windows Phone 8 (in the .NET world). Remember what I said about the Structured storage? You can exchange data using JSON messages. So I’ll use the REST APIs to communicate with my backend.

Continue reading

50 free Windows 8 Design Templates

windows8_logo

Microsoft Malaysia has recently published 50 application templates for Windows 8 to help developers to shape their apps for the Windows Store. These templates are ready to publish, in other words, you (almost) just have to open them in Visual Studio, change the name of the application and publish it in the store, that’s as easy. Each package is available in C# and JS/HTML. It’s about 500MB you can download on this SkyDrive.

Here are some samples of what you’ll get in the package:

You don’t have anymore excuse for not trying making applications for Windows 8.

[Update 1/26/2013] It seems the links are down, please look at Free Windows 8 Design Templates are coming back soon.

JSON Serialization–Deserialization

JSON is the new “trending” format used to transfer data between server and client. Today I’m going to start a series of post about Windows Azure Mobile Services, but I want to start very easy with something I’ll need for the next parts.

Here is the code of a helper to serialize and deserialize any object. Start with this using:

using System.Runtime.Serialization.Json;

Here is the static class you can use to serialize and deserialize your objects:

public static class JsonHelper
{
  public static string Serialize<T>(this T value)
     where T : class
  {
     var serializer = new DataContractJsonSerializer(typeof(T));

     using (MemoryStream stream = new MemoryStream())
     {
          serializer.WriteObject(stream, value);
          return Encoding.Default.GetString(stream.ToArray());
     }
  }

  public static T Deserialize<T>(this Stream stream)
     where T : class
  {
     var serializer = new DataContractJsonSerializer(typeof(T));
     return (T)serializer.ReadObject(stream);
  }
}

BugSense is back with the support of Windows 8, Windows Phone 8, HTML 5

BugSense

I already talked about BugSense, this company that provides to the developers of mobile apps the power to track crashes and problems in their applications (way better than the solution provided by the Microsoft marketplace). They are constantly evolving, adapting to the new market, the new technologies and today they announced the Windows 8 SDK for C# and JavaScript!

If you are familiar with NuGet, it has never been so easy to integrate a third-party library in your current project. Right click on you project, then Manage NuGet Packages…

image_20

Team Foundation Service available for free

image_19

Eclipse or Visual Studio users, Windows 8, WPF, Web, Windows Phone, iPhone or Android developers, where do you keep the source code of your applications? Do you have a versioning of your projects? Are you working in a small team? Do you follow Agile development methodologies? Or maybe you would like to do it but you don’t know where to do that for free.

There are several free websites (free or cheap) that can help you to answer to one or many of this need like Codeplex, GitHub, AnkhSVN, TortoiseSVN… After months of testing with public (and non-public) access to TFS Preview, Microsoft has announced at Microsoft BUILD in Redmond, WA that TFS Preview is now tfs.visualstudio.com and is free for a team access (up to 5) and fully free for the next few months.

I’ve been using it for almost a year now and it is very powerful. You can do basically everything you can do with a TFS on premise, but, as every service on the cloud, you don’t have to worry about any IT stuff like size your servers, backup the SQL Server… Focus on your job! I really like services like Codeplex or GitHub but for public projects. I’m using Team Foundation Service (not Team Foundation Server) for the applications I develop for Windows Phone or some other personal projects.

Try it today for free: http://tfs.visualstudio.com

Windows Phone 8 SDK is available

Windows Phone logo

Back from Microsoft BUILD in Redmond, WA, Microsoft released the newest version of its mobile operating system: Windows Phone 8. You can download the SDK right away: Windows Phone 8 SDK. In order to use (and abuse) of all new features of this OS, I recommend you to watch the videos of the BUILD sessions about Windows Phone 8 on Channel 9.

To run the emulator you’ll need those two requirements:

  • Windows 8 Pro edition or greater
  • A processor that supports Second Level Address Translation (SLAT) (which my computer doesn’t have because it seems too old, only two years old)

See what’s new in Windows Phone 8. I’ll publish some article soon about how to use the new features like the NFC.

Microsoft Visual Studio Team Foundation Server 2012 Power Tools

visual_studio_logo

Microsoft and the Visual Studio ALM team released last week the Microsoft Visual Studio Team Foundation Server 2012 Power Tools. It’s time for you to install them if you’re running Visual Studio 2012 with TFS 2012.

One of my favorite and useful command that the power tools allows us to do is the Undo Unchanged. When you checkout a file but not make any changes, by default, Visual Studio will commit the file, but you can remove automatically all these unchanged checkout files with one action.

image_15

In order to be able to use this command, in Visual Studio 2012, go to Tools | External Tools… Then create the command like below:

image_16

Title: TFS Undo Unchanged
Command: C:Program Files (x86)Microsoft Team Foundation Server 2012 Power ToolsTFPT.EXE
Arguments: uu /recursive /noget
Initial directory: $(SolutionDir)
Check Use Output window.

Download link: http://visualstudiogallery.msdn.microsoft.com/b1ef7eb2-e084-4cb8-9bc7-06c3bad9148f