Charteris Community Server

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

Roger Whitehead's blog.

Reflections on architecting and implementing Microsoft mobile and web technologies.
  • Windows Phone 7 & Htc Devices – Connecting to “Hidden” Wifi Access Points

    Well its been quite a while since I last posted due to everyday pressures so I thought I’d better put that right. This might be of interest to those of you with Windows Phone 7 devices.

    Due to an increased level of home working and a lack of effective mobile phone signal coverage at home I have been investigating HTC Mozart Windows Phone 7 (WP7) device to Wi-Fi connectivity. This is primarily in relation to a need to use the fantastic Microsoft Lync Mobile 2010 for calls and instant messaging. I’ll cover this in a separate blog later.

    Windows Phone 7 has a well known “feature” / limitation that still isn’t addressed in the latest “Mango” release in which Windows Phone 7 devices cannot “see” Wi-FI networks which have hidden SSID values. As this is a initial security action common to many networks this can be limiting. As there is also no explicit file transfer facility in the PC Zune software outside of media files it is also difficult to upload certificates etc to allow certificate protected access. There are unsupported kludges for this however but none are particularly attractive….

    Luckily the Windows Phone 7 OS build on my HTC Mozart 7 has the simple HTC “Hidden Wi-Fi” App pre-installed. This effectively allows you to enter and save the name of the hidden SSID into a list of registered networks. The standard Windows Phone 7 wireless connectivity setup is then able to “see” the specified wireless network. Once you match the settings on the phone to the appropriate security settings of the chosen wireless network,  it then connects like a dream. I am guessing the Hidden Wi-Fi app allows the updating of the visible wireless networks setting (via a registry or config setting) that WP7 can then use in the normal manner.

    Battery life on my HTC  with wireless use also appears to be holding up fairly well.

    I’ve looked for the Hidden Wi-Fi app on Zune Market Place and can’t see it listed as an HTC App. I’m assuming therefore it is only available on specific builds of HTC devices for certain operators (Orange in my case) so it may not work elsewhere. Other similar apps may be available however. 

  • Mobile Technologies To Watch In 2010 & 2011

    I caught site of this useful Gartner article on mobile technologies to watch out for in 2010 and 2011. Rather than repeat it all in this blog I’ll just give you the link at:

    http://www.gartner.com/it/page.jsp?id=1328113 

    The comments around widgets, AppStores focussed equally on B2E and B2C channels,  and the mobile web, all look interesting from a development perspective. Mobile technologies (particular mobile web) have been an elusive “next big thing” for a while,  so the realising all of the promise is key. Much of this will come down to ability to package the technology into usable and universal formats.

    Many of the technologies listed are evolutions of what is already out there in the market place. Perhaps with the publicity hype and profile created by the IPad and the promised ubiquity of this technology in all devices (not just the high end ones), the reality may be a shorter step away. 

  • Getting Ahead - Windows Phone 7 Series Developer Training Kit Announced

    For those of you itching to get ahead with Windows Phone 7 Series development, Microsoft have just announced a Windows Phone 7 Series Developer Training Kit. This is aimed at beginners onwards and caters for all the new technologies announced in Windows Phone 7 Series, including XNA, Silverlight etc. You don’t need to be an expert in these technologies to benefit, you just need a knowledge of Visual Studio and Microsoft .NET Framework.

    The following course units are covered:

    • Getting Started with Windows Phone
    • Silverlight for Windows Phone
    • XNA Framework 4.0 for Windows Phones

    I am part way through the first unit at time of writing.

    Windows Phone 7 promises to be an interesting release and there is a lot riding on it for Microsoft. As XNA is one of the technologies underlying the Xbox 360 Gaming console it promises to be particularly interesting in that arena.

    If you want to find out more about the kit and download it, you can do so at:

    http://channel9.msdn.com/learn/courses/WP7TrainingKit/

  • Cloud Computing - Seeing Through The Mist – An Introduction

    Progress But More To Do

    Over the past nine months,  I have been getting increasingly involved in the world of Windows Azure and Cloud Computing and its usage in the world of custom development with web and mobile applications. With Windows Azure officially launched and operational, an enterprise looking to put part of their IT infrastructure and business processes into a cloud-based environment, now has some significant alternatives to choose from, with all the major online players (Microsoft, Google, Amazon) represented.

    Significant technical and regulatory challenges remain in the area of data security and integration. In turn,  many of these challenges are both cultural and geo-political in origin. However the ease and flexibility of delivering cloud solutions is progressing with each evolution of the toolsets.    I’ll be covering further aspects of this and its integration to the .Net and Windows Mobile worlds in future articles.

    Virtually There….Or There….

    Broken into its component elements, Cloud Computing is not a new concept. The idea of centralised provision of IT facilities, commodity priced server hardware  and the provision of ubiquitous network bandwidth have all been around for a very long time (remember mainframe bureaus anyone?) . What is key to the growth of cloud computing is the coming together of these technologies with the ability to virtualise operating systems and platforms and deploy at short notice.  This enables multiple often un-related virtual machines to reside on one physical host. These “virtual machines” can be moved, duplicated and started at will and are key to the flexible nature of cloud provision. The more constant and homogenous the virtual platform image the easier the operational management aspects.

    The greater the degree of virtualisation the greater the ability to scale application provision on demand. Economies of scale mean that if a third party has enough virtual capacity and can manage and guarantee the service levels needed,  they can rent the virtual platform to whoever needs it. The whole cost model is built on demand being elastic so that varying levels of spare capacity is always available to service the needs of other organisations. Correspondingly solutions which require continuously high level of custom resource provision,  for long periods,  tend not to extract the maximum value from many cloud computing charging models.

    ‘Cloud Computing’ – a problem of definition

    Although the technology choices may be getting clearer, the sheer volume of marketing hype and differing interpretations,  mean that it is often unclear what exactly is meant by the term “Cloud Computing”.  Different institutions and commercial organisations have different definitions for this depending on their heritage and technology preference etc.  However, there are several common agreed scenarios commercially available as follows:

    • IaaS – Infrastructure-as-a-Service – this is largely based on the provision of virtualised infrastructure platforms by a third party. A customer can run and manage their own operating system platforms (patch levels, deployed software etc) but the third party manages the underlying infrastructure. Cost is normally based on resource usage and some form of metering mechanism.  
    • PaaS - Platform-as-a-Service – this uses virtualisation to deliver both application and operating system, Applications are decoupled from specific infrastructure locations and provision is increased and duplicated to match the anticipated and actual levels of user demand. Costs are normally based on resource usage, agreed service level and levels of inbound and outbound data.
    • SaaS – Software-as-a-Service – this is a fully managed application delivered to a customer as a service. Application software facilities are effectively rented, often on a per user per month basis. Customisation in a limited form is usually permitted but very often only via changes made by the cloud provider.

    Inside Or Outside The Enterprise – ‘Private’ versus ‘Public’ Cloud

    The pure definition and implementation of most of these concepts would consider them to be deployed totally externally to the organisation and run by a third party on the their behalf.  For many organisations such (banks, central and local government etc) the regulatory or data security concerns means that a “public cloud” offering is simply not viable. Some large organisations also have made very significant investments in very large data centres that are equally capable of running similar solutions but in a secure “private" cloud manner.  Solutions for this space are only just starting to emerge in the UK and USA  but when combined with virtualisation this will be a growth technology area for specific sectors. The benefits are only truly realised however in very large enterprise scale where redundant infrastructure capacity can be harnessed and delivered.

    Arise the Hybrid…..

    Many more astute organisation are learning that greater benefits can be obtained by the use of ‘hybrid clouds’. These maximise the cost and availability benefits of any public cloud offering where appropriate, but also obtain the maximum value from existing internal investment and functional provision.  Toolsets and frameworks such as Windows Azure Platform AppFabric are increasing progressing, so as  to allow solutions which use on-site and cloud integrations together in one place.

    I’ll return to this subject of Cloud Computing in future posts, as there are many technical and non-technical issues to consider. We’ll also look at the key high level issues in moving applications to cloud based platforms.

    Useful Articles

    In the meantime,  to find out more information about Cloud Computing it is worth taking a look at the following sources:

    • Above The Clouds Paper – University of Berkeley – often considered one of the “classic” cloud computing academic papers. It covers the theoretical concepts behind cloud computing and can be found at: http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.html
    • ‘Outlook: partly cloudy with sunny spells to follow’ – this is a paper on Hybrid Cloud computing and many other aspects of Cloud Computing by Matt Deacon from Microsoft and Dan Scarfe from Dot Net Solutions Ltd, which is available here.
    • Windows Azure Platform – A series of white papers on Windows Azure are available at http://www.microsoft.com/windowsazure/whitepapers/
  • 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

     

More Posts Next page »

This Blog

Syndication

News

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