Andrew Coates ::: MSFT

It's all about community!

May, 2008

  • Andrew Coates ::: MSFT

    Developing an add-in for multiple versions of Office


    One of the common questions I get asked when I do sessions on VSTO/OBA development is "how can I target Office 2003 and Office 2007?" (I also get asked about previous versions of Office, but I have a less helpful response there). Mary Lee's done a great post about this very topic as has Andrew Whitechapel (Can you build one add-in for multiple versions of Office?). There's also an MSDN page (Creating Solutions for Multiple Versions of Microsoft Office).

    Of course, there are a few questions you need to ask yourself when you're considering going down this path. Especially with Word, Excel, Outlook and PowerPoint, the UI is radically different. If you're really taking advantage of the platform, you need to consider whether it's feasible to package the common logic in a library and deploy just a UI wrapper that is suited to the target app.

  • Andrew Coates ::: MSFT

    More TechEd Conversations


    One of the tools we're using at TechEd Australia this year to facilitate the Connect pillar is called (aptly enough) TechEd Connect.

    Join Me at Tech·Ed Connect!

    Here's the US version of the card I can insert on my blog and use to find like-minded geeks to hang out with while I'm in Orlando.  We're planning to have the same thing here. Stay tuned.

  • Andrew Coates ::: MSFT

    WOW! It's the Technology of TechEd Track


    Following Kleefy's not so unexpected announcement, I've taken over the Technology of TechEd Track for this year's TechEd Australia event. Here's the spiel that I wrote for the track.

    Come on a journey behind the scenes at Tech•Ed. This track will take you end-to-end in the technology deployed to make the event the showcase it is. From hardware planning through network analysis and contingencies to application development and deployment including stops in Security and Management, mobility and virtualisation. Hear how it was done from the practitioners who made it happen.

    Here's our current thinking for the track sessions - let me know what you think:

    Track KickOff

    What is this track anyway? Why should I come? Who are the speakers and what can they tell me? How do I start a conversation with the people who can help me with my pain points? All these and more will be answered at the ToT Track Kick-Off.

    Building the hardware for CommNet - a lesson in hardware performance

    Part of a good enterprise deployment is the selection and configuration of the hardware. In this session we show you how we set up the hardware for TechEd and configured it for performance.

    Deploying Clients and Servers en masse

    The next step is to get our base platforms installed. This session shows how this gets done in an automated way that complies with a standard server build methodology. We will use tools like Windows Deployment Services and Windows Automated Installation Kit (WAIK) to provide the best way to deploy both servers and clients.

    Building SQL Servers for high performance

    In the last session we covered the base platform deployment for client and server. In this session we cover SQL server installation and configuration and provide the best options and choices for performance and high availablility.

    Managing applications and services using SCOM and SCCM

    As we roll out base platforms and applications, we need to make sure we can manage them easily and efficiently. Doing this bit right means a better service to the business and an ability to cover more services with less resources. This session demonstrates deployment and configuration of SC Operations Management and SC Configuration Manager and shows how you can get lots done!!

    Securing CommNet using Forefront and ISA

    Once we start to expose services to the Internet, stuff gets more complex. We end up asking questions like: Have we covered security services hardening? How can we expose this stuff to the Internet in a secure way. This session shows how we configured our live environment and exposed it to the Internet using ISA Server and implemented Forefront Client Security.

    Quick and Easy Application Delivery for Windows Vista and Terminal Servers

    We have the base platform, security and management services its time for the applications. In CommNet we have Terminal Servers and Windows Vista clients. This session demonstrates how to build applications that deploy out using streaming application virtualisation technologies that take the headache out of applications delivery - for both platforms at once!

    Terminal Services configuration, thin client delivery and scalability learnings

    The last piece in the service delivery of CommNet is the Terminal Server deployment. With the majority of CommNet being delivered in this way means that these servers need to scale. This session shows how we built them for scale, deployed the applications to them, continue to monitor them and you can access them from anywhere!

    Oh wait! TechEd just merged with another event....a demonstration in identity management through acquisition

    Application Virtualisation – the best of both worlds

    The CommNet thin client experience is a combination of light-weight client hardware and sophisticated server technology. Join the experts from HP who delivered the outstanding end-user experience that Windows Server 2008 facilitates.

    Implementing RFID with BizTalk server

    You will by now have noticed the use of RFID for session management. Deploying a large scale solution for an event like TechEd is not without its challenges though and as such required careful planning and consideration. This session will show you what it took to get this running, how easy it was to get BizTalk working with RFID and the practical applications you can use it for.

    Delivering Reporting Solutions for Predictive Analysis with SQL 2008

    Putting the Software in S+S

    TechEd in the Palm of your Hand - Mobile Commnet

    Monitoring Infrastructure in an Ad-Hoc, Heterogeneous World

  • Andrew Coates ::: MSFT

    The Portal is Dead! Long Live the Portal!


    I had a great time presenting at the Perth SharePoint User Group last Tuesday. I've uploaded my deck to my SkyDrive if you're interested.

    The session talked about surfacing relevant information in the context in which it's needed. The example I gave is of a sales person who gets an email from a customer requesting an increase in the number of widgets in their current order from 1000 to 1500 units. Traditionally, this has meant that as the sales person I would have to do the following things

    1. Look up the customer in the CRM system to find the contact history for the company and a link into the accounting system
    2. Look up the company in the accounting system to check that they've got sufficient credit
    3. Look up the widget code in another module in the accounting system to check that we've got sufficient stock to fill the order
    4. If we don't have sufficient stock on hand, look up the widget code in the ERP system to see when we expect to have the stock available
    5. If that's not soon enough, look at another module in the ERP system, as well as in the CRM system and the accounting system to find which of our other customers' orders we can defer to fill this change.
    6. If I work out that it's possible and sensible to increase the order, change the order in the accounting system (and any other orders that may have been affected) and the details in the ERP system to reflect the change(s)
    7. Finally, go back to my email system and respond to the customer with my decision. Update the details of the contact with the customer in the CRM system.

    That sequence of events takes some time to achieve and, perhaps more importantly, requires a switch of context every time I switch systems (count 'em, there are 11 context switches in the 7 steps above!)

    The promise of Office Business Applications (OBAs) is that this context switching will be significantly reduced or, potentially, eliminated completely. If, instead of the sequence above, I had the relevant information available as a part of the email then I could make and communicate my decision in the context of that email.

    At the session there was a bloke sitting up the back who asked some very pertinent questions about what this session meant for the portal, and in particular for all that stuff we'd been saying about using SharePoint as the place people go to discover stuff, anything, they need to know about the organisation. Yesterday I got an email from that bloke, who turned out to be Jeremy Thake, pointing me to a great post he'd done after thinking more about the session and the questions he'd raised.

    Jeremy's first concern seems to be that I positioned the Office Client tools as the place to get all the information you need, but for the past n years he's been hearing the message from Microsoft that SharepPoint is the the presentation layer for all of your back-end systems.

    "Why not go to SharePoint for these things? Isn't that what the Business Intelligence Pillar of the SharePoint stack is for (Dashboards and Reporting Services, Excel Services Integration)?"

    On the surface, he seems to have a point, but one of the key themes I was emphasising throughout the presentation was the ability of OBAs to surface contextual information that's applicable to the task or question at hand. I don't think this precludes the portal as an appropriate place to surface key business information, in fact there are a number of scenarios where it's eminently suitable. Of course, the portal's not just the presentation layer. It's also a set of services that can be consumed by the contextualised applications. It provides a repository for the information created by the use of client applications. It centralises the dissemination of information.

    Jeremy's next concern is based on the premise that if we give users a richer experience than what they can get through a web page, they'll want to use it:

    "My main concern is that by pushing the Information into Office applications, it will obviously look a lot more feature rich and perceivably be faster than any web page in SharePoint. I understand that Office development has been around a lot longer than I've been writing code, but this seems like a pretty aggressive marketing push based on the information out there"

    Well, yes, I guess that's true. We've always talked about the spectrum of reach to rich (by the way, I love the fact that Jeremy's linked to Erika's blog - I've been addicted to it for a while now). My concern is that if we only focus on the reach and exclude the rich then our users won't thank us. To be fair to Jeremy, that's not exactly what he's asked for. He wants us to spend more time making the portal richer. That's a laudable goal (and one towards which we're constantly striving), but the fact remains that the rich client experience will always beat the web experience. With the constant improvement in the client platform, with integration with the video game quality graphics engine, the search, the RSS feed store, the networking awareness, the improvements to the Office UI and more, we'd be doing our users a grave disservice not to take advantage of it.

    Next, Jeremy raises the question of Office Development (although I think he mainly means deployment). He comments on the model of apps being available offline and somehow makes this sound like a bad thing. I do understand that some people want complete control over the environment at all times, but that doesn't help our users be productive wherever they are. Jeremy also says is that the ClickOnce deployment model relies on users being online. That's not completely true. It relies on users being occasionally online. This model is generally more than adequate. If there's a component of your app that relies on the cloud for critical functionality, then disable it while the user's not connected, but let them get on with the rest of their work without being tied to the cloud (that's a beautiful image isn't it?)

    Jeremy then asks "Where does SharePoint fit?". I don't think anything's changed. SharePoint is a great aggregator, portal and source of services. You surface the information it provides in the client that's applicable to the task at hand. If the task is responding to an email, then surfacing that information in that email is probably the most appropriate and efficient technique. In other situations, surfacing it in a Sidebar Gadget or on a web page or as an SMS message might be more appropriate. You use the right tool for the job.

    Speaking of tools, Jeremy also had a concern about this diagram.

    Tools for Any Skill Level

    He seems to have inferred that because the word SharePoint is not listed in the "Professional Developers" sector of the diagram, that SharePoint doesn't feature in the professional Office developers' toolkit. That's not the case. Visual Studio is a great tool for deep SharePoint development work. For example, there are two new project types in VS2008 that deal specifically with SharePoint workflow.

    VS2008 New Project Dialog with SharePoint Workflow Project Templates

    So, I apologise if I gave the impression that "Office Development is far more superior to SharePoint Development", that was not my intention at all. My intention was to highlight some of the ways you can use the Office Client tools to make use of the great information aggregated and presented by SharePoint and your other LOB applications.

    Finally, Jeremy quotes Steve Balmer "[Sharepoint] is the missing link between personal productivity and Line of Business Applications" and asks where that leaves Office. My take on this is that it makes Office (client) the personal productivity bit and Office (server - including SharePoint) the missing link.

  • Andrew Coates ::: MSFT

    Content when you need it - Great training kits available


    I went to see the clever folk at Vivid Group yesterday. Being clever, they've already established an internal user group of sorts, but they're often looking for compelling content to deliver. Fortunately, I was able to point them to some great resources.

    VS2008 and .NET Framework 3.5 Training Kit

    The various Visual Studio Training Kits provide content in the form of presentations, demo code and scripts and labs. There are three flavours available at this stage:

    By the way, that link to the VPC is for one that expires on December 31 2008. will always link to the most recent version of our VPC’s for download.

  • Andrew Coates ::: MSFT

    Get twice as certified and help win your User Group $3000 worth of prizes


    As some of you know, I'm a big fan of the certification system. Well, there are only 11 days left of MS Learning's great offer to give you a free exam voucher for each MCP/MCTS credential you get before 31 May. You'll need to prove you passed by sharing your MCP transcript. Here's the skinny (for all the details, check out the TechNet site):

    You get certified, we will provide you with a FREE Microsoft Exam Voucher worth AUD$180.00.

    This offer is limited to the first 100 User Group members to pass their Microsoft exam and get their Microsoft Certified Technology Specialists (MCTS) or Microsoft Certified Professional (MCP) credentials by May 31, 2008.*

    Winners will be notified on June 20, 2008.

    How do I qualify for the “You get certified, receive a FREE exam voucher” program?

    • Pass any Microsoft Certification Exams and get your credentials as MCTS or MCP between Feb 1, 2008 to May 31, 2008.
    • To submit your exam results, please provide your MCP ID – in addition to your Transcript ID and Access Code to EARTH9 as soon as you qualify. All submissions must be made by June 10, 2008.
    • On the submission site, remember to select “I am now a Microsoft Certified Professional” radio button.
    • You will receive an online acknowledgement of successful submission.

    * Terms & Conditions apply

    The other part of this deal is that the User Group with the most members getting MCTS or MCP credentials during the period will win a hamper with about $3000-worth of goodies. Again, details are on the TechNet site.

    Finally, we're also offering heavily discounted exams to delegates who take the exams onsite during TechEd.

  • Andrew Coates ::: MSFT

    OBA Sample Application Kits Release to Web


    The VSTO team have been hard at work both with their work on .NET3.5SP1 and on other things to enhance your VSTO development experience. recently, they released a series of OBA Sample Application Kits. Christin Boyd blogged about them on the VSTO team blog, as did Erika.

    If you’re looking for guidance on how to integrate SAP or PeopleSoft into your Office applications, then the OBA Sample Application Kits are a great place to start. An OBA, or Office Business Application, is a composite application that integrates line-of-business systems with Office applications (e.g. Excel or Outlook) and Microsoft Office SharePoint Server (MOSS) 2007. These kits provide some great documentation and source code to help you get up and running quickly. The kits include:

    1. Source code for an end-to-end OBA
    2. Installation guide
    3. Solution walkthrough
    4. Technical overview document

    The kits are a free download and can be found by going to the OBA Sample Application Kits landing page on MSDN:

    Check out the kits and more by visiting the OBA Sample Application Kits site on MSDN today. Also, check out Steve Fox's blog for more information.

    These are an extension of the power of the platform. Think of them as horizontal components in a vertical market space, that is providing the functionality that anyone writing apps in that space would need. The first three kits are around SAP and PeopleSoft, then next one will also include Siebel.

    Of course, this is in addition to the OBA Reference Architectures:

  • Andrew Coates ::: MSFT

    Content from the SharePoint Forum now Available


    Alistair and I did a session at the recent SharePoint Forum on "Delivering Systems that the Users Don't Hate: Why Office and SharePoint will change the way you work" (which I'll be redelivering in a slightly technified form tomorrow at the Perth SharePoint User Group). All of the decks and the videos from the keynote and the sessions that were recorded have now been posted.

    You can access

    You can also access the keynote via live meeting with following information,

    You can now View online, the Keynote in two formats:

    • High-Fidelity Presentation (HFP) ~100 MB
    • Windows Media Player ~18 MB


    By the way, Alistair's also been blogging about the TechEd Office Track - check it out.

  • Andrew Coates ::: MSFT

    Got questions about Tech.Ed ANZ Tracks? Talk to the Track Owners.


    One of the really innovative things about the Tech.Ed Australia web site is the capability to connect directly with the Track Owners while they're formulating the content for their tracks in Australia and New Zealand. Of course, you can subscribe to their blog feeds or contact them by email, but as part of the most recent iteration of the web site, you can now also chat with them via Windows Live Messenger directly from the Tracks page.

    Chatting to a track owner from the Tech.Ed site

  • Andrew Coates ::: MSFT

    Community is where you make it


    As my blog tag says, it's all about community. Just before I went dark to go on the Wave Launch tour, I got a note from Daniel Vaughan to say he was doing a presentation to a User Group inside the firewall at his work (btw, Daniel's blogged about the presentation - Model Driven Development: An introduction to Windows Workflow Foundation and posted the deck he used). I love this concept of user groups in an organisation with a bunch of developers, and it's something I've been trying to facilitate in a number of companies. If you're interested in starting up a group in your company, please drop me a note and we can talk.


    There are some real advantages to companies who instigate and support a user group/community of practice/centre of excellence, call it what you will.

    Staff Development

    User Group meetings become a regular training session for all developers in the organisation – introduction to and discussion of current and emergent technologies and techniques

    Emergence of Experts

    Presenters on a particular topic become in-house experts, which encourages their development of that expertise. A virtuous cycle.


    Discussion of what’s going on in one group often leads to transfer of skill or knowledge to another group that is doing similar things.

    Candid discussion inside the firewall

    Because all of the attendees are internal, current projects and candid disclosure are fair game


    Developers have an opportunity to learn and to demonstrate their skills/knowledge – two significant drivers of developer morale. In fact, when I'm talking to a CxO about this idea, I go so far as to say that for developers especially, three of their major virtues are sloth*, pride** and a thirst for knowledge. This forum allows the expression of the last two of these.


    Of course, a group like this doesn't just happen, there are a few things that you need to have in place to make it a lasting success

    Exec Sponsor is Key

    The first requirement is sponsorship at a senior executive level, preferably CIO/CTO. There must be an acceptance of the concept and a willingness to mandate that developers get are allowed to make the group a priority. It's all too easy to say "we're too busy, we'll can the meeting for this month", but for the group to survive, let alone prosper, it needs to happen on a regular, predictable basis. The sponsor must buy into vision of COE and be prepared to fight at highest level to keep budget and time allocations available. There may be a need to incorporate COE meetings into utilisation targets. There needs to be a decree from on high that developers are to be released to attend. There should be a succession plan in case the Executive Sponsor moves on. You might also engage with Training Coordinator

    User Group Leader

    This is the same kind of person you have running Community User Groups outside the firewall. They are an enthusiastic advocate of development tools, technologies and processes. Often, this person isn't a manager but an experienced Individual Contributor. It's a great position for someone who wants to be noticed doing an important job by people at a high level, but that should never be the only reason to give that person the job. Of course, the work this person does needs to be recognised in their goals for this role. You also need a succession plan in case the Group Leader moves on, and in some cases an assistant or co-leader is a good idea.

    Location and Timing

    This needs to be immovable and recurring. This means that it goes into people’s diaries as a “do not miss” event and they get there almost on remote control. COE must be a habit.


    A key driver of satisfaction with COE is quality content well delivered. Having 6 months content at the start means that the Group Leader can work with the content delivery people to make sure their content is spot-on. 3 months lead time is generally sufficient once the habit is established. This is the main task of the GL.

    We (MS) can help by providing content to the GL for redelivery within the org (e.g. TechEd DVDs with pptx decks and recordings of the sessions for the presenters to learn from). A meeting might look something like this:

    Time Topic Presenter
    2:00-2:15 Welcome, Q&A Group Leader
    2:15-3:15 Technical Presentation
    (e.g. "Using Windows Communication Foundation to Interface with SAP")
    Developer/Architect from within organisation
    3:15-3:30 Break All
    3:30-4:00 Project Presentation
    (e.g. "Project Blackcombe: Challenges, Solutions and Status")
    Project Blackcombe lead developer
    4:00-5:00 Drinks/Networking All

    Optional Extras

    I love the idea of giving people in your organisation incentives for contributing to the group. I'd recommend catering the meeting (lunch or end of day generally works well, although I've known breakfast to be a winner too in some organisations). It's also worth considering providing speakers with a small gift. A shirt works well (company logo, a user group logo etc) as does some kind of geek gadget.


    Setting up and running a group like this is not expensive, in fact for about $6.50 a meeting plus a time contribution you get a lot of return. Here's how I arrived at that number:

    Item Cost
    Speaker Shirts - 25@ $20 ea (2/meeting + 3 spare)> $500.00
    Catering - $5/attendee (11 meetings, 30 attendees) $1,650.00
    Total $2,150.00

    That's $6.50/mo/attendee. In addition, you should allow 3 hr/mo/attendee, 10 hr/mo speaker prep, 8 hr/mo group leader prep.

    How can we help?

    We've got some resources available to help make your group a success. Firstly, I (or someone like me) am available to present this to a potential executive sponsor. Next, there's a MOSS template that was developed by some of the US evangelism team to help you run the group. We've got a bunch of content available (for example the TechEd DVDs for the past few years) with PowerPoint decks and videos of the sessions being delivered and finally, we can organise the occasional guest speaker from Microsoft to present at your group.

    If this is something you'd like to make work in your organisation, then drop me a note.

    * Sloth - the kind of laziness that would rather spend 4 hours writing a generic text import module than 1 hour re-keying data.

    ** Pride - but only showing off to other geeks professionals who actually understand what they're talking about.

Page 1 of 3 (25 items) 123