Nick's .NET Travels

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

TechEd and Professional VS2005 Book

Now that my 2 week snowboarding holiday is coming to an end it is time to focus on TechEd, which of course begins next week.  I'm presenting two mobility sessions, one on Windows Mobile Security and the other on building Windows Mobile Applications.  If you are doing any mobile development I would encourage you to head on over to these sessions and touch base with me!

The second point of interest is that I just remembered that the book Andrew Parsons and myself authored, entitled Professional Visual Studio 2005 is due for publication next monday (how good is that for timing).  Anyhow, for more information just scoot over to Amazon and grab this <talk-it-up>great</talk-it-up> book on working with the beast that is Visual Studio 2005.

Installing Vista build 5472.....please wait

After the weekly Geekzone coffee on Wednesday I was suitably enthused to go away and upgrade my Vista laptop from build 5456 to the most recent drop, build 5472.  Of course, this meant a 2.6Gb download, which on my Woosh modem took a little over 24 hours.  Last night around midnight I started the install of build 5472 of Vista.  After entering the product key (which I had remembered to record prior to nuking my only computer) and a few other configuration settings I decided to leave the installation and head to bed.  I woke up this morning to a completed installation.

Before doing anthing I of course stepped through the usual setup process of adding a user, setting up anti-virus (currently beta trialling the Vista version of Pc-cillin from Trend), installing Office 2007 and Groove 2007.  This took just over half an hour, leaving me just 5 minutes to configure Outlook to connect using RPC of HTTP. Overall I was suitably impressed that the whole installation process took a little over an hour of my time (primarily because I slept through the hour or so it takes to install Vista once it has gathered the necessary input - but at least it does this all at the beginning so it can continue without user interruption).

Ok, so I have to complain about one thing that frustrates me in IE7 (both on Vista and WinXP).  As our exchange server is only supposed to be accessible by SoftTeq staff the server uses a self signed certificate.  This of course means that IE7 complains about the certificate when you navigate to outlook webmail. It also means that Outlook can't connect to the server as the certificate is can't be authenticated.  In both cases the usual solution is to add the certificate into the list of Trusted Certificates.  In the past you could do this by clicking View Certificate within IE, then from the certificate information dialog there was a button entitled "Install Certificate".  Perhaps I'm missing it, but I can't find that button in IE7????  In the end I exported the certificate from a machine where it was installed, copied it across and manually installed it.

We have a winner - ECU Early Career Awards!

Following on from my previous post regarding the ECU Early Career Awards I am please to announce that last night, in my absence, I was nominated the 2006 winner in the Computer Science category.  At the time of this post the website hasn't been updated, but I'm hoping that my name will appear there in the next couple of days.

A big thanks to everyone who supported my nomination for this award, including everyone at the ACS, colleagues at SoftTeq, AutumnCare and Intilecta, and of course my partner, Meg.

Windows Mobile Developer Virtual User Group

Doing mobile development?  Yes? Well head over to the official website of the Windows Mobile Developer Virutal User Group.  The first meeting is set for tomorrow morning (AU/NZ timezone that is) and I'm hoping this will be the first of many virtual meetings hosted by the best in the business.

In the first meeting Nick Landry (aka ActiveNick) will provide an overview of mobile development, including an introduction to the tools and technologies mobile developers should be aware of.  This will be followed by a session by a presentation by Don Sorcinelli which will look at mobile application deployment, including security considerations that need to be addressed.

Mobile Client Software Factory goes Live!

In the past I've made reference to the work being done by the Patterns and Practices group at Microsoft on the Mobile Client Software Factory.  Just thought that I would encourage people to take a look as phase one of the development is now complete.  The factory comes as an installer (unlike previous drops) and goes through setting up the reference implementation.  You will of course need the Guidance Automation Extensions.

Large Enterprise - no excuses to build innovative solutions with SQL Server Everywhere

For those with a keen eye you will have noticed that the information surrounding SQL Server Everywhere (SQL/e) indicates that it is only supported for WinXP and above (ie no support for Win2K).  Back when it was SQL Mobile (SQL/m) there was support for Win2K, but the licensing prevented it from running on anywhing less than Tablet XP.  Most developers wouldn't need to worry about lack of support for Win2K.  However, if your target market is large enterprise (eg >1000 employees) there is a strong possibility that they still have large deployments of Win2K.  You might go in there with a revolutionary product, but if they have to upgrade 1000+ desktops just to use it, it is going to be a very difficult (if not impossible) sell.

