TomsTechBlog.com

It's hard to say these days

I (heart) Architecture Astronauts

clock May 1, 2008 14:40 by author Tom

Joel Spolsky writes a pretty scathing critique of Microsoft's Mesh initiative.  In it he says Mesh is an example of what he calls "architecture astronauts"...

I tried to coin a term for the kind of people who invented Hailstorm: architecture astronauts. "That's one sure tip-off to the fact that you're being assaulted by an Architecture Astronaut: the incredible amount of bombast; the heroic, utopian grandiloquence; the boastfulness; the complete lack of reality. And people buy it! The business press goes wild!"

The hallmark of an architecture astronaut is that they don't solve an actual problem... they solve something that appears to be the template of a lot of problems. Or at least, they try. Since 1988 many prominent architecture astronauts have been convinced that the biggest problem to solve is synchronization.

My biggest disagreement here is with his assertion that being an "Architecture Astronaut" is a bad thing.  What I think Mr. Spolsky misses is that "solve something that appears to be the template of a lot of problems" is another way of saying  "building a platform". 

A platform is a collection of tools that is used to build numerous things which means those tools, by their nature, have to be abstract.  Just as a Hammer wasn't invented just to build houses a software platform can not be tailored to one specific problem. 

Mr. Spolsky seems to be missing the fact that Application Development and Platform Development are two different things.  Application developers need to focus on solving individual problems and I'll agree that not enough do.  Platform developers on the other hand have to be broad in what they create.

In fact, I'd argue that a good platform is one that allows subsequent developers to do things that the original developers never dreamed of. 

One last point I'd like to make on this is that the coming Internet age requires every developer to think a little more like a platform developer.  Web Services allow us to create a global toolbox where the pieces of each vendors platform can be mixed and matched to provide more and more tools. 

What each application developer needs to do is look at abstracting the underlying functions of their program while solving whatever individual problem their software is designed for.  That way others can use those functions to solve completely different problems in the future (making the toolbox that much bigger).

The world is much better served if every application developer has a Minor in "Architecture Astronomics" to compliment their Major in Problem Solving.



Microsoft Mesh: If I'm so smart...

clock April 24, 2008 16:10 by author Tom

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 :)



Mesh The Morning After: How Can It Succeed?

clock April 23, 2008 15:59 by author Tom

I want to love Mesh.  I want to be part of the echo chamber that praises Ray Ozzie's grand vision of the future and ignores all the obvious reasons why it will never happen.  I really do. 

Because honestly, I feel alone out here.  Even Mary Jo Foley, usually as honest a Microsoft critic as you can get, seems to be praising it (even while in the same post producing a list which seems to highlight just how mundane a project it is)

So I've compiled my own list.  A list of all the things that would be required to happen for Mesh to even come close to succeeding.  Can someone please tell me why I'm off base? 

Because I don't see it and if I'm right about all of the below then Mesh stands almost no chance of success. 

What's Required

Requires Every IT Company In the World to Accept Another Microsoft Platform

When Microsoft released Office 2007 they created an open Office Format to use.  They submitted this open format to a standards body.  They sucked up to the community to get it accept.  What happend?  No one but them adopted it and everyone from Governments to individual users gave them grief. 

If Microsoft can't even get people to embrace open formats that they create what makes them think companies are going to rush to a platform that allows them to lock-in and control the user through their data?  If you were Apple, Sony, et al. wouldn't you be looking to put every imaginable road block in front of this. 

Requires Each Hardware Platform to Give Microsoft Full Control

Microsoft's vision is to give users the power to manager their devices from anywhere.  That goal is a worth while one.  But for it to be accomplished Microsoft has to get vendors like Sony and Apple to give full control of their OS to Microsoft.  That's simply not going to happen.  Steve Jobs is not going to give Microsoft the ability to control a Mac or an iPhone.  Its just never going to happen. 

Same with Sony and the PS3.  There's no way they are going to give Microsoft that much control over their system.

Requires Security Minded People to Accept Tons of Document Copies

