Believe me, I hate this idea, and I resisted it for a long time, but it's now crystal-clear to me.
You'll have to bear with me. This is one of those "big ideas" that I have a hard time explaining; it's mostly intuition right now.
News Flash: ASP.NET is Dead
ASP.NET will continue to exist only in the sense that it's the platform Microsoft uses to build SharePoint, and for SharePoint extensibility purposes.
Now, there's a lot of hoopla surrounding Microsoft's new ASP.NET MVC framework, which is very impressive. There's no denying that the MVC pattern is the future (and perhaps present) of web development. So expect future versions of SharePoint to be MVC-based.
It's All About the Niches, Bitches
In order for something, anything, to survive, it must occupy a niche, which represents the unique advantage it offers over competitors.
SharePoint is already coming to dominate the "enterprise niche" among companies that are invested in Microsoft technologies. ASP.NET, on its own, has no future in this niche. This leaves ASP.NET to fight on its own against other web frameworks that exist in the niche that serves applications that are non-enterprise-related. Unfortunately for ASP.NET developers (like me!), Ruby on Rails and its kin are superior to ASP.NET in this niche. If you're a developer on the Microsoft platform, but you're not interested in SharePoint, be prepared for a bumpy ride as your opportunities dwindle. Note: this process may take years, as the clueless become clueful, and market forces start to do their thing (as they always do). But it's coming, believe me.
Silverlight + Web Parts = Crazy Delicious?
Another rising star in the Microsoft dev world is Silverlight, which is very promising as a way to embed "islands of richness" in web pages. If you're a SharePoint developer, you probably know islands of richness by another name: "web parts." SharePoint, web parts, and Silverlight are a match made in heaven (or perhaps hell). If you're an aspiring Silverlight developer, you too will live in SharePoint World.
SharePoint is the New Windows
Microsoft is hooking everything into SharePoint. Every new product they put out is designed with SharePoint integration in mind. SharePoint is essentially becoming Microsoft's next OS. If you're someone out there developing some sort of commercial .NET-based product, you had better start thinking about your SharePoint integration strategy (if you're not already) or you'll be left behind.
Yeah, but What About WinForms & WPF?
Are you serious? They're so irrelevant, they're not even worth discussing. The Web won. Get over it. They're marginal players at best.
Turn My Argument into Swiss Cheese
If you're not buying my story, I'd encourage you to poke holes in it from the comments (or from your own blog). I honestly hope I'm wrong about all this, but my intuition has a pretty solid track record.



14 comments:
I don't buy it. There are tons of happy ASP.NET developers who aren't going to move to Ruby on Rails. ASP.NET continues to evolve, and it's a great platform for developers who want to work with the tools they know. For instance, I don't see MySpace jumping ship for Ruby on Rails any time soon.
Sharepoint isn't a great fit for most web applications - it's great in an intranet environment, but it's got a very limited and targeted featureset. Again, you can't built MySpace, e-commerce, etc. applications in Sharepoint.
I'll bet you $1 you're wrong, let's check back in 10 years, okay?
None of our clients have shown any interest in SharePoint. Perhaps that's because we haven't tried to sell it to them.
Even if we wanted to sell clients on SharePoint I'm not sure we could. I'm not even really sure what SharePoint is supposed to do or why it offers any advantages over plain old web development. (Same goes for BizTalk and any number of Microsoft products.) If we can't even figure out what it's good for we sure as hell can't sell it to our clients. Hats off to the marketing weenies who screw good companies out of millions of dollars for SharePoint-based applications that we could do for one hundredth of the cost with plain old web development.
Our shop will sooner move to an open-source environment than develop for SharePoint, which may prove your point.
"Are you serious? They're so irrelevant, they're not even worth discussing. The Web won. Get over it. They're marginal players at best."
In your little slice of the world maybe, but honestly, sweeping generalizations like this are not productive. People have been proclaiming the death of the desktop app for a loooong time and it hasn't happened yet.
I'm doing nothing but winforms/wpf development at the moment and I love it.
Oh, and I'll follow Jon's lead...I'll bet you $1 you're wrong. ;-)
@Jon
"There are tons of happy ASP.NET developers who aren't going to move to Ruby on Rails. ASP.NET continues to evolve, and it's a great platform for developers who want to work with the tools they know."
Keep in mind I'm not talking just about RoR, but RoR-like frameworks that are more productive for non-enterprise apps. I think if ASP.NET developers don't adapt on their own, the market will force them to adapt or force them out.
"Sharepoint isn't a great fit for most web applications..."
I agree, but why is the demand for SharePoint so intense?
"you can't built MySpace, e-commerce, etc. applications in Sharepoint."
I disagree with the word "can't" in that sentence, but I agree with your point. SharePoint is not well suited for those types of apps and won't be popular for such scenarios (but some people will try anyway).
"I'll bet you $1 you're wrong, let's check back in 10 years, okay?"
You're on! :-)
@Nathan
"None of our clients have shown any interest in SharePoint. Perhaps that's because we haven't tried to sell it to them."
I'm not sure what kind of projects your shop generally works on, but SharePoint is like crack to "enterprisey" types. If you gave them a taste, they'd be banging your door down. :-)
"Even if we wanted to sell clients on SharePoint I'm not sure we could. I'm not even really sure what SharePoint is supposed to do or why it offers any advantages over plain old web development. (Same goes for BizTalk and any number of Microsoft products.)"
Again, I'm not sure if you guys do a lot of "enterprise" apps, but if you do, you'll be dragged kicking and screaming to SharePoint eventually. The demand for SharePoint in the enterprise is becoming overwhelming for my company (and it's not just us).
"Hats off to the marketing weenies who screw good companies out of millions of dollars for SharePoint-based applications that we could do for one hundredth of the cost with plain old web development."
You're exaggerating quite a bit there, but yes, that sort of thing does happen. I've witnessed it first hand. Unfortunately, the demand for SharePoint continues.
"Our shop will sooner move to an open-source environment than develop for SharePoint, which may prove your point."
Exactamundo. Now's the time to make that leap if you're not interested in SharePoint and enterprisey-type work. For the love of god, start learning Rails, Django, etc. You'll save your clients a boatload of money and be happier to boot.
@Mike
I'm sure your having a great time doing WinForms & WPF. I'm sure it's a lot more pleasant than working on web apps. But that doesn't change the fact that desktop apps are becoming increasingly irrelevant over time. I stick with my statement that WinForms & WPF are marginal players. I bet my company sees about one desktop app project for every one-hundred web app projects. And that might be generous.
I don't know if I can swing _$2_ but I'll try. :-)
But do your enterprisey clients want SharePoint because they like it, or because your marketing droids told them it would cure cancer? I really am curious what's driving this SharePoint scourge^Wdemand.
As for our shop, we do have some large clients and some small ones. Usually the small ones just need a website, which we can either base on a CMS or do it relatively statically. For the larger clients, typical projects involve gathering data then reporting on it to save some poor employee from generating reports by hand in Excel. That seems pretty enterprisey, but perhaps you could give me an idea what enterprisey means to you.
@Nathan
"But do your enterprisey clients want SharePoint because they like it, or because your marketing droids told them it would cure cancer?"
It's a little of both. Clients are amazed when they see 80% of their app done in a week. What they don't see until later is the weeks/months of excruciating work it then takes us to crowbar the remaining 20% into an ill suited platform.
"Usually the small ones just need a website, which we can either base on a CMS or do it relatively statically."
I would say that Rails and its ilk would be a perfect match for smaller clients like that.
"For the larger clients, typical projects involve gathering data then reporting on it to save some poor employee from generating reports by hand in Excel. That seems pretty enterprisey"
Yes, that's a good example of enterprise-type stuff. SharePoint is the future for that category of app where the client is heavily invested in Microsoft stuff, especially Office products (which is many, many companies). Data entry scenarios are handled with InfoPath. Windows Workflow Foundation ties everything together.
I hope you are right actually. I hate Sharepoint with a passion and if you are right then it will give me a great excuse to do Ruby and Mac development full-time and not worry about turning down lousy Sharepoint work.
@Rob
I'm with you, man. I feel the same way.
I'm biding my time until I can jump to a better platform (hopefully Rails). In the meantime, SharePoint work is paying the bills nicely.
"'..that we could do for one hundredth of the cost with plain old web development.'
You're exaggerating quite a bit there, but yes, that sort of thing does happen. I've witnessed it first hand. Unfortunately, the demand for SharePoint continues."
Actually, I've seen cases where it's way cheaper than 1/100th of the cost. A client of mine isn't going to be able to go from CMS 2002 to MOSS, because of the licensing change from per cpu to CALS. With a userbase of 200k+ users, the licensing fee is outragous. SPS doesn't quite have the features they need, so things can be developed a heck of a lot cheaper with custom development. It's ashame MS abandoned their processor license.
Everyone else has covered the specifics, so I'll just focus on the general: you're confusing SharePoint, as it exists today and as SharePoint v14 will exist tomorrow, with a mythical "fairyland SharePoint" of legend.
I'll point out a few places where you do this:
"Expect future versions of SharePoint to be MVC-based." - if you've dug into SharePoint enough, you'll realize this is too tall an order. If they do somehow manage to work "SharePoint" on top of the MVC framework, you will either have a) something that doesn't work, or b) something that doesn't resemble SharePoint at all today. It won't happen for SharePoint v14 (due out next year or so) so we don't have to REALLY think about SharePoint MVC until what, 2011? At the earliest?
Next: "Silverlight + web parts = crazy delicious" - I've covered Silverlight elsewhere. Don't confuse the THEORETICAL POTENTIAL of Silverlight with the DAILY PAIN of working with Silverlight in its present form. Maybe Silverlight v3 and/or some out of band releases will improve the situation? Also, big ups for the "chronic-what? cles of narnia" reference.
"Data entry scenarios are handled with InfoPath. Windows Workflow Foundation ties everything together." If you've worked with either of these products directly, you would disagree. Maybe your experience differs from mine; from what I've seen the summary is "InfoPath is good for the simplest 10% of your data entry scenarios; for the other 90% you're better off doing an ASPX page" and "SPD Workflow is useful for 0-5% of your needs" and "SharePoint VS Workflow is so incredibly painful to learn and use, that I don't recommend anyone use it. Avoid completely if you can."
So after dogging on your post, let me clarify: yes, I agree the POTENTIAL is there. On paper SharePoint is the ultimate app platform, and in practice it's even living up to the hype in some areas.
If I could clearly summarize my points, it would be two things:
1. You shouldn't assume SharePoint works as well as it claims it does,
2. Nor should you assume that future versions will be "better" or will "improve" for any reason.
Once you remove those assumptions, you'll...well, you'll be where I am :)
Peter (full-time SharePoint guy)
"I'm not even really sure what SharePoint is supposed to do or why it offers any advantages over plain old web development."
Sharepoint will give end users like me (I'm an accountant) more control over corporate information. Without having to go through the IT "middleman". Just like "QuickTax" gave people more control over their own tax returns, without having to go through the Accountant "middleman". :)
I agree. Sharepoint is Microsoft's last hope in the web wars - which will only play well with big business. All else is taken over by MVC applications in the open source world. ASP.net will survive only because of Sharepoint. And Sharepoint is ONLY surviving because of Microsoft Office. I've been working with Sharepoint for many years and the only reason we keep it is because of Office.
Post a Comment