So, why the restriction?  Well as the product team will no doubt attest it has nothing to do with whether it will run on Win2K or not.  In fact in all likelyhood it will run without any issues.  Further if there are issues, they are likely to be issues that pertain to WinXP as well, so would most likely be fixed anyhow.  The decision to "support" Win2K comes down to testing and support resources.  Although SQL/e is a relative small increment from SQL/m, to extend support from Tablet XP to both Win2K and WinXP is a significant investment in resources.  This is especially true in light of the fact that SQL/e is FREE!

Ok, so now some good news.  Over the last couple of days MS had a number of internal discussions and have indicated that they are going to support Win2K.  Although this is not an official announcement, you will most likely see a post in the next day or so to this effect on the SQL Everywhere Blog.

IE7 V's ANZ Bank

Last night I vented my ongoing frustration with the ANZ bank to good friend and fellow MVP, Sandi Hardmeier.  As far as banks go the ANZ IMHO is ok.  Since being in NZ they have allowed me to setup my accounts, including credit card, with minimal fuss.  I must admit I was surprised when they told me that I couldn't deposit cheques using the ATM and that I had to still fill in a deposit slip.....

Anyhow I digress, the point of my frustration this time around was that I couldn't access Internet banking using my newly rebuilt Vista machine (build 5456 before you ask).  Everytime I clicked on the logon button I would get a blank window.  In Sandi's post she reveals how to go about working out why a site might not display properly.  A big thanks to Sandi as I was able to not only access my Internet banking site, I was also able to isolate a number of issues that were causing the issue.


1)   Check the "Use SSL 2.0" checkbox under Tools -> Internet Options -> Advanced -> Security

2)   Enable "Allow the Pop-up Blocker to show Input prompts" under Tools -> Internet Options -> Security -> Custom Level -> Scripting

ACS PD Board gets and RSS feed

One of the initiatives that I've been pushing within the Professional Development board of the Australian Computer Society is trying to establish better communication channels.  To this end, we have put together a blog that will be used to introduce the PD Board, who's involved, what activities are being run and any other relevant information.  If you want to see some of the activities that the ACS runs, feel free to subscribe to the rss feed!

Time and Expense - basic db design

Taking the requirements from my previous post I set about to put together a simple database structure that would serve as the backend for my prototype T&E application. Below I have indicated to what extent the functionality is supported by the proposed structure:

- Timesheet entry
      primary functionality
- Client / project / job management (both billable and non-billable)
      project/work item management is primary functionality
      client management is not part of this app

- Staff management including the ability to analyse planned staff availability and setup schedule of rates
      not part of this app
- Expense management
      primary functionality
- Decent reporting / charting / analysis / modelling functionality
      support provided through reporting services
- Ability to export into csv, xml etc
      support provided through reporting services
- Invoicing / billing management
      not part of this app
- Email notifications (timesheets due, upcoming staff availability, billing/invoicing due etc)
      not part of this app (initially)
- Be able to track Time and Expenses OFFLINE
      primary functionality
- Be able to integrate with TFS
      primary functionality

See the following image for an overview of the initial database which should cater for most of these requirements.  I say initial because like most projects, I'm sure I will want to change the scope as I go along.....




ActiveSync 4.2 - perhaps this might work

For anyone with a mobile device, I would recommend downloading the latest in the ongoing connectivity saga, ActiveSync.  If you are running Vista, DO NOT install ActiveSync.  Vista comes with the Windows Mobile Device Center which is the replacement. 

Vista pointers.....

- Although Beta 2 doesn't allow you to set up partnerships, there is an optional update that you can install (run Windows Update and review optional updates) which will allow you to sync with your device.

- To install the WM5 SDKs you need to disable User Access Control (under user settings in the Control Panel).

Time and Expense reporting

I was attempting to catch up on the backlog of unread emails from the Stanski mailing list when I came across a brief off-topic discussion on Timesheet / Timetacking software.  Now you would have thought that such software would be available by the handful, or better yet, integrated into existing packages.  I'm guessing that most accounting packages have some facility to do timesheeting, but it was probably written by accountants, rather than from a user point of view - result is that they are not widely used.  This discussion also got me thinking back to a WF/WCF example application on expense reporting and whether I could combine this with the fantastic work that the patterns and practices group at MS did on the Mobile Client Software Factory.  Over a series of posts I will attempt to put together a "simple" T&E reporting tool, based around the following requirements (cut and pasted from the discussion on the mailing list):

- Timesheet entry (preferably over the internet)
- Client / project / job management (both billable and non-billable)
- Staff management including the ability to analyse planned staff availability and setup schedule of rates
- Expense management
- Decent reporting / charting / analysis / modelling functionality
- Ability to export into csv, xml etc
- Invoicing / billing management
- Email notifications (timesheets due, upcoming staff availability, billing/invoicing due etc)
- Be able to track Time and Expenses OFFLINE
- Be able to integrate with TFS

