September 2004 - Posts

Wherein I try Tablet PC Edition 2005, and like it. Lots.

I have execrable handwriting. There's no point in trying to deny it: not only is it impossible for other people to read, it's often impossible for me to read (which is why on the advice of one of my English lecturers at university I bought a type writer). It's also extremely ugly, and I am always ashamed of my ungainly chicken scratchings when I see the beautiful penmenship in letters written in Victorian and Edwardian times.
So it will come as no surprise that handwriting recognition systems don't do well with me. I typically use the itty-bitty soft keyboard for text entry on the Pocket PC and look forward to getting my hands on one of the new Stowaway Bluetooth keyboards.
Soon after the first Tablet PC models were released my boss's boss asked me to evaluate a couple...while I was enthusiastic about the applications of tablets as a document presentation medium (I personally think they're the ideal form factor for Microsoft Reader, for instance..and the mobility helps), after some experimentation I had to conclude that for people like me the handwriting recognition was a neat trick, but not accurate enough to be useful. In addition, the user interface for entering ink seemed awkward.
So I classed the tablet as a near miss.
Time passes (as is its wont) and we reach the present: I'm currently working on a relatively complex project where we are producing and updating lots of UML diagrams. I was discussing with the BA on project the fact that Visio is well, pretty horrible, and that the most natural way to create said UML diagrams is freehand. This led me to wonder if there were any Tablet-based tools for UML entry, which in turn led to TabletUML  (my verdict on which is basically that it has some rough edges but overall it's pretty impressive. And quite a pleasure to use)  - so anyway, having identified a promising-looking application, we arranged for said BA to get an HP tablet on loan to try it out.
I have never seen such a serious person grinning so much just as a result of using a tool, and I've got to say I understand entirely: the handwriting recognition really works now (it even handles my scrawl with aplomb), and the redesigned input panel makes ink entry and correction child's play. I've never really believed the hype about tablets previously, but this latest incarnation of the OS really does make it seem like a more natural way to work (that sounds like a bad advertisement script but it's actually true). 
If only I'd have a visit from the headhunters so I could afford to buy one...sigh.
So anyway, I'm taking this opportunity to give credit where it's true and congratulate Microsoft on a job well done (but I promise normal sarcasm will be resumed after this transmission).

Progress with the Blogger API

I've had another productive Sunday evening.
I now have a class that nicely encapsulates calls to the Blogger API, and I've tested it with the Compact Framework.
The “to” part was easy...what I'm now facing is the “from” bit: handling the response. That's going to be tedious donkey work (owing to the structure of the responses, and the limitations of XML handling in the current version of the CF), but I'll get there. And of course, when I eventually move on to the MetaWebLogAPI that'll be even more donkey work.
Still, it's a self-inflicted injury so I can't complain.

In other news: The ASP.NET hosting for New Zealand MSDN Connection members is finally up and running (yippee!), although I only found out by going and checking. When I've completed the multi-blog version of my mobile blogging application I intend to post the files there (there's no point in me posting the link to my patch of the Web right now, there's nothing to see yet. And we all hate “Under Construction“ notices, don't we?).

What I did with my Sunday afternoon

Yesterday I created a local installation of .Text - this will enable me to perform client tests without constantly creating test posts that I then have to try to find and remove.
This has already borne fruit - I was able to determine that the problem I had with category posts using  SimpleBlogService.asx was specific to this site, not an intrinsic bug in .Text. That's pretty much what I thought.

I've also been trying out the AspNetWebLog web service as an alternative for posting - there are no problems with categories, and it's possible to retrieve a list of entries and so on. The only thing that's a bit iffy is that the web service is marked as a beta in the description, although that's possibly out of date. There's also the possibility that someone might have a blog running on an earlier version of .Text that includes SimpleBlogService.asmx but not AspNetWebLog.asmx. I might go for an initial call to AspNetWebLog.asmx with a fall back on SimpleBlogService.asmx if that's unsuccessful. Icky but it's one approach.
This might also be the time to tackle the provider issue, providing I can do so without too much of a negative impact on performance. 

Update
I've clarified my thinking on the provider issue:  providers deliver extensibility whereas in this particular case I'm really just interested in a degree of flexibility. I can't see how I'd use the provider pattern without using Reflection, and I don't think I could justify the performance hit for the sake of providing for extensibility that would be more theoretical than actual.

Further update (Tuesday, September 7)

I've just been playing with the Blogger API, as part of my ongoing efforts to see if I'll be able to write a client that handles Blogger and blogs that use the MetaWebLogAPI (in other words, XML-RPC stuff). I'd considered seeing how much of Charles Cook's excellent XML-RPC.NET library can be ported to the Compact Framework (BTW most of it, as far as I can see), but I'm avoiding that option for now because I'm going to keep things lightweight if I can, and don't need to support a lot of different functions, so at the moment I'm experimenting with just working with raw XML streams. I just managed to get a list of my blogs from the Blogger API (I only have one Blogger blog, and it has no posts for now), so I'm quite pleased. This bodes well considering the similarity between the Blogger API and MetaWebLogAPI, so watch this space.
(Even if this pans out I'll continue to use the web service interface to .Text blogs, since I think soap-based web services are where people should be going in future, not XML-RPC. I realise all the action in Blog-land is currently with XML-RPC, but I personally think that's short-sighted) 

Off-Topic: Hack Journalism and Crimes Against Language

Listening to the radio this morning reminded me of a couple of my pet hates, so I just want to get these off my chest:

  1. Use of “-gate” as an all-purpose suffix to indicate a scandal. As if Tricky Dicky and his friends had been found to have left the garden hose running at the height of summer...
    We recently had a scandal involving genetically modified crops - so naturally the hacks dubbed this “Corngate”. We've had Every-Other-<Expletive Deleted>-Gate as well over the years (I don't know if the fuss over who paid for Winston's lunch was dubbed “Scampigate”, but I don't want to give them ideas). I swear if someone leaves a farm gate open the media will be yapping about “Gategate”. Notice to the press (and radio, and TV): Stop it. It's not clever: it's just a stupid cliché that demonstrates your intellectual laziness.
  2. Careless use of the word “refute”. Every time a claim is made which is subsequently denied, it is announced that the party issuing the denial has “refuted” the original claim. When this happens I am always eager to read the comprehensive evidence they have produced disproving the claim in question, and I am always disappointed to learn that in fact all they've done is say “No I didn't”, or “Who says? Anyway, My Dad's A Policeman...”. This, ladies and gentlemen, does not constitute refutation.

This kind of drivel is a symptom of language that has been reduced to the level of fast food - filling and fattening but with no useful nutritional content (substance). A hackneyed analogy I know, but still somewhat apt. So we have speech that conveys no meaningful information, or which is simply a tired rehash of things that have been said a thousand times before, whether or not it is appropriate to the current context. So words lose their meaning, and non-words are slipped in as shorthand to provide a substitute for thought or analysis.

Given the role that marketing has played in this process, the case for my earlier proposals regarding rabid chihuahuas is looking pretty good.