SharpMT 2.2 Official Release

This marks the official release of the 2.2 version of SharpMT. The feature list and download links follow…

Download: SharpMT 2.2 | MSI Install

Read: SharpMT FAQ

Screenshots: 1 | 2 | 3

New Features

RSS Aggregator support – As part of the install there’s now a file named SharpMTPlugIn.dll – this is the plug-in file that your RSS Aggregator needs to be aware of. When you add this to your RSS Aggregator and configure it to be aware of SharpMT, you will be able to spawn new drafts in SharpMT with information about the Blog you were reading.

Ten Custom Tags – #MT now supports up to ten different custom tags. Sadly, if you had tags defined in the prior version, those are now lost. However, you will now have ten different tags to work with. The list is maintained on the Tags panel of the Options dialog; it’s been modified to support the ten different values. Also, these tags are triggered by Ctrl-1 through Ctrl-0, off the Format menu or via the new toolbar button.

Help System – Now included! The FAQ will still be maintained, but the help system offeres a more detailed and traditional avenue of support.

Updated Toolbar – Not just a new dropdown button but a new version of this control was used in this build.

Thanks to all the users that have been helping test the beta version, suggesting features, and donating money to make both SharpMT and Pocket SharpMT the useful applications they both have become!

Donation things:

Donations for SharpMT via Amazon!

