Nick's .NET Travels

Continually looking for the yellow brick road so I can catch me a wizard....

Imagine Cup, Software Design Judging - Round 1

The format for the judging of the software design invitational for the Imagine Cup 2007 has changed slightly from 2005 when I was last involved.  This year, instead of having a lightning round where we got to know the competitors, we were straight into round 1 today.  Round 1 is to be split over two days with each team presenting to 2 different sets of judges.  There are 55 teams in this division this year which have been broken into 6 pools - this means that each set of judges sees at least 9 teams in both halves of round 1.

Two teams from each pool will advance to Round 2 where they will again be broken into pools.  This time there will be 3 pools and they will have to present to yet another set of judges in order to qualify for the final round of 6. 

After watching 9 presentations this afternoon there are a number of general comments to be made:

Firstly I would like to reiterate the marking scheme that the students have and that the judges are marking against:

Project Definition - 15%

Design - 60%

Development - 15%

Presentation -10%

I think in most cases the presentation skills weren't too bad - although there is always room for improvement, which comes with more practices.  The biggest difficulty I found was with the articulation of the project definition.  Unfortunately although this is only weighted to 15% if students don't get this across then they will loose marks across the board.  Failing to communicate the project definition is usual a result of a poorly structured or ill prepared presentation and if the judges fail to understand the project then it is hard to know whether the design and development of the application addresses the project.

There are other specific feedback comments that have been passed onto the relevant teams but for the most part teams should focus on conveying the project definition and how their solution addresses it.  For the most part the innovation behind the application will then be self-evident.

Korea: Imagine Cup 2007 World Finals

Last night I arrived in Seoul to help judge the finals of the software design invitational as part of the 2007 Imagine Cup. Despite having been involved in the Imagine Cup in both 2004 and 2005 I wasn't sure what to expect - one of the best things about the finals competition is that each year it is in a different country, and each year it is run slightly differently.  What really took me by surprise was the density of the population (I'm guessing in hindsight I shouldn't have been that surprised with the millions of people living in Seoul) - there was endless identical high-rise apartment blocks along either bank of the Hangang river.  Although that said, they have at least preserved some semblance of parkland along the bank itself.

As the first round of judging kicks off this afternoon I just wanted to draw students' attention to a number of resources that might be useful in their preparations:

  • Comments by a number of judges from previous years
  • Feedback by myself regarding my expectations (note that the format for this year has changed slightly)

At the welcome dinner last night the order that the teams in the software design invitation will present was determined, with each team being drawn at random and placed in a group (A - F) in a time slot.  Each group will present twice in round 1 before two sets of judges.  Given that the judges have also come from all around the globe I think it would be worthwhile for students to take a moment to review the list of judges.  Although the judging will be conducted in an unbiased manner, each judge will be basing their assessment on their background, experiences and expectations.  There is a mix of both academic and commercial experience, which in itself will influence whether judges are looking for a commercial or a theoretical solution for the problem the students have selected.  As of the time of this post the judges haven't been allocated to a group, once they have all students should take the time to familiarise themselves with which judges they will be presenting to.

Me.dium Gadget goes live

In exciting news Me.dium for IE7 is to be released (hopefully by the time you read this post) and they have announced a widget that can be added to your site so "you can see the real-time activity of your community - the people who are reading your blog or have recently visited it." [Medium Widget Blog].

Both Sandi's blog, Spyware Sucks (the leading site imho on everything related to spyware, malware etc), and this blog are featuring the pre-release widget.  In my case it is in the lower left of the screen - take a look at what other browsers are doing now!

image image

SQL Server 2005 Compact Edition Book

I just noticed that Jeff has reviewed the book Microsoft SQL Server 2005 Compact Edition.  Jeff goes into substantial detail in his review looking at the contents of each of the chapters.  Although I haven't had the opportunity to read this work, from Jeff's comments I think this book would be worth reading if you are working in the mobile space and are interested in getting started using SQL Server CE and data synchronisation.

Windows Mobile Security Explained

Ever wondered why your device prompts you when you attempt to run an application?  Or perhaps what those Microsoft folks are on about when they talk about 1 and 2 tier security models?  Well as a follow up to my previous post about the Device Security Manager, here is a post by Reed Robison that gives a great introduction to the Windows Mobile security model.

Automation with Device Emulator v3

