Pocket PC Blogging Tool (RSS)

My contribution to blogging software

Community Server 2.1 and newMediaObject - (Windows Mobile 5 app CAB link now included)

(Updated 11:07 pm with info about service packs)

In a recent post I mentioned the MetaWeblogAPI's newMediaObject method and the fact that it's finally beginning to be supported by popular blog hosting tools.

Well, a few days ago I went ahead and released version 2.1 of Diarist, with support for uploading image files (jpeg, gif or png...you didn't honestly want tiff did you? from a mobile device?) to blog hosting sites that support newMediaObject.

(I didn't post anything about it at the time because I'm sure that Dotnetjunkies readers are sick of me posting about Diarist updates. I'd write some "How-to"'s but I'm still exhausted from writing code...).

Anyway, this is just a piece of information for people who are hosting their own Community Server 2.1 sites: apparently newMediaObject support was released late last year as an add-on, which you can get here if you don't already have it and haven't installed/don't want to install Service Pack 2 or later.
It was also included in in Service Pack 2 (I think they're up to Service Pack 3 now)

I hope you find that helpful.

Now I'll return to carefully avoiding any British blogs that might contain references to the final episode of Life On Mars (which I won't see for about another year) (...unless some wise company offers me a job over that side of the world, in which case I'll have to get it on DVD. But I digress. Even more than usual).

 

Update: Thursday, 26/04/2007

Users of Windows Mobile 5 devices or later may be wondering why I'm not using either the image picker or the camera capture dialog.

The first reason (which applies to both) is that the current program is designed to run on both Windows Mobile 5 (or 6) and Windows Mobile 2003 (which doesn't include either of those options).
Regarding the camera capture dialog specifically, the other reason is that I completely forget about it until Jason Barile reminded me.

I've decided however that these omissions create an unnecessarily crappy experience for users of Windows Mobile 5 and later, so I'm planning to make a separate version available for those lucky bast people.

Unfortunately I don't have any way to test the camera functionality in emulation, so I'll probably just go with adding the image picker for now.

 Update: Thursday night

It turns out I didn't need to fork the project at all, or even subclass the main form as I was considering at one time.
One delegate did the trick...I'll post the updated code soon and also some discussion of the coding issues.

Update: Even later on Thursday night (updated a little more subsequently)

Aaarrrggh!!!. I've decided to shelve the image picker support on the  Pocket PC version, at least using a single project for WM2003 and WM5: I found that it bloated the CAB file by almost 200K extra by insisting on deploying the new dlls ) ...not worth it for a pretty picker, especially for people running WM2003 who can't  use it anyway.

When I get around to it I'll create a Windows Mobile 5-only version, I think I know the reason for the bloat issue with the single-project-and-deployment approach.

Update: Wednesday 2/5 (Last update, I promise)

I've created a Windows Mobile 5-only version that includes the visual image picker (er...). I'll update the site before too long with appropriate links, but in the meantime you can get it here.

newMediaObject

A common requirement for blogging applications (and one I haven't implemented) is the ability to upload images to a blog.

The MetaWeblogAPI does provide a mechanism to do this: the newMediaObject method.

Unfortunately this was until recently notable for the fact that precious few blogging engines implemented it (which is why I haven't done anything about it).

...But now, well, things are changing: recent releases of both Community Server and dasBlog for example do reportedly implement it. The fly in the ointment is the inertia of installed software: how to know if any given installation you're interacting with implements it or not.
It's not reasonable to expect the user to know, and do we want them to find out by trial and error?

It's a tough one, and if anyone has any good ideas on the subject please feel free to contact me and let me know.

Diarist 2 for Pocket PC released

(UPDATE 07/04/2007: Another refresh. This time thanks go to Stefan Stranger for noticing that nothing was happening when adding a blog where it was selected from a list of several hosted on the same site. When I checked I found the event handler had got unhooked at some stage. So embarrassing.)

(UPDATE 04/04/2007:The version I posted last night did not handle VGA displays correctly, as Juan Gomez alerted me this morning. I've now posted an updated version of the CAB file)

This version is updated for (and requires) .NET Compact Framework 2.

Unfortunately I've had to drop Blogger  support (I think I've warned everybody enough about that now), but there is a nice collection of new features.

Read more about it here, or just go to my web site to download it.

Or alternatively of course, you could just do something else completely. It's entirely up to you, I won't mind.

 

Now I can put some serious time into WPF and other nifty things.

Test post from Motorola Q emulator

This is my latest smarphone blogging experiment.
Looks like I'm almost there, as far as I can test without a phone.

New Site

I now once again have a non-blog presence online: www.kevdaly.co.nz.

Currently there isn't much there, but I intend (no really, cross my heart and swear to get really drunk otherwise) to post a few articles and things before long.
Importantly for those who have an interest in my mobile blogging work, it means there's once again a download site for Diarist.

And just a reminder: the latest version fully supports MSN Spaces (and Blogger Atom support should be fixed as well).
It's currently a very sparse download page without anything in the way of explanatory text, but I'll deal with that shortly.

Yet more on Diarist with MSN Spaces

OK, I've been trying it for a few days now, and it's definitely working fine now without trying to use the local network setting - so I'm confident that that was simply a business-as-usual Connection Manager glitch connected with the fact that I was using it at one point while the device was cradled and I was getting screen shots of the configuration screen.

Which is a long-winded way of saying that if you're interested, contact me and I'll send you the latest version to try.

About the new-look MSDN Subscriber Downloads area: am I the only person who really, really hates that incredibly slow, unresponsive treeview?

In other news: I've been testing my RSS generation code with both RSS Bandit and SharpReader lately. Once I've got my site up I'll be using it to provide notifications of software updates (as mentioned previously).

Diarist and MetaWeblog for MSN Spaces

Update 11:08 pm - the problem below did recur - it looks very much like the Harrier decided I was using a local network connection, so I set my local network settings to also be Telecom CDMA, and that seems to have taken care of it. I'll keep testing for another day or two to make sure.

The blogging API for MSN Spaces went live today (-ish...depending on your time zone).
I naturally tested it with Diarist - there was a bug I had to correct before the SSL would work (actually it was a bug in CF 1.0, but it requires a workaround). It looks as if everything's OK...for a while I was getting errors trying to connect from my Harrier (just saying it couldn't connect to the remote server), but I'm not getting them now so unless there's a recurrence I'll put it down to "transient network conditions" (TNC, if you must).
Other than those initial hiccups (and with my fingers crossed against a recurrence of the last) I'm quite pleased: things like dates and categories that often have issues worked perfectly right away.

In addition to fixing the SSL issue, I've also changed the default address for Blogger via Atom to be https (they seem to have finally got around to requiring that while I wasn't looking), and to avoid too much inconvenience with changes like that in future I've made API addresses that default (such as Blogger)  editable.
In addition I've added a menu option for MSN Spaces, so people won't have to key in the address.

I'll make the Spaces-friendly version available as soon as it's fully tested and I'm confident it won't suddenly fall over, but for the next week or two you'll have to ask me for a copy via the Contact form and I'll email you the CAB file - the plug gets pulled on my free hosting on www.aspxconnection.com tomorrow, so there won't be anywhere to download from until I've made alternative arrangements (as soon as possible).

For the same reason I've removed the download links and images from some of the posts I've made here, since they were linked to the same site.
When my hosting is taken care of I'll tidy up and republish some of the better ones as proper articles on the new site.

Download link for mobile blogging application (Diarist)

Anyone who wants a copy of this, please use this link for now to grab the CAB file directly    contact me and I'll send you the cab file.
My ASP.NET hosting site is currently pretty comprehensively broken, it appears that all the sub-sites hosted there may be affected, it may have been that way for about a week, and there is no sign to date that the site administrators are taking the slightest bit of notice. So for now, don't bother trying to get to http://kevdaly.aspxconnection.com, unless you're a connoisseur of the Yellow Screen of Death (since the site's file manager is broken (like the database manager...it just goes on and on) I used Visual Studio 2003 to re-upload my whole project with a version of the Web.config that doesn't suppress debugging messages, so you can enjoy the stack trace in all its glory).

Have I mentioned I'm not happy?

PS. This is not a new version of Diarist, so if you've downloaded it recently you don't need to grab it again. I'm just posting the CAB link for the benefit of anyone who tries the link to the site and gets the aforementioned YSD.

Diarist v1.1 Released

The latest version of my blogging application for Pocket PC can be downloadedIf you'd like to try it, ask for a copy via the Contact form - I'm currently between hosters.

Update for Community Server Users:
I've just discovered that the structure used to pass credentials to the web service changed between 1.0 and 1.1.
If you're a 1.1 user you will therefore have problems with the web service option right now - I'm working on this and hope to post an update soon.

Update to the Update:
I've just posted an amended version which takes care of this problem.
It provides separate menu options for v1.0 and v1.1 of Community Server (including on the switch menu).

I tried to think of something clever to do with the WSDL to solve the issue, but ended up adding another proxy <grrrrr>.


 

Diarist update progress: Atom for Blogger

Life is being particularly crappy this week, so I'm taking my mind off it by writing code.

Yesterday I got the Atom interface for Blogger working: if you only use Blogger then I recommend you try PocketBlogger first if you haven't already. Still, if you're a Blogger user who finds Diarist useful then this should be good news, because it means that your titles will appear correctly as titles (provided you select the Atom option - I'm still providing the Blogger API support as is for anyone who wants to keep using it or has trouble with Atom).

I'm now down to tidying up some UI features and doing regression testing: I want to make sure that what works well for people with the current version continues to work well with the new version, and that nothing becomes unnecessarily more complicated or awkward. Since Murphy tends to work overtime, and UI changes are to some extent a matter of taste, I'll continue to make the current version available as a download so you can revert back to it if necessary (although I'll probably incorporate some minor fixes in that download - I've forked the code so I can do that).

As for when I'll make this version available for download, count on "before the end of next week". Since I'm in New Zealand the end of next week comes sooner for me than for most people who may be reading this, so expect an announcement (that sounds so grandiose...) soon.

Windows Mobile blogging: Progress with updates to Diarist

I've now got posting via the web service interface to Community Server working.
This means that people whose blogs are hosted on sites that have not implemented the MetaWeblog API (or where for some reason it doesn't work properly, which is the case on some sites) will still be able to use the tool.
It also takes care of the annoying issues experienced by people who post from a different timezone than the one in which their blog is hosted.
Oh, and whether you're posting with MetaWeblog or the web service, categories now officially work with DNJ (at least when I release this version they will).
I hope to also include support for posting to Blogger via the Atom API, which will resolve the Not Really Proper Titles issue.

PS. This post comes entirely from the latest beta via the emulator.

Metablog working on DNJ?....

Metablog.ashx having been implemented at last for DNJ, I'm naturally doing a little test of posting from the desktop.

In the meantime I've been working on adding Community Server web service support to Diarist, to cover those sites that don't have the MetaWeblog API enabled. It's leading me to confront a design issue that I've also been presented with by my intention of adding Atom support for Blogger: how best to handle multiple APIs for a single blog engine (both from the point of view of storing config information, and presenting a UI to users to let them choose which one they want).
This is actually good news for anyone who's being waiting for me to add an Atom implementation, or just fix the dreaded Titles-With-Blogger issue (in most cases the logical solution is just to use PocketBlogger, but some people might want the support for additional blog engines): it's building up critical mass behind me actually making the necessary changes to do it in a non-horrible manner. I was going to leave it until the CF2 version, but now I think I might as well get on with it.

Emulator Problems solved.

Many thanks to Amit, Sriram, Siva and Jason for their help.

It turns out I was mistaken in assuming that because DMA showed up as the transport for ActiveSync 4,  that meant I had (perhaps in a moment of fugue) installed the DMA patch already.
In fact I had not, and after I did all of the problems with connecting to the emulator disappeared (including the bogus error reported on connecting to the D.E.M.)
I've now installed the Windows Mobile 5 SDK for Pocket PC as well: not only do I intend to get on with developing the next version of the-program-regrettably-called-Diarist, but I'll also see if I can come up with some ideas for commercial applications.

Oh how I wish I could just quit my job and develop for mobile devices all day....
Or actually: quit my job, move to Portugal and then develop for mobile devices all day.

I love this stuff :-)

Pocket PC Blogging: Diarist 2 (planning stages) - Updated

Over the weekend I started on the .NETCF v2.0 version of my Pocket PC blogging application, using Beta 2 of Visual Studio 2005.
I had a lot of trouble getting Visual Studio to talk to the emulator, and unfortunately while the errors I was getting were the kind a lot of people have had, none of the solutions quite worked. I think this may be because I also have the WinFX SDK installed on the same machine, but who knows. I also had trouble getting the loopback adapter to work: it couldn't get an address, which has never happened to me before, so I gave it one manually. Then I installed ActiveSync 4 and managed to get the emulator cradled, after which Visual Studio happily talks to it as if it were a device (neat trick, and also an easy way to get files onto the emulator...and it will be handy when I get to testing CAB installation).
Soooo anyway, there are obvious things I'll be doing such as replacing my held-together-with-string interop code for Clipboard access, and I'll probably be using XML serialisation for storing configuration