The rule I was always taught about data was that it becomes exponentially less secure with every copy that exists.  Because every copy that exists means a whole new computer to secure which in turn means that not only do you have to consider every security issue that you did with the original copy but you also have to consider all the security issues raised by the transmission of the data between the two systems.  So what I need explained is how you are going to get any security minded person or agency to accept a system where users can create new copies of every one of their documents with just the click of a button. 

Requires Security Minded People to Accept Live ID

Please correct me if I'm wrong, but to the best of my knowledge there were no egregious technical problems with Microsoft Passport. The problem boiled down to people not wanting to have Microsoft as their identity broker.  Given that why would they turn around and accept a Live ID in the exact same capacity.

{For the Record, Microsoft says it will "look into" support for OpenID but given the architecture they've outlined I personally can't see how that would be possible}

Requires Developers to Embrace a Completely Different Paradigm

Again please correct me if I'm wrong but from everything I know or have been told most developers have moved to web based applications at this point.  I'd say 95% of the computer books on the market address web based development now.  Web based development has been considered the way of the future for some time. 

But web based development is a completely different paradigm than Desktop development.  So for Mesh to realize its potential those developers are going to have to do a complete 180 degree turn to support desktop development instead of web based development.  Does this seem likely to anyone?

Requires Developers to Create an Application For Every Platform

As of right now, Microsoft has not introduced any Adobe Air like system that would allow developers to write one application and then deploy it on every platform.  No where has that even been stated as a goal.  In fact, I suspect part of Mesh's goal is to draw people back to Windows so I honestly don't think that is one of Microsoft's goals.

So to support the "Mesh Vision" developers would have to write a different version of their application for every different platform.  That means learning different development environments, languages, APIs, etc...  Does this seem practical to anyone?  Wouldn't writing one web app be preferable instead? 

Requires Developers to Surrender All Lock-Ins To Microsoft

Though I wish it was not so the reality is that many developers build lock-ins as a way to maintain their user base.  That's why you can't get your data out of Facebook for example.  For the "Mesh Vision" to work developers must essentially surrender all those lock-ins to Microsoft.  That means storing your contacts in their cloud using their format, using their news feed again in their format, syncing your data using...wait for it...their format, and so on. 

I have to admit, this is one of those things that I think would be better for the consumer but I can't see developers doing it.  Its just too much to give up to Microsoft.

Requires Developers to Create Local Data Repositories

This is one of those cases where I have to assume Microsoft is working on a solution for the problem.  But since one hasn't been announced I have to raise the issue just the same.

Most applications work on database back ends.  That means, if you have to sync your application, you either have to load a personal edition of SQL onto each client PC or devise a local data repository to hold database information.  Under either scenario its a lot of work for the developer which creates yet another roadblock to developer adoption of Mesh.

Requires Users To Take Charge of Their IT Destiny

This is a big one that is completely missed by the "Tech Elite" because they aren't thinking of the average user.  The average user doesn't want to have to control their own destiny.  They want everything pre-configured for them so they can jump on, get whatever work they have to do completed, and get off.  Mesh gives the power to the user but in most cases I don't think that's power the user wants. 

Requires Users To Buy Software Licenses For Each Device

This is one of those things that you won't hear mentioned until it's actually time to buy the software but I doubt anyone, including Microsoft, is going to change the rules of software licensing just for Mesh.  That means an additional license for each one of those Mesh devices if you want to actually be able to USE your data on them.  That's a lot of money for the consumer. 

Requires Users To Open Up Their Home Life to The World

Ever have a nosey fellow employee?  Imagine if that nosey fellow employee could search through your personal computer when you went to get coffee from the kitchen.  Is there anything you wouldn't want them to see?  Having your data persist everywhere without requiring a password (beyond an initial log on) isn't always a good thing.

Beyond that, this also requires loading all your files into the cloud with no guarantee as to what will happen.  It isn't like Microsoft hasn't folded to people like the record industry before.  What is to stop them from scanning your "cloud drive" for illegal music? 

