April 2004 - Posts
Brady Gaster took my implementation
of error handling in VisualBlogger 2004 and turned it into a general WinForms
error handling tool. It's a lot easier to use that the
Exception
Management Application Block. Check out
ErrorTrapper on
CodeProject.
I spent the past 2 weeks reverse-engineering the .NET Framework 2.0 so that I can get in-depth and understand how the Provider Model works. Then, I started adapting my knowledge to v1.1 of the Framework for VisualBlogger 2004. So then I get online today, and Rob Howard posted a new article on MSDN on the Provider Model, complete with a .NET 1.1 implementation in downloadable source code! AGGGH, Man, if I had this two weeks ago...
In all seriousness, this is a killer article, and a must read for anyone working with Providers. Thanks Rob!
OK. So I want to implement a new feature in VB2004 that I'm not ready to talk
about yet. You may be able to infer what I want to do from the situation I'm
about to describe, but I won't give any specifics until the next beta release.
Here's what I need to do:
Inside an assembly, which will be loaded and executed by App#1, I need to be
able to check and see if VB2004 is running. If it is, I need to be able to
access the running instance, pass data to the editor, and activate the
form. Does anyone have any frickin clue how to do this? I have no idea where to
even begin, but I really want this feature in the next drop. Any help would be
appreciated.
-Robert
I just spent the better part of 4 hours working on some major modifications
to VisualBlogger. I heard your struggles, I felt your pain. I made configuration
much simpler. Instead of using a config file for some global settings, I'm
pulling from the registry. You should no longer get any errors when the
application loads. The Configuration.xml file has been renamed to Blogs.config,
and the default location is prespecified to be relative to the executable.
Should make life TONS easier.
I've added a new system to give you feedback during the posting process. It's
very simple really, after you select your blogs to post to, and click submit,
you'll get a report of whether or not each blog succeeded or failed. Should help
the process out a bit while I refine the multithreaded mechanism I'm working on.
In the meantime, a tip for current and future builds... the toolbar buttons stay
highlighted in orange while any operation is in progress. That means, if you
click "Submit", and it stays orange for a minute, it's still posting to the
various web services.
On the UI side, I added a few more icons in place of some of the text buttons
in the UI. People said it was too hard to read the sideways text, so I put some
placeholder icons in there. Some of them might stay, many will not. We'll see
what happens. Also, I locked down the toolbar positions so that they cannot be
changed/moved/redocked/whatever. I'm sure a few of you won't be happy with that,
but oh well. I need to redesign some of the UI to be able to handle the
readjustment that takes place when the toolbars get redocked. So until that
happens, it's best just to disable UI customization until it works properly.
Feedback: We now remember your Name and E-mail address for the feedback form
(stored in the registry). Hopefully that will coax some more people into using
the online submission system for sending us bug reports and feature requests.
Please keep them coming.
Oh yeah, I almost forgot. Someone asked me to make VB2004 minimize to the
system tray, so this build does that by default. The icon is totally lame, and
there aren't many right-click options, but it works. If you have any ideas for
what options should be available on the right-click menu from the system tray,
let me know.
I was going to put out the new beta this morning, but I am having a problem
implementing a new feature I'm working on, which I will discuss in a separate
post in a few minutes. At any rate, I won't be ready for a new drop until
Wednesday.
We've had over 200 verifiable beta testers, and the response has been
overwhelmingly positive. Thanks for trying it out guys... please keep sending me
your feedback. it's already much more stable thanks to the comments I've gotten
so far.
Josh, thanks for the
feedback. I'll address them point by point.
- Right now we're only pushing data. There is no real way to get posts to be
able to do anything with them. The web services that allow you to get
posts have been depricated, but they are still accessible. I'm working on ways
to make that happen. remember, it is primarily a tool to keep you from losing
posts you're working on. Anything beyond that is a value-added thing.
Remember, we're currently limited by what .Text can/can't do.
- Had a few comments about the sideways thing. Right now, the text is just a
placeholder until I can get a UI guy to do some graphics work for me. I need
icons for each of those options, and I wasn't going to even try to make one on
my own, since I suck at it.
- Not sure why the Config UI is not working. Ping me offline and we'll
troubleshoot.
- There are no default categories, so that's not a problem. In regards to
which blog you're posting too by default, I'll look into it. The problem with
adding a menu item is screen real-estate.
- VS.NET Add-In Mode is not available in Beta 1. Should be enabled by Beta
2.
- Spell check is not available in Beta 1. See my beef
with ComponentOne for more details on why.
- Ping me and we'll troubleshoot your feedback problems.
- The next build will have a mechanism for saving who you are. Didn't have
time to enable it in this build.
- Status bars will be available in the final release, once I make the UI
multi-threaded. There is a lot of work that has to go into the tool before
that can happen. I will have at minimum a mechanism to tell you that the post
got saved successfully.
- Josh, I gotta tell you man, you're pie in the sky on this one. I have NO
experience with shell programming, and I don't have the foggiest idea how to
BEGIN adding that feature. I'll be flat out honest... you'll be lucky if you
even get it in IE.
- .Text has been having issues with categories lately. I keep getting SQL
errors on the return, meaning that there are back end issues with the web
service. I need to do some more troubleshooting to see if VisualBlogger or
.Text is the source of the problem.
- Timing is a known issue. It's a problem with the .Text web service. I'm
still experimenting to see if I can correctly fix it in code. I believe the
web service is adding in it's own datetime info, not using what is
submitted. The web service is also not scrubbing that time based on
your local timezone, so that is one of the reasons why the timing is off. I'll
see if I can compensate for it, but no promises. Rest assured that it
aggregates normally.
Ping me tonight and we'll troubleshoot your setup.
I just posted a new build of
VisualBlogger 2004. This build fixes the following issues:
- Drop-down list of configured blogs does not update after changing
blog configurations. [Brian Desmond]
- Dialogs and subforms were not modal. [Brian Desmond]
- Post Title box did not clear when your cursor entered the
box. [Brian Desmond]
- Feedback system did not submit your name or e-mail address.
- DotText96 provider removed.
- Upgraded Sandbar.dll assembly to version 1.0.8
If you've already registered, you should be automatically redirected to the
downloads page from this
link. To upgrade from the previous release, unzip all the files
EXCEPT for VisualBlogger.exe.config and Configuration.xml. If
you overwrite these files, you will have to re-configure VisualBlogger 2004 as
per the directions in readme.txt.
Earlier, it was brought to my attention that VB2004 takes up about as
much memory as VS.NET when running. I need to reiterate the fact that while
this beta was tested for basic functionality, it is not performance
tuned at all. I'm not cleaning up objects when I'm done with them. All
subcomponents are compiled in debug mode, and there are 9 different
dependencies, all of which load up debugger files along with the main assembly.
I'm not caching any data to the hard drive. At any rate, the memory footprint
will be much smaller once all subcomponents are compiled in release mode, and I
do my obsessive-compulsive "Java-Powered Code Review" (that's the coffee not the
virtual machine) to clean up all the code.
Please send any feedback through the built-in system (the last button on the
toolbar). This goes into our central tracking system, powered by OnTime, so that I can see what needs to be
done, and when features.bugs are closed.
Thanks for all the help guys!
Just wanted to say a few things based on the initial feedback on VisualBlogger 2004 before I go to sleep. First off, PLEASE read the readme.txt file before starting to use the program. It has very useful information about configuration and known issues. If you get an error as soon as you run it, you haven't read the readme file very thoroughly.
Also, you'll need to completely unzip the archive into it's own folder, and follow the directions in the readme file to configure the file locations in the VisualBlogger.exe.config file. Those locations were hard-coded into the app, and the .config file was the easiest way to pull them out for beta. Otherwise I would have had to build an installer, which would have delayed the beta longer. The other reason you need to unzip the archive is because there are a lot of dependencies. As it is, the app itself spans three assemblies, and there are several other 3rd party components being used. I may ILMerge some of the assemblies together... I have yet to decide on that issue.
Regarding the UI, I know it kinda sucks reading interface elements that are sideways. For that I am sorry. When you see it docked inside VS.NET, you'll see why it is that way. We will more than likely make all those side buttons icon driven with tooltips (like the ones on the code formatting dialog box) but we don't want to have anyone do icons for that stuff until the other stuff is locked down.
Speaking of UI, I had a couple requests for file menus and what not in the design. There was a specific reason we chose to put all the UI elements on one line, and not have a menu bar. The original puprose of the app was to live inside Visual Studio .NET. It was supposed to be an add-in, and the window would dock at the bottom of the IDE. It would look kind of weird if a tool window had a menu system, so I left it out. The UI was designed to use as little space as possible, and give you maximum editing room while docked, because real-estate inside the IDE is hard to come by.
Oh yeah, and I'm sorry there is no feedback on whether or not your post made it to the server. I had some in there early on, and it got axed when I moved to the provider model. I'll put it back in the next beta, I promise.
One last tip. When configuring your blog... look at the settings to see what kind of format you should use, then click "Delete" and "New Blog" in that order. Type in your settings, then select "Save". Then your settings should be saved accordingly. And yes, I know the dialog box should be modal. It's on the list.
I may put out a new build early next week... I may wait and collect more feedback. Depends on how many more bugs get picked out. Please, keep that feedback coming.
OK guys, here it is. The moment one or two of you have been waiting for. The VisualBlogger 2004 Beta is finally available for download.
PLEASE Read the readme.txt file in the zip archive first. You have to unzip everything and set up some options in the config file. You can't just run it right out of the ZIP, it has too many dependencies.
Also, please use your real e-mail address. We won't be able to communicate updates to fake addresses. If I get too many fake addresses, I'll take it offline and make it a private beta by invitation only.
To make sure we're all on the same page, VisualBlogger 2004 is a blog editing tool for Windows. It doesn't need Visual Studio .NET, only the .NET Framework 1.1 and a .Text blog engine to post to. Sorry guys, you won't be able to post to LiveJournal, Blogger.com, etc until Beta 2. Here are all the features that are working/need to be tested:
- 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
For Beta 2, I'm going to finish the reorganization I started on Tuesday. I'm going to move a good deal of the actual posting framework to the VisualBlogger.Framework.dll file, so that I can expose some of the API to the public. Anil Dash (how frickin cool is that?!?) offered to help me implement the AtomAPI. So that will be in there. Plus all of your feedback. So make sure you use the built-in feedback mechanism (last button on the toolbar) and help me make this tool kick BlogJet's butt.
Some of you may have noticed this, but a while back on MSDN, there was an
article posted on this cool new toy called the Help Integration Wizard. A team
at Microsoft had FINALLY made it dirt-simple to create an integrated VS.NET help
collection, without making it ridiculously convoluted, aka the VSHIK.
Well, the punks teased us by posting an article without a link to the file
itself. So while I was at the MVP Summit, I tracked down the VSIP guys
and was all like, "WTF guys?" They laughed and assured me that the tool
would be online soon. Well, two weeks later, here it is. If you do any Help work
at all, this tool is a must. Find
out more about it here.
Testing a fix for a bug in .Text's category posting ability. There WILL be a
be a beta before the end of the day tomorrow. I spent all day today tying up
loose ends, and making sure that, in most cases, posts won't get lost. I also
had to move some of the settings to an app.config file. I have a lot more work
to do in the "Settings" capabilities, but that will have to wait.
I still need to put together a basic "readme" file with known issues and what
not. I'd really rather not get bug reports on issues I already know exist.
Alright, I'm off to WallyWorld to get a little shopping done. More details
tomorrow.
More Posts
Next page »