32 thoughts on “SharpMT 2.2 Official Release”

  1. FYI – There IS a new icon for this, which may or may not show up automatically on the desktop. One machine did it right; another didn’t, until I rebuilt the Icon Cache. Either way, you’ll see the new icon reflected on the splash screen, form windows and about box.

  2. Very good work, Randy!

    I love the list of posts at the right, and easy access to editing them.

    I’m running at 1280×1024 resolution, and not using extended entries, so I loved being able to enlarge the entry body portion of the window. It would be helpful if my preferred size would stick the next time I opened a post.

    Things that would make SharpMT more workable for me:

    * sort/display options on the Blog Links window to show & sort by date posted or primary category

    * an option to save posts as drafts so I can view/edit them offline and re-post the updated versions later.

    Keep up the great work!

  3. @James – I posted a comment before, but it seems to have gotten lost. Basically, all of the bug fixes and changes aren’t applicable to the Pocket version, with the exception of the custom tags, but since I’ve gotten no comments on the two that are there already, I’m opting to leave that as is for now.

    @Steve – Glad it’s working out for you! As to the requests, both are not an option right now, for different reasons. The command that gets the list of Links doesn’t return a date (see the original post on this) so I can’t sort by it. The Online Editing is designed to only be edited online; I’m always worried that the post will change if it’s taken offline and you’ll lose data. Also, as it stands today, any draft that is saved will be automatically posted as a new draft… I find it to be far too combersome to have a “New Draft, saved-Online Draft, Already-Published Draft” mode of things for the files, so that too is not likely to happen, especially since the whole point of editing an online post is that you’re online to get the post. For now things are going to stay as they are…

  4. Randy,

    Thanks for the update on PocketSharpMT. I assumed as much, but I figured might as well ask since I do use it.

    I’m very impressed with this release!

  5. @SBC – I’ll assume then that it works with .Text? :D

    @Jessica – very sexy, thanks to the new icons! ;)

    @James – No worries… I haven’t “dropped” the pocket version but it doesn’t get much of my attention… I’m actually seriously thinking about selling off my iPaq 1940 – I haven’t used it in so long that the device hard reset on me… the SmartPhone has replaced the PPC for me.

  6. I’d be interested in that too… I’m looking at getting another PPC very soon, but I’m also at least somewhat interested in picking up a SmartPhone later this year if one is released in the US with the features I want. Switching to a single device won’t happen anytime soon for me, however, I read too many ebooks and play games; neither of which seem likely on the smaller screen of a SmartPhone.

  7. Ya, see, I read nothing on the PPC and I haven’t played more than Solitare on the PPC for years. I took stock of what I used the PPC for: Contacts, Calendar data, and possibly a handful of Tasks. That was it and even then, I never wanted all 200 of my contacts from my PC – I always had a much smaller list that I kept on a SIM that sometimes overlapped with my PPC contacts but not always.

    So what I did was compromise: I made a new contacts category that I use just for mobile and I sync only some contacts over and leave the rest on the PC. Beyond that, all calendar items come over OK… and since I always carry the cell phone with me (I only didn’t carry the PPC all the time – just often enough) I actually have access to the data more often than not.

    As to the SmartPhone version, there’s 2 overall issues with that. One is how practical it would be… of that I’m of two minds. If the only input method is the phone keypad, than it’s pretty ridiculous – I’m hoping the next generation of hardware offers external keyboards and the like. However, if the keypad is the only way to get data… well, there’s still a case to be made for moblogging (assuming they add a camera that people want). So from a “need” standpoint it’s feasible.

    The other thing to consider is the hardware: we don’t have any! And that’s the biggest issue I have with it. Kinda hard to justify spending a week or so moving an application to a platform that a) you can’t test and b) no one in your native country has. OK, maybe three people were lucky enough to get the new Mio, but not that’s a 0.00001% coverage. We need SP2003 in either the current Samsung phone, the current Motorola phone, or in a number of new handsets. All of that could take a long while. A VERY long while…

    But yes, the Pocket version was designed with the SmartPhone version in mind… just don’t know when or if it will see the light of day.

  8. Hey, great job on SharpMT 2.2, it works great, and it actually seems to be faster. But, since I’m a bastard, here are some long-term feature requests:

    * Fix the spellchecker so that it doesn’t check stuff inside HTML tags. Otherwise, all the www and href makes the spellchecker light up like a Christmas tree. You mentioned before that the current spellchecker control is stupid… Maybe there’s a different one that works better ?

    * Custom HTML snippets, not just simple tags. For example, sometimes I like to add screenshots to my posts; each screenshot is a span with an img and some text inside. It would be nice if I could create my own “post screenshot” button that would prompt me for image URL and text, and create the HTML for me.

    * Automatic preview. I was editing my current previewHtml.htm to match the “individual entry” template for my blog… and then it hit me: why can’t SharpMT automatically do this for me ? It doesn’t have to support all the MT tags, of course — it should just download the template and use it as-is.

    * Fix that publish/draft/trackback bug. Well, two bugs actually: the one bug where SharpMT posts new entries only as “Publish”, and the other bug where it doesn’t ping anything. I know you mentioned before that this may be impossible to do; I’m just including this for the sake of completeness.

    * PalmOS version ! Ah who am I kidding. Still, a man can dream, right ?

  9. No worries about making requests but my comments follow:

    – Again, this is not my bug; feel free to contact Spellican if it’s that big a problem. Personally, I’m waiting for Spellican to support the RichTextBox control so there can better control of the text (like more depth to Undo,) but that’s about all I can say. Beyond that, that’s the spell checking I’m keeping because it’s the one I like best and it’s the one that was purchased a few months ago. I added the more common HTML tags to the user dictionary and got over anything else that showed up as red, but that’s just me.

    – HTML support is probably as advanced as I’m going to get with it. You’ll be typing the same information that you would if you did your own HTML code in either way, so I don’t much see the advantage of adding more dialogs – it sounds like the “Post Screenshot” is already done via the Upload Image dialog and the rest of the custom tags should get ya by.

    – Not sure what you mean by this. The previewHtml.htm already supports the “matching” tags that MT supports – you might be able to get by with just a file copy from your MT server, which is why I used the MT tags and not my own (as is done in the rest of the product).

    – Again, with the publish/draft situation, this is NOT MY BUG. I don’t know how many more places I can post it: IT’S NOT MY BUG. Forgive me if I sound cranky but a) I haven’t had coffee yet this morning and b) IT’S NOT MY BUG. It’s covered in the help system, the FAQ, all over my blog, and even in Google from other client writers. Same thing is true of the ping. I format the command correctly. I send the command the same way every time. Yet at random times the ping gets eaten by MT. What else am I supposed to do with that? Alls it means is that this is not my bug, either.

    – I’ll do a Palm version when Palm devices start supporting the .NET Compact Framework (and when I get done skating on the frozen glazer that Hell would have become follow that press release).

    Keep the feedback coming!

  10. Ok ok, I know it’s not your bug, ok ? I think I said that I only mentioned it for the sake of completeness. After all, who knows, maybe an MT developer will read these comment and finally fix it, who knows. I’m not holding my breath, but still.

    Re: previewHtml.htm, I basically just copied the file from the server like you said. However, it would be nice to have some automated button that pulled in the HTML template file and automatically pasted the CSS template into it (for some reason, I couldn’t get link to work), just to reduce the number of things one has to do by hand.

  11. Ah. If I remember the XML-RPC interface, there’s no way to get templates from MT, so that’s out of my hands (I’m unwilling to invest the time to write an HTML/FTP file transfer for it as I think only you and I actually edit the previewHtml.htm – not many people know it’s there (or have tried to change it)). That’s something I can keep on the list though.

  12. After trying some other publishing tools that work with MT, I decided to give SharpMT a chance, but unfortunatelly, it misses one of the most essential features that I need: to automatically convert special characters to HTML entities. w.bloogar does it, but since it’s not designed for MT it lacks a lot of options that could make it my best choice. SharpMT, on the other hand, has this options but it doesn’t convert the characters. If you could work with this, SharpMT would surely become the best MT publishing tool. And… also, another thing. Is it really that necessary to develop the software to work with .NET Framework? It’s not just the pain of the huge download and the installation that bothers me about .NET, but it’s that .NET apps seem to take forever to load.

  13. .NET is required for a number of reasons, least of which being that it has been coded in C#.

    As for special characters, there’s a larger problem with MT’s XML-RPC’s interface. I’ve done a few tests with multiple languages and I know that I can store them. I can store the XML in UTF-8 which means that I can store multi-byte characters… However, when I sent it to the XML-RPC interface, that fails – it yells at me for using characters that aren’t standard ASCII. If those modules were updates by MT’s creators, I can update my application to use UTF-8 encoding throughout but until then, my hands are tied. As for w.bloggar, I’m betting they use the blogger.newPost method, instead of the metaWeblog.newPost method, and I have to use the metaWeblog one to support all of the MT fields. They go through different sets of logic, but my path is sorta set (given the features I offer).

    Thanks for the feedback and if MT ever starts to behave, there will be another version posted.

  14. Out of curiosity, can you convert special characters to HTML before uploading ? I.e.,

    foreach(character) {

    if(character == ‘á’) {




    I usually type those acute/grave/umlaut/thingy entities by hand, because I don’t even know how to enter them from the keyboard… But I can see how that could get annoying if you post in French or something.

  15. I could, in theory, but that won’t help the chinese/japanese/korean problem I get every now and again from people… besides, that would also require about 128 time look whenever a post was done… it would be “better” for all if MT got their act together and allowed UTF-8 to go through XML-RPC, seeing as that would fix all of the problems.

    I’ve got another post up on the support forum, to see if anyone at Six Apart can help.

  16. Oh, and by the way… foreach can be a dangerous loop in certain situations because it tends to create multiple objects for each loop. It’s a known “bug” with the current framework and is planned to be addressed in version 2. For something like this, rather than going through each character by hand and checking it I would probably just go with something like:

    strPostData.Replace(“”, “aacute;”);

    which would replace all instances of the accented A. The problem is that it would have to be done for *every* reserved character and that would be the painful part. That’s why I’m not going to move on it until I hear back something at Six Apart, either by the 3.0 upgrade or from a PeRL tweak.

  17. Ahhh :) The pseudocode was actually mostly right on, though – there is a foreach in C# (unlike C/C++) and I always pass on the warning about it to C# coders, so no worries here :)

  18. Without knowing all the specifics — won’t HttpUtility.HtmlEncode do the trick?

    If you use Reflector to look at that method — you’ll see that they encodings like so:

    if ((ch1 >= 160) && (ch1 256))


    num3 = ch1;

    output.Write(string.Concat(“&#”, num3.ToString(NumberFormatInfo.InvariantInfo), “;”));



  19. oooOOoo! New method! I hadn’t seen that one – I’ll take a look at it. I’m still furious at MT for sucking so bad in this one area, but if there’s an encoding that could make the text HTML happy, I’ll check it out. I’m not at all keen at my parsing it char by char, but I’ll see what other things are in the HttpUtility class too. Thanks!

  20. I’ve been using Zempt, and one thing I like about it over SharpMT is the dropdown select box for which blog I’m posting to. …much simpler than having to go to the Options menu. (I use blogs to teach writing, and have a dozen or more that I have to post to on a regular basis.)

    I really like the custom tags as well, but would love to be able to name them and add them to the toolbar (instead of having them lost in the dropdown). It would also be cool to assign my own hot keys for these.

    Finally, I’m so used to using Ctl-W to close documents and tabs (a la Mozilla, for example); it would be nice to have this key combo close the post tabs.

    Nice application!

  21. @kekawaka – Not too sure on Zempt, but for #MT, it focuses more on a single blog-at-a-time app rather than a multi-blog app… there’s been a push from a number of users to make it multi-blog but it’s something that I’m not keen on doing for a number of reasons, but the reason why it’s tucked into the options dialog is because there are usually other parameters that need changed when change a blog – if all of yours are on the same server with the same user id/password it doesn’t matter to you, but in most cases that won’t be the case.

    The custom tags are off the toolbar in this release, as a drop down button. As for assigning your own hotkey, one of the reasons why they’re up as 1-0 is because there aren’t many keys left to assign…

    As to Ctrl+W, I went with the Windows recommended key of Ctrl+F4 to close documents; this is the first I’ve heard of Ctrl+W, but if I’ll check to see if a double key is possible. Thanks!

  22. Do you support http proxies with authentication? Please!!! I need this otherwise I can’t use the tool to waste time when I should be working ;) LOL

  23. Nope, no proxies right now… I base that on the “should-be” universal truth that port 80 is open for outbound traffic at all times… might be silly, but much easier than adding proxy support… unless there’s something new in the classes that I’ve missed, proxy support is nothing but trouble.

  24. Try runing this software in any one of the thousands of corporate environments that hide behind firewalls and proxies and you will find that port 80 and 443 often require outgoing authentication. So I’d say that it’s FAR from a

    “universal truth” ;)

  25. And yet for several tens of thousands of downloads, you’re only the second person to ask for it… that’s pretty universal to me.

  26. Update on the international bit: that “encode” method is part of the framework that is used for server based applications, so I can’t get my mits on it for SharpMT.

    There is a possible hack that might work (and actually points to this post) for all. It should work for the oomlat and accented characters in the latin alphabet – I DO wonder if it would work for Japanese and other double or triple byte languages… is the link.

  27. Yep that def works for Japanese as that’s what I use it for: passing Japanese through a non-unicode-aware payment gateway (for,; however the IF clause should be more like…

    if ((c = 49) && (c = 122)) { // in unicode range x30 to x7a which is 0-9A-Za-z plus some punctuation

    …because the original was ‘only’ encoding the high ASCII range, whereas i’m encoding ‘everything but’ the low ASCII range (otherwise we wouldn’t catch the asian languages, etc).

    And it’s easily reversible using Regex if you want to reconstruct the Unicode string (store in a database, etc).


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.