{For the Record, I doubt they would.  But I also don't see them guaranteeing they won't}

Requires Users To Care

Beyond Power Users, who asked for this?  As someone who runs an IT department for an organization full of normal people I can tell you they like it when they can't work.  They don't want to carry their work everywhere with them, they don't want to work on a plane, overall they enjoy any respite from the computer that they can get. 

Even remote access is generally forced on them by their boss.  But Mesh seems to think that consumers will not only embrace this but will be so enthusiastic about it that they will overcome all the many factors pushing against it. 

Maybe I'm just too much of a skeptic but I personally don't see that happening.



Mesh

clock April 23, 2008 03:35 by author Tom

So hmmmmm....

Before going any further I'd like to remind you that this is not a pre-written post.  I learned about this an hour ago and these are my initial thoughts.  Things might look completely different in the morning.

Though...I doubt it.  The quick snippit is that Microsoft Mesh, for right now, is just a sync-able desktop.  Sign Up for a Mesh account, add several computers, store all your stuff in local "Mesh Folders" and everything syncs up nicely.  That's about it for now. 

But the real promise of this is the SDK.  As Scoble put it...

We haven’t even gotten into the developer SDK. They spent about an hour showing me how to build new kinds of syncable apps on top of the Mesh in a variety of tools.

Now you’re just getting a taste of how Microsoft is going to use the Mesh to stay relevant. It is bringing its developers onto the Internet in an interesting new way.

So this is Microsoft's strategy for the future, sync based apps built around Feedsync feeds.  My initial thoughts...

Lock-In: A big part of me feels like this is Microsoft trying to devise another way to lock everyone in.  Like they are trying to replace Windows with the cloud rather than just provide a great service.

A Whole Lot of Effort for Developers: For a Developer the question is this: You can build one Online App.  Or you can build One Adobe Air App.  Or you can go with Microsoft and build an App for each and every platform out there all based around Microsoft's Sync technology.  So my question is, why would I go with Microsoft?

A Whole Lot of Files for Users: So lets say I buy into Microsoft's grand vision, sync everything up, and carry a copy of everything on each one of my devices.  Doesn't that mean I have 20 copies of files to worry about now?  If I forget to delete my old computer from my Mesh account do my files still float around on that PC?  Continuing to update while now in the hands of others?  This system seems awfully insecure.  Its true that users should be careful about leaving files on old computers but one lesson I've learned as a developer is never to trust the user to act in the ideal way.

Not Much Gain For Anyone (But Microsoft): I think my main problem with this is that it seems like an initiative that is "strategy based" and not "user based".  Its designed to pull the focus back to the desktop.  But with connections getting faster and web based technology getting more interactive why would I revert back to a desktop model?  In a constantly connected world do I really want my files residing on every computer I touch? 

Obviously I'm going to keep a very close eye on this but right now it seems profoundly uncompelling.  Almost like Microsoft made a checklist of their desires (lock people to a platform, put the focus back on desktop computing, etc...) and built a product around that without much thought given to the user. 

I'm a Microsoft Developer, my platform of choice is ASP.NET, my language of choice is C#, and I find this completely uninteresting.  If that's the case how on Earth does Microsoft plan to convince those hostile towards them to come over? 



About Me

Not really relevant right now. This blog is on hiatus. I really haven't decided if it is an indefinite hiatus yet

For the record if you've tried to e-mail me over the last 4 to 6 months I didn't mean to ignore you. The e-mail forwarding isn't working and I didn't realize that until months worth of e-mails had been deleted on forward. The tom@tomstechblog.com address still won't forward to the postmaster account and I don't know why because it's provided by the webhost. But if you're one of my old blog pen pals I would always welcome an e-mail from you at the postmaster@tomstechblog.com address

Contact

- E-Mail Tom

Search

Subscribe

- Subscribe to this Blog

Calendar

<<  May 2013  >>
SuMoTuWeThFrSa
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

Archive

Tags

Categories


Blogroll

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2013

    Sign in