Pages Menu

Posted by on Nov 3, 2017 in Microsoft Teams

Why Microsoft Teams isn’t in the Windows Store (yet)

Why Microsoft Teams isn’t in the Windows Store (yet)

It’s a valid question:

Microsoft Teams is Microsoft’s newest Office application and is now being presented as the primary communication tool for collaboration and productivity tasks. Why isn’t it available in the Windows Store?

The reason is down to the way that it’s built. Because it’s not a UWP application, it can’t be in the Store.

Why leads onto the next question: why isn’t it a UWP application? A little while ago I blogged about how Teams is put together, and the answer may surprise you. It’s a collection of open-source languages and open-source components. It’s not quite what you might expect for the newest member of the Office suite.

Hello PWA

It’s time to meet another acronym if you’re not already familiar with PWAs. Progressive Web Apps are another attempt to bridge the gap between web and desktop, with applications that can run on both from a single codebase. The ‘Progressive’ part is because they get ‘progressively’ better as the capabilities of where they are running improves, from web to mobile to desktop, for instance.

PWAs are a cross-industry idea, they’re not just a Microsoft thing. In fact, the phase came from Google in 2015, with one of the Chrome engineers posting Progressive Web Apps: Escaping Tabs Without Losing Our Soul. Right now, Chrome is the only browser that supports PWA, but that’s about to change because Edge will support PWAs with the Windows 10 Fall Creators Update, rolling out to users right now. This cross-platform support is what makes PWAs most likely to succeed because developers won’t have to choose between platforms. This is good for Microsoft as well because, right now, developing for the Windows Store is not at the front of most development shop’s list.

Another interesting move is that Microsoft is going to actively start looking around on the web for PWAs and adding them to the Windows Store, to make it easier for users to consume them. This should mean that the Store increases in usefulness as it fills with PWAs from developers who wouldn’t necessarily commit the time and effort to building specifically for the Store. Remember as well, that this means all those Windows 10S users will benefit, as these will just show up as Store applications. This is a good boost to Windows 10S stacking it up against the Chromebook.

What makes PWAs different

You might be thinking that we’ve been here before, with web wrappers. There’s more to PWAs than just wrapping a webpage, but they’re not native apps. They occupy the grey middle ground, making use of things like aggressive caching and web sockets for pushing changes and data, in order to make an experience which feels like a native app, even though it isn’t.

Google defines 10 key criteria for a Progressive Web Application:

A Progressive Web App is:

  • Progressive – Works for every user, regardless of browser choice because it’s built with progressive enhancement as a core tenet.
  • Responsive – Fits any form factor: desktop, mobile, tablet, or whatever is next.
  • Connectivity independent – Enhanced with service workers to work offline or on low-quality networks.
  • App-like – Feels like an app, because the app shell model separates the application functionality from application content.
  • Fresh – Always up-to-date thanks to the service worker update process.
  • Safe – Served via HTTPS to prevent snooping and to ensure content hasn’t been tampered with.
  • Discoverable – Is identifiable as an “application” thanks to W3C manifest and service worker registration scope, allowing search engines to find it.
  • Re-engageable – Makes re-engagement easy through features like push notifications.
  • Installable – Allows users to add apps they find most useful to their home screen without the hassle of an app store.
  • Linkable – Easily share the application via URL, does not require complex installation.
  • How can you tell that you’re using a PWA? Well, ideally you shouldn’t be able to!

The idea is that users won’t be able to tell the difference between a native app and a PWA:

These slides are from a talk given at Build 2017 – Progressive web apps and the Windows ecosystem, definately worth a watch if you want to know more about PWA:

Why do I care?

So, now you know about PWAs, you know Microsoft are on board with them, and you know that they’re coming to Edge really soon. What does that have to do with Teams?

Teams is going to be one of Microsoft’s first published PWAs in the Store. That explains why it’s not a UWP application: it was likely always the intention to write it as a PWA but Edge wasn’t ready so a good short-term solution was to wrap it using Electron. That way, once Edge is ready, the Teams developers can turn it into a PWA application without a load of rework because it’s already been written in a web-like way. Rewriting from UWP would have been considerably more effort.

What does this mean for users?

Likely, users probably won’t really notice much change to the look and feel of Teams right away. The deployment model might be slightly different: it’ll be available from the Store, which is good for IT Admins because it gives them MORE control over deployment and management of the Teams client (but not over automatic updates). It’s possible as well that some of the rough edges in Teams usability get smoother when the ‘container’ is moved over from Electron to PWAs.

Although Edge will start to get PWA support in Insider Builds from around now, it’ll probably be next year before there’s widespread support among all users, so this is something we’ll see roll out over the coming months.

What’s potentially more interesting though is to think about what else could become a PWA. Paul Thurrott (who’s been evangelizing about PWAs for a while) said on a recent Windows Weekly episode that whilst it’s unlikely we’ll see complicated, feature-rich applications like Word or Excel become PWAs, something like Outlook could be a serious candidate. There are lots of different variants of the Outlook client on lots of different platforms so it would be great if they could be combined into a single surface, consumed anywhere. On the face of it, Teams is a more complicated set of offerings than Outlook (the audio/video workloads for instance), so I think it’s certainly possible. It’ll be interesting to see how much Microsoft embrace PWAs for other applications over time.

Further reading




Written by Tom Morgan

Tom is a Microsoft Teams Platform developer and Microsoft MVP who has been blogging for over a decade. Find out more.
Buy the book: Building and Developing Apps & Bots for Microsoft Teams. Now available to purchase online with free updates.

Post a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.