In order to successfully build an application for a mobile device you need to go through the same process as you would for building any other application when it comes to testing.  Unfortunately this is typically a painful process as it requires the application to be tested on numerous devices, much of which is hard to automated.  Luckily, building applications for the Windows Mobile platform and particularly the .NET Compact Framework reduces the variability of devices and provides a set of expectations around the target device.  This process is also painfully slow as the process of building, deploying and testing on the device is much slower than on the desktop.

Most device developers will have at some stage used the device emulator to help them build, test and demonstrate their application. Visual Studio 2005 shipped with v1 of the device emulator which, unlike previous versions, was a standalone emulator that could be used without the overhead of Visual Studio.  It was also considerably quicker than previous versions. 

Since then we have seen version 2 release and now with Visual Studio 2008 just around the corner there is going to be a device emulator v3. Mohit Gogia has gone into detail about one of the most significant features of the new version - Automation.  Automation has particular relevance to testing applications as it enables the tester to programmatically control the emulator.  This allows test cases to be fully automated so that they can be integrated into an organisation continuous build system.

Windows Mobile Security for Developers

Before I get into the talking about a tool that windows mobile developers will find useful I thought I'd start off with a tool for the end users who are worried about loosing their precious device.  Earlier this week I was sent a link to the Shadowmite Hacker Team which had an interesting utility for locating lost or stolen devices.  Like the look of SecurIt, which is available via XDA developers, as it is simple and has a single function:

Basically it watches your simcard’s IMSI at every boot to see that it’s the same, and if so, just play a “OK” chirp. But if the sim has been changed it locks the phone up while also sms’ing a preset number the new number and imsi right from the new numbers account.

Now for developers: One of the cool features of Visual Studio 2008 is the Device Security Manager (accessible from the Tools menu), which allows you to examine the security configuration of your device (or emulator) and to be able to reconfigure your device to a particular (or one of the predefined) security configuration.

image

If you are building mobile applications you don't need to wait until Visual Studio 2008 to be able to change the security configuration of your device.  There is a tool called the Security Configuration Manager that ships with the Windows Mobile 6 SDK which has the same functionality, although arranged slightly differently. This tool is a little hidden as it is not installed by default.  After installing the Windows Mobile 6 SDK go to c:\Program Files\Windows Mobile 6 SDK\Tools\Security\Security Powertoy and run the installer SecCfgMgr.msi.  This will install the Security Configuration Manager so that it appears directly under All Programs in Start menu.

security configuration manager

One of the biggest annoyances of working with a real device, over an emulator, is that they are usually set to One-Tier Prompt security (for Pocket PC devices at least). When you build, deploy and run an application from within Visual Studio you will get prompted to confirm that each assembly is ok to run.  If your application has a number of assemblies this quite quickly gets very frustrating.  By changing your device security back to "Security Off" you can eliminate the prompts and hence get your work done quicker. 

There are strange parallels to the whole "developing as administrator" discussion as to whether this is a good idea in the long run, since most device you ship to will probably have security enabled.

Vista Security is a Real Pain (and not very secure)

Yesterday I put my old slow hdd from my laptop in an external enclosure so that I could easily access any data that I had on my computer before the upgrade.  Unfortunately this plan got thwarted when I attempted to access my documents folder (ie f:\Users\Nick\.....).  This raised a security access denied error, despite the fact that I'm an administrator on this computer.  Even if I ran Windows Explorer as administrator it still wouldn't allow me to access this folder.

Luckily one of the other people in the Silicon Beach House still has a Windows XP machine so I asked them if they could open the folder, which they could no problem.  Great, so Vista has added an additional level of security that is a complete waste of time since the folder can be accessed on older computer....?

To disable this security "feature" I simply selected the Users folder and forced an update of security permissions so that "Everyone" has full access.  This seems to work and now I can access everything on the external drive.  What a waste of an hour of my time!

Pocket PC Controller gets a Face Lift

Having just rebuilt my personal laptop (with a new 7200rpm drive which makes a noticeable different to speed) I downloaded the latest version of Pocket PC Controller.  I noticed that they have done a couple of releases since I worked with it earlier in the year but I wasn't expecting a massive face lift.  They have adopted the new Office 2007 look - not going to describe this as a picture is worth a thousand words:

image

One of the cool features of Pocket PC Controller is the ability to capture not only stills images but also videos footage.  This is a great way to demonstrate your application in action!

User Group Library in Use

