Nick's .NET Travels

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

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.

User Experience is more than just Flash (or even Silverlight) Annimations

Last night Shane Morris gave his "age of user experience" presentation to the Perth .NET Community of Practice which was extremely well attended with over 50 people turning up to hear the Microsoft user experience story. I would like to thank Chuck for making this happen - I think that everyone who spoke with Shane took something away from his engagement.

Some general feedback on the session was that it was great to have a non-developer present on this topic as it gave a bit of credibility to the Expression story.  That said, given that the room was almost entirely developers, I think that the lack of source control integration for these products was definitely a sore point.  A few people mentioned that they were hoping Shane would drill down deeper into what constitutes a good user experience but I feel that given this was Shane's first visit and that we hadn't given him any focus for his session that the overview he gave was well suited for the group.  Perhaps if there is enough interest we can get Shane back later in the year to conduct a usability workshop or another session more targetted on the design process - if this is something that interests you make sure you let me know!

Don't forget:

  • Next month Graeme is going to deliver as session on CAB and TDD - make sure you are registered at the user group site so that you receive reminders
  • The .NET library is continually growing - we just took delivery of a number of .NET compact framework books that might be of interest if you are doing mobile development
  • There are still spaces in the SoftTeq co-working center - for more information see my previous post (if you know a startup company looking for office space in the CBD feel free to spread the word)

Languages - Only part of the equation

I'm sorry did I miss the point where we started caring again about what language we are writing in. This was a discussion point 5 years ago when we didn't have powerful IDEs to help us write applications. Now it should be "what job do I want to get done?" and "what technology is going to deliver that the quickest, cheapest and highest quality output?