You will note that I have added my own requirements which are that the application should be able to operate offline and should be able to source project and workitem information from TFS.  As we are increasingly mobile (laptops, pdas, phones) we are more than likely to want to record this information when we are away from our desks.  For example, when you take a client to lunch, you want to be able to add that expense when you pay for the meal, instead of remembering to claim it later in the month.

So, the rough architecture of this application will be a core database (SQL Server 2005) which publishes data (filtered by user) using replication to a client database (SQL Server Everywhere).  The client application will be a WinForms application that works on both PDAs (Windows Mobile), Tablets, Laptops and Desktops (Windows XP).  Timesheet information will simply replicate between the client and server when a connection is available, while Expense information will use a queued (Mobile Client Software Factory) web service (Windows Communication Foundation) call to submit a new expense report.  Each expense report will initiate a workflow (Windows Workflow Foundation) that will require approval for expenses over a certain amount. 

Ambitious you say..... well you might be right, lets see how it goes ;-)

Some frozen thoughts about mobile technology

One of the incentives for accepting a job in Wellington is that it is only 4 hours from Mt Ruapehu. Why is this significant? Well, for those who don't know me that well, one of my passions is of course snowboarding. Anyhow, its been 3 weeks since arriving in NZ and I figured it was time to head to the snow. I booked into the cheapest backpackers I could find, rented a car and off I went.

Most times when I travel I take my laptop so that I can stay in touch with the rest of the world. Normally this involves paying some outrageous fee to a hotel, that has already charged through the roof for a room, just to get a couple of hours of Internet access. This time I figured that I would leave the laptop at home as I was unlikely to use it as connectivity was highly unlikely. Or so I thought. I had forgotten that we are in a new era of FlashPackers - travellers who live on a shoestring, yet have all the devices of your average executive. Not only does the Mountain View Motel have Internet, it's free!

The next bit of technology I wanted to comment on are the scanners that the mountain staff use to monitor punters. In the lift queues the staff scan everyone lift ticket (barcode scanner) to validate them. I restisted the urge to ask "Is that a Pocket PC?". This said, I would be interested to know what devices they are as they have to handle some pretty average conditions. Today was sub-zero and raining, all day.

Intilecta's starting to grow!

For the last couple of weeks the initial team here at Intilecta have been busy and, like most good startups, we are already looking to expand the team.  If you think you have what it takes and are keen to join the team, check out the oppportunities on the Intilecta website.

Why didn't I think of this..... use Crossbow to control Blackberries

Ok, so there are two points to this post:

1) Daniel Moth points out that instead of complaining that the WM5 SDK doesn't install properly on Vista Beta 2 I should of just temporarily disable User Access Control while installing the SDK - damn, why didn't I think of doing that.  I guess I assumed that when I told it to "Run as Administrator" it would have the same effect.

2) Anyone watching the Windows Mobile space should be aware that the code name for the next version of Windows Mobile is "Crossbow".  A quick google on Crossbow and Blackberry (for example if you were looking for a comparison) might lead you to the following page for an Australian company that sells a product called Crossbow Herbicide which is explicitly used "For the control of blackberries....." - how funny is that.

How good is this - defer connection to TFS on VS load

Check out this to see how you can tell VS not to connect to TFS when it loads.  One of my biggest complains about VS is that if you had Team Explorer open when you closed it previously it will try to connect the next time you open VS.  If you don't have a connection to the server it throws a wobbly, or worse, just seems to hang.  Anyhow, "add a DWORD value called AutoLoadServer under HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\TeamFoundation and set the value to 0."

SoftTeq represented at the ECU Early Career Awards

About a month ago I was nominated for the ECU Early Career Awards as recognition for the work I have done with the local IT community.  My involvement with the ACS and the Perth .NET Community of Practice saw me progress to becoming one of the finalists for 2006.  Unfortunately as I'm currently in Wellington, NZ, I won't be able to attend the awards ceremony so will have to wait and see who takes out the honours (cross fingers...) 

Bored sitting on the bus/train on the way to work - try being a Caveman for an hour or so...

This is a bit old news now as Frank had the scoop a couple of days ago, but since I've only just had the time to download the demo and play with it I thought I'd blog about it.  The guys from Lightworks have finished their first game, Cavemen, and its a ripper.  I must admit that I couldn't bring myself to put it down after playing the first couple of levels.  Although I haven't got around to buying the next levels (saving that for a rainy day) I would recommend anyone who wants a distraction for a couple of hours to try it now!