Windows Azure datacentres coming to Australia!

Microsoft is planning to expand the Windows Azure regional datacentres to Australia. There are plans to add two new “sub-regions”, in Victoria and NSW.

This is exciting, because there have been an number of businesses and scenarios where due to regulator requirements on data sovereignty, they were unable to use the Azure locations hosted in other countries.
It is interesting to look at *why* Microsoft is deploying 2 new centres (Victoria & NSW), and not just in NSW. This comes down for the need to provide geo-redundancy, while still giving users data sovereignty in Australia.

This bodes well for any Australian start-up what wants to create a local service. The latency from US servers can cause a slight lag in requests, having their applications servers hosted locally will be great.
There is also the potential for some big name USA companies to start hosting geo-located edge servers here, so that their Australian customers get a more responsive experience. This could easily be done by using the Windows Azure Traffic Manager to manage multiple geo-located computer instances http://www.windowsazure.com/en-us/pricing/details/traffic-manager/

The official announcement is up on the Australian MSDN blog http://blogs.msdn.com/b/ausblog/archive/2013/05/16/windows-azure-expands-downunder.aspx

By David Burela

Windows Azure SDK 2.0 released

Microsoft has released the latest version of the Windows Azure SDK, version 2.0.

The top features they are listing are:

  • Web Sites: Visual Studio Tooling updates for Publishing, Management, and for Diagnostics
  • Cloud Services: Support for new high memory VM sizes, Faster Cloud Service publishing & Visual Studio Tooling for configuring and viewing diagnostics data
  • Storage: Storage Client 2.0 is now included in new projects & Visual Studio Server Explorer now supports working with Storage Tables
  • Service Bus: Updated client library with message pump programming model support, support for browsing messages, and auto-deleting idle messaging entities
  • PowerShell Automation: Updated support for PowerShell 3.0, and lots of new PowerShell commands for automating Web Sites, Cloud Services, VMs and more.

The SDK can be downloaded from the Azure Developer portal http://www.windowsazure.com/en-us/develop/net/.

What I find really cool about the Storage Client SDK is how it is available to install as a package from NuGet, and the code is all available from GitHub. Microsoft is changing!
http://nuget.org/packages/WindowsAzure.Storage 
https://github.com/WindowsAzure/azure-sdk-for-net

Community report: Azure global bootcamp

I attended the Windows Azure Global boot camp in Melbourne https://globalwindowsazure.azurewebsites.net/

There were a number of top speakers at the event, and all of the attendees seemed to get a lot from the event. It was great to see just how many people came along to attend the event! You can see in one of the photos I took that the room was packed.

The presenters used the Windows Azure training kit which is available for you to download http://www.windowsazure.com/en-us/develop/net/other-resources/training-kit/ 

WP_20130427_002 (1)
The packed room.

WP_20130427_004
Mitch Denny presenting

Virtual Windows AzureConf is on this week

If you would like to “attend” a Windows Azure conference to get your skills up, then ScottGu & his team are running a virtual Windows AzureConference this week. The schedule can be found at http://channel9.msdn.com/Events/windowsazure/Windows-AzureConf-2013. There looks to be a good mix of Development, Debugging & infrastructure basics. Apparently you will also be able to ask questions live. So get on there and learn a few new things!

Edit: All of the sessions are now online and available for viewing at http://channel9.msdn.com/Events/windowsazure/Windows-AzureConf-2013

Creating the Sensis Showdown app

Recently I was at a developer camp. In attendance was a developer evangelist from Sensis who was encouraging devs to create an app for their search API http://developers.sensis.com.au/about. There was a cash prize for whoever wrote the best app by the end of the hackathon.

Long story short, I came in 1st place Nerd smile.

The API

Sensis are a directory services company (White Pages, Yellow Pages, Business directories, etc.). Their search API allows you to search for local businesses based on key words and locations. It was a REST based API and they provided some legacy .Net 4.5 sample code to interact with the service. However this didn’t work with the new asynchronous apis in WinRT. So I spent an hour trying to very roughly convert it over to a WinRT compatible sample which I then shared with the entire group in attendance, to help everyone else get a head start on entering this competition https://gist.github.com/DavidBurela/5069136. The interaction code could have been my “secret sauce”, but that is no fun. Everyone at the event was there to have fun hacking away at WinRT and WinPhone apps. I wanted to see what everyone else could come up with once they had the API access code out of the way.

The idea

After spending a few hours helping everyone else in attendance, I realised I only had 2 hours left to build something. I’d done a bunch of work with the Bing Maps control recently, so it made sense to start there. A generic “search for a term and display it” app seemed boring, and is the same functionality as their own website.

After a bunch of brain storming I realised I could increase it to two search terms and compare the two. This idea expanded into a competitive comparison for the ultimate argument decider. You always have random arguments when in a bar “Chinese food is more popular”, “No way pizza is”.

This led me to a “Red vs. Blue” comparison. Search for two terms, have it mapped as Red vs Blue push pins, and then display the final numbers

 Pizza Vs PastaSushi Vs Fries

Downloading the app:

