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