Nick's .NET Travels

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

Imagine Cup: Software Design Finals

I'm sitting here in the main hall of the Imagine Cup 2007 listening to the final set of presentations for the Software Design invitational. The first three sessions I have already seen and it was pleasing to see that they have taken on board some of the judges comments in their presentations.

Ireland:
(Team inGest: Daniel Kelly, Cathal Coffey, Eric McClean, Mark Clerkin)
These guys already had a well oiled presentation and I really enjoyed the additonal video at the end that showed the process of building the software. Through a pair of red and green gloves combined with a standard web cam their software, appropriately named Signal, was able to track hand and finger position in order to interprete signs and convert them to the corresponding letters or word. Signal is able to help the user learn sign language through the demonstration of signs. The web cam then record their motion and determines if they made the sign appropriately.

Serbia:
(SMOR Team: Neven Tubić, Milan Stojić, Ivan Vujić, Sava Čajetinac)
Unfortunately due to the hardware that DriveOn requires it was setup on its own stage which made it hard for the audience to see what was going on. DriveOn is a three (actually multiple) screen driving simulatior specifically designed for teaching students to drive. In addition to building the rendering engine, the students also built an instructor management UI that allows the instructor to setup scenarios for the student to work through. For example they can add/remove traffic, can puncher a tire or change traffic lights. It is hard to believe that 4 students managed to build this entire solution in only 10 months

Korea:
(En#605: Lim Chan-kyu, Min Kyoung-hoon, Lim Byoung-su, Jeong Ji-hyeon)
The host nation really delivered a well rehersed presentation which clearly identified the problem, presented their solution, Finger Code, and how it works. Simply Finger Code is a set of smart gloves that a deaf blind person can wear and receive/transmit letters in the form of finger braille.

Out of the second set of three teams to present I had only seen the Thai application, which meant I had to wait in anticipation for Austria and Jamaica.

Thailand:
(3KC Returns: Prachaya Phaisanwiphatpong, Vasan Chienmaneetaweesin, Jatupon Sukkasem, Pathompol Saeng-Uraiporn)
The Thai application, LiveBook, can essentially be broken into two parts. On the one hand they have taken a standard web cam and used it to OCR any book or text (including handwriting). Then taking the text they search a database for images that correspond to words. The images are then presented inline in the text using some nice 3D rendering. In this way the images can be used to 'interprete' the text by someone who can't read.

Austria:
(OOT Development Team: Michael Hurnaus, Juergen Oberngruber, Claudia Oster, Christian Schafleitner)
INTOI - Interchange of Ideas is an electronic whiteboard that allows the user to do a wide variety of activities such as zooming in/out, loading and interacting with images and other media. The system was presented well with attention paid to the use in the classroom.

Jamaica:
(ICAD: Imran Allie, Conroy Smith, Ayson Baxter, Damion Mitchell)
CADI is a collaborative real-time workspace that enables the teacher to share notes, communicate (including language translation) and interact with students. The Jamaican team presented their solution with a single presenter who captured the audience, while the other team mates were actors in the demo.

All six finalists displayed all the characteristics of a winning entry. As one of the other pre-finalist judges commented "I'm glad I'm not working out the winning entry!"

Good luck to all the remaining entrants. Tomorrow we will discover the judges' verdict

Visual Studio 2008 Beta 2 Installation Issue with Team Explorer

Recently I started rebuilding my personal laptop and made the decision to see whether I could get away without installing [VS2005].  Unfortunately early this week I ran into a bit of a hurdle when I attempted to install Team Explorer.  For some reason I was getting the following screen mid way through the installation:

I took a look at the error log and while there was definitely evidence that the installation had failed, it wasn't clear to me what was causing the issue.  After searching for others with issues installing Visual Studio 2008 I came across Aaron Stebner's blog which features this post on how to enable verbose logging and who to email (ie Aaron) for assistance.  If you are having issues installing Orcas I would highly recommend contacting Aaron as he has been extremely responsive and has got me up and running.

So, some more information on my specific issue:

When installing Team Explorer it needs to perform a number of steps, the first of which is to install the Premium Partner edition of Visual Studio 2008.  This appears to be where the problem lies as the .NET Framework 3.5 log file indicates:

DDSet_Error: CFxInstaller::SetupScriptMapsIIS7 webServerHandlerComponent.Install failed. c_szRulesExtension=.rules Error code: 0x80070002
DDSet_Error: CFxInstaller::SetupComponents SetupScriptMaps failed. Error code: 0x80070002
DDSet_Error: Setup failed. Error code: 0x80070002

This appears to be an issue extracting files as part of the installation.  From a command prompt navigate to the \wcu\PPE folder of your Team Explorer image (in the case of the TFS iso this is \tfc\wcu\PPE).  Then run the following commands:

  1. Run vside.exe /x to extract the contents to a local folder
  2. Run msiexec.exe /i vs_ide.msi /l*v %temp%\vs_ide_log.txt from the folder that you extracted to in step 1
  3. Run setup.exe from the Team Explorer folder - this time the step to install the Premier Partner edition will not appear as it has already been completed.

I hope this helps others having issues installing Team Explorer for Visual Studio 2008 Beta 2

Imagine Cup: Round 2 done, now for the Finals

Congratulations to the following teams who made it through to the final round of the software design invitational of the 2007 Imagine Cup:

*Ireland
Thailand
Austria
Serbia
**Korea
***Jamaica

 

* This was the first time Ireland has sent a team to thumbs up to the boys for getting this far!

** Congratulations to the host nation that despite severe language issues have made it through

*** These guys wore green and yellow "Jamaican Inside" t-shirts that were a great parody on the "Intel Inside" slogan.

Yet again it was an awesome experience to be involved with the judging process.  The final round is to be judge by a special panel of VIP judges that represent both Microsoft and Sponsors.

Imagine Cup: Round 1 done, now for Round 2

Congratulations to the following teams who have made it through to Round 2 of the Software Design invitational of the 2007 Imagine Cup: 

Ireland
China
Greece
Russia
Thailand
Netherlands
Ukraine
Austria
Serbia
Czech Republic
Korea
Jamaica

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.