By technology I think there are at least four key areas to look at:

  • Skills availability (who's going to write the code)
  • Framework (.NET, Rails etc)
  • Tools (VS, Eclipse etc)
  • Language (Java, VB.NET, C#, Ruby)

And imho you shouldn't make a decision based on one of these factors alone.  Particularly in Australia atm where getting skilled developers in nearly any technology is proving very difficult.

Unlike Alex I don't much care for C# or Ruby for that matter.  I find that despite being more verbose VB.NET is still my preference but again this doesn't mean I will always pick it for the job.

Software Engineering Forum: Risk Management and Taxonomy

Last night I attended the software engineering forum on risk management and taxonomy that was hosted by Stewart Johnsonon behalf of Engineers Australia. This forum is a small group of software engineers that gather monthly to discuss various issues to do with the proces of building software. The typical format is that the host gives a short introduction to the topic after which the forum is open for discussion. As most attendees ahave been around the industry for sometime these discussions are a based on a large number of personal experiences.

The topic of risk management as presented by Stewart can be divided into identification, analysis, monitoring and resolution. Stewart's presentation focussed on identifying the mapping that happens between the investigation/analysis phases to the corresponding monitoring/resolution phases. Of course as with any action in a software project there are always going to be reprocussions and I suspect that they need to consider a mapping back from any monitoring/resolution activities back to the identification/analysis phase. This would not only give the project team the feedback channel that is necessary for risk management it would also give them a process through which to iterate it in a similar way to the actual software dev process.

There was a bit of discussion as to which orgs this process should apply to and the general concensus was that we were talking about CMMI 3+ orgs. Imho this is wrong and that risk management should apply equally to all org sizes. Whilst a small org might not have the same number of projects from which they can extract data their projects are likely to be less diversified making their data more relevant to future projects. Further, if the process of risk management is so complex/time consuming that a small org can't do it because of resourcing issues then it is questionable as to whether it is cost effective for an org of any size to carry it out - in all cases the process should be refactored to encompass the whole team, thus reducing the burden on any one person. This also gives the whole team ownership of the problem that raises its significance within the team.

I'd like to end this post with some open questions:

  • How do you manage your risk?
  • Do you look at the risk of a project at the beginning, plan tasks to resolve/mitigate and then tick off risk mgnt, or do you revisit risk at each project meeting?
  • Is the current risk of the project an on going measurable item?
  • How do you identify the risks of your project - do you have a set of standard risk areas or do you just brainstorm for areas of the project that might go wrong?
  • How do you plan the monitoring/resolution tasks - do you have a mapping from risks to strategies?

Great work Frank!

If you haven't already you should check out today’s Australian Financial Review as there is a great photo of Frank and article about Silverlight which follows Frank's postt about an interview he gave last week. Whilst the photo isn't in the same league as Stephen's cartoon I think there are some great points in the article. Imho it goes short of saying that Silverlight will be the platform of choice for enterprise web apps in the future. Unlike Flash, that has remained in the realm of creative/media/game development, I believe that Silverlight is perfectly placed for building full featured occasionally connected apps. When you couple Silverlight's ability to use isolated storage with some of the new sync frameworks being built by Microsoft you have a solution that competes with the likes of google gears. Future versions of Sql Server Compact Edition might even be able to run client side allowing developers to sync and work locally with data in a similar way to traditional smart client applications. With this in mind Microsoft’s silverlight imho is perfectly position to take on the next round of web 2.0 where it is all about enterprise and mobility.

Podcamp Australia 2007 - Stake Your Interest Perth

Here's an event that would be fantastic to be held here in Perth - If you are keen to see Podcamp Australia 2007 come to Perth then you need to Stake Your Interest. Unfortunately as with all these sorts of poll it is done on raw numbers rather than a percentage of population so it is unlikely we will get the event but hey with enough people voting we might be in with a chance.

HTC Reaches that Sweet spot with Windows Mobile Device

I've mentioned in a previous post that HTC are continuing to innovate with the HTC Touch and the HTC Kaiser.  Well I must admit that I'm now hanging out to get my hands on the HTC Kaiser following Paul's indepth review.  As is clear from the review there isn't much missing from this device and with a 3M primary camera it could make this device particularly appealing to your average consumer.  Of course weight is always an issue but for a device that you can really take on the road with you this might hit my sweet spot!

Byte Me! - Perth's Digital Content Festival

If you are into computer graphics, digital animation, cartooning or any form of digital art then this is an event not to be missed.  Later this year the Byte Me! festival will bring together the Perth digital arts community with a week of activites showcasing the best of Perth.  For more information or to get involved check out the website at http://byteme.net.au.  If you work in this space and feel like you could contribute or want to sponsor this event then I would encourage you to get involved.  These events do NOT happen by magic, they rely on the hardwork of typically a few individuals - the more people offer to help the more likely we are to see more of these events. 

Perth gets a new co-working space

Earlier this year Dave and myself established the Perth annex to the Intilecta R&D office in a room that was sub-leased off Enpresiv.  Unfortunately a couple of weeks ago the last of Enpresiv's Perth employees went to work for local competitor Sumo which resulted in a decision to close their Perth office.  This of course left us in a bit of a dilemma as we would have to relocate and after spending the last couple of months in the heart of the Perth CBD both of us were reluctant to go hunting for an alternative space that would likely be further out of town. 

An option that immediately occurred to me was whether someone else could take on the full lease - this way Intilecta could continue to sub-lease and the rest of the office could also be sub-leased to another company.  Luckily around this time I was talking with Scouta CEO/founder, Richard Giles about the posibility of setting up a community of Web2.0/startup companies.  The idea would be to have an open-plan area where a number of these small companies could share ideas/knowledge and innovate together.

As of today I'm the new lease holder for Level 2/90 King Street!  This means that we have 160sqm of office space to get this co-working space off the ground.  We already have two companies involved, being Intilecta and PerthNorg, and I'm hoping to have two or three more companies involved in the coming month.  PerthNorg is a great addition as it brings not only the premiere online Perth information/news site founded by Bronwen Clune to the space, it also means that Myles Eftos, of Port80, AWIA and MadPilot Productions fame, will be moving in.

It is still early days with the layout of the premise still in question but I suspect this will be in flux for a period as we work out the optimum way to configure the office.

I have two requests for comment/input:

Firstly, if you know of anyone, or interested yourself, in being involved in this co-working space (even if it is for 1 or 2 days a week) please feel free to contact me as it would be great to have some more people on board.

Secondly, I was discussing how many people/companies we could comfortably fit into this space.  One option was to lay it out sweat-shop style, dub the place "Mini-Mumbai" and establish ourselves as an outsourcing alternative to India.  I'm not sure this is what we are about, but it did raise a point about giving the space a name.  If you have any suggestions for a name or have some experience setting out a co-working environment please feel free to drop a comment or two.

I'm really excited to get this co-working space off the ground and to see the amount of innovation that can be invoked from small companies working together.

Curtin Students Get a Jump Start

Earlier this week Brian posted about part 1 of a two part workshop that he and I delivered to a group of 18 or so Curtin University computer science students (I also just noticed he posted yesterday about the second part).  Yesterday we completed the second part and I have to make a couple of comments to sum up the event.  Firstly I would like to commend all the students who participated for standing up against the university and demanding that they lift their game.  The workshop came about because the students complained to the computer science department about the lack of practical work in a particular unit.  One of the unit objectives was that the students would get some practical experience with a range of technologies around building distributed applications.  Unfortunately the labs that were initially planned didn't go smoothly and were insufficient for the students to gain an appreciation of how any of the technologies worked.  I'm not going to comment on why this might have happened but the upshot was that Brian and I were contacted to deliver a two part practical workshop around building distributed applications.  Well done to the students who pushed the department to work with local industry to deliver course outcomes.

As I left the workshop yesterday I was talking with Geoff West about how universities structure courses/units and he was making the comments that most staff are so focused on their niche area of research that it is very difficult for them to keep up with all the changes in the industry. This is an interesting point as it can be read in a couple of ways.  Firstly it can be read as an admission of guilt that perhaps the courses/units aren't up to date and don't reflect current theories/techniques.  But I feel a better way to interprete this is that because the industry changes so quickly, and that university staff are driven by their research, perhaps it is time for universities to partner with industry professionals to help deliver content that is more relevant.  The question is really what's the best model for universities to refresh their curriculums and to bring in guest lecturers/workshops?

Some of the student feedback was also really pleasing:

  • Most students felt they got a lot out of the workshops and thought it would be great to have this type of activity more frequently.  Peraps a partnership between Curtin and the local user groups (Perth .NET CoP, SQL User Group....) could work well to deliver these practical sessions on a regular basis.
  • The univerisities have a way to go in terms of lab administration.  The students indicated that during semester the lab configuration meant that most of the proposed labs couldn't be completed.  During the workshops we delivered we also experienced issues with regards to security, setup, performance and stability of the VMWare images. This is an area that really needs to be streamlined - perhaps investing some dollars into a partnership with a local infrastructure company would relieve these issues, instead of attempting to do all lab managment internally.
  • The students were keen to get access to the code that we were working on as part of the workshop.  For their benefit I have posted the lab samples as an attachment to this post (my apologies as these are in C#).  In order to run the samples they will need to download/install Visual Studio 2005 Express Edition, SQL Server Express Edition and the AdventureWorks sample database.

Voice IM Client for Windows Mobile and Symbian S60

I just followed Neil's post to the beta of Palringo - not sure why I need yet another IM client but I do like the way it handles Voice.  Instead of trying to be a full blown VOIP solution it allows you to send bursts of sound (be it voice, background noise, music etc).  Worth having a play with but not sure whether I'll be hooked.  If you're trying it out feel free to add me to your contacts (nick @softteq.com).

IBM doesn't get simple URLs

A week or so ago I was reading the IT section of one of the papers (I think perhaps the Australian Financial Review) and noticed a full page, colour ad from IBM.  The thing that really jumped out at me was the prominant positioning/size of the url.  This would be fine if it was something simple as www.ibm.com.au - easy to remember as it's IBM (which is a company - hence the ".com") and we want the Australian sub (hence the ".au").  Unfortunately the url was completely unmemorable - to the extent that I didn't post about it at the time because I'd forgotten the actual url.

This morning I was again reading the paper, and again noticed a full page colour ad for IBM.  This time the url was much smaller but was still equally complex - ibm.com/innovation/au/finance.  So I can understand why this url makes sense from an IT perspective, but from a marketing perspective can you honestly imagine someone remembering this?  Interestingly enough when I went to that url I got a single line redirect to http://www-07.ibm.com/innovation/au/index.html?CID=BTI_FINA

It gets even better - now say I was an average person who isn't that great at remembering urls but I am interested in looking into this innovative finance software which IBM is selling.  I start at www.ibm.com.au where of course there is no mention of this advertising campaign, no quick links to "innovation" or "finance".  I'm left doing a search - here if you type "innovation finance" you do indeed get a link to the correct site but if you happen to type "innovate finance" you get a bunch of search results that don't go anywhere near the site you want!

Honestly IBM, is it that hard to understand the power of simple URLs?