Imagine Cup: Software Design Finals

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

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 wcuPPE folder of your Team Explorer image (in the case of the TFS iso this is tfcwcuPPE).  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

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, Software Design Judging – Round 1

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

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

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

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

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

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

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 FilesWindows Mobile 6 SDKToolsSecuritySecurity 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)

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:UsersNick…..).  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

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!