Charteris Community Server

Welcome to the Charteris plc Community
Welcome to Charteris Community Server Sign in | Join | Help
in Search

Roger Whitehead's blog.

Thoughts and activities on implementing Microsoft Web and Windows Mobile technologies. Life is Mobile.
  • PDC 2009 - A little “Shift” In Approach Goes A Long Way

    For The Avoidance of Injury….

    Whilst attending the PDC event I decided not to risk further skeletal injury by taking my trusty Dell high-spec laptop. Whilst its spec is great for my day-to-day technical activities (dual 64 bit cores and 4GB RAM), its weight and size would have made things tough to sustain,  when carrying it to/from and around a large multi-day conference venue. I’ve carried these weighty machines before at numerous TechEd and other conferences and wasn’t a recommended experience. I saw many people with 17” laptops at PDC and I’m not sure how they remained upright by the end of the day.

    “Shifting” Down A Size

    Instead,  I decided just to take an HTC Shift device that I “inherited” in my organisation a few months back and I’ve been using a lot ever since. Not sure what an HTC Shift is? You can find out more at the following URL: http://www.htc.com/uk/product/shift/overview.html 

    Uniquely the Htc Shift runs both a custom form of Windows Mobile 6.1 in the lid and Windows Vista / Windows 7 in the main chassis. These can run either at the same time or independently on the 7” SVGA touch screen with hardware buttons to switch between them.  You can run Windows Mobile without Vista to save battery life but still get your calendar and email etc.  A built in 3G card for UK use and Wi-Fi means you can remain connected as and when you need to.

    Windows 7, Ready Boost and OneNote To The Rescue

    With Windows Vista on it the Shift had previously been sluggish and devoured battery life. As a result its reputation had slumped internally.  A careful upgrade to Windows 7 (covered in a forthcoming blog) combined with using the in-built SD Card slot to help “ReadyBoost” its memory, totally revitalised the Shift in both speed and general Li-Ion appetite. Whilst the form factor and specifications will never make it a powerhouse, I figured for attending the conference , monitoring email and writing blogs it would be ideal. So it transpired. The built in Windows 7 tablet functionality combined well with MS OneNote 2007 for note taking in sessions and blog preparation later on etc. With the right screen font dpi settings tweaked MS Outlook 2007 also worked well on the device.

    I typed and posted ALL of my blog entries at PDC last week on the Shift’s pint-size QWERTY keyboard in Windows Live Writer,  and perfected a rapid pecking technique. Whilst I pushed my tolerance limit of what I would want to type on the cramped in-built keyboard, when  combined with the great MS Notebook Presenter 8000 external mouse it was “good enough” for most things.  I wish I’d taken a mini USB external laptop keyboard with me in my luggage however,  as that would have made all the difference. Oddly I couldn’t find one in Los Angeles in all the places I looked. The only thing I couldn’t do was try things from the sessions in Visual Studio! I think that would probably have been a merciless step too far for the little machine.

    Power To The Little Devices…

    The only major Achilles heal for the Shift remained the challengingly short battery life. The small form factor combined with a colour touch screen and 40GB “traditional” hard disk mean that I didn’t get much over 2.5 hours from the small battery pack and that was with the wireless switched off! As power outlets at PDC  09 seemed to be closely guarded by attendees as a matter of honour, I was glad I had a spare battery. 

    The device certainly generated some positive interest from others at PDC,  when placed alongside some of the 17” mammoth machines. These must have been positively chewing through the amps. I’m guessing my carbon footprint and contribution to L.A’s infamous smog with my little device was also probably lower. My environmental conscience was somewhat less hazy than those around me therefore.

    Hardware Surprises & When Less Is More

    Understandably the machine was ultimately overshadowed in sheer power, portability, pose value and battery life,  by the now infamous Microsoft Acer hardware “giveaway” to all PDC attendees. A masterly PR stroke as far as many were concerned.

    My experience with the HTC Shift further confirmed to me however,  just what hardware you can manage with for lightweight tasks when travelling, especially when you don’t need to blast through intensive development or technical tasks. Next time you travel see what tech. you can get away with carrying.

  • PDC 2009 – Windows Server AppFabric – Middle-Tier Scaling and Monitoring “In A Box”

     

    One of the more interesting technology announcements to come out of the PDC conference last week was the announcement of Windows Server AppFabric in the keynote. Whilst at face value it might have appeared to be a completely new technology,  attendance at a number of sessions confirmed that in fact it contained some elements that have been previewed in pre-release form in recent months.

    Server AppFabric requires IIS 7.0 in order to work but if you can meet this criteria then it provides some interesting feature sets. These include amongst other elements:

    • The distributing caching technology previously codenamed “Velocity”
    • The Windows Communication Foundation (WCF) and the Workflow Foundation (WF) monitoring technology formerly codenamed as the “Dublin” framework.

    AppFabric Caching

    This technology formerly known  as “Velocity” provides some great features for distributed in-memory caching across a middle-tier or set for web servers or composite applications,  from a central cluster server of cache servers. Up to 100 servers can be combined into a cache cluster. There are a features to allow highly available deployments that allow a server to obtains it cache from any available node rather than each individual web server having to cache large volumes of data at start-up. This gives numerous performance and resilience benefits for high load web servers in ecommerce scenarios. Cache updates and even updates back to the original data source are intelligently handled at volume and concurrency with pessimistic and optimistic locking scenarios. A standardised caching API is also provided that avoids the need to write customised caching schema.

    You can find more information on the original “Velocity” architecture at: http://msdn.microsoft.com/en-us/library/ee790954.aspx

    Be aware that because TCP/IP communication within the cache node is not encrypted currently you’ll need to co-locate all your cache nodes in the same datacenter or domain for security reasons.

    The Need For A Good Design

    If designed and implemented correctly this caching technology has huge potential to boost web site performance. I think the cache and data source updating will require careful design however otherwise the potential for data synchronisation issues will arise. Velocity is complex but capable of great things if done right.

    AppFabric WCF and WF Deployment & Monitoring

    In previous versions of WCF and WF it was difficult to deploy, host,  monitor and troubleshoot errors in WCF services. Often the errors were buried deep in the messages and with fault contracts the actual error often deliberately obfuscated. Even when the errors was found it was then difficult to resume the request and restart from the point of failure as the context was often lost.

    Features and Functionality….

    AppFabric aims to improve in many of these areas. Built on the combined technologies of IIS/WAS and running in the IIS 7 Desktop environment the framework formerly codenamed “Dublin”, provides the following functionality:

    • A hosting environment for WCF and WF services. Previously these could only be hosted in a small subset of technologies including IIS. It was possible to write your own WCF hosting mechanism but this was fraught with issues. AppFabric works with WAS to provide a robust hosting environment for middle-tier WCF and WF applications. Some of the features provided include:
      • Message-based activation of applications and worker process. Applications start and stop dynamically in response to incoming work items.
      • Application and worker process recycling to maintain the health of running applications.
      • Centralized application configuration and management.
    • Monitoring of running WCF services or WF workflows that allows request to be monitored and examined. whilst still running When errors occur these can be examined and logged as needed. This is a major operational improvement as IT Operational staff can monitor web services and IIS in one place.
    • Monitoring is backed up by a database subsystem which allows requests to be persisted, suspended and rehydrated with their original context as needed.
    • A centralised mechanism for examining and changing configuration settings avoids the need for IT operations staff or indeed  developers to have a detailed understanding of the precise locations of all the configuration entries. The functionality is provided by the familiar IIS Management console with the IIS Manager extensions for WCF and WF to accomplish the most common configuration tasks
    • The integration between Windows Server AppFabric and the new WebDeploy technology allows web sites and services to be easily deployed across multiple targets. This allows the easy import and export of deployment packages for wider reuse.

    You can find more on the previously known “Dublin” architecture at: http://msdn.microsoft.com/en-us/library/ee677255.aspx

    Overall when it is released sometime next year (2010) AppFabric has some great potential,  if implemented properly,  for reducing the pain currently incurred with the live running of WCF and WF in live SOA scenarios. Only catch is you’ll need to be running IIS 7.0 and most likely .Net 4.0 although this is yet to be fully confirmed.

  • PDC 09 – Day Two Keynote – Windows 7, IE 9.0, Silverlight 4.0 and All Things Visual

     

    Whilst the previous day had been all about Azure Cloud Computing and other Server related announcement Day Two was all about the desktop and presentation aspects of Windows 7 and Silverlight 4.0.  The main areas  covered  in the keynote were as follows:

    Windows 7

    This included an insight into how the development process evolved (Feature set decisions, usability testing etc) and ways for developers to enhance the Windows 7 experience. The impressive multi-touch features were also shown.

    Internet Explorer 9.0

    This was an early look at the latest Microsoft browser. The feature set is still being finalised and timescales are unannounced,  but there will be directed effort at rendering and JavaScript performance as well support for the emerging HTML 5 standard.

    One feature of particular note was some really cool demonstrations of the new rendering capabilities in IE 9.0. These use the underlying DirectX hardware acceleration and make CSS rendering much smoother and the playback of embedded media (video) etc was very smooth.

    If these features making it through it will put IE back at the front of the browser pack competing for our attention. As an enabler for SharePoint and Silverlight etc it could be a key factor.

    Silverlight 4.0

    There are two many features to go into here, but Scott Guthrie  was as impressive as ever and gave a demonstration of this technology. With some of the features announced Silverlight 4.0,as far as I can tell, will make it difficult to justify Windows forms development for all but certain types of applications. Certainly anything with any media content or need to bring together web based content will head for Silverlight 4.0.

    Some of the key features include direct hardware support for USB,  printing support, cut and paste, support the ability to have controls containing external HTML and embedded content, BIDI and RTL support for internationalisation, right click support, REST, WCF RIA Services and multicast support.

    Silverlight can also now run directly on the desktop with full trust access to the desktop and read/write file system support. it can now even run in Google Chrome……

    In performance terms it is estimated to be 2 times faster and 30% faster on start-up.

    For developers Visual Studio now provides a full WYSIWYG design surface with debugging integration etc. The SketchFlow tool in Expression will also be an extremely useful tool.

    All of this adds up to an impressive step forward and addresses some of the inertia issues.

    SharePoint 2010 and Office 2010

    Not to be outdone, Kurt Delbene ran through the new features coming in SharePoint 2010 and Office 2010.

    The public betas of both Office 2010 and SharePoint 2010 were announced and are immediately available.

    An impressive demo of the ability to host Silverlight in SharePoint was done along with a particularly effective ability to link this to underlying data sources.

    Developer Heaven

    The biggest SharePoint improvements were undoubtedly around the developer experience and improve UI and Silverlight support.

    For developers, the massively improved integration with Visual Studio and Source Control is a huge step forward. The ability to simply do an F5 and run, deploy and debug Sharepoint sites in a  standard Visual Studio way is a huge advance. Gone is the need to manually coax the GAC and edit files. SharePoint is now no longer the poor outcast  relation in the development arena.

    Also key for developers is the ability to use Windows 7 and Vista for development, thus avoiding the need to have Windows Server. These environments will be capable of being “sandboxed” to help prevent security issues.Sandboxing also enables development for SharePoint Online.

    Project “Duet”

    Also announced was a major tie-up with SAP known as “Duet” which will allow SharePoint to consume and read/write data from SAP installations with appropriate security. This is not due until 2010 or beyond but could be a major outlet for SharePoint to consume data in the large Enterprise space.

    Collaborative Networking and Linking to Linked In

    Also announced was a new connector for Outlook to allow better visualisation of interactions with contacts (all meetings, emails with a contact recently etc) and a linkage to Linked In for viewing and interacting within Outlook. This appears to me to be very much playing in the Xobni space.

    There is an SDK for all this so people can “roll their own solutions”. I can see this being a great way to create social networks within organisations and also beyond, for all kinds of groupings.

  • PDC ‘09 - Mobile, Mobile Where For Art Thou?

     

    One thing that has been striking by its absence, (at least for me), has been the lack of coverage of Windows Phone (formerly Windows Mobile) and mobile related topics here at PDC. There has been some coverage of the .net Micro framework and sensor and location related development with Windows 7 but nothing trully focussed on Compact framework 4.0 and mobile devices.

    According to the second keynote yesterday  we will have to wait until the MIX 10 in Las Vegas in March 2010 to find out more on this, so it looks like the story and roadmap is not quite there as yet.

    Still lots of other good stuff to keep us occupied for the moment…...

  • PDC 09 KeyNote – Clouds Everywhere – From “Dallas” to “Sydney”

     

    Well the first day keynote kicked off today and as suspected Windows Azure dominated. Ray Ozzie’s overview showed how the “Three screens and a cloud” vision has the potential for Cloud computing woven through every aspect. We are likely to see all the toolsets, server applications and office applications incorporate lesser or greater aspects of Windows Azure into their feature set.

    There were many new announcements around Windows Azure that I will cover in subsequent posts, but it is fair to say that Windows Azure is increasingly moving away from purely being a .Net application runtime to become a highly faceted and complete cloud computing solution platform.

    In my view there are some really exciting features coming that both match and overtake the competition in some areas but will also move application development forward in some potentially radical new ways.

    The highlights of the keynote are as follows:

    Windows Azure

    • Full commercial launch will happen on January 1 2010 and billing will begin a month later on February 1st. Some selected customers will be going live with Windows Azure solutions from today.
    • In 2010 there will be several US data centers , two in Europe (Dublin and Amsterdam) and two in Asia (Singapore and Hong Kong) that will be coming onstream.
    • There will be the capabilityto enable dual data center replication between pairs of data centres in a region as they come onstream.
    • Support was announced for PHP, MySQL and Java on Windows Azure

    Microsoft “PinPoint”

    This was launched today and is a catalog and marketplace for people wanting to find Windows Azure Business applications or applications which can assist with development.

    Project codenamed “Dallas”

    This is a really interesting technology which is built on Windows Azure. Essentially it will provide a secure open or private catalog for data to be provided from the Azure Platform. This can either be for public domain data sources (government, NASA etc) or for commercial data suppliers to use as a channel. Quite a number of suppliers are already signed up and more are planned. Where data is charged for there will be an account and subscription model utilised.

    Data is provided from Azure using REST based protocols (ATOM etc) so should be pretty open and standards compliant. Data can be visualised through a range of technologies including WPF, JavaScript and the forthcoming Excel PivotPoint features.

    I think there is great potential in this technology particularly as way of enabling business intelligence and information understanding using data that was not previously easily available.

    I attended another session on “Dallas” later in the day and will blog this separately.

    Data Synchronisation

    New technologies will be emerging and existing ones enhanced to allow synchronisation between “on-premise” data  sources and Azure based storage repositories. 

    Project Codenamed  “Sydney”

    This is a key new feature due for release next year that will allow Windows Azure to talk back to an on-premise SQL Server location in order to access corporate data sources  in a secure manner.

    If it matches up to expectations, this may go a long way to easing issues with data security and regulation. More details will follow soon.

    AppFabric Windows Server Technology

    A very interesting new extension to on-premise Windows server applications. It extends some of the features that support Windows Azure to the “on-premise” arena and helps some of the long-standing issues with middle-tier scaleout. It provides data caching, monitoring and replication of application servers to support load and scalability scenarios. It will come as part of Windows Server.

    Visual Studio 2010 Enhancements

    In addition to fully supporting Windows Azure, Visual Studio 2010 also provides:

    • Built in project templates for Sharepoint development,
    • A rewritten UI using WPF
    • The Ability to split Visual Studio elements across multiple screens.
    • AWF 4.0 designer
    • An event based model for filtering and debugging code. This is claimed to have such low overhead it is able to be run on production servers if needed.
    • Web site deployment – a slick looking mechanism for deploying every aspect of a web solution.
    • Support for ASP.Net MVC 2.0
    • Team Foundation Server integration enhancements.

    I’ll blog more on all of this as time progresses.

  • PDC ‘09 – Pre-Conference Windows Azure - Workshop - Cost, Code and Storage

     

    So PDC ‘09 is under way – at least for those of us lucky enough to attend the pre-conference sessions yesterday (Monday) I attended the Architecting and Developing For Windows Azure workshop. This was a great session given by Chris Auld  and it was probably one of the best sessions on Windows Azure I’ve attended in recent months. It covered all the main facets of Windows Azure (Elasticity, Scalability, Deployment, Storage etc)  but did this in the context of a real world customer TicketMaster, a New Zealand ticketing agent for major event.

    This was an ideal application for Azure requiring rapid ability to scale massively for sell-out major events and then scale back down as needed.

    Data Storage – Where and What To Put

    It was interesting to see the approach Chris took to data partitioning in both Azure Storage and SQL Storage and the comparative costing approaches associated with each. In some cases the transaction charges associated with storing in Azure storage might push you to using SQL Azure instead, as long as you stay within the 1GB and 10GB respective database limits.

    In addition there was an assertion that storing data in both Azure and SQL storage could provide greater scalability and performance for a variety of scenarios. I guess if your pockets are deep enough the benefit is there……

    Managing Data For Efficiency & Cost

    The talk reinforced to me how much manual data manipulation and “data grooming” is required on an ongoing basis to keep SQL Azure and Azure storage both efficient AND cost-effective. Few application development areas currently have the same direct connection between application, architecture and cost of running a solution. Even the fieldname lengths in Azure storage can impact storage cost. This will be a whole different direction for some people when designing and building applications..

    Costing Your Solution

    One of the areas that I’ve always felt is key to many of the decisions around moving to the Cloud, is being able to compare on-premise costs with those of the Cloud. Unless you have good internal data, how do you really know how much your application costs to develop and  look after per database and per server? If you don’t know this, how do you know whether Azure is good value?  What costs would you factor per application and which ones per datacenter? Again chris had some good solutions here with Excel models and calculators that attempted to illustrate the cost elements.

    I think modelling on-going costs in application solutions is going to be a key area for the future. It is an area most technical staff will need to get a lot better at.

    Migrate Existing or Green Field Development?

    The session also left me even more convinced, that in many cases there is a different approach required when building new applications for the cloud compared to migrating existing applications. With existing applications, the historical legacy caused by years of varying evolution and pragmatic compromises, may make it impossible to achieve a “pure” cloud architecture that can achieve in turn the most cost saving. Quite simply, unravelling some of that legacy, would cost too much in development time which would negate the Azure savings in operational costs.

    With a new application it is obviously much easy to achieve a more cost effective, efficient design, from the ground up. Even here however the application should be designed in such a way that it uses flexible, pluggable architectures. It is entirely possible that an application may need to be redeveloped purely because the Azure pricing model has changed rather than because new functionality is needed. This is a radical change in business drivers, that may take a while to work its way through. Solution architecture in future may be driven as much by hard financial issues as technical elegance and scalability.

    Cloud Friendly Solution Characteristics

    What is certainly true is that the best prepared solutions for migrating to Azure will have some of  the following characteristics:

    • Be highly idempotent,
    • Have Service Orientated Architectures with a focus on pluggable and provider design patterns.
    • Designed for high load and parallel running scenarios.
    • Be easily separable in terms of the data flows between each layer.
    • Stores and uses only the data required for current system operation. Other data is aggressively archived to on-premise locations.
    • Use generic configurations and not rely on custom hardware implementations.

    It is going to be interesting to see what the PDC’09 keynote announcements will provide to assist with this.

  • Microsoft PDC ‘09 – Looking Forward

     

    Well I’m here in Los Angeles fighting jetlag and getting reading for Microsoft Professional Developer Conference 2009. The main conference starts on Tuesday 16th but I’m also attending the pre-conference workshop on Monday 15th. I’ve chosen a workshop on Windows Azure as this is an area we have been doing some work in recently.

    Things I am looking forward to being covered include:

    • The likely commercial launch of Windows Azure,
    • More detail on .net 4.0 (WCF, WF and ASP.Net),
    • Features in the betas of Visual Studio 2010
    • Team Foundation Server  2010 and the integration with PDC. 

    Hopefully there will also be some coverage of Windows Mobile 6.5 and possibly future versions.

    I’ll post more on this after the pre-conference workshop….

  • ROM Upgrade For HTC Touch HD On Orange

    Due to lots of other commitments, its been a long time since my last post, so I thought I would start with something simple…..

    If you have an HTC Touch HD on Orange (I do) then you’ll probably be interested to know that there has a ROM upgrade available since late August. This takes the ROM to version 1.59.61.2. You can find upgrade guide details and the ROM download at the following Orange Business site URL.

    http://www.business.orange.co.uk/servlet/Satellite?c=OUKDevice&cid=1225377508332&extarg1=Phone&pagename=Business&t=SMEDeviceDownloads 

    I really like my Touch HD and this ROM update fixes a number of issues,  including some occasional device freezes, GPS improvements and tweaks to the TouchFlo interface when answering calls. The upgrade process was one of the slickest I’ve experienced on a Windows Mobile device,  with progress displays on both devices at all times which was great. As with all updates, remember to make a backup keep your device powered and connected at all times during the upgrade.

    Following the upgrade, my device generally seems quicker and more responsive overall. Subjectively it also looks like the graphics are clearer and better. The colours certainly look more vivid although this isn’t mentioned as one of the improvements by Htc.

    Currently the Touch HD is not identified as a device being officially supported for an upgrade to Windows Mobile 6.5, (which is due to launch next week). Therefore  this could be the last update to the Touch HD.

    A recommended upgrade……

  • Nxt Gen User Group Talk - Location Based Programming - The "Demo Gods" Were Frowning

    A few weeks ago (Tuesday 13th January) I gave a presentation to the  Oxford Branch of the NxtGen User Group on Location Based Programming with Windows Mobile. If you are interested, you can find the slides in PDF form for the talk here.

    This presentation was one of those occasions however,  where things just don't go as planned. The problems occurred during my final demo, which hoped to show how to use Windows Mobile to call Virtual Earth Web Services 1.0.  The  other previous demos were running entirely locally on my laptop and generally the "demo gods" were with me - so these went OK.

    Demos and Demons - Connectivity Woes

    However this final demo with Virtual Earth, required stable internet access for the web service connection and this was the root of my problems.   Due to network authentication issues when connecting to the event location WiFi, prior to the start of the talk (I tried many times to access this), and the requirement of Virtual Earth Services for https access,  this wasn't going to be straight forward. In the end I had the nervy and surreal experience of using a Windows Mobile 6.x software Emulator, virtually "cradled" via Windows Mobile Device Center on my laptop and connected to the internet via a real Windows Mobile 3G device connection of only 2 bars signal strength! Not a time for the faint hearted. 

    As ever,  everything was working perfectly before the session, during the break, and before the demo itself. None of that mattered however as nobody saw it and the demo failed to work when required! Every call to the Virtual Earth Service kept throwing WebExceptions when the Virtual Earth token was requested via the first service call. It soon became obvious that the networking setup was failing to access the internet or resolve the required address. It appeared to think I was looking for a local web resource on my host machine. Internet Explorer Mobile in the emulator was also failing to connect to public web sites. In the heat of the demo, I appeared to be doing nothing different compared to previous successful attempts. The emulator was "cradled" and my host laptop could see the web but the emulator couldn't.

    Apologies

    Time was running out, so in the end I had to skip the demo. I felt this took the edge off the presentation,  so my sincere apologies to all who were there and missed out on the final demo.

    Investigations & Repercussions

    When I got home this was still bugging me,  so I did some further intense investigation. It appears there was a difference in the behaviour of the Windows Mobile 6.1 emulators depending on the sequence of the setup and the type of network connection in use although my results weren't always consistent. The issues0 appear to relate to two areas:

    • Whether following the "cradle" action the device is set up with a sync profile on your host machine. If not you should use the "Connect without setting up the device" option. This appears to finally enable the network option even though the emulator thinks it is cradled and the network connection property in the State Notification broker shows it as enabled.
    • The connections setting in the emulator itself and whether the connection is set to "My Work" or "MyISP" in the Network / Advanced settings. Depending on your network proxy or firewall settings this may cause issue. In my case I suspect this changed when I switched from WiFi to mobile based connectivity.

    The Road To Connection Success

    The correct sequence to get internet connectivity for a mobile development application from Visual Studio appears to be:

    • Ensure that your Windows Mobile Device Center (Vista) or Active Sync (XP) is set to accept connections on "DMA". Otherwise emulators appear to fail to be detected and cradled.
    • Using the Device Emulator Manager ( Tools / Device Emulator Manager in Visual Studio) "Connect" to the chosen Emulator e.g. "USA Windows Mobile 6.1.4 Professional VGA Emulator" . This emulator should start if not already running.
    • Ensure the Emulator network configuration is set to emulate a Network card via the relevant checkbox. In my case this was an NE200 PCMCIA Adaptor.
    • "Cradle" the emulator via the Device Emulator Manager. This should start the Windows Mobile Device Center or ActiveSync. Ensure that the connection is finalised via the "Connect Without Setting Up My Device" option.
    • Check the Network connections are set correct via the Windows Start / Settings / Networks / Advanced options. Ensure the drop downs are set correctly. In my case this is to "My Work Network".
    • Check the internet connection on the emulator by browsing to a known web site URL.
    • Deploy the application which requires internet connectivity.

    Another Chance To See....

    Anyway, weather and traffic conditions permitting,  I am hoping to do a reprise of  the last 15 minutes of my talk as a "nugget"  at the next NxtGen Oxford Branch talk on Wednesday 4th February 2009. It will be at the RM offices in Didcot from 7PM. Further details of location and timing are here at the NxtGenUG site.

  • New Windows Mobile 6.1.4 Emulators and Latest P & P Guidance for Windows Mobile Developers

    Those of you you who are Microsoft .Net and Windows Mobile Developers may be interested in two recent announcements  from Microsoft.

    New Windows Mobile 6.1.4 Emulator

    Microsoft has recently released a new version of the emulator images fro Windows Mobile 6.1. These new versions are primarily designed to showcase the latest version of Internet Explorer 6. This has better AJAX and Javascipt support, Flash Lite support, touch support and multiple zoom support. The aim of the emulators is to provide testing support for applications using Visual Studio 2005 and Visual Studio 2008.

    The 6.1.4 emulators come in Standard and Professional variants and you can download the emulators from here.

    Patterns and Practice Mobile Architecture Pocket Guide

    Something else that has slipped out relatively quietly from the Microsoft Patterns and Practice team last week is the Mobile Architecture pocket guide. I've only got part way through it currently but it appears to be a good concise summary (well 150 pages worth) in a single place of all the design elements and issues to consider when developing a Windows Mobile solution. Everything from screen resolution to security is covered. A recommended read so far...

    You can download the PDF from CodePlex at the this location

  • TechEd 2008 EMEA - What's in Your Portfolio - Ideas? Projects?

    As part of my quest to better understand Microsoft Visual Studio Team System (VSTS) I continued my journey through the software product life cycle and attended a session VSTS and the product life cycle.  As part of this session I came across a product called Microsoft Office Project Portfolio Server that I was previous unaware of.

    Microsoft Office Project Portfolio Server has several functions. Firstly,  it acts as a capture tool for business initiatives and ideas - depending on the level of granularity, these are effectively business and functional requirements. Once entered,  these can then be reviewed against the stated business strategies. Using clever algorithms, Microsoft Office Project Portfolio Server then ranks and prioritises ideas and initiatives. High level costings and resources can then be applied. Once recorded decisions can be made to accept to initiate projects.

    Make no mistake this is not MS Project with a suggestion box!  This is a tool for senior executives to initiate and assess projects against defined business strategies. These can be any kind of projects not just software projects.

    The clever bit here is the integration to other parts of Team Systems. Once a project is accepted the Portfolio server can integrate with Foundation Server and create full blown projects. These can then be structured and expanded by project managers using MS Project. If it's a software project,  software professionals can then do their stuff and interact via Visual Studio.

    The other clever part is the ability to feed moderated high level project status data back up through to the senior executives. Whilst all the task completion activities still goes through project managers for approval, using a classic "traffic-light" status approach, senior executives are able to get an instant high level view of how a project is doing at all times.

    Even if you just want to use portfolio for capturing business ideas or strategic requirements or even just the output of simple brainstorming MS Office Project Portfolio Server is well worth checking into.  As with the rest of team system depending on the scale of you organisation the price point may be the only issue.

    Interested? You can find details of Microsoft Office Project Portfolio Server at: MS Office Project Portfolio Server

     

  • TechEd EMEA 2008 - Visual Studio Team System 2008

    The processes of software development and delivery are always a constantly evolving challenge. Delivering this years technology correctly regardless of development and deployment methodology or process, is never going to be an exact science. Every  environment or implementation is different and so processes require continual adjustment and extension.

    My new wider role at Charteris, means that I now have a much wider focus across the range of development tools and methodologies we encounter and employ. It is now as much about how we do things as what we do. As a result as part of this at this years TechEd conference,  I have decided to attempt to get a better understanding of what the Visual Studio Team System offers.

    For those that aren't already aware, the Visual Studio Team System and its associated Team Foundation Server product, add collaborative toolset functionality to the existing more development focused tools. Visual Studio Team System is aimed squarely at software development teams and covers the whole development life cycle. Specific versions of Visual Studio for are required and these allow the developer to participate in many areas of the software development lifecycle from within the confines of Visual Studio itself.

    Partly because of the perceived high entry cost of Team System and because consultancy usually involves fitting with the in situ customer development process owned by the customer, Visual Studio Team System has always been an area that I've never fully explored, other than for the purely development capabilities. From the various sessions attended here at TechEd I've understood more fully what it can do and am generally I'm impressed by the depth and capabilities on offer.

    The ability to define custom tasks,  record and track effort against them, manage defects, perform source control tasks and control associated workflows, all originate and integrate seamlessly into the Visual Studio IDE. Activities and source code are in turn stored and tracked in the underlying SQL Server backed Team Foundation Server.

    However one of the real strengths of Team System is that Visual Studio isn't the only UI available. Its key strength lies in its integration to other products used by other people. You can interchange data to and from Excel, to and from MS Project (although this is a bit stilted).

    The other main area  of flexibility however is the option of using web based interfaces (the so-call Team System Web Access and Work Item Web Access UI's) to read and interact with Team System data. The potential for intranet applications with clients accessing read only views of defects and progress or assigning tasks to subcontractors or third parties, is significant.

    Overall a great system. Its just a shame therefore that its CAL based licensing mechanism and enterprise pricing strategy will exclude a whole layer of SME organisations who can't afford its price point yet value its self-contained approach. Its many of these same SME organisations that bred the whole generations of Visual Basic and then .Net programmers we know today.

    Its worth noting that many of the Visual Studio 2010 features announced this week,  will place an increasing reliance on Team Foundation Server in areas such as historical debugging etc in the future. This gap between SME and enterprise development toolsets can therefore only widen as it stands currently.

     

  • TechEd EMEA 2008 - Windows Mobile SDK Tools, "Smackdowns" and Security

    The second day of TechEd is now complete. It was another day of learning opportunities and some light hearted fun. I'll cover the mobile technologies in this post and follow-up with some subsequent posts on the other sessions I encountered.  

    Windows Mobile 6 SDKs - Emulate, Emulate, Emulate

    Those that have seen some of my previous posts and public talks for NxtGen User Group and elsewhere will know that Windows Mobile development is one of favourite topics. I have previously used many of the Windows 6 SDK elements but the interactive session given by Andy Wigley and Andrej Radinger both Windows Mobile MVPs from AppaMundi gave me some extra hints and tips when using these tools.

    If you haven't come across it already, it is well worth downloading the Windows Mobile 6 SDK as it contains many simple tools and code samples that make building, deploying and testing simpler and less fraught. It contains useful tools such as a GPS emulator for emulating device GPS interactions (very useful as most developers sit indoors!).

    Cellular Emulator

    One such example is the Cellular Emulator. I knew this could emulate the cellular radio stack in a given mobile device but I didn't realise that it faithfully let you simulate busy calls, no answer and hang on answer scenarios as well and emulate the processing of sending and receiving SMS messages. The emulator  lets you make calls over its networking stack to WCF services, web sites etc as if the real networking stack was being used rather than directly relying on the networking of the development machine. Very useful for imitating those real life scenarios in a way that is a close to the hardware as possible without deploying the application to a real device. I also didn't realise that the cellular emulator let you throttle the bandwidth to simulate the relative speeds of 2G and 3G networks.

    Other useful goodies from the session included and awareness of the Compact Framework 3.5 PowerToys distribution. I was aware of previous generations of PowerToys for mobile devices but this one passed me by somehow. Any way it includes a Compact Framework Windows Communication Foundation proxy client generator tool. This enables the building of code generated proxies - and avoids the need to manually add a web reference via Visual Studio. This can have advantages when trying to retain a specific proxy client version as it avoids accidental updates to web references.

    Demos and "Aerial Object Distribution"

    Certainly one of the most entertaining session of the day was provided by the "triple act" of Jason Langridge, Lake Ue Tan and Rob Tiffany in the Windows Mobile Smackdown session. This consisted of masses of demonstrations of the latest fantastic Windows Mobile 6.1 devices and raft of new applications. This was interspersed with the throwing of large quantities of giveaway items (including mobile batteries) into the audience.

    On a more serious note what was most significant from a hardware  perspective was the presence of high spec , cameras, GPS, high speed data access and accelerometers in all the devices.

    From a software point of view what was noticeable was the sheer variety of immersive, innovative UI interfaces that these devices now bring to the market. Although the ageing Windows Mobile user interface is still there underneath,  many of these user interfaces and a range of new applications, make particular use of the accelerometers in devices such as the Htc Touch Diamond and Htc Touch Pro to provide gesture based interactions. All of the applications seemed very responsive and intuitive.

    Also significant was the number of Windows Mobile UI applications coming to market that have a highly connected relationship between the mobile device, its data and network web portals. These ranged from online backup tools, to social networking sites through to gesture based games. All of the applications integrated seamlessly between data and the corresponding web functionality. Of particular note was an offering that allowed access to Microsoft's Live Mesh solution to allow mobile data to be synchronised from the device to the "cloud".

    If this is an indication of the health of the Window Mobile OEM and VAR market then despite the growing competition the future looks very promising.

    Windows Mobile Security

    Mobile security is one of those areas that I thought I had an approximate understanding of the area but whenever I tried to do something practical with it, you always realised how much you don't know. Such was the case with the interactive presentation given by Marcus Perryman on Windows Mobile Security. Marcus has a wealth of Windows Mobile experience and now works closely with the Windows Mobile product groups.

    Although essentially a whiteboard and interactive session Marcus's explanations meant that for the first time I got a fully complete handle on all the aspects of two-tier security, key stores for each level of privilege , code signing, certificates for particular types of interaction.  You can find a good summary of this security model at this MSDN location  I had mostly understood this area but my knowledge often fell down around the question of why if certificates and code signing were needed, didn't commercial apps need signing by each and every mobile operator?

    It turns out that as part of the Windows Mobile partner agreement each mobile operator needs to pay for and ship a general set of certificates on each device. As part of the MobileToMarket and other initiatives Microsoft then ensures that applications are then code signed with the relevant part of each of the certificate key. It all fits a little better into place.

    Most of the policies and certificate settings around these areas can be viewed using the Security Configuration Manager tool . This is a PowerToy that allows developers to build up the XML contained in a .cpf file by a visual tool rather than by hand crafting. Further details are at: http://msdn.microsoft.com/en-us/library/bb158510.aspx

    The session also covered the security offered by System Center For Windows Mobile Device Manager via its provision mechanisms, centralised control over uses policies and the Mobile VPN it utilises for communication.

    Anyway a useful session.

     

  • TechEd EMEA 2008 - Day One - "Dublin" - WCF and WF Hosting

    Day one finished up for me with a session on "Dublin" the codename for the recently announced hosting and management mechanism for Microsoft WF (Worklflow Foundation) and Microsoft WCF (Windows Communication Foundation).

    To give a basic high level summary "Dublin" offers the following capabilities:

    WCF Application Reliability

    In addition to being hosted in IIS -  Dublin will provide tracking capabilities and perisitence for WCF messages. WCF message requests  are therefore monitored and perisisted in SQL Server databases. This allows persisted or suspended messages to be viewed in the database,  in order to examine and monitor the precise information flow for unhandled exceptions etc. Persisted messages can be restarted following failure and state preserved. 

    Different tracking profiles can be used within Dublin, to allow viewing of message handling from a number of perspectives.

    Application Version / Routing

    This feature in "Dublin" allows routing based on based on message type / version etc, using ,Net Framework 4.0 correlation mechanisms. This feature also supports the definition of multiple destinations and the use of rules to determine which destination a message is routed to. These filters are XPath query based. A great use of this is the ability to route of requests based on version for instance from an old service version to a new one. Alternatively it allows the partitioning of service requests based on priority or other characteristics. This in turn is based upon some of the base SOAP routing capabilities.

    Deployment

    This mechanism uses the existing msdeploy technology provided by IIS and allows the deploy of artifacts to more than one server. Via powershell it would be possible to perform distributed deployment. IIS shared configuration features helps ensure that all deployed servers can be configured in a consistent manner.

    Many of these technologies are not necessarily new and elements of these are already provided by Windows Application Services and IIS in the existing Windows Server 2008 version. What "Dublin" does is package these together with a management API to allow easy access and utilisation of these technologies in a consistent manner.

    These are significant technologies which should ease much of the potential operational deployment and management pain associated with some WCF solutions. They will allow effective ongoing monitoring and fault-tolerance of service requests.

    For me these technologies can't arrive soon enough for production use as there are currently gaps in provision.

    Once these tools are complete they should be available as a free download for an existing Windows Server 2008 instance.

  • TechEd EMEA 2008 - Day One - KeyNote, Visual Studio 2010 and Architecture Anti-Patterns

    I'm attending TechEd EMEA 2008 and day one is now complete. My role in Charteris has now changed to encompass a much wider technical role so these posts from Barcelona will encompass a wider range of  topic.

    Day one of TechEd kicked off with a keynote given by Jason Zander, General Manager, Visual Studio Team. He focused almost exclusively on the new features of Visual Studio 2010, many which had been previously unannounced. The emphasis was on making many tasks easier and more productive. Key features included:

      • Improved code visualization and comprehension tools

      • Code history tracking and replay mechanisms to eliminate the so-called "no-repro" issue.

      • Test Lab Management tools

      • Better built-in Sharepoint development tools and explorer technologies

      • Multi-Processor support for managed and unmanaged code.

      • Flexible configuration control for easy transformation of configuration values across environments.

      • Full WCF and WF project templates.

          David Myers has covered the "no-repro" issues extensively on his blog on this site so I can't add too much new to this. Instead one of the other most significant features for me was the code visualization and comprehension tools. One of the key challenges of many enterprise scale projects I have worked on,  has been how to bring additional developers on to a project and allow them to understand the existing code in a short time period.

          Visual Studio 2010 addresses these needs by providing tools to dynamically generate diagrams that map the references and interlinkages between code assemblies. Additional tools also the automatic generation of UML 2.1 sequence diagrams for code methods and functions. In my view these can be really powerful tools to quickly document existing development artefacts and allow the flow of applications to be more easily understood. They can easily adjust to the dynamic nature of software.

          There is still a long timeframe until we see the final software releases, but hopefully these features should be a significant aid to developers.

          This was followed by a really good presentation by Miha Kralj, a Microsoft Architect. In a really pragmatic, entertaining session he covered many of the common architectural "anti-patterns" that cause so many software projects to falter. For each anti-pattern there was a relevant case study and practical steps to reduce the relevant risk. Towards the end of a session was interesting of code Whilst not totally radical in nature it encapsulated so much implicit good practice in one session, by detailing the bad practice, that it was a valuable for both developers and architects alike.

        More Posts Next page »

        This Blog

        Syndication

        News

        Powered by Community Server (Commercial Edition), by Telligent Systems