Robert McLaws: FunWithCoding.NET

Public Shared Function BrainDump(ByVal dotNet As String) As [Value]

News

<script type="text/javascript"><!-- google_ad_client = "pub-4330602465258980"; google_hints = "ASP.NET, VB.NET, C#, C#.NET, WindowsForms, .NET Framework, VS2005, Visual Studio, XAML, WinFX, Windows Workflow, WPF, WCF, Atlas, NetFX3, Visual Studio Orcas"; google_ad_width = 120; google_ad_height = 240; google_ad_format = "120x240_as"; google_ad_type = "text_image"; google_ad_channel ="4997399242"; google_color_border = "B6C9E7"; google_color_bg = "EFEFEF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "002C99"; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<!--
-->

You should feel free to challenge me, disagree with me, or tell me I'm completely nuts in the comments section of each blog entry, but I reserve the right to delete any comment for any reason whatsoever. That said, I will most likely only delete abusive, profane, rude, or annonymous comments, so keep it polite, please.

Blogroll

Cool .NET Articles

My .NET Tools

My Builder.com Articles

My MSKB Articles

VisualBlogger Beta 1 This Weekend!

I'm wrapping up the last features for the first beta of VisualBlogger 2004. Wanted to give a brief status report on where I am at, what features it has, and what features are left to be done before the final release.

Beta 1 Features:

  • Full WYSIWYG Editing
  • Raw HTML Editing
  • Blogging ScratchPad
  • Post To Mutliple Weblogs
  • Post To Multiple Weblogs with Categories
  • Blog Credential Hashing in Local Store
  • Save Posts
  • Load Posts
  • Clipboard Access
  • Code Formatting
  • Provider Model-Based
  • 2 BlogProviders
    • .Text Simple (SimpleBlogService.asmx)
    • .Text 0.95 (AspNetWeblog.asmx and BlogContent.asmx)
  • Abstracted object model mapped to provider-specific objects
  • Central Bug Reporting / Feedback System

Final Version Features:

  • Advanced Post Options (Allow Comments, Page Alias, etc)
  • Dynamic assessment of available options by provider (CanAllowComments, etc)
  • 8 BlogProviders
    • .Text Simple (SimpleBlogService.asmx)
    • .Text 0.95 (AspNetWeblog.asmx and BlogContent.asmx)
    • .Text 0.96 (DotTextAPI.asmx)
    • Blogger API
    • LiveJournal API
    • MetaWeblogAPI
    • Movable Type API
    • Atom API
  • Dynamic provider substitution/addition at runtime
  • Edit Existing Posts (Where Available)
  • Edit Categories (Where Available)
  • Insert New Categories (Where Available)
  • Upload Images via FTP
  • Local Caching of Categories
  • Saved Entries stored as XML
  • VS.NET 2002 & 2003 Integration
  • VS.NET "VisualBlog This Code" right-click option (Code autoformating)
  • IE "VisualBlog This" right-click option
  • Automatic backups every 5 minutes
  • Remote Blog Configuration (Where Available)

Ambitious, to be sure, but completely doable. I'm planning a final release sometime in late April / early May. I wanted to release it along with the other stuff Interscape is doing, but this project needs to take a backseat while we collect some public feedback. I want this to be a really kick-butt tool, and I'm willing to wait a bit for that to happen. Plus, I have some other .Text-related development work that I'll need to focus on for a while, so it works out quite nicely.

I spent tha past 3 days doing a complete overhaul on the organization. I redid all of the namespacing, and gave the Web Service references a predictable taxonomy. Posts are now using objects as intermediate storage units, using heavily modified versions of ScottW's .Text objects. I can honestly say now, that I LOVE programming with collections. I can't wait till I can use Generics. Very exciting. I added some nifty features to the existing Category collections, which let me dump the categoty data into various formats depending on the situation. Using this setup also made implementing the providers a breeze. The combination of typed datasets and the new objects make mapping to provider-specific objects dirt simple.

I have really grown as a developer through this project. I really surprised myself with all the things it can do. It took me weeks to figure out the provider model implementation for GenX.NET (found out weeks later that Microsoft's implementation in Whidbey is very similar), and I implemented it in VisualBlogger in a matter of hours. I already found some serious improvements to the model that will be made for GenX.NET 3.1, and was able to streamline the code for that product even further.

Well, enough rambling. I need to test the "Post To Categories" part of the new provider-based system, so I can go to sleep. Got to start getting ready for the MVP Summit. Looking forward to going back to Microsoft again. This will be my second trip, and I am way excited. More on that later.

Comments

Lotas Smartman said:

sounds pretty cool! cant wait for the blogger API to work. hopefully it will talk to my copy of wordpress! sounds sweet, and it looks cool too. good luck!
# April 1, 2004 5:16 AM

torsten.rendelmann@gmx.net (TorstenR) said:

When we will have support for dasBlog (www.dasblog.net)?
# April 1, 2004 5:24 AM

Robert McLaws said:

Oh yeah, almost forgot about that one. I'm pretty sure dasBlog also supports MetaWeblogAPI, so that shouldn't be a problem.
# April 1, 2004 5:43 AM

Jeff Julian said:

Pretty Nice......
# April 1, 2004 8:56 AM

Adam Kinney said:

Sounds good. Its pretty cool that Cross-posting made it into the beta. Unfortunately I need to use it to cross-post with .Text and dasBlog (you're right it supports MetaWeblogAPI).

Looking forward to using VisualBlogger!
# April 1, 2004 8:57 AM

TrackBack said:

# April 5, 2004 9:20 AM

TrackBack said:

# April 5, 2004 10:13 AM

TrackBack said:

# April 18, 2004 4:02 PM

Scott Galloway said:

Was this a joke? ;-) Still champing at the bit to get my sticky mitts on this - any update on the ETA?
# April 19, 2004 3:45 PM

Shawn Anderson said:

Me too! I'd love to test this out. Any info/updates would be greatly appreciated!
# April 20, 2004 10:09 AM