It's great to see that not only is the Perth .NET Community of Practice library growing (thanks to Mitch who is really working with the book publishers to get access to more books), it is actually being used. At the moment we have 10 books out of a total of 37 on loan to user group members.

Recent additions include:

For quick access to the library and to reserve a book, head over to HireThings.

Hint: If you are attempting to search for the user group books make sure you set the location to Australia!

Do changes to Australian media ownership laws mean the end of boutique media outlets?

I wonder how much of this discussion will be focused around new-media v's old-media.  To be honest I can't remember the last time I read the paper hoping to find out what is going on in the world - most of the Australia papers are little more than light comedy relief.  Most of my news, current affairs and technology information comes online from one of my countless rss feeds.  If I can't subscribe to it I can guarantee I'll only look at it once. 

Personally I'm looking forward to this discussion and would encourage others to attend:

 

INVITATION
Walkley Media Forum – The War of Attrition: Influence & Diversity
Thursday 23rd August 2007, 6.30pm
The Ernst & Young Building
11 Mounts Bay Rd, Perth


New federal laws are radically reshaping Australian media ownership. The first round of mergers has seen Rural Press swallow up Fairfax, Packer capture Channel Nine Perth and Seven Network seize a strategic stake in The West Australian. What does this mean for WA and where are our media industries headed?

Join our panel of experts to find out more about the future of our work. Moderated by Michael Sinclair-Jones, WA Branch Secretary, Media Entertainment & Arts Alliance

Panellists include:

· Gary Adshead, Snr Reporter Channel 7

· Bronwen Clune, founder Norg Media

· Martin Turner, Community Newspaper Group

RSVP to the Alliance call 1300 65 65 13 or email melissa.mcallister@alliance.org.au

Silicon Beach House

silicon_beach_house.jpg

At the end of last month I posted that we were setting up a co-working space here in Perth.  Well, a lot has happened since then and we now have the following companies involved with Silicon Beach House (blog, site etc still to be created...):

As you can see we have a range of companies involved, with each company working with different technologies.  Although there is a clear web focus for a number of the companies there are some that have seen the light and are either building occasionally connected applications (namely Intilecta) or are not developers (Tuscan IT).  There is also the ever contentious issue as to what hardware to run - it seems that the majority of the office prefer Macs, which I must say gives the office a bit of style ;-)

Yesterday we took delivery of additional tables and chairs so that everyone is comfortable and despite the downtime from the ever useless iinet everyone seem to feel at home.  If you are thinking that you would like to be part of this hive of activity we are still looking for another 2 or 3 people to move in. If you know anyone who is currently working from home and would like to enjoy the numerous benefits of inner city working life, please feel free to contact me

Perth .NET - Introducing Graeme Foster

Despite being a relatively new import into the Perth .NET community, Graeme Foster has already volunteered to present at the next meeting of the Perth .NET Community of Practice.  Whilst the last session was dedicated to all the new coolness that Microsoft is bringing us in the UX space there are still a lot of fundamentals that most organisations don't do well.  Graeme is ambitiously going to cover CAB, MVP and TDD all in one session.

Most people have heard or the Composite Application Block (CAB), the Model-View-Presenter (MVP) pattern and Test Driven Development, but few can really say that they can use them together.  Luckily some of the larger development shops around Perth are starting to use these to build a real world applications.

Check out Graeme's session on the 2nd of August!

Perth .NET User Group gets Jobs Board

