Today won’t be technically. Today will be about something that has been following me from a long time. Something that is a result of many years strategy and 27caused that Microsoft is now like never before.
Genesis: The Story
Few weeks before now I had a chat with a colleague of mine. In his company he has O365 tenant with all of its sugar: Word, Excel, Project Online, SharePoint Online etc. However for team chat/messaging his company use Slack. When I asked “Why?” he answered: “we’ve tried using Skype for Business but it’s unusable. It’s absolutely counter-intuitive and its conference quality (especially audio) leaves a lot to be desired. And I must agree. But then I asked him:
– “have you tried Microsoft Teams?”
– “No” – he answered.
– “You should then. It’s like Slack but better. It’s greatly integrated not even with Microsoft products but with 3rd party products too: Trello, Asana, Google Drive, Dropbox and many many more. And the call quality is way much better than in SfB because it has rewrited communication protocols…”
– “Yeah, right, but it may be hard because in our company we don’t like Microsoft, .NET and all this”
– “We trust open-source solutions more”
– “.NET is open-source. Its code is even published on github…”
– “Uhm…but…you know, Microsoft Teams is still Microsoft. It won’t work as it should unless you restart it 3 times…”
– “Actually Microsoft Teams is developed using the same framework as Slack, Visual Studio Code, appear.in and many many more”
– “Uhm…but…you know, I gotta go. We’ll finish our chat later”
As you probably guess we’ve never finished it. But this situation made me realize one thing. Over the years I remember multiple similar chats and every time when it comes to Microsoft people like to recall Microsoft stereotype: “it’s working but not as expected”, “restart it 3 times to work” or “It’s designed to work only with Microsoft products. It’s closed on 3rd party software”. And every time I hear something like that one thought comes to my mind: people are very likely to refer to their opinions or believes rather that facts.
Microsoft solutions now
As through my eyes, around 2009 Microsoft was a company with great Office package, mediocre OS and bad browser. Moreover one of the biggest with badly documented closed-source which was not something that young developer would admire.
But today…oh man…it’s a HUGE difference. Microsoft has greatly integrated SaaS products bundled under the name of Office 365 and the Azure platform which is almost everything but SaaS. They’re supporting the newest Open-Source trends, keeps official documentation on Github and recommends using Google Chrome for debugging. For me it’s a huge step. I feel like today’s Microsoft will integrate Adobe Flash instead of creating Silverlight as its own response to it. Microsoft becomes intertechnology offering much more integration than ever before. For instance we can use Microsoft Teams and add there different cloud storage providers in order to keep our documents. Or display your tasks from Todoist in your Outlook client app. Or make a workflow using Microsoft Flow that copies new trello card to google sheet.
Support for other than .NET frameworks.
From one side we have Graph API, REST API, JSON – those are other very common APIs (except JSON which is data format) that are used for CRUD operations and are very well known in open-source world. In 2009 Microsoft hardly implement them in their solutions. Currently you can hardly find any solution that doesn’t support at least one of them. You can use them for instance to create list in SharePoint Online, get results from Azure Search or tag your video and recognize emotions in it.
From other side we have additional frameworks/SDKs. For instance ADAL (Active Directory Authentication Library, v2.0 is a.k.a MSAL) includes libs for NodeJS, Java, iOS, Python, PHP and many many more. Just check it out.
Typescript is another big thing from Microsoft. It’s widely known in the “devs” society. Better than Babel (aka ES6), big corporations like Microsoft or Google use it in their projects, was used to develop new Angular version, takes the best from interpretive languages and objective languages in the same time. Actually it deserves for an extra blog post…let’s leave it for next week 🙂
Opened Data Science
And that’s not over in terms of Microsoft extensibility. Microsoft has platform called Azure Machine Learning. It eases an implementation and usage of machine learning in your project i.e. cluster your data, classify it, find correlation etc. To work with it you can use workflow-alike design which is very intuitive and usable. Even if you’re using machine learning components from time to time you’ll have no problem with it.
To manage whole process of data cleaning, learning and measuring user can use predefined operations represented by blocks and connected by arrows to indicate operation flow. However those blocks have limited configuration which sometimes is very unwanted. That’s why Microsoft stepped ahead and give users an option to use R script or python script which are very well known languages used in data science. No xml, no any hermetic new invention used only in Azure Machine Learning (like CAML or XSLT used in SharePoint) – just popular script languages. Because why to invent a wheel?
Besides AML there is also PowerBI – tool for data visualization. Just look below how many different data sources, not related with Microsoft, you can use.
Free your IT mindset
Microsoft has almost over 100 Azure service – from VMs with multiple templates, through APIs of different services up to automation solutions and dockers for different platforms. And this is good as it is however Microsoft went beyond that. For instance if you’re not Windows guy…you can still use some of the Azure components on Linux system (for instance Azure Functions) and from many programming languages/frameworks. Actually you can even use linux shell feature inside Windows so you can fill like home even inside Windows. Or just host that Linux on Azure VM (40% of Azure VMs are Linux).
Last but not least Microsoft from many years put a big support into community building. I think they were aware of community importance from the beginning but for many years they did it wrong. Today they put many different activities that are worth to mention. For instance:
- Roadmap Watch – portal that is the live changelog of Microsoft features, updates and fixes. Absolutely amazing.
- TechCommunity where users can ask technical questions and get answer from other users and MVPs among them.
- User Voice where users can put suggestions. Believe me – they’re using it, listening it and update it (for every product there is separate User Voice group).
- Insider Program that is special group of early testers of different Microsoft products
Besides regular programs there are also multiple community driven activities like Pattern-and-Practices which is hosted on github great framework for multiple sharepoint related stuff.
Probably I missed something but I hope you get the general feeling – Microsoft is giving a lot to and from community. That’s why developers and IT administrators like them more and more because they have real impression that they have influence on what is going on with Microsoft.
Working today with Microsoft products I feel like I can eat a cake and have a cake – how cool it is?