I'm Keyvan Nayyeri, a 25 years old Ph.D. student at
the Computer Science department of
the University of Texas at San Antonio.
I'm also
a Software Architect and Developer and previously held a B.Sc.
degree in Applied Mathematics.
This is my blog where I publish content about various topics specifically Programming Languages and Compilers, Software
Engineering and Programming.
One of the annoying things about .NET is its position on modern web. There have been lots of write-ups about this to see why .NET has not been able to find a good position among web 2.0 sites.
Taking a look at statistics and the list of top 100 sites of the internet, we simply believe that PHP and Ruby on Rails have a much better position than .NET (and ASP.NET).
I'm not going to talk about the reasons of not having a good position on web 2.0 for .NET in details but an outline would be worth to mention here.
One of the most obvious reasons is the lack of idea on the .NET community. I don't know why but many of the Microsoft community members in general and .NET community members in particular don't have new and unique ideas to get success. We usually follow other's ideas and just try to improve them. Even same is true for Microsoft as the big company behind these communities and their members. They recently just build a better implementation of an existing idea.
There may be a relationship between the way that Microsoft duplicates the software and the way that Microsoft community members follow this way and this is a possibility for the reason. As long as we don't have good and new ideas, we can't lead the web and this is something acceptable.
The other reason is the fact that .NET came to the world since 2002 as a common technology among developers and it took 3-4 years (until 2005 or 2006) to find its shape. In these 3-4 years, people tried to teach .NET and improve its features to be able to build good software. .NET community leaders spent much time on this process and couldn't put much effort into building web 2.0 sites and communities.
But since 2006 .NET community began to evolve and things got better. So the age of .NET may be a reason to not have a good position on the modern web. PHP was older than .NET and people could use it to build web 2.0 sites that of course required a professional level of skills and knowledge.
Here Ruby on Rails is an exception. In my own opinion we would exclude it because it has had an amazing growth which normally wouldn't occur for many technologies. Neither .NET or PHP could have this progress and growth!
The third reason may be the cost of building a professional site with .NET. Such a professional site requires good hardware and software licenses and the cost of Microsoft licenses may be a stop point for some guys who can't afford it. This is not limited to server licenses because same is true for development tools. Even though Microsoft has tried to reduce these costs and even provide free development tools (as Express editions) but it doesn't seem to have any effect on professional development for modern websites because no one can be satisfied with limited features included in them. Recently I saw an article that described FaceBook is hosted on 300 MySQL server. Now suppose that if you wanted to do this with Microsoft SQL Server or BizTalk server!
However, I don't want to spend much time on these reasons. We've already passed the way and just can learn from the mistakes for the future. I was going to talk about .NET and web 3.0 which is an open space in front of us to find a better position.
Web 3.0 is going to be a Semantic Web (now you're here, read today's post by Mads as well). An obvious sign of the semantic web is the content! So Web 3.0 is going to target content-oriented sites which hopefully will feed artificial intelligence methods to analyze them. But here I don't care about the nature and goals of web 3.0.
.NET is an enterprise platform that is not limited to a server-side technology like ASP.NET. There are lots of features included in the platform that can be used in conjunction with ASP.NET to build enterprise software. So unlike PHP or Ruby on Rails that are just server-side technologies, .NET (and ASP.NET) has a plus point that can help it when it comes to technical scenarios. We have to use this power to build enterprise solutions for web 3.0. As I describe later, for web 3.0 technology and knowledge is more important than the idea and this is a key point that can fill the gap of ideas for .NET community.
To get ready for web 3.0 we need to find new ideas. It seems to be the most hard part of the process but there is no other choice. We need good ideas to implement them! But the good news is the fact that web 3.0 opens doors for duplicated ideas to get success. Here idea is not the main part. You need some methods (especially artificial intelligence) methods with a good quality to be able to work on the content and analyze that. Someone may have great ideas but it can't be success until he or she can implement it with the best quality. Here knowledge and skills play the key role not the idea! So if .NET community can improve this field then it can be success on web 3.0.
But there are some requirements that we can predict at the moment and work on them to prepare the community for the future. For a semantic web that targets content and working on the content, we need some ways to speed up the process of working on the content in any format and simplify it. Some ways to parse HTML/XHTML would be a very common stuff for the future of the web. There will be also some requirements for image processing, video processing or sound processing! As soon as we provide better features and tools for these things, we're able to lead the future of the web!
I will write more about this stuff in the future and hopefully will work on such tools to prepare requirements for a .NET-based semantic web 3.0! Web 2.0 and the idea of collaboration and communities wasn't very interesting for me but web 3.0 and the requirements of artificial intelligence and related methods are very interesting.
Cohen
May 09, 2008 7:43 AM
#
I do not agree at all that the .Net community is to blame for the lack of succes of ASP.NET in the web 2.0 world
- Microsoft has killed all too many community projects by duplicating them (MbUnit/nUnit (unit testing), Castle Project (Asp.Net MVC), nDoc ....), instead of supporting them... I know things are changing but it already demotivated a lot of developers in the community. When talking to peers about new technologies and how to improve them by building new tools/frameworks I often get the reaction: 'You aren't going to put time in developing something different then how Microsoft sees it? Or something different then visual studio supports!' The way microsoft has handled the community does not attract nor cultivate thinkers or pioneers but instead cultivates followers.
Dew Drop - May 9, 2008 | Alvin Ashcraft's Morning Dew
May 09, 2008 7:48 AM
#
Pingback from Dew Drop - May 9, 2008 | Alvin Ashcraft's Morning Dew
Keyvan Nayyeri
May 09, 2008 7:51 AM
#
@Cohen:
Yes, I agree with you and wrote this in the post as well. Microsoft should change some of its strategies.
Amin
May 09, 2008 9:10 AM
#
Dear Keyvan, we can not reach a good position with current strategies of Microsoft, becuase we have not anough web apps like php-nuke, vbulettin, mambo, etc... for general usages so how we can implement large scale ideas like wikipedia or... we have only one real open source active portal system like DNN.
mojo, rainbow, bearhouse,.... not anough active so when general users couldn't use a reliable and easy to use and scable system, professionals how can trust asp.net to start a large scale project??
each usefull .NET component is anough expensive to be unprofitable in our projects, implementing an efficience oo app in asp.net is too hard and boring...
Hank Lynch
May 09, 2008 9:21 AM
#
Whoa....don't agree with this at all. Facebook, any Community Server based sites, ecommerce based sites all over the place. There is a strong .Net presence out there. I think that part of what you are seeing has to do with the nature of the culture in Silicon Valley, they are very anti establishment, pro Garage, pro Dev Community out there. Startups in the US that want to be successful tend to emulate that, I notice it all the time.
I agree that .Net is looked upon as an enterprise tool, very corporate, with a high barier to entry, but totally disagree that the community is any less creative or prolific with ideas and innovation. Maybe we are a little more detail oriented, take longer to write the code perfectly, and get distracted before we finish it? Look at codeplex for instance, TONS of unique ideas.
Another reason for the lack of adoption in circles I believe is that people look at all the RAD tools we have, and think that it's all drag and drop, point and click. You and I know that's not true, but when people can't do what they want, without having to do some coding, they say the tool sucks. It's not that we don't have good ideas, I don't buy into that at all.
Now, back to your post....After the link to Mads, there is a little green XFN box, that's cool, how did that happen?
Keyvan Nayyeri
May 09, 2008 10:16 AM
#
@Hank Lynch:
Good points, man :-) I never looked at it from this view.
But about that XFN link: actually I've been using XFN links on my blog for a long time:
nayyeri.net/.../XFN-Relationshi
Hank Lynch
May 11, 2008 9:01 AM
#
I've seen the links, but never really dug into it before. Lot's of talk on web3 lately, and if nothing else, this is the article that actually got me to view source to look at the microformat stuff. When I didn't see anything obvious behind the curtain, it piqued my interest.
Honestly not sure that I'll rush out and impliment, but now it's definately on my dashboard, and I'm stopping to read articles that are mentioning it. It's a start.
Problem with Spam? Waegis to the rescue
May 12, 2008 10:51 AM
#
Problem with Spam? Waegis to the rescue
tapo
May 14, 2008 9:45 AM
#
Facebook is not .NET driven
Keyvan Nayyeri
May 14, 2008 9:52 AM
#
@tapo:
I didn't say that, did I?!
Jerino
May 15, 2008 2:59 PM
#
Me, a .Net developer, couldn't quite figure out what this article is really saying. Just a few thoughts on this:
The cost of building web site in .Net: It's true you probably have to pay 3 grands or so to M$ for software b4 you can start coding while LAMP charges you nothing. But keep this in mind: the manual labor costs much more than hardware or software fee. Have you considered that M$ tools may give you better productivity? If you hire a web developer, you'd have to pay him 5 grands a month if he's any good. Now if M$ tools speed up the development by 1 month than LAMP, then you end up saving money, pal. I'm not saying it's always the case, but it wouldn't hurt to bring that idea up either. As for FaceBook using 300 MySqls, well how much does it cost to hire people managing then? What if using maybe 50 more scalable M$ Sql Servers or Oracles instead? Again I'm not saying 300 MySqls do a worse job, just putting all factors on the table.
The semantic web: Pal, that's not some average Joel's game. That's a mass computing game only Google, M$, Yahoo and so on can handle. You probably can use certain services these guys provide. Doing it on your own and making it competitive is heck of task giving my experience w/ AI.
[转载].NET和Web 3.0
Jul 19, 2008 9:16 AM
#
《Professional Visual Studio Extensibility》的作者Keyvan Nayyeri 在他的博客里头发表了《.NET and Web 3.0》,作为.NET社区的一个名人,他同时是《Professional...
Leave a Comment