In addition to our expanding library the Perth .NET Community of Practice has recently put together an aggregate feed that allows recruiters to post Perth based job notices.  You can subscribe to this feed from here or using the RSS button on your web browser when visiting the user group website (http://www.perthdotnet.org).

Congratulations to Robert Walters who are the first to make use of this resource by placing a 1Yr C# .NET Application Developer contract on the feed!

Move over Palringo, Fring is here

From Mauricio's post I just signed up for and downloaded a new IM/Skype client for my Windows mobile device.  Having only recently removed Palringo (which was a cute concept but not overly useful) I am being a bit critical of messaging/VoIP clients and I must admit I wasn't impressed with Fring.  Granted the sign up process was well thought out - they send you an SMS to your device which the download url, which you click to install the application.  Unfortunately the usability of the application left a lot to be desired and it seemed to drain a lot of system resources for such a small application.  In fact during the initialisation phase it crashed my device the first time!  I don't think I'll be recommending the first version of this application but will keep it bookmarked for future releases.

Professional Visual Studio 2008 - Got that writing feeling.

Early last year Andrew and I completed the book [VS2005] which was subsequently published around August.  Unfortunately we are already in the throws of beta testing the next edition of Visual Studio.  This means that it is time for us to start working on the next edition of the book.  Of course this time the book's title will be updated to Professional Visual Studio 2008 and will again be a Wrox title.  However, due to other commitments Andrew has decided to pass on the batten - he will remain on the team as an editor for this edition.  I'd like this opportunity to welcome fellow Perth developers, Mitch Wheat and David Gardner, who have agreed to help me put together this book.

Based on some of the feedback from the first edition of the book I would like to extend an invitation to .NET developers out there who would be interested in reviewing one or more chapters of this book to drop me an email, or contact me via Facebook (which we will be using to comunicate the progress with those involved).

Imagine Cup meets Second Life

I have been a bit remiss for not having congratulating the winners of the Australian Imagine Cup competition.  Whilst this was blogged a while ago by Frank and Nick I would still like to pass on my congratulations as this is a significant achievement for those involved.  However, this is only really the first stage and, as I posted a while ago, there is much more to the competition to be found at the world wide finals, this year to be held in Korea.

As some people will already know I have been invited to attend the finals as one of the judges for the software design competition.  This is an experience I'm definitely looking forward to and as such I have been eagerly watching some of the activities that have been going on around the world.  One such event that Microsoft EMEA have put together is the Imagine Cup Gallery in Second Life:

The Imagine Cup Gallery in Second Life runs until August 5th 2007 so you can visit anytime. However we’re holding three open events for you to come and meet the different teams and these will be held from 19.00-21.00 Central European Time on July 12th, 19th and 26th 2007. If you already have a Second Life Avatar teleport directly to the Microsoft Island

More information can be found at http://www.microsoft.com/emea/presscentre/SecondLife/default.mspx

When Your Groove Account Grows Old...

I've used Groove a number of times over the last couple of years but haven't used it much this year until this evening when I thought I'd dust off the covers and give it a go for a project I'm embarking on (more on that later).  Anyhow I have recently changed users on this computer and I haven't used Groove under the new account.  Luckily I had previously emailed my Groove account to myself so I figured I could just use that account information to get me up and running again.  Unfortunately this failed with a message saying that the account was too old:

"Saved account for Nick Randolph is too old and cannot be installed. Please import a more recently saved version of this account."

Huh, surely not..... Luckily I hadn't removed the previous user account off this computer so I went trawling through the application data folder to see whether I could manually restore the account. It turns out that there is a folder "C:\Users\<user>\AppData\Local\Microsoft\Office\Groove\User" but unfortunately copying this from one user to another generates a warning message claiming the account is incomplete, an exception and then Groove bottoms out completely.  As a last resort I decided to copy the entire "C:\Users\<user>\AppData\Local\Microsoft\Office\Groove" folder across to the new user and this worked a treat!  I'm all to go with all my old workspaces.

Thales Australia Launches Perth based Software Development Centre

Last night at the Martime Museum in Fremantle Thales Australia launched their Software Development Centre.  Over the last 12 months Thales Australia has emerged as a single entity bringing together a number of smaller companies into a single entity.  With strengths in both military and civil industries, Thales also boasts a large software development branch with approximately 150 developers based here in Perth.

Under their former banner, ADI, most of their development was reportedly C/C++ and Java.  Through discussions with a number of the local Thales Australia staff I understand that they are doing a substantial amount of work in C#/.NET.  This move necessarily increases the pressure on the market to deliver more .NET developers which unfortunately are a scarce commodity at the moment.  Thales joins a number of other large .NET employers such as UnisysWest, HBOS/BankWest, Change Corporation and Fujitsu to name but a few.

With such pressure on the local .NET industry it begs the question as to what the future holds - what's going to happen when there just aren't enough developers to go around?  We are already seeing this happen with a number of people moving jobs in the past month.  There is an increase in the number of developers preferring short term contracts to permanent employment - this adds considerable overhead to projects due to the time lost due to replacing staff as they churn.  It was a relief last night to hear the Minister for Energy, Resources, Industry and Enterprise, Franics Logan, talk about a recent meeting where it was agreed that all states in Australia would follow Victoria in rolling out an advertising campaign targetting high-school leavers.  This would encourage them into tertiary ICT courses which will help fuel the next generation of technology workers.