Some thoughts on modern communications and avoiding the “time-Hoover”

Last week I was reading an article by Shelley Portet looking at how poor productivity and rudeness are influenced by technology interruptions at work. As someone who’s just managed to escape from email jail yet again (actually, I’m on parole – my inbox may finally be at zero but I still have hundreds of items requiring action) I have to say that, despite all the best intentions, experience shows that I’m a repeat offender, an habitual email mis-manager – and email is just the tip of the proverbial iceberg.

Nowadays email is just one of many forms of communication: there’s instant messaging; “web 2.0″ features on intranet sites (blogs, wikis, discussion forums); our internal social networking platform; business and personal use of external social networks (Twitter, LinkedIn, Slideshare, YouTube, Facebook… the list goes on) – so how can we prepare our knowledge workers for dealing with this barrage of interruptions?

There are various schools of thought on email management and I find that Merlin Mann’s Inbox Zero principles work well (see this video from Merlin Mann’s Google Tech Talk using these slides on action-based email – or flick through the Michael Reynolds version for the highlights), as long as one always manages to process to zero (that’s the tricky part that lands me back in email jail).

The trouble is that Inbox Zero only deals with the manifestation of the problem, not the root cause: people. Why do we send these messages? And how do we act on them?

A couple of colleagues have suggested recently that the trouble with email is that people confuse sending an email with completing an action as if, somehow, the departure of the message from someone’s outbox on its way to someone else’s inbox implies a transfer of responsibility. Except that it doesn’t – there are many demands on my colleagues’ time and it’s up to me to ensure that we’re all working towards a common goal. I can help by making my expectations clear; I can think carefully before carbon copying or replying to all; I can make sure I’m brief and to the point (but not ambiguous) – but those are all items of email etiquette. They don’t actually help to reduce the volumes of messages sent and received. Incidentally, I’m using email as an example here – many of the issues are common whatever the communications medium (back to handwritten letters and typed memos as well as forwards to social networking) but, ultimately I’m either trying to:

  • Inform someone that something has happened, will soon happen, or otherwise communicate something on a need to know basis.
  • Request that someone takes an action on something.
  • Confirm something that has been agreed via another medium (perhaps a telephone call), often for audit purposes.

I propose two courses of action, both of which involve setting the expectations of others:

  1. The first is to stop thinking of every message as requiring a response. Within my team at work, we have some unwritten rules that: gratefulness is implied within the team (not to fill each others’ inboxes with messages that say “thank you”); carbon copy means “for information”; and single-line e-mails can be dealt with in the subject heading.
  2. The second can be applied far more widely and that’s the concept of “service level agreements” for corporate communications. I don’t mean literally, of course, but regaining productivity has to be about controlling the interruptions. I suggest closing Outlook. Think of it as an email/calendar client – not the place in which to spend one’s day – and the “toast” that pops up each time a message arrives is a distraction. Even having the application open is a distraction. Dip in 3 times a day, 5 times a day, every hour, or however often is appropriate but emails should not require nor expect an immediate response. Then there’s instant messaging: the name “instant” suggests the response time but presence is a valuable indicator – if my presence is “busy”, then I probably am. Try to contact me if you like but don’t be surprised if I ignore it until a better time. Finally, social networking: which is both a great aid to influencing others and to keeping abreast of developments but can also be what my wife would call a “time-Hoover” – so don’t even think that you can read every message – just dip in from time to time and join the conversation, then leave again.

Ultimately, neither of these proposals will be successful without cultural change. This issue is not unique to any one company but the only way I can think of to change the actions and/or thoughts of others is to lead by example… starting today, I think I might give them a try.

[This post originally appeared on the Fujitsu UK and Ireland CTO Blog.]

A £5 homebrew Kinect sensor mount for a flat-screen TV

A few months ago (yes, it’s taken me that long to get around to posting it – sorry Stuart), my colleague Stuart Whatmore sent me some information he thought might make a good blog post.  Like me, he purchased a Microsoft Kinect sensor – but he had issues with it operating at a low level (i.e. below his television).

I have an “old-skool” CRT TV (I still reckon that my 13-year-old Trinitron will outlast most LCD panels I could buy today), so my Kinect sensor sits happily on the top of the telly, but Stuart has a handy tip for those who would like to mount theirs on a newer TV.

At the time, there was no official bracket available in the UK (I looked this week and Play.com lists a variety of options but they don’t come cheap – the official TV mount kit is £36.99) but Stuart’s solution uses an upturned bookend from Staples (which cost around £5), a bolt attached to the wall-mounting bracket, and some sticky pads (two under the bracket and two under the Kinect sensor).