Windows 8 marketplace

Within 72 hours of creating the app, it had already gone through marketplace certification. Microsoft is getting VERY speedy in the approval process now. You can download the app onto your Windows 8 machine at http://apps.microsoft.com/windows/app/sensis-showdown/5d96dec3-ce11-4164-8b2a-b6b97a59cce5

Source code

As I do with most apps I create for fun, I have thrown the full source code up onto BitBucket https://github.com/DavidBurela/SensisShowdown

By David Burela

Summary of Melbourne AppFest

This month saw the first Melbourne AppFest, it all went without a hitch.
The facilities were perfect and the catering was the usual good Cliftons standard.

We had a lot of mentor support there on the day (Nick Hodge, Frank Arrigo, David Glover, Shane Morris, and a few members from the community).

There were a good number of developers there. Many of them had general development questions about Windows Phone & Windows 8, as well as a few people there interested in Windows Azure.

There was a competition on the day for the best app of the day. This was won by Lars Klint for his “Picture of the day” application. It allows you to connect to a feed (such as the National Geographic) and it will change your Window Phone’s lock screen each day.

Lars won a Xbox & Kinect package!

image

The app can be downloaded from the Windows Phone app store http://www.windowsphone.com/en-au/store/app/image-of-the-day/84848ebd-6ce3-4617-b89f-83ec4f093a54
There are more details about the winning app by Lars’ employer http://blog.kiandra.com.au/2013/03/image-of-the-day-wins-appfest/

By David Burela

Windows 8 development–Certification failed due to bytecode generation

I was working on a WinJS application and added a 3rd party JavaScript library. However every time I tried to run the WACK certification tool I kept coming across this issue.

Performance test – FAILED Bytecode generation

  • Error Found: The bytecode generation test detected the following errors:

    • File … has JavaScript syntax or other problems.
  • Impact if not fixed: As a performance optimization to accelerate JavaScript execution time, JavaScript files ending in the ".js" extension generate bytecode when the app is deployed. This optimization significantly improves start-up and ongoing execution times for JavaScript.

  • How to fix: You may need consider one or more of these steps to fix the issue:
    - Ensure that event logging is enabled
    - All JavaScript files are syntactically valid; otherwise exclude the respective files from the package
    - Please note that you should uninstall all previous versions of the app before deploying
    Otherwise exclude the respective files from the package.

 

How to solve it

The issue I had was due to the encoding on the JavaScript file. This can be easily fixed by changing the encoding to Unicode UTF-8.

Do this by opening the JavaScript file, then select File –> Advanced Save Options. In the dialog, select Unicode (UTF-8 with signature) – Codepage 65001

image

By David Burela

Windows Azure Boot camps (Melbourne, Sydney & Brisbane)

Microsoft is running Windows Azure boot camps around Australia. These are one day events that will help get you on the fast track to developing with the cloud.

The registration page with information on the times, agenda for the day, etc. can all be found at http://6weeksofazure.azurewebsites.net/about-6-weeks/agenda/

Melbourne
16 March 2013
Monash University Law Chambers, Marsh Building
555 Lonsdale Street

Sydney
23 March 2013
Microsoft Offices
1 Epping Road

Brisbane
27 March 2013
Cliftons
288 Edward Street

Unfortunately I am in different states when each of the events are on, so I won’t be able to assist with these events :-(

By David Burela

Melbourne & Sydney Appfest for Windows 8 / Windows Phone / Azure

There are 2 big events happening in Australia over the next few weeks.

The first is a three day Sydney Appfest from Friday February 15th – Sunday February 17th.
Details of it can be found on the Lalaninja website http://www.lalaninja.com.au/2013/01/21/appfest-sydney-february-2013/

As there was only a Sydney event being organised, I worked with the Microsoft DPE team to help organise a secondary event to be hosted in Melbourne.
The Melbourne event will be a 1 day event on Saturday 2nd March. Space is limited so you NEED to register quickly
http://wp.msdeveloper.com.au/Pages/Events.aspx

By David Burela

Sorted lists in Windows 8 applications

While developing Windows 8 applications I have come across the requirement to have my list of items sorted on my screen, sometimes in a <ListBox>. Unfortunately the base WinRT controls make this really difficult to achieve.

After a few hours of searching for an easier way to do it, I finally discovered a way of sorting the items. Rather than having the controls automatically sort for me (as I was used to doing in Silverlight, etc.), but instead by sorting the underlying list itself. It makes total sense in hindsight.

A blog post from Andrea Boschin explains how to do it: http://www.xamlplayground.org/post/2010/04/27/Keeping-an-ObservableCollection-sorted-with-a-method-override.aspx

The sorting can be achieved automatically by overriding a method in the ObservableCollection. The final step is to add the IComparable interface to the class you want to sort.

Here is an example IComparable implementation that will sort alphabetically

public int CompareTo(object obj)
{
var person = obj as Person;
return string.CompareOrdinal(this.Name, person.Name);
}

By David Burela
Reblogged from my 
Infragistics blog

Follow

Get every new post delivered to your Inbox.