Monday, August 10, 2009 - Every developer has a blog, and every developer bitches about it – mostly because (and this is my theory) they always think they can do better themselves. The only people who don’t bitch about their blogs are the guys who are building the engines (they just bitch about each other’s :).
Rather than complain about what others aren’t doing for me :) I decided I should get constructive/proactive:
Yah! I did a File|New, came up with a name, got really excited and then…
Meh.
As the cascades of “Yah just another blog engine” started coming in – it hit me:
Getting the core of the blog up and running with SubSonic should take you about the same 15 minutes the legendary RoR video takes, but please make sure all your old links line up. Enjoy Trackbacks and the usual "standards" joys.
Good luck with this. Personally, I can't really feel like bothering writing my own. Subtext does what I need (and I don't remember ever complaining about it).
SubSonic (and your other past/future OSS work) is *your* lightsaber.
That said, if your intention is to actually write a new blog engine because you truly feel you can create something *new* (rather than just as an exercise in dogfooding) then by all means...
I think it could make a good calling card, but it has to be open sourced then. Otherwise, it means nothing. Could be smoke and mirrors. Or could be totally awesome but have a lame UI because the author is not a UI dev.
All this reminds me.. I've got some code in open source floating around the intertubes, but, uh, well.. it's been more playground/experimental/throw-away stuff. Not calling card work. Think I better clean that up.
Developers != Jedi
I know a lot of developers don't want to believe these truths but it doesn't make them less true :)
Reinventing the wheel is asinine. Unless you have something truly innovative to contribute to blogging technology, the last thing anyone cares about is another blogging engine. Let's extend the "Jedi" concept a bit.
Why not go ahead and write your own HTTP daemon to host your blog?
Why not write your own compiler language to create your blog?
Why not write your own operating operating system to run your code?
Create something unique instead of YABE "Yet another blogging engine".
The response's to Rob's post are pretty sad. SO... someone who posts information to the masses via his blog decides that rolling his own blog engine would be a good skills sharping endeavor and test his chop and wants to open source it and he gets chastised for it? I think some people feel that just because he works for MS he is expected to give the community at large something a few deem as "useful" every time.. Reminds me of the beating the Oxite guys took for opening their mvc project.
Rob, if you want to roll your own blog I say go for it.. If I want to follow your efforts I will read posts that pertain to it - if not I will simply choose not to. Either way I wont attack you for making a PERSONAL choice - thats lame and tired.
Kevin
http://blog.smarx.com/
I think this is written using ASP.NET MVC and run on Windows Azure. It also uses worker threads for some cool features. The nice thing with Azure is you get a lot of 'enterprise' features and ways of doing things without needing an enterprise (like non-RDBMS and messaging/queue/bus ... fun scaling things).
I don't recall if it is open source or not, but it definitely shows that you can use a blog as a personal exercise.
What features will a blog platform have?
Is this purely personal or is it a community thing?
You could probably, if not already, answer some of these questions in an upcoming blog entry. Maybe you could also approach it like you did the storefront MVC; i liked that series.
Thanks Rob and can't wait to see what you come up with.
So I decided to write my own MVC blog/CMS from scratch. And yes, once I had the first 90% done, I had to finish the other 90%.
Reinventing the wheel is not accurate for my case though. I'm using lots of open-source goodness that is production-ready, like Lucene.NET. I didn't have to write any of this.
But I've now got a full MVC blog/CMS app under my belt. Very satisfying and very extensible for my own needs, without having to re-invent the wheel!
Check it at http://www.idealbinary.com
Instead of creating a blog, how about finishing the CMS portion of the subsonic demo for 3.0, and adding blogging features to that. Not only is it a good starting point, but the line between CMS and blog is thinning every day.
I might be requesting the same feature again.The framework which we can just open and start working on is what we miss between PHP world and .net
Good examples are cake php, & the killer blog app from the LAMP world(Wordpress).
Can we have the features of public, private areas for content management and make the blog a feature of this application.
Whoever wants to manage their site with this app can have custom pages and blog as a part of their site.
The templating concept should be very simple so any designer can design it.
I can write the whole requirements here... but I am not sure whether you are interested this route.
Let us know your thoughts on this.
You are thinking the same way as me. I'm building my own Mini/Small CMS with blog engine as an additional future. I need this for my own company for quickly building sites for my clients. After checking couple of options I decided to build my own and this is great.
My dev stack: ASP.NET MVC, NHibernate, jQuery, StructureMap.
My idea: method for very simple editing content by clients without messing in html.
Did it and I'm so glad I did. I'm currently reworking my entire site with ASP.NET MVC and it's coming along great.
I don't understand why programmers look at me like I have three heads when I said I built my own blog engine and CMS for my blogs (my CMS is called Backstage). I'm also currently working on a social network with ASP.NET MVC.
When I built my blog, I realized (as mentioned by Gokul above) is that you need a CMS (Content Management System) of some type so you're actually building two sites, right?
The great thing about writing your own engine is that you can take it any direction you want. Heck, it's your blog. :-) I even ping services into the site.
I hope this spurs some developers to create their own engine. It may seem unnecessary at first, but in the end, it's worth it.
Like Rob said, "Every developer has a blog, and every developer bitches about it."
Then do something about it! :-)
JD
It merely generates static files, and requires no server side processing. Comments are handled by third parties (disqus).
The advantage is clear: every time I write a blog entry, I run the command, burn an ISO with a Linux image, and reboot the machine. Since there is no storage, but only read-only media, I can bypass hackers that might try to break into the system.
I know, genius.
My problem is taking the time to sit down and blog.. Tough to take the time to blog when no one reads it!
Rob, can you communicate any release date?
Subtext works fine but the default database is sql server; Phil Haacks said he would rewrite the engine to conform with the MVC pattern, but when is he doing it? Phil works on the new MVC 2; it does make sense he is doing his new blog engine after MVC 2 would have been released.
Imagine a blog you can choose which database to use for storing everything, subsonic leveraging the whole engine, ... Frankly, I just cannot wait ;)
Good luck and don't forget to post regularly about it.
I see several benefits for doing so:
1) Gives me a real project to work on using MVC
2) Forces me to think deeply about standards (both de facto and published)
3) Existing blog engines give me a standard of comparison to know how well I did
4) I can cherry pick a feature set I like from all the existing sytems
I have no doubt that I could be up and running more quickly with the various projects I'm planning if I used WordPress or BlogEngine.net (or any of the dozens of other really good blog systems out there), but I would miss the learning opportunity.
This will be the second blog engine I have built. The first used WebForms and runs two sites: http://funzietown.com (my webcomic) and http://ggmug.com (my user group site -- Gwinnett, Georgia, Microsoft User Group). That one started life as just webcomic software, but when BlogEngine blew up on me (on New Year's Day, no less) it was pressed into service for GGMUG. It sucks as a blog engine. I never finished it. But I learned a lot from the experience and am baking those lessons into the new MVC system.
Like Rob mentioned, I'm not doing this for other people to use. This is MY lightsaber, er, I mean blog/webcomic doo-dad. I don't plan to release the entire thing as open source. I do plan to release certain sub-projects, but not the whole thing.
Those of us who do such a thing KNOW we are re-inventing the wheel, but then so do the people who build their own aircraft, cars, bikes, etc. To quote Paul Newman in Cool Hand Luke "It'd be something to do."
Honestly, I really envy Rob's decision to make his own. I want to make one too, because there are *no* blog engines I've seen that have everything I want.
Good luck with your blog writing, Rob, but I am more likely to make my own than use yours. ;)
You can see the tweet here: http://twitter.com/debugging/status/4561962810