Stuart Whatmore's Kinect bracket

Stuart notes that “The bolt on the picture needs reducing in size and the only caution is to ensure you do not screw through to the TV screen”! It sounds like a workable solution to me – but I take no responsibility for anyone else’s actions as a result of reading this blog post.  Personally, I’m tempted to try the official wall mount kit.

Global Corporate Challenge 2011 (#2011gcc)

Global Corporate ChallengeToday marks the start of the 2011 Global Corporate Challenge (GCC) and I’m really pleased to be a member of one the Fujitsu UK and Ireland teams that are taking part. The GCC is the world’s largest and most exciting corporate health initiative, in the form of a pedometer based walking challenge where employees engage in a virtual walk around the world for 16 weeks. I already walk from London Euston station to Baker Street (and back) on the days that I’m in the office but the GCC should help me get a little more active and shed some more pounds (which will help my Fit at 40 challenge), whilst competing against other teams (and hoping to beat our colleagues down under).

Based on an average of 12,000 steps per day, Fujistu UK and Ireland’s 15 teams should be able to acheive a total of 139,860,000 steps (89,510 km/55,619 miles) and:

  • Avoid 241.4 days of absenteeism.
  • Lose 525kg/1,157lbs in weight.
  • Increase our ability to handle stress by 40%.
  • Increase our quality of sleep by 40%.
  • Achieve an increase in overall health and wellbeing of 40%.
  • Including a 42% increase in energy.
  • Increasing productivity by 40%.

We’ll also avoid carbon emissions of 3.36 tonnes and the corporate sponsorship means that we’ll support some worthy causes too.

The Global Corporate Challenge runs until 6 September.

Best of Microsoft Management Summit 2011 (#mmsuk2011)

A couple of weeks ago, I spent a day at Microsoft’s Best of MMS 2011 event in London – reacquainting myself with the latest developments in System Center. It was a pretty full day (and a pretty full venue – Microsoft’s London offices are far from ideal for this type of event, especially when the foyer is filled with partner booths) and there were plenty of demonstrations of product features and advantages (although, in true software vendor style, not too much focus on business benefits).

This post brings together my notes from the event, picking up the highlights from the keynote, supplemented with a few more from the individual product sessions:

  • Consumerisation is not just about devices but also management and security.
  • System Center Configuration Manager (SCCM) 2012 is about empowering users – no longer device centric but user centric – application delivery is context sensitive to the device that the user is using at that time. SCCM 2012 includes mobile device management: managing settings and policies for any device that can use Exchange ActiveSync
  • Forefront Endpoint Protection (FEP) is now using SCCM – so it’s no longer necessary to have separate infrastructures for management and security – also FEP is now part of the core CAL (as is the Lync standard CAL). New 2012 release of FEP will run on SCCM 2012 (currently it runs on SCCM 2007 R2/3).
  • Windows Intune is a cloud-based solution for light management/unmanaged PCs (no on premise infrastructure required). It includes software assurance for Windows Enterprise (so users can stay on the latest Windows release).
  • There are various marketing pitches about the cloud – but it’s really a model for computing and not a place/destination. Cloud attributes include self-service, shared (there may be some logical partitioning), scalable/elastic, usage-based chargeback.
  • IT as a service includes: IaaS (addition of infrastructure resilience); PaaS (not worried about virtual machines); SaaS (consuming an application directly from a vendor).
  • Microsoft’s own datacentre infrastructure is based on extreme standardisation; business alignment (service-specific characteristics); SLA-driven architecture; and process maturity (re-imagined processes – not just automating today’s processes but thinking about the most efficient process for tomorrow, automation, change control).
  • Private cloud is a combination of virtualisation and management – adopting public cloud practices internally… it’s not just about virtual machines and other infrastructure – it’s a full stack of management capabilities.
  • The Microsoft stack is optimised for Microsoft software but there are also some cross-platform capabilities in System Center Operations Manager (SCOM) and in System Center Virtual Machine Manager (SCVMM).
  • Cloud services (public or private) are based on a provider-consumer relationship. A typical service provider role might be a data centre administrator, whose concerns would be fabric assembly(storage/network/compute), delegation and control, flexibility and elasticity, and cost efficiency. A consumer example is an application owner, who is looking for empowerment and agility, a self-service experience, application visibility and control, and simplicity.
  • System Center codename Concero is a new (web-based) product in development for (cloud) application owners, providing a view of all public and private clouds (Windows Azure subscriptions and on premise infrastructure, not just Hyper-V but ESX and Xen too). Pick a template and build out components (different tiers) for services within existing clouds. Configure the attributes that an application owner has to manage. Not just virtual machines but other data centre hardware (load balancers, etc.) too, using SCVMM in the background to deploy.
  • Request a new cloud using a catalogue from System Center Service Manager (SCSM).
  • Delivering a private cloud is about creating logical and standardised structures (because there is lots of legacy to manage there will always be a diverse infrastructure) and delegating portions to business functions.
  • SCVMM 2012 supports creation of delegated private cloud infrastructure – create a logical cloud by defining attributes such as number of virtual machines, hypervisor choice, available service templates, and what can be done with these resources.
  • Applications need to be abstracted from infrastructure (externalised configurations).
  • Business empowerment is not about virtual machines though (SLA management – and self service too) – SCOM 2012 and Avicode (recent acquisition) give application insight to create dashboards for cloud applications and and drill down into alerts. These dashboards may be made available to managers via SharePoint web parts. SCOM 2012 also includes network monitoring.
  • System Center Orchestrator (SCO) is the new name for Opalis (process automation tool) providing run books automating operational processes.

System Center Roadmap 2011

Some SCVMM highlights:

  • SCVMM is now about far more than just virtual machines (I wonder when it will be renamed – perhaps System Center Fabric Manager?). Enhancements include:
    • Infrastructure (high availability/cluster aware, easier upgrade path, custom properties with name/value pairs, fully scriptable via PowerShell).
    • Fabric management (bare metal provisioning of Hyper-V using Windows Deployment Services and host profiles, multiple hypervisor support – Hyper-V/ESX/Xen, network management and logical modelling, storage management using standards such as SMIS, update management, dynamic optimisation, power management/smart shutdown – integrated with baseboard management controllers, cluster management).
    • Cloud management (application owner usage, capacity and capability, delegation and quota).
    • Service management (service templates, application deployment, custom command execution, image based servicing).
  • SCVMM works with SCOM for load balancing (uses a connector and rebalances when limits hit which is a reactive approach) – in 2012 it also allows proactive load balancing (dynamic optimisation). This can also be used to schedule host power-downs.
  • Self-service portal is integrated in SCVMM 2012. Console is now context-aware so it can be used by all user roles and they only see delegated resources.
  • Server App-V is part of SCVMM 2012 – separating app state from the operating system, to enable image-based servicing and slide in a new operating system instead of traditional operating system updates. It is intended for line of business apps, not SQL, Exchange, SharePoint, etc.
  • Service designer to create 3 tier applications and template them within the VMM library. Define deployment order and how to scale out. Scale out a virtual machine tier via a right click (within the service definition) – Microsoft also plans to deliver a management pack to detect service performance from SCOM and scale accordingly.
  • Roles and features now part of operating system configuration in VM templates, as are application configuration items – not just virtualised but also with scripts. Deploy service and will be intelligently placed.
  • Still support a server-based approach but trying to bring a service-based approach to deploying and managing apps in DC. This is also represented in SCOM.

More on SCO:

  • In the private cloud change happens all the time but it’s the same change each time – so management is not about approval but logging. We can remove the manual but do need the ability to chose (to cope with diversity, move at different speeds).
  • Three step process:
    • Integrate - take things (like disparate System Center products) and reference them as single entity.
    • Orchestrate - make them work together.
    • Automate - make things happen automatically
  • If we jump straight to automation, we haven’t re-imagined the process. That means that if we take a bad process and automate it, we get a fast bad process! And if that breaks things, it really breaks them!
  • SCO (Opalis) concepts include:
    • Activities – intelligent tasks with defined actions.
    • Integration packs – extendable connectors to communicate with other solutions (outbound – SCO has an application integration engine in a web service form for inbound communications)
    • Databus – publish and consume mechanism (when something happens, capture information, put it on the bus, send along as it works through the runbook).
    • Runbooks – system level workflows that execute a series of linked activities to complete a defined set of actions.
  • SCO behaves in the same way as Opalis 6.3 with some minor UI changes and some investments in functionality but no fundamental changes in the way the product works (although it will be available in additional languages). It is a 64-bit only product.
  • SCSM also has an orchestration engine that is not based on Opalis – this will remain as a separate but complementary product.
  • Some integration packs have been remediated for SCO and will be available out of the box but not all – the packs remaining are not tied to service packs, etc. and will be released out of band.

The next session was, frankly, dull, droning on about SCSM and “GRC”, and I missed the presenter introducing the term (which I now know is governance risk and compliance – it was on the title slide of the deck but there was no definition). I have no notes to share as I struggled to keep up from the start…

Moving on to System Center Data Protection Manager (SCDPM):

  • SCDPM 2006 provided centralised file-based backup (removing tapes from branches).
  • DPM 2007 included Volume Shadow Copy Service (VSS) application support for Exchange, SQL Server and SharePoint.
  • DPM 2010 included more enterprise features and client support. It still requires Active Directory but can now backup standalone machines off domain. Supported applications include Exchange, SQL Server, SharePoint, Dynamics, Virtual Server/Hyper-V, Windows Servers and Clients – and it can be used to backup SCDPM too. It can also backup highly available configurations. 
  • SCDPM can create backups every 15 minutes with one full backup, then block-level differentials. Online snapshots for disk-based recovery and tape-based backups. Initial backup can be immediate, scheduled or via removable media.
  • Many application owners use SCDPM and consider it as an extension to their application, rather than as a backup tool.
  • SCDPM 2012 introduces a centralised management  for up to 100 SCDPM 2010/2012 servers or 50,000 sources; role based management; push to resume backups; SLA-based reporting (don’t alert every failure, just those that matter); consolidated alerts (fix one problem, not 20 alerts) and extensibility via PowerShell to script known issues.
  • The console uses SCOM (it is a management pack and a few binaries) and may be integrated with a ticketing system (either SCSM or third parties products such as HP Openview via connectors). Roles are taken from SCOM (either create new roles or use existing ones).
  • Infrastructure enhancements include certificate-based authentication (where there is no NTLM trust in place) and smarter media co-location (choose specific data sources to share a tape).
  • Workload enhancements include SharePoint item level recovery, Hyper-V item level recovery (even when SCDPM is inside a virtual machine), and generic data source protection offering basic protection/recovery support for any referential data source with full application backup (full, delta and consistency check), original item recovery and restore as files to a network location, and XML support for applications without a VSS writer.
  • There is no native protection for non-Windows applications, but virtual machines with other operating systems (e.g. Linux) can be backed up – the key is VSS support.

Some of the key points I picked up from the SCCM presentation:

  • SCCM 2012 is less focused on packages and advertisements, now about applications, not scripts.
  • User-centric approach, with better support for virtual environments.
  • New models for communication between components.  Improved infrastructure architecture using SQL replication.
  • Now includes mobile device management capabilities that were previously in System Center Mobile Device Manager as well as support for “light” management of mobile devices via Exchange ActiveSync.

Finally, SCOM 2012:

  • Features simplified disaster recovery (for the SCOM servers) and monitoring improvements (so a device is monitored by a pool, not a single server).
  • Support for monitoring Linux machines was introduced in SCOM 2007 R2, 2012 includes network monitoring and application monitoring (.NET and Java, when running on Windows).
  • Network and application monitoring is not intended to be all-encompassing, but provides information to take to specialist teams and at least have an idea that there is an issue – more than just a gut feeling that the network or the application is “broken”.
  • Introduction of dashboard templates – web and console views – can publish link with others. Can also create more complex dashboards that can be integrated with SharePoint, customise data visualisations via widgets. Dashboards and widgets are delivered via management packs.
  • SCOM 2007 moved from server to service monitoring – 2012 is taking the next step.

As I look back on the day’s event I do have to congratulate the System Center product group on their openness (talking about future products in a way that helps customers and partners to plan ahead) and for running a free of charge event like this which is a great way for me to get the information I need, without the significant investment of time and money that conference attendance entails. Now, if only the Windows client and server teams would do something similar…

Slidedecks and recorded sessions from the Best of Microsoft Management Summit 2011 are available on the Microsoft website.

An alternative enterprise desktop

Earlier this week, I participated in an online event that looked at the use of Linux (specifically Ubuntu) as an alternative to Microsoft Windows on the enterprise desktop.

It seems that every year is touted as the year of Linux on the desktop – so why hasn’t it happened yet? Or maybe 2011 really is the year of Linux on the desktop and we’ll all be using Google Chrome OS soon. Somehow I don’t think so.

You see, the trouble with any of the “operating system wars” arguments is that they miss the point entirely. There is a trilogy of people, process and technology at stake – and the operating system is just one small part of one of those elements. It’s the same when people start to compare desktop delivery methods – thick, thin, virtualised, whatever – it’s how you manage the desktop it that counts.

From an end user perspective, many users don’t really care whether their PC runs Windows, Linux, or whatever-the-next-great-thing-is. What they require (and what the business requires – because salaries are expensive) is a system that is “usable”. Usability is in itself a subjective term, but that generally includes a large degree of familiarity – familiarity with the systems that they use outside work. Just look at the resistance to major user interface changes like the Microsoft Office “ribbon” – now think what happens when you change everything that users know about using a PC. End users also want something that works with everything else they use (i.e. an integrated experience, rather than jumping between disparate systems). And, for those who are motivated by the technology, they don’t want to feel that there is a two tier system whereby some people get a fully-featured desktop experience and others get an old, cascaded PC, with a “light” operating system on it.

From an IT management standpoint, we want to reduce costs. Not just hardware and software costs but the costs of support (people, process and technology). A “free” desktop operating system is just a very small part of the mix; supporting old hardware gets expensive; and the people costs associated with major infrastructure deployments (whether that’s a virtual desktop or a change of operating system) can be huge. Then there’s application compatibility – probably the most significant headache in any transformation. Yes, there is room for a solution that is “fit for purpose” and that may not be the same solution for everyone – but it does still need to be manageable – and it needs to meet all of the organisation’s requirements from a governance, risk and compliance perspective.

Even so, the days of allocating a Windows PC to everyone in an effort to standardise every single desktop device are starting to draw to a close. IT consumerisation is bringing new pressures to the enterprise – not just new device classes but also a proliferation of operating system environments. Cloud services (for example consuming software as a service) are a potential enabler – helping to get over the hurdles of application compatibility by boiling everything down to the lowest common denominator (a browser). The cloud is undoubtably here to stay and will certainly evolve but even SaaS is not as simple as it sounds with multiple browser choices, extensions, plug-ins, etc. If seems that, time and time again, it’s the same old legacy applications (generally specified by business IT functions, not corporate IT) that make life difficult and prevent the CIO from achieving the utopia that they seek.

2011 won’t be the year of Linux on the desktop – but it might just be the year when we stopped worrying about standardisation so much; the year when we accepted that one size might not fit all; and the year when we finally started to think about applications and data, rather than devices and operating systems.

[This post originally appeared on the Fujitsu UK and Ireland CTO Blog.]

Migrating mail and contacts from Google Mail to Office 365

I started to write this post in September 2008, when it was titled “Importing legacy e-mail to my Google Apps account”. A few years on and I’m in the process of dumping Google Apps in favour of Microsoft Office 365 (if only Microsoft had a suitable offering back then, I might not have had to go through this) but I never did manage to bring all my mail across from my old Exchange server onto Google.

The draft blog post that I was writing back then (which was never published) said:

First of all, I backed up my Exchange mailbox. I also backed up my Google Mail and, whilst there are various methods of doing this, I used Outlook again, this time to connect to my Google Apps account via IMAP and take a copy into a PST file. With everything safe in a format I knew how to access if necessary, I set about the import, using the Google Email Uploader to import my Outlook mailbox into my Google Apps account.

Rather than import into my live mailbox straightaway, I brought the legacy messages into a new mailbox to test the process. Then I did the same again into my real e-mail

With many years worth of e-mail to import (29097 messages), this took a long while to run (about 20 hours) but gradually I saw all the old messages appear in Google Mail, with labels used to represent the original folder names. There were a few false starts but, thankfully the Google Email Uploader picks up where it left off. It also encountered a few errors along the way but these were all messages with suspect attachments or with malformed e-mail addresses and could be safely disregarded (I still have the .PST as a backup anyway) .

Except that I never did get my mailbox to a state where I was happy it was completely migrated. Uploading mail to GMail was just too flaky; too many timeouts; not enough confidence in the integrity of my data.

In the end, I committed email suicide and started again in Google Apps Mail. I could do the same now in Office 365 but this time I don’t have an archive of the messages in a nice handy format (.PST files do have their advantages!) and anyway, I wanted to be able to bring all of my mail and contacts across into my nice new 25GB mailbox (I’ve written previously about synchronising my various calendars – although I should probably revisit that too some time)

Migrating contacts

Migrating my contacts was pretty straightforward. I’m using a small business subscription on Office 365 so I don’t have the option of Active Directory integration – the enterprise plans have this but I exported my contacts from GMail in .CSV format and brought them back into Office 365 through the Outlook web app.

One thing that’s worth noting – Google Mail has an option to merge duplicate contacts – I used this before I exported, just to keep things clean (e.g. I had some contacts with just a phone number and others with an e-mail address – now they are combined).

Migrating mail

Microsoft seems to have thought the mail migration process for Office 365 though pretty thoroughly. I don’t have space to go into the full details here, but it supports migrations from Exchange 2007 and later (using autodiscover), Exchange 2003 (manually specified settings) and IMAP servers. After a migration batch is initiated, Office 365 attempts to take a copy of the mailbox and then synchronise any changes every 24 hours until the administrator marks the migration as complete (during the migration period they should also switch over the DNS MX records for the DNS domain).

For GMail, IMAP migration is the option that’s required, together with the following settings:

Setting Value
IMAP Server imap.gmail.com
Authentication Basic
Encryption SSL
Port 993

(I only had one mailbox to migrate.)

Because GMail uses labels instead of Folders, I excluded a number of “folders” in the migration too to avoid duplicates. Unfortunately, this didn’t seem to take any effect (I guess I can always delete the offending folders from the imported data, which is all in a subfolder of [Google Mail]).

Finally, I provided a CSV file with the email address, username and password for each mailbox that I wanted to migrate.

Unfortunately, I’ve had a few migration failures – and the reports seem to suggest connectivity issues with Google (the Migration Error report includes messages like “Data migration for this mailbox failed because of delays on the remote server.” and “E-Mail Migration failed for this user because no e-mail could be downloaded for 1 hours, 20 minutes.“. Thankfully, I was able to restart the migration each time.

Monitoring the migration

Monitoring the migration is pretty straightforward as the Exchange Online portion of Office 365 gives details of current migrations. It’s also possible to control the migration from the command line. I didn’t attempt this, but I did use two commands to test connectivity and to monitor progress:

Test-MigrationServerAvailability -imap -remoteserver imap.gmail.com -port 993

and:

Get-MigrationStatus

Details of how to connect to Office365 using PowerShell can be found in my post about changing the primary email address for Office 365 users.

Points of note

I found that, whilst a migration batch was in process, I needed to wait for that batch to finish before I could load another batch of mailboxes. Also, once a particular type of migration (Exchange 2003, 2007 or IMAP) has been started, it’s not possible to creat batches of another type until the migration has been completed. Finally, completing a migration can take some time (including clean up) before it’s possible to start a new migration.

Wrap-up

It’s worth noting that Office 365 is still in beta and that any of this information could change. 24 hours seems a long while to wait between mailbox synchronisations (it would be good if this was customisable) but the most significant concern for me is the timeouts on mailbox migrations. I can rule out any local connectivity issues as I’m migrating between two cloud services (Google Apps Mail and Office 365) – but I had enough issues on my (single mailbox) migration to concern me – I wouldn’t want to be migrating hundreds of mailboxes this way. Perhaps we’ll see third party tools (e.g. from Quest Software) to assist in the migration, comparing mailboxes to see that all data has indeed been transferred.

Changing the primary email address for Office 365 users

In my recent post about configuring DNS for Office 365, I mentioned that Microsoft creates mailboxes in the form of user@subdomain.onmicrosoft.com.  I outlined the steps for adding so-called “vanity” domains, after which additional (proxy) email addresses can be specified but any outbound messages will still be sent from the onmicrosoft.com address (at least, that’s what’s used in the beta – I guess that may change later in the product’s lifecycle).

It is possible to change the primary address for a user (e.g. I send mail using an address on the markwilson.co.uk domain) but it does require the use of PowerShell.  Time to roll up your sleeves and prepare to go geek!

Connecting to Office 365 from Windows PowerShell

I was using a Windows 7 PC so I didn’t need to update any components (nor do Windows Server 2008 R2 users); however Windows XP SP3, Server 2003 SP2, Server 2008 SP1 or SP2 and Vista SP1 users will need to make sure they have the appropriate versions of Windows Powershell and Windows Remote Management installed.

Once PowerShell v2 and WinRM 2.0 are installed, the steps to connect to Office 365 were as follows:

Prompt for logon credentials and supply the appropriate username and password:

$LiveCred = Get-Credential

Create a new session:

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic -AllowRedirection

Import the session to the current PowerShell console:

Import-PSSession $Session

At this point, the session import failed for me because script execution was disabled on my machine. That was corrected using Set-ExecutionPolicy -ExecutionPolicy unrestricted (although that’s not a great idea – it would be better to use a lower level of access) – I also had to run PowerShell as an administrator to successfully apply that command.

Once scripts were enabled, I was able to import the session.

List the current mailbox addresses

It’s possible that a mailbox may have a number of proxy addresses already assigned, so this is the code that I used to list them:

$Mailbox = Get-Mailbox -Identity Mark-Wilson
$Mailbox.EmailAddresses

If you want to format the list of mailboxes as a single comma-separated line, then this might help:

ForEach ($i in $Mailbox.EmailAddresses) {Write-Host $i -NoNewline “`b, “}

(the `b is a backspace escape character.)

Set the primary email address

The primary email address is shown using an upper case SMTP: prefix whereas proxy addresses use a lower case smtp: prefix.

To change the primary email address, it’s necessary to reset all addresses on the mailbox with the Set-Mailbox cmdlet.  This is where some copying/pasting of the output from the previous command may help:

Set-Mailbox Mark-Wilson -EmailAddresses SMTP:mark@markwilson.co.uk,smtp:mark-wilson@markwilson.onmicrosoft.com,smtp:mark@markwilson.it

Disconnect the session from Office365

Once all changes have been made, it’s good practice to break down the session again:

Remove-PSSession $Session

Configuring DNS for Exchange Online in Office 365

Readers who follow me on Twitter (@markwilsonit) may have noticed that I was in a mild state of panic last night when I managed to destroy the DNS for markwilson.co.uk.  They might also have seen this website disappear for a few hours until I managed to get things up and running again. So, what was I doing?

I’ve been using Google Apps for a couple of years now but I’ve never really liked it – Docs lacks functionality that I have become used to in Microsoft Office and Mail, though powerful, has a pretty poor user interface (a subjective view of course – I know some people love it).  When Microsoft announced Office 365 I was keen to get on the beta, and I was fortunate enough to be accepted early in the programme.  Unfortunately, at that time, the small business (P1) plan didn’t allow the use of “vanity domains” (what exactly is vain about having your own domain name? I call it professionalism!) so I waited until I was accepted onto the enterprise (E3) beta. Then I realised that moving my mail to another platform was not a trivial exercise and, by the time I got around to it several weeks had gone by and it is now possible to have vanity domains on a small business plan!

Anyway, I digress: migrating to Office 365, how was it? Well, first up, I should highlight that the DNS issues I had were nothing to do with Microsoft – and, without those issues, everything would have been pretty simple actually.

Microsoft provides a portal to administer Office 365 accounts and this also allows access to the Exchange Online, Lync Online and SharePoint Online components.  In that regard, it’s not dissimilar to Google Apps – just a lot more pleasant to use. So far, I’ve concentrated on the Exchange Online and Outlook Web App components – I’ll probably blog about some of the other Office 365 components as I start to use them.

The e-mail address that Microsoft gave me for my initial mailbox is in the form of user@subdomain.onmicrosoft.com. That’s not much use to me, so I needed to add a domain to the account which involves adding the domain, verifying it (by placing a CNAME record in the DNS for the appropriate domain – using a code provided by Microsoft, resolving to ps.microsoftonline.com.) and then, once verified, configuring the appropriate DNS records. In my case that’s:

markwilson.co.uk. 3600 IN MX 0 markwilson-co-uk.mail.eo.outlook.com.
autodiscover 3600 IN CNAME autodiscover.outlook.com.
markwilson.co.uk. 3600 IN TXT “v=spf1 include:outlook.com ~all”

These are for Exchange – there are some additional records for Lync but they show how external domain names are represented inside Office 365.

[Update 17 June 2011: The DNS entries for Lync are shown below]

SRV _sip _tls 443 1 100 sipdir.online.lync.com. markwilson.co.uk 3600
SRV _sipfederationtls _tcp 5061 1 100 sipfed.online.lync.com. markwilson.co.uk 3600

The . on the end of the names and the quotes on the TXT record are important – without the . the name resolution will not work correctly and I think it was a lack of " " that messed up my DNS when I added the record using the cPanel WebHost Manager (WHM), although I haven’t confirmed that.

With the domain configured, additional email addresses may be added to user accounts and, once DNS propagation has taken place, mail should start to flow.

Before I sign off, there are a few pieces of advice to highlight:

  • After I got everything working on the Office 365 Enterprise (E3) plan, I realised that I’d be better off using the Small Business (P1) plan. This wasn’t a simple subscription choice (I hope it will be in the final product – at the time of writing Office 365 is still in beta) and it involved me removing my “vanity” domains from all user objects, distribution groups, contacts and aliases, then removing the domain from Office 365, and finally going through the process of adding it using a different Microsoft Online account.
  • Before making DNS changes, it’s worthwhile tuning DNS settings to reduce the time to live (TTL) to speed up the DNS propagation process by reducing the time that records are stored in others’ DNS caches.
  • Microsoft TechNet has some useful advice for checking DNS MX record configurations with nslookup.exe but Simon Bisson pointed me in the direction of the Microsoft Exchange Remote Connectivity Analyzer, which is a great resource for checking Exchange ActiveSync, Exchange Web Services and Office Outlook connectivity as well as inbound and outbound SMTP email.
  • Microsoft seems to have decided that, whilst enterprises can host their DNS externally, small businesses need to host their DNS on Microsoft’s name servers (and use a rather basic web interface to manage it).  I’m hoping that decision will change (and I’m led to believe that it’s still possible to host the DNS elsewhere, as long as the appropriate entries are added, although that is an unsupported scenario) – I’m trying that approach with another domain that I own and I may return to the topic in a future blog post.

Now I have my new mailbox up and running, I just need to work out how to shift 3GB of email from Google Apps to Exchange Online!

Changing text colours and fonts in a PowerPoint theme

I spent a good chunk of yesterday afternoon working on a presentation that I need to deliver tomorrow.  We have a corporate presentation template but it only really covers the basics (background, standard fonts, etc.).  I wanted to change the colour of hyperlinks (because the default blue/purple, depending on whether the link has been clicked or not, did not fit well with the other colours on my slides) but I couldn’t work out how until I stumbled across a blog post from Springhouse Education and Consulting Services.

It seems that the secret sauce is:

  1. Go to the Design tab
  2. In the top right of the Themes grouping, click on the Colors down arrow
  3. Select Create New Theme Colors located at the bottom of the list
  4. Select the desired color for the Hyperlink as well as the Followed Hyperlink

[Springhouse Education and Consulting Services]

Whilst I was messing around with font colours, I also added a new font to the theme (we have a corporate typeface that’s used in our external communications but not normally used internally). To do that:

  1. Go to the Design tab
  2. In the top right of the Themes grouping, click on the Fonts dropdown
  3. Select Create New Theme Fonts located at the bottom of the list
  4. Select the desired fonts for the Headings as well as the Body

These instructions are for PowerPoint 2007 but I’m sure the process is similar in PowerPoint 2010.

Update on my Fit at 40 challenge

It’s been a couple of months now since I wrote an update on my Fit at 40 challenge so here’s how I’m doing, in a nutshell:

It’s tough

April included a number of events including my birthday and the Easter holidays but I was doing pretty well – my weight yo-yoed a bit but was heading down overall (I got down to 105kg/16st 8lb) and my mileage was increasing with the runs even if my pace was dropping (towards the end of April I managed my first 5 mile run and, for the first time, I was geniunely confident that I can do a 10K).  Unfortuately I lost my way a little when I ran the Harrold Pit Run – a 4.8km (3 mile) race which I ran/walked last year in just under 33 minutes (my first race) and this year I ran (not walked) it a full 5 minutes slower. I was gutted.

I was a difficult day: the race is in the afternoon and it was hot; we’d had a  a Royal Wedding street party the day before and, although I’d been careful not to eat/drink too much, I’ve since learned that drinking beer the day before a run is not a good idea; and it had been a pretty full-on week as I was attempting to redecorate my office, have a new carpet fitted, and put it all back together again in 4 days. Added to that, I was pretty emotional. It was the first time I’d run in The Prostate Cancer Charity‘s t-shirt, complete with a note on my back advertising my fundraising site and someone said “good on you” as they ran past me.  I’m pretty sure that they were referring to my cause (not the snail’s pace I was jogging at) and that got me thinking about why I was doing it – which seemed to upset me, rather than help me get going. To say I was dissappointed with the result would be an understatement – it was all I could do not to burst into tears at the finish line.

The rest of that final weekend in April was no better either – I’m not sure how, but I finished the 4-day weekend 5lbs heavier than I started it.

The good news is that I’m back on the wagon, watching what I’m eating again, and pushing to lose another half-stone or so before the BUPA London 10K at the end of the month.  In the first week of May I managed to run a 3.4 and a 5 mile loop (albeit in 12+2 run/walk intervals), so I know I can cover the distance – all that remains is to increase my pace (and hopefully cut out some of the walking). My workload has been crazy, which doesn’t help the stress levels but I’m determined to complete the course – there’s too much at stake now!

I’ll let you know how I get on with the BUPA London 10K at the end of the month!

BUPA London 10,000