Archive for March 2009
I watched John Lam’s talk at Mix 09 the other day – it’s worth watching. During the talk John shows how to test Silverlight applications in a BDD style using IronRuby, and a gem called Bacon. Part of the setup includes a small library to run Bacon in Silverlight. It’s called, as you may have guessed by now, Eggs. If you want to try Bacon and Eggs for yourself, Jimmy Schementi has posted a how-to here. Happy frying!
Aggreviation – the act of expressing invective in the form of acronyms or other abbreviations in order to vent one’s anger in the most concise way possible.
I’ve been busy with a couple of Proofs of Concept recently. The second of these that I worked on was iWantGreatCare. iWantGreatCare is a website that lets you submit reviews of doctors, both GPs and specialists. The existing site is built using Ruby on Rails and MySql. The Proof of Concept (PoC) was built in three weeks by a small team from Microsoft, iWantGreatCare and DotNetSolutions.
We had a few objectives for the PoC. We wanted to show:
- Integration with healthcare providers’ systems
- Intuitive, engaging user experience
- Extensible architecture
- Fit of Microsoft Technologies
We focused on a key scenario based around a mother with a son who requires medical attention who has just moved to a new area. This scenario covers finding a GP, reviewing the GP, finding a specialist and reviewing that specialist. We also looked at how healthcare providers could use and analyse the data that is created by these reviews.
We chose to build the site in ASP .NET MVC (version 1.0 of which has just been released.) Using ASP .NET MVC allowed us to build the site quickly and we were also able to extend it easily to provide different views (for instance, mobile phones and RSS feeds.) It is also readily learned by Ruby on Rails developers. The geospatial features of SQL Server 2008 made the location based searching far simpler than the existing implementation (we used Virtual Earth to show locations) – and Reporting Services provided drill-down reports that can be consumed by healthcare providers through the site. We also demonstrated integration with Sharepoint – a common technology in the NHS.
At the conclusion of the PoC, we had a working application that included all the features we had planned along with a couple of extras (the RSS feeds being an example.) ASP .NET MVC and the speed at which we were able to develop made this possible. iWantGreatCare are already well advanced with the migration to SQL Server 2008, and I look forward to seeing the ways in which the site develops.
Last week I presented the results of a Proof of Concept (PoC) at the Local Authority Urban Interest Conference, a sub group of ITS United Kingdom, which is the intelligent transport society for the UK. The PoC was completed the week before in the Microsoft Technology Centre (MTC). We had a team that included people from Microsoft, Birmingham City Council, Coventry University Enterprises, Shoothill and EMC Consulting. A PoC in the MTC is a three week exercise so you need clear objectives and a focussed team.
The Intelligent City programme is a Birmingham City wide initiative to “address key urban issues relating to transport, tourism, security and climate change through the exploitation of information technology”.
As with any PoC, there are some proof points. In this case the key points are to:
- Articulate and demonstrate a slice of the shared Intelligent Cities vision for Birmingham
- Demonstrate an interoperable service layer platform integrated with existing data / services
- Demonstrate compelling user experiences cross-device – manage a journey tracking and hopping across devices and modes of transport
- Demonstrate empowering individuals to make more informed, smarter choices
For the PoC, we focussed on transport and looked at a couple of specific scenarios. The first scenario is that of someone – we called him Colin – staying in a hotel in Birmingham who wants to visit his aunt during his time there. The second scenario focuses on Colin driving into the centre of Birmingham to go to the offices of a client.
We had data about the road network, the bus routes and schedule as well as access to a service that gave us real time positions of buses on some routes and data of traffic levels.
At the heart of the solution is a service layer that is able to create, store and share routes using that data and services we had available to us. We also built 3 client applications that used this service layer: a website, a mobile application and a mock sat-nav application. As you’d expect, the service layer is WCF, C# and a SQL Server 2008 database.
It’s probably worth saying a little about the routing before going any further. The routing algorithm had a model we built up of the road and bus network (including the schedule we had) so it could provide multi-modal routes across Birmingham – there is no park and ride scheme as such in Birmingham, so a car route is a car-only route for the purposes of the PoC. The way the model was created means that adding in other forms of transport would be relatively simple, provided you know where the modes of transport intersect (e.g. where a train station or car park is.) Adding in realtime information about journey times would also be simple.
The website is an ASP.NET App that shows traffic levels in Birmingham along with the realtime bus positions we have layered on Virtual Earth. It can also be used to get a route across Birmingham – once a route has been created, the user can log in and save the journey. The journey can also be shared – this allows other users with whom the journey has been shared to see your progress along the route.
The mobile application is a Silverlight app that addresses a problem we all face getting around. It’s all very well plotting a route on a website, but can you remember it? You can print it out, but the print out doesn’t know where you are. A mobile application can take advantage of GPS, which is increasingly prevalent in mobile devices. You can log in and retrieve the route you previously saved and the application will guide you along your route – including getting on and off buses. If you’ve chosen to share your route, it’ll upload this information so those people with whom you’ve shared your route can see where you are and when you’re expected to arrive.
The mock sat-nav application is a WPF application that is intended to show what a sat-nav could do to take advantage of the service layer. It shows how you could choose to be directed to a public car park near to your destination (you could use the mobile app to get from the car park to your destination.) During the journey, the car park fills up, so the sat-nav alerts you and directs you to the next available car park.
Having the service layer made each of these applications quick to develop – and allows the development of other applications. Demonstrating these applications brings that point home and shows how a big difference can be made to our experience of Birmingham in the very near future.