Charteris Community Server

Welcome to the Charteris 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. Think Mobile.

November 2008 - Posts

  • 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.

        • Google G1 Device - Androids and Application Platforms

          Whilst in the United States a week or so ago, I got to take a look at the much hyped new Google G1 phone being offered  by T Mobile. In my view all the reports are true - it certainly isn't going to win any beauty contests!. Its very monolithic and industrial in its design and I'm not sure how much consumer abuse its "innovative" hinged screen will take. It is a design from Htc however so it should stay the course. The OS also seems responsive and usable enough, though in some ways not as comprehensive as Windows Mobile.

          To me the most important aspect of the G1 is not the phone hardware but its use of the Android 'open source' platform.  Essentially what Google are doing with the G1 is providing a a portal device that provides easy dedicated access for many of the Google applications (Google Maps, GMail, Google Search) in a mobile format. Imagine the possibilities for significant location based applications,  where the GPS feeds its location to Google search to find the nearest restaurant, cinema etc and automatically links to the correct Google Map to get you there.

          All of this provided out of the box with dedicated buttons and no need for additional applications. As is it is technically an open source platform there are also possibilities for vertical niche applications on the device. It is the integration and bringing together in one place rather than individual technology features here which are key.

          I am attending  the Microsoft TechEd EMEA event in Barcelona this week so it will be interesting to see how some of the Microsoft mobile development sessions stack up against some of the elements introduced by the G1.

          I will blog with all the issues I encounter at TechEd.

        This Blog

        Syndication

        News