Most of the responses I got to my last post were some variation of "If you're so smart, what would you do better?" So I thought I'd give an answer to that.
I'd honestly make just one simple change. If I were Microsoft, I'd have focused on my developers and my users not on myself. Because the services themselves are fine its how they are grouped that presents the problem.
Mesh is all about Microsoft. A Mesh application will install through Mesh, need Mesh to run, connect over Mesh, be accessed via the Mesh flyout, and will store its data in Mesh repositories. Applications essentially become Mesh plug-ins more than individual applications and that's a problem for me.
As I've said before, Web services should exist to empower the developer not the company behind the service.
But in Mesh's case Microsoft holds all the cards. They own the data, they control the authentication, they serve as the gatekeeper to the user, and they are the ones who stand to reap all the benefits. Basically the user pays the developer a small fee and is then handed over to Microsoft.
Compare that to Amazon whose services are completely transparent. There's no way to even tell which applications use Amazon without seeing the source code? If you go to the SmugMug website do you see any indication that they're running on top of Amazon? No. Because Amazon empowers its developers instead of using those developers to try to empower themselves.
So that's my problem with Mesh and that is what I would have changed. I would have created a bunch of great services and competed on their quality alone. Had Microsoft done that rather than try to tie developers to some grand Microsoft-centric vision I think a lot of Mesh services would have been adopted by developers.
But using Mesh now would just be handing Microsoft another monopoly and it isn't compelling enough to justify that.
P.S. I expect this to be my last Mesh post for a while, just so you don't think the blog has changed formats or anything :)