Blog

  • Review: Office 365 Sway and new blog

    Review: Office 365 Sway and new blog

    Microsoft recently introduced two new features to Office 365. One is the new Sway, which I believe Alexander Bradley introduced as the “first Office product to fully step away from the paper metaphor”, and the other is the new Blog.

    Having spent a fair effort at maintaining my old Office 365 blog, I was of course not entirely grateful for getting a new one forced upon me. Particularly since (as per usual) there doesn’t seem to be any migration path or option to stick to the old until you’re ready to migrate. It was just “by the way, it’s deployment day, so once again we removed your content and will now leave you to clean up the mess we made. Have a great day!”

    Sorry, that was a slight detour. I feel a personal rant coming on, about service maintenance teams who prefer new features to service improvements, but I’ll save it for another post.

    Online Native Content

    I do see the point of what they’re trying to do though. Both the new Office 365 blog and Sway uses a format that automatically formats itself to the platform you watch it on. It looks awesome whether you watch it on a phone, tablet, watch (not really, but hey), laptop, or Smart TV.

    Content is becoming “online native” instead of designed for printing out.

    In this way, it is part-and-parcel of a trend, where content is becoming “online native” instead of designed for printing out, and this is something I can fully get behind.

    Since it’s introduction in the early 70s, the “paperless” office has been a somewhat hollow slogan, with paper usage increasing steadily, and these days, people are more likely to give you a paternal pad on the head or laugh at you outright if you bring it up.

    It’s not a stupid goal though. Paper is great for many things, but trying to bring down consumption, or at least curb the increase, will have many benefits, and until we do, we can’t really consider ourselves digital natives or get the full benefits of the digital platforms we’re investing in.

    We need to move on, and native online content is a major part of that story.

    Sway

    Sway is by far the more mature of the two. It splits content into “Cards”, which will then be scaled, depending on the size of your screen, to look as good as possible.BlogSway_Sway

    Some Cards are interactive, while others just show content, and you can choose a vertical or horizontal layout, the colors, fonts, etc. After you’re done, Sway will add some animation to what you’ve done, and the browsing experience is pretty nifty.

    However, this is very much an early-edition product, and the control is rudimentary at best. Expect to spend a lot of effort fiddling around with it, and expect to finally get it “just right” in your own browser, just to be sorely disappointed and have to re-do it again after you see it on your mums laptop.

    As a long-time music-producing enthusiast, I feel the developers’ pain here. You can work endlessly to get a mix “just right” in the studio and then have to re-do everything after hearing it on a pair of cheap headphones.

    As a long-time music-producing enthusiast, I feel the developers’ pain here. You can work endlessly to get a mix “just right” in the studio and then have to re-do everything after hearing it on a pair of cheap headphones.

    But this will get better. I understand the journey they’re on with this product, and Sway is a pretty good first step.

    New Blog

    Where to start. Obviously the guys who implemented this, aren’t on my good side to start with, after force-feeding me with it and removing my old blog in such a rude and non-negotiable manner.

    BlogSway_BlogBut even if I try to work up just a fraction of the excitemenet I have for the Sway-journey , I have to say that the new Office 365 blog, seems more a beta-test than something that should have been released into the wild.

    Firstly, in spite of using the same basic principle as Sway, they decided to change the UI completely.

    All you get is this large green box, that takes up most of your browser window, and hints at lost UI opportunities.

    The layout is different; the ability to shuffle tings around is gone; there is no way to preview; all you get is this large green box, that takes up most of your browser window, and hints at lost UI opportunities.

    And why rename “cards” into “hints”? It makes no sense! My best guess is that it’s some Bing translation gone awry after someone decided copy/paste was too complex.

    And why rename “cards” into “hints”? It makes no sense! My best guess is that it’s some Bing translation gone awry after someone decided copy/paste was too complex.

    Well, I guess it will improve. Next time, don’t be so eager on the “publish-to-production” button guys.

    Conclusion

    Well, as you may have surmised , I fully support the overall principle of what is being attempted, but I’m not altogether happy with the consistency and maturity of how it’s being done.

    So far, Sway is a fun tool that may find some limited use, but adding content to the new blog, will primarily be a content-migration effort in hopes of future improvements.

    But even sticking to content-migration, isn’t risk-free I guess. Now that content is no longer the post itself, but split into cards/hints, I no longer have any assurance that the card/hint won’t be discontinued. I.e. I may keep my post, but I risk it being gutted from the inside and start to look really strange as the product matures.

    So far, Sway is a fun tool that may find some limited use, but adding content to the new blog, will primarily be a content-migration effort in hopes of future improvements.

    This doesn’t mean I wont stick with it and try migrating a few things. If the direction is right, I’m sure MS will put the necessary effort behind this, to make it work over time.

    An obvious improvement could be to add a “navigation card” category, as hinted in the original blog-post, and allow threaded navigation instead of just linear horizontal/vertical scrolling. Another could be cards to add “old-style” Office content like slides and Excel sheets. A third, could be better scaling, so the cards fit within the platform you watch them on, instead of opening in new windows.

    But I’m sure they’ll get to that. For now I’ll just stick with it and see what happens.

  • SharePoint use-cases: Custom traffic-lights using List View column-styles

    SharePoint use-cases: Custom traffic-lights using List View column-styles

    TrafficLight

    I always advise against customization. It is too expensive long-term, and too unstable when the environment is upgraded or moved. Instead I advocate the less-is-more approach. Make as few changes as possible to achieve your goal, and always use out-of-the-box for a while before deciding on any changes.

    However, in some cases it is unavoidable, and for those cases, I’ve identified a few best-practices. The first of these is how to create traffic lights in a list view.

    There are two good ways to do this. The first is a calculated column, which is already documented very well by Laura Kellogg, and the other is a custom column view using the option to add XSL-styles, which I haven’t seen shown much and that I’ll therefore give you a quick rundown of here.

    Both methods are very simple and only requires adding a txt-file on your site, but the XSL style has the benefit of not requiring extra columns and being a bit closer to what I believe MS intends you to do, which should make it more stable in future upgrades.

    The downside is that it requires a bit of XSL, which few people feel comfortable with, but with this post, I hope I can help you get around that.

    A. Creating a folder for your file

    1. Go into site-settings and click “Content and Structure”
    2. Go to the folder called “Style Library” and create a sub-folder called “Custom” (or whatever you want as long as you can find it again)
    3. OPTIONAL: Create a sub-folder to this called “ListView” so you can easily differentiate your ListView style files from other custom styles you may do.

    B. Finding the internal name of the column you want to customize

    1. Go into the list that you want to create a traffic-light for an enter List Settings
    2. Click on a column that you want to create a custom style for
    3. Copy the name of the column from the URL. You’ll find it where it says “Field=[Name of your column]”

    NOTE: If you’re lucky the internal name makes sort of sense, but if you’re unlucky it’s some cryptic combination of underscores, letters, and numbers like “_x0069_hy3”. As far as I can tell, the “_x0069_” is a special character written as unicode, and you can learn more about those those here.

    C. Creating your custom style

    1. Copy the code below into a new file and save in your folder.
    2. Replace the internal name of the column I’m using “_x0069_hy3” with your own internal name
    3. Replace the values I’m using (1,2, and 3) with the values you’re using in your column
    4. Add more values or columns as needed (I’ve added a lot of notes in there on where and how to do this):
    <!-- 
    	The XSL header. I have no clue what any of this means. I just copied it from someone else.
    -->	
    
    <xsl:stylesheet xmlns:x="http://www.w3.org/2001/XMLSchema"
                    xmlns:d="http://schemas.microsoft.com/sharepoint/dsp"
                    version="1.0"
                    exclude-result-prefixes="xsl msxsl ddwrt"
                    xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"
                    xmlns:asp="http://schemas.microsoft.com/ASPNET/20"
                    xmlns:__designer="http://schemas.microsoft.com/WebParts/v2/DataView/designer" 
                    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                    xmlns:msxsl="urn:schemas-microsoft-com:xslt"
                    xmlns:SharePoint="Microsoft.SharePoint.WebControls"
                    xmlns:ddwrt2="urn:frontpage:internal">
    
    	<xsl:include href="/_layouts/xsl/main.xsl"/> 
    	<xsl:include href="/_layouts/xsl/internal.xsl"/> 
    <!-- 
    	Traffic-light column
    	1. The Internal name of the column in my example is "_x0069_hy3", so just replace all of those with your own internal name.
    	2. The values I check for are 1, 2, or 3, so replace those with your own values if you need to
    	3. If you want to have more than three values just copy/paste from where it says <xsl:when> to where it says </xsl:when>
    	4. I'm replacing the value with images that are on all SharePoint sites, but you can write your html in there if you want.
    
    -->	
    	<xsl:template name="FieldRef_Number_body._x0069_hy3" ddwrt:dvt_mode="body" match ="FieldRef[@Name='_x0069_hy3']" mode="Number_body">
    		<xsl:param name="thisNode" select="."/>
    			<xsl:choose>
    				<xsl:when test="$thisNode/@*[name()=current()/@Name] = '3'">
    					<img align="right" src="/_layouts/images/IMNON.png" alt="Status: {$thisNode/@_x0069_hy3}"/>
    				</xsl:when>
    				<xsl:when test="$thisNode/@*[name()=current()/@Name] = '2'">
    					<img align="right" src="/_layouts/images/IMNIDLE.png" alt="Status: {$thisNode/@_x0069_hy3}"/>
    				</xsl:when>
    				<xsl:when test="$thisNode/@*[name()=current()/@Name] = '1'">
    					<img align="right" src="/_layouts/images/IMNBUSY.png" alt="Status: {$thisNode/@_x0069_hy3}"/>
    				</xsl:when>
    				<xsl:otherwise></xsl:otherwise>
    			</xsl:choose>
    	</xsl:template>
    <!-- 
    	In this example I'm using number columns, but you can use any field-type. Examples:
    	
    		Numbers:	<xsl:template name="FieldRef_Number_body" ddwrt:dvt_mode="body" match="FieldRef" mode="Number_body">
    		Text:		<xsl:template name="FieldRef_Text_body" ddwrt:dvt_mode="body" match ="FieldRef" mode="Text_body">
    		
    	For a full list see here:
    		http://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.spfieldtype(v=office.14).aspx
    		
    -->
    </xsl:stylesheet>

     D. Implenting your custom style

    1. Once, you’ve saved your file in the folder, make sure it’s checked-in/published, and then copy the URL.
    2. Navigate to the page where you’ve added your List View webpart
    3. Click Edit-page, find your List View webpart, and click “Edit Web Part”
    4. Go to the last section called “Miscellaneous” and paste your URL where it says “XSL link”
    5. Click “OK”

    I hope this helps. If you have issues, throw me a comment, and I’ll try to help.

  • Seems I’m not the only one

    Seems I’m not the only one

    If you liked my article on Lync, I recommend this article from Derrick Wlodarz on why Microsoft should retire Skype in favor of it:

    It’s a bit long (who am I to talk!), but the points are very valid and exacerbated by the fact that Enterprise Customers, like Carlsberg, are tying our IT roadmaps very closely to Microsofts when we switch to Office 365 and Lync.

    There’s nothing worse than staking your IT roadmap on a product with an unclear strategy and confusing design decisions.

  • Wake up! Why Microsoft could be missing the opportunity of a lifetime with Lync – Part 3 of 3

    Wake up! Why Microsoft could be missing the opportunity of a lifetime with Lync – Part 3 of 3

    <- Previous post (2 of 3)

    So what is it that Microsoft should be doing? Well, before I go into that, let me start by saying that I’m perfectly aware that the team working on this are dealing with a ton of commercial, organisational, and technical constraints that I’m completely oblivious to. No input from my side should therefore be taken to imply any disrespect. I am simply stating what I, as representative of a somewhat largish customer and tasked with the responsibility of ensuring we invest our money wisely, would like to see them do.

    [pullquote position=”right” hidden=”true”]They could just give away the LRS software, let people like me roll out our €200 meeting rooms, and stand back and watch the Lync licenses pour in while the competition goes up in smoke.[/pullquote]

    Firstly, I’d like to see them leverage the fact that video conferencing today is grossly overpriced. Sticking a Rasperry Pi in a TV-set with a camera on top doesn’t make it worth €8000. It’s the software that glue it together and their competition have based their business on bundling everything into packages. Microsoft doesn’t have to do that. They could just give away the LRS software as a stand-alone (or developer package), let people like me roll out our €200 meeting rooms, and stand back and watch the Lync licenses pour in while the competition goes up in smoke or lower their prices. It worked for Android now let it work for you.

    Secondly, I’d like to see them step up their Lync Online game. Routing traffic over your own WAN or replacing your ISDN/PBX with a Lync Server is probably a hot item with many “traditionalist” customers, but why cater to them when you can change the game? Offer ISDN gateways, distributed local break-outs, and everything else needed to replace WAN traffic and PBX’s via a service instead, and they’ll have pulled the carpet under Ciscos incessant “we have the routers, only we can guarantee the quality” sales pitch.

    My respectfully anonymized manager and me (with my back turned) playing around with the Kinect retail system. Everything we touch on the shelves is recognized by a Kinect in the ceiling and sent onto the monitor in the foreground. You can see the item I'm currently touching and a heatmap of where we've walked around.
    My respectfully anonymized manager and me (with my back turned) playing around with the Kinect retail system. Everything we touch on the shelves is recognized by a Kinect in the ceiling and sent onto the monitor in the foreground. You can see the item I’m currently touching and a heatmap of where we’ve walked around.

    Finally, I’d like to see them thinking outside the box. In the retail space Kinects have already proven that they can pinpoint exactly where you hold your hand when placed in the ceiling. Why not use this to pinpoint where I’m holding my finger on a whiteboard? Why not use this, with the projector that’s already in most meeting rooms, to create a two-way interactive whiteboard? Why not also show me where the guy in the remote room is pointing on the whiteboard or the presentation? Isnt’ this what you’re already showing in your future vision?

    It may be that Anton Krantz and the other guys in the Lync team are way ahead of me on this. Maybe they’ve already developed it and are holding it back for a reason; maybe they’ve decided not to do it due to factors I’m unaware of; and maybe they’re just better at their job than I am, because let’s face it it: It’s their job and not mine.

    The only thing I can say is that, as an enterprise customer with at least 500 meeting rooms spread across the world and in full swing with deploying Lync Online to every user, the LRS, as it stands today, is not something we are going to invest in anytime soon.

    It’s too much like everything else  in a market, where changes require huge investments. So although Microsoft may very well win in the end, their strategy so far could make them miss the opportunity of a lifetime: To define new rules, carve out a greenfield market of their own, and set a new standard for enterprise video-conferencing.

    Update:

    Just had a chat with one of the guys in the Lync developer team, and apparently they’re already working on at least two of the above suggestions, so good on ya! Can’t wait to try it out! 🙂

  • Wake up! Why Microsoft could be missing the opportunity of a lifetime with Lync – Part 2 of 3

    Wake up! Why Microsoft could be missing the opportunity of a lifetime with Lync – Part 2 of 3

    <- Previous Post (1 of 3)

    Now what is the problem with providing a Lync Room System? Obviously the benefits touted in the release blogpost are mostly true. You do save time on starting meetings, it will bring better utilization than the old conferencing systems, it does provide more screen real-estate and therefore better interaction, and meetings do get easier to manage.

    [pullquote position=”right” hidden=”true”]Microsoft are taking micro-steps when they should be swinging both arms and throwing game-changers from the roof-tops.[/pullquote]

    The problem isn’t that this isn’t a step forward, but that it is a very small step forward, and they need much more than a small step.

    Firstly because it takes more than a small step to disrupt this market. A video-conferencing room starts at around €8000 and goes steeply upwards to around €120.000, and even though the MS partners solutions on this come in at the low end of the scale, you’d have to be in a pretty lucrative business to just throw out all that investment and replace it with yet another two screens with a camera on top.

    Secondly, because most other players in this market are also introducing nice tablet remotes to make them easier to use, start meetings faster, and make meetings easier to manage. The only new things MS is bringing to the table are the Lync client, which Cisco is already doing their best to copy, and the Lync user-base. A small step is therefore nothing more than what everybody else are also doing.

    Thirdly, because the video-conferencing market is overripe for disruption. Nobody in their right minds is going to pay €8000 for two flatscreen panels and an HD camera with a bit of software thrown on top any longer. Just using off-the-shelf USB hardware I’m rolling out rooms at around €200 across Carlsberg right now, and before you get too excited that these are all for Lync conferences, consider the fact that this is standard USB hardware. I could switch them to Google Voice or FaceTime in a heartbeat, so it’s not going to protect MS if a more progressive player comes along.

    The net result is that Microsoft are taking micro-steps when they should be swinging both arms and throwing game-changers from the roof-tops. They have momentum to start edging out established players, but they’re not changing the world and the world is about to change on them.

    Final Post (3 of 3) ->

  • Wake up! Why Microsoft could be missing the opportunity of a lifetime with Lync – Part 1 of 3

    Wake up! Why Microsoft could be missing the opportunity of a lifetime with Lync – Part 1 of 3

    I may not be the worlds foremost expert on video-conferencing systems, but I do have a central role in purchasing them for a company of 40.000+ people, so when I see a new player in the market, I get interested. I expect them to step up and challenge status quo. I don’t expect them to just do what the others do with a new logo on top.

    [pullquote position=”right” hidden=”true”]When I see a new player in the market, I don’t expect them to just do what the others do with a new logo on top.[/pullquote]

    In 2013 Microsoft decided to move Lync into the corporate conferencing space with their Lync Room System (LRS). Until then, Lync had been primarily a client for chat, video, and desktop sharing in a crowded market. They’d bought Skype, presumably to get some traction in the consumer space, but to companies, Lync was still mainly “that client we get for free when negotiating enterprise agreements”. For real video-conferencing it was all a “Cisco game” with big dusty rooms and expensive hardware.

    So what do you do in a market like that? You disrupt. You throw a wrench in the wheel. You do something they never saw coming and you do it in a way that will take them years to get over. You claw out your own niche, take ownership of the Gartner challenger quadrant and encroach on the leaders from there.

    Lync1

    Well, with hyperbole like “the biggest transformations in the way we work since the advent of the PC”, you’d think Microsoft had understood this, but what did they do? They built LRS.

    To be fair, LRS did bring a big improvement to Lync. Instead of executives having to fiddle around with USB hardware on their own, they now had an integrated conference room experience on par with the best in the market. The problem is that “on par” doesn’t cut it. What Microsoft brought wasn’t new, it was just Microsoft-based, and they could have done so much more.

    In the next two posts I’ll dive into why this is a problem and what I think they could have done instead.

    Next post (2 of 3) ->

     

  • Embed specific PowerPoint slide in SharePoint 2013 page

    Embed specific PowerPoint slide in SharePoint 2013 page

    One of the main limitations in the new way of showing PowerPoint slides on SharePoint in 2013, is that you can’t show a specific slide.

    In the following I’ll go through the two standard ways to show PowerPoints on SharePoint pages, and then my work-around to show a specific page.

    Method 1 – Standard Embedding

    This is the classic iframe/embed way to add content. You’re basically showing a webpage within a webpage using standard HTML. This is great in normal webpages, but SharePoint has a tendency to mess up the code.

    1) Copy the “Embed Information”:

    EmbedPowerPoint01

    2) Paste it into your page using the “Embed Code” snippet:

    EmbedPowerPoint02

    Method 2 – PageViewer Web Part

    This is a more stable way of doing the same thing as above, but it has less flexibility as you’re using the built-in web parts instead of your own code.

    1) Copy the URL to your PowerPoint:

    EmbedPowerPoint01b

    2) Paste it into the PageViewer Web Part to show it on your page:

    EmbedPowerPoint02b

     

    Showing a specific slide

    To do this, you’ll need to start with either of the two methods above. This will work for both of methods, but I’ll demonstrate using the PageViewer method.

    1) Go into “View in Browser”:

    EmbedPowerPoint03

     

    2) Go to the slide you want to show and click “Slide Show”:

    EmbedPowerPoint04

     

    3) Search through the URL until you find where it says “&wdSlideID=###” and copy it:

    EmbedPowerPoint05

     

    4) Paste this into your PageViewer webpart (or embed URL):

    EmbedPowerPoint06

     

    Notes

    This work-around utilizes that the PowerPoint viewer/editor apparently uses a few URL queries to mimic the behavior of the Desktop PowerPoint app.

    Why Microsoft didn’t make these options available to users as clickable settings when you copy the code, I don’t know. I can only assume they were too busy.

    Also, I haven’t been able to find the wdSlideID in PowerPoint, so I assume it is generated by SharePoint when the file is uploaded. This means you can probably not expect to re-use the ID if you move your presentation to a different library.

     

  • Three lessons from rolling out Office 365 at Carlsberg

    Three lessons from rolling out Office 365 at Carlsberg

    As a ten year IT Enterprise Architecture veteran in a world leading FMCG/CPG like Carlsberg, you’d think the roll-out of an out-of-the-box service like Office 365 would be smooth sailing.

    This was not the case.

    But before you start thinking this is a blame-game complainer-post about all the things wrong with Carlsberg, Microsoft, IT, or the world in general, let me tell you up front that this is not the case either.

    Carlsberg is an FMCG like many others, Microsoft is a software vendor moving into cloud as many others, and the world in general is changing as it always has. In other words, we’re not unique.

    Given that we’re not, hopefully you’ll find my lessons learned useful.

    12 years of IT at Carlsberg

    Before I get into all that though, you’ll have to understand a bit about Carlsberg as an IT company.

    Fifteen years ago Carlsberg was a big brand in a tiny company. We had a number of very strong global brands, but only four actual breweries. The rest were licensees, and in the late nineties they were being gobbled up by our competitors at an alarming rate.

    Carlsberg therefore started a huge turn-around. First step was the deal with Orkla that gave Orkla a 40% share and gave Carlsberg the leverage it needed to start buying breweries. Next was a ten year brewery buying spree that continues to this day, allowing us to buy back the shares from Orkla, and get a controlling interest in our Eastern European golden goose, Baltika.

    From an IT perspective this meant that the tiny IT organization, which used to spend their days cuddling local business managers, and who, when I was first hired still didn’t know a DMZ from a Firewall, all of a sudden had to make things work under a steady stream of incoming affiliates with local IT management and incompliant infrastructures.

    Now, we would probably have done better if first step in this process had been to bring in an IT management team with international experience and representation at our executive board. After all, the times when you could couple an aggressive growth strategy with a hands-off approach to IT went out the window last century.

    We didnt’ do that though. Instead we started with IT management picked out of our local Danish businesses, representation only to our CFO, and a steady stream of organization changes as one CIO/management-team after the other tried to navigate the troubled waters of increasing demand, inexperienced resources, and a very complex infrastructure.

    In many ways, it was a perfect storm.

    Increasing demand forced the most skilled IT resources to focus on business projects instead of stabilizing infrastructure. When forced to work against their better judgement the best resources left one after another, creating even more instability, decreasing trust in IT decision-power, and slowing down delivery even more. A downwards spiral of bad IT and business impatience.

    However, at the end of this ten year period we were slowly getting this under control. More internationally experienced IT managers had come in, our 7 year pan-European outsourcing deal had provided leverage for some standardization, and- although we were still a long ways from being a mature IT organization or even close to meeting the demand of our strategy – we had slowed the decline and were seeing the first signs of improvement.

    This was the situation when Office 365 came into the picture.

    12 years of Microsoft at Carlsberg

    In spite of the general role of IT in Carlsberg, we had actually managed to get quite a bit of success with Microsoft technology. I had build a good relationship with Group Legal and Group Communication, and together we managed to standardise Microsoft across companies way beyond of the scope of other IT services.

    In 2001 we released the first cross-company platform, containing a group intranet, extranets, and document management for three companies,. In 2003 we narrowed the scope to intranets, but upped the geographic scope ending up with an intranet platform covering 25 markets, which seven years later won second prize as Denmarks best intranet without having been upgraded significantly since first release.

    In 2010 we sought to build on this success with CPoint and CWEB. One for intranets, the other for corporate websites. Two very ambitious projects based on MOSS2007, and for the first time we hit problems.

    Unlike earlier Microsoft technologies MOSS2007 was marketed by Microsoft as an “application platform”. This caused a few design mistakes, a few oversold features, and before long I was fighting impatient business stakeholders – and even some of our own Microsoft developers – left and right trying to modify, customize, and build whatever the rest of IT had failed to deliver on top of what was supposed to be a commodity service.

    In spite of this CPoint was rolled out to 25 markets and CWEB to about 30 markets in 12 months, and became the first truly global IT platforms in Carlsberg.

    But they were never the success we intended. Their customizations left them unstable for several years and so complex that nobody could use them without a PhD in Carlsbergese. Instead of a new global collaboration platform to bind Carlsberg together, we got a customized leviathan governed by disagreeing stakeholders.

    When Office 365 moved from a Microsoft BPOS curiosity to a more fully fledged commodity, I therefore saw it as an opportunity to leap-frog these issues.

    Unlike on-premise, Office 365 features was controlled by Microsoft allowing me a fighting chance to keep VIPs at bay long enough to teach them to leverage what they have instead of always building new. Unlike on-premise, Office 365 had a clear line between operational stability and custom development, allowing me to be overruled by management without jeopardizing stability. And unlike on-premise it was globally available from the moment we signed the contract, instead of me having to fight for years in getting a global AD and a European-based IT organization to think globally.

    This is not to say I didn’t expect problems – in fact the problems we overcame are the entire basis of these posts – but it solved the overwhelming issues I couldn’t have fixed in any other way. It replaced a loosing battle with changing management, impatient business VIPs, and a neglected infrastructure, with a stable global platform that Carlsberg could leverage to become a truly global FMCG/CPG.

    So going into the things we faced, keep this in mind. I’m not complaining about Office 365. In fact, I’m truly grateful for it, and for all the other out-of-the-box services that are becoming available with the advent of cloud. They are driving a standardization and benefit that would otherwise have been almost impossible to achieve in the complexity that is a rapidly growing multinational organization.

    For that I am grateful, but that doesn’t mean I wouldn’t have preferred living without the mistakes we did. So without further ado, allow me to teach you from my experience.

    Lesson 1 – Licensing headache

    From a licensing perspective it seems to me that Office 365 was shoved into Microsofts licensing team a bit quickly.

    When talking to them about prices, the nomenclature switches from “plans” to “licenses” for the same thing, and for the agreements they’ve obviously tried to cobble something together from the old “Enterprise Agreements” and the cloud pay-as-you-go models through a “Hybrid agreement”.

    In essence though, there is no getting around the fact that unlike licensing CapEx models, cloud-based services are essentially consumption-based services. You can make an up-front purchase of x-number of plans, for y-number of years, and get a discount, but there is no depreciation. You just pay-as-you-go.

    For the Online agreement this is usually not an issue, but for the Hybrid agreements it creates some strange restrictions that are not common for cloud-services like:

    1. You can’t choose freely between plans when adding users to the contract, but have to choose from what was in your original contract
    2. Your local affiliates can’t buy at local rates, but have to use whatever you negotiated centrally
    3. You can’t mix-and-match based on what you need, but have to buy the same for everybody because “an enterprise agreement is a standardization agreement”.

    When we did our contract I spend six months boiling the restrictions down to this. I’ll not take you through all the iterations that got us that far, but suffice to say the confusion was on both sides and today I’m an involuntary expert on the wording in MS contracts. Whatever it takes to make theory fit reality right?

    Getting that far is just the first step though. Managing resources on the level of detail required for a service where you pay a monthly fee for every mailbox, where adding or removing them requires a contract change, and where every un-used mailbox is money wasted until the next contract renewal takes some getting used to. And that is just mailboxes.

    We’re getting there, but don’t underestimate the effort.

    Lesson 2 – Upside down IT

    There’s no question that being able to reduce operations effort through Office 365 frees up a lot of IT resources. The thing that many, and particularly old-school IT people, find completely counter-intuitive though, is to what degree you have to embrace this.

    The fact is that  Office 365 is part-and-parcel of all the hyped mega-trends of BYOD, Cloud, and consumerization that Cognizant, Gartner, and the rest are babbling about, and to get the most benefit you have to think in completely new ways of delivering value.

    As an example, Office 365 works a lot better on my Mac at home than it does on my PC at work. Not because Office 365 runs better on OSX than on Windows 7, but because it pre-supposes that you have a relatively open network, can install things yourself, and generally fiddle around as much as you like.

    This is rarely the case in an enterprise. We have a responsibility to security and to consistency of service that makes the level of freedom needed to fully benefit from these services, very complex to deliver.

    Our networks are secured, our PC’s locked, and to enable a service like this we therefore have to re-configure everything, and keep doing it to keep abreast of the constant patches and updates that Microsoft delivers, while still keeping an eye on security to avoid taking it that one step too far.

    And that is just the beginning. Getting IT people to wrap their heads a beast that updates itself regularly, takes for granted trust in a data-center we can’t touch, is best supported through end-user training by non-IT people, and basically puts on it’s head all the tried and true litanies of the last 30 years of IT professionalism, is just as challenging

    For most Enterprise Architects this is upside down to what we usually do.  Instead of fighting business units unwilling to align, you’re almost guaranteed to have business behind you as long as you make sure things work as smoothly at work as they do at home. And instead of having IT colleagues support your every move, you’ll be constantly challenged and forced to go on the barricades for “out-of-control” IT.

    But in many ways, this is not as much an Office 365 issue as it is the reality of IT today. Carlsberg is progressing nicely, but it’s not a change that comes overnight.

    Lesson 3 – Governance litmus test

    One of the reasons that “out-of-control” IT is a complete misunderstanding when it comes to Office 365, is that it in fact forces you to take much more direct control over IT and resources than you’ve had before.

    When you have your IT on-premise there is a tendency to say that everything on the inside of your firewalls is “safe” and everything outside is “unsafe”. Nothing could be more wrong.

    You can put as many locks as you want on your server-room, but that doesn’t prevent somebody from forgetting to lock their laptop at the wrong moment halfway around the globe.  You can smother your laptops in encryption and DRM, and it still doesn’t prevent somebody from snapping a picture of a vital document with their phone.

    When you think you’re safe, you forget the vitals of IT. You don’t monitor what AD accounts are used for what, because it’s easier to let them be than to clean-up, and what could go wrong? You don’t audit your mailbox utilization because you pay for storage, so worst case is unnecessary cost right? And you don’t care how people use your information, because it’s on an encrypted laptop with a password a kilometer long, so what could they do?

    When you roll out Office 365 all these things surface.

    I’m not going to go into the details of meeting rooms created as user-mailboxes, so people could use them for file-shares; public folders growing at 1GB a month because it was easier to drop documents there than into the document-management system they were supposed to use; or the multiple copies of AD users and mailboxes that one person can have simply because it’s easier to add more accounts than to set up one account correctly.

    Suffice to say, that when you roll out Office 365 you better be ready for a lot of additional projects cleaning up messes that your operations never bothered with because they never made any difference before.

    If you’re lucky, there will be an understanding that this is not Office 365 related. This is IT governance 101 gone awry, and Office 365 or not, it is in everybody’s interest to fix it.

    If you’re not, you’ll spend most of your time explaining why a simple migration-project spews add-on activities left and right while the budget explodes.

    Conclusions… so far

    Nobody says things should be easy. In many ways Office 365 is a sign of things to come. SAP is going full-tilt at cloud services, consumers are getting more demanding every day, and IT is transforming into something not yet clearly defined.

    I’m therefore certain that even these few observations about it, are just the tip of the iceberg. Things we’ll all have to learn and get used to in the coming years.

    As I said initially, the reasons why Carlsberg invested in Office 365, had much less to do with following overhyped mega-trends, than with day-to-day issues and impossible challenges that couldn’t be overcome in any other way.

    That being said, I have to say I’m very happy that we started this journey. It is obvious that Microsoft is investing all it’s effort in their cloud-services. We’re seeing features improving daily instead of having to wait 1-2 years for someone in IT to get around to implementing them. We’re seeing upgrade schedules being planned years in advance instead of years after at the last breath of extended support. And we’re seeing business getting excited and involved in IT again.

    In spite of all our challenges – both the ones mentioned here and the ones I couldn’t fit in or am still to learn – I think the decision of moving to Office 365 was the right one for Carlsberg. It leap-frogged us ahead of the curve for collaboration, it brought us up-to-par on supporting our growth strategy, and it is kick-starting the IT transformation needed to keep us there.

  • Fitting a ton of movies on an iPad

    Fitting a ton of movies on an iPad

    For our recent vacation I wanted a reasonable number of movies on my step-daughters 16 GB iPad, which is kind of hard since they take up 1.5-2GB a piece.

    After three days of fiddling with Handbrake, I got something that reduces the size of movies to around 400 MB in size while still being watchable:

    lmunck iPad.plist

  • Excel Geekness

    Excel Geekness

    Every once in a while I go geek. I don’t apologize for it. It’s been a fixpoint in my life since I was old enough to crawl under the coffee table and push the big buttons on our bulbous and bright red 70s TV set.

    The TV finally broke (NOT my fault), but the habit didn’t.

    This time around it happened with Excel. I’m not the biggest Excel fan out there, but I needed to make a TCO calculation and basically wanted Excel to do two things for me:

    1. Distribute project costs over multiple years based on project-timeline.
    2. Distribute operational costs over multiple years based on how many years were between each payment.

    Geeked out yet?

    No?

    Lo and behold, all I could find online was that this was impossible. You could do nifty macros, you could color every other row, you could sum every Nth row, but if you had an invoice coming in every 3 years and wanted a generic way to get yearly budgets N years in the future, you were basically s… out of luck.

    So I did this:

    For distributing project costs over n years:

    IF(AND(YEAR($startdate)=$currentyear;YEAR($enddate)=$currentyear);
      $projectcost;
    IF(AND(YEAR($startdate)=$currentyear;YEAR($enddate)>$currentyear);
      $projectcost/($enddate-$startdate)*
      (DATE($currentyear+1;1;1)-$startdate);
    IF(AND(YEAR($startdate)<$currentyear;YEAR($enddate)>$currentyear);
      $projectcost/($enddate-$startdate)*365;
    IF(YEAR($enddate)=$currentyear;
      $projectcost/($enddate-$startdate)*
      ($enddate-DATE($currentyear;1;1));0))))

    I break the project cost down to a cost-per-day , and then distribute it over the years based on how many project days there are in each year.

    The first IF is to determine if the start and end-date is within the same year, and the next three are to differentiate the first year from a “middle” year and the last year as each of these calculations are slightly different. Pretty straightforward.

    For projecting operational costs with n years between them

    IF($recurrence<>0;
      ROUNDDOWN((-(MOD(($currentyear-YEAR($startdate));$recurrence))
      +$recurrence)/$recurrence;0)*$cost;)

    This one is a little more complex and was the one I couldn’t find anywhere. The first half figures out if the time from the startyear to currentyear divided by the recurrence is a whole number (i.e. that it’s time to pay). If it is, it creates a 1, and then I just multiply that with the cost.

    Now I don’t pretend to be an Excel wizard in any sense of the word, so don’t ask me technicalities about why I used one function instead of another. All I had was some very helpful colleagues who were excellent guides into Excel-syntax and once I understood most of how it worked, the rest sort of came on its own .

    So if you can use it, feel free to share and use it as much as you like. I’ve attached an example of the whole thing working. Just play around with the input and try adding as many years as you like to see how it works.

    Good luck 🙂

    More info: