Random Disconnected Diatribes of a p&p Documentation Engineer
I just found out that, fifty years ago, somebody told me a lie - though I suppose I can't really blame him. Let's face it, when you ask your grandfather a question to which he doesn't know the answer, but he feels he really should (and you are of a suitably gullible age), making up something plausible is probably the typical response.
You know the kind of thing I mean: "Grandpa, why is your face all wrinkly?" "Ah, that's because when I was castaway on a desert island a long time ago, before you were even born, I was captured by natives and their witch doctor cast a spell that shrunk my head, so now the skin doesn't fit properly."
When I was at that gullible age I can remember my grandfather telling me that the day after Christmas was called "Boxing Day" because they always have sport on TV that day. Usually its horse racing, but in those days there was always a boxing match as well. It's only now, some fifty years later, that I decided to look up the real reason; only to discover that it's because, traditionally, people gave boxes of gifts to their tradespeople (such as the baker and butcher that delivered every week) as a reward for services rendered during the year.
What originally prompted this investigation was the weird occurrence of Boxing Day not being the day after Christmas Day this time. In fact, Christmas day falling on a Sunday in 2011 certainly seems to have confused the calendar manufacturers as well as me. The little square for 26th December on my wall calendar says "Christmas Day observed", and "Boxing Day observed" for 27th December.
At first I wondered if they meant "to be observed", or whether they'd done a "Back to the Future" thing and been to see what people actually celebrated and then reported back. But reading the small print, it seems that the above is not true for New Zealand. Maybe, as they're amongst the first to see the sunrise, they get to choose what day it is.
Though why Scotland decided that they'd also have "Boxing Day" on the 26th December, and then follow it with "Christmas Day observed" on 27th December, seems very strange; especially if you live somewhere like Berwick upon Tweed in the far North of England. Imagine hosting a party on Boxing Day for your friends both sides of the border - you'd end up having two parties on different days.
But delving deeper reveals that the calendar is printed by a German publisher, and it identifies the 25th and 26th of December simply as being the first and second days of the two-day celebration named Weihnachten. And the 27th is just an ordinary day in Germany it seems, not even a holiday. What a wonderfully organized approach. And a good excuse next year for having a Weihnachten party that lasts two days, so it won't matter which day people arrive.
Mind you, in little letters at the bottom of the back page is says that the printer "cannot be held responsible for any inaccuracies". I suppose it's not like you'd buy a calendar and actually expect it to always show the correct days of each month. Maybe they are just covering themselves against claims from irate people who turned up at a party on the wrong day.
And it doesn't even have the usual "Although we go to great lengths to ensure the accuracy of the information we provide..." disclaimer. Like the printer just took for granted there'll be a full moon three weeks on Wednesday, or made an assumption that August 15th is Assumption Day, or took a wild guess at when October starts.
Of course 2012 is a leap year, and so you can look forward to having to work an extra day to earn your annual crust. Though I suppose it only makes up for the lack of productivity because we had an extra day's holiday at Christmas...
How about we start this week with a short quiz: What do you reckon is the most common thing that visitors to the Royal Mail website will be looking for? I'll give you a clue: Christmas is coming and it's likely that you'll be sending out lots of items using the old-fashioned "put it in an envelope and stick a stamp on it" delivery method, rather than the email approach you use the rest of the year.
My answer would be that, faced with the regular rises in the price of stamps, most people will want to know how much it costs to post a Christmas card to their relatives in the next town or city. The fact that here in the UK we're blessed with a pricing system that takes into account not only the weight of a simple envelope, but also the width and the thickness, means that this isn't a trivial question.
So, faced with just this query posed by my wife this week, I did the obvious "look on t'Internet" thing. Drop into http://www.royalmail.com and scan the page for a link to the price list. Oh, there isn't one. Not in the menu bar or in the list of links at the bottom of the page. Hmmm, but there is a big "Personal Customers" button, so click that.
Ahh, nice pictures of the special Christmas stamps, and a Postcode Finder, and even a Price Finder. Click that. Now there's six big buttons, including another Price Finder and ones for packets, bulk mail, a calculator for the price of posting more than 1000 items (something "personal customers" probably do quite often?), and an online dispatch manager. Wow. So I click Price Finder and it says "Service Update - unavailable".
Go back to the Home page and start again. Click the Payments tab on the Personal Customers page and there's a link saying Stamps. Click that and it says "Sorry, the page you requested cannot be found". Go back to the Home page again and, this time, click the Site Map link in the page footer. Amongst the hundred or so links is Postal Prices. It's even in the section marked Top Links, though how it can be a top one is hard to understand when it takes this long to find it...
And what you get are two tabs saying "Find a postcode" and "Find an address". If I'd wanted to do either of those things I'd probably have clicked one of the links to them ten minutes ago. So back to the Home page again and click Personal Customers for the third time. There's a link on the right that says "Print postage online" so, out of desperation, I try that. Just a minute - On the left there's a panel that says Top Links, and one of them says Postal Prices.
OK, so let's not get too excited, we went to the Postal Prices page before and it was broken. But no! This link goes to a different Postal Prices page. There's another button to go to the (broken) Price Finder, but there in the small text halfway down the page is a link to "View a full list of prices"! The page it opens has a bold link right at the top asking if you are "having trouble downloading or printing PDFs?" I sure am - I can't find any!
The rest of the page has links to calculators and PDFs for business account customers, help for new business customers, and stuff for franking customers. But there in the middle of the "Stamps and franking customers" section is a link to "UK Prices Wall Chart 2011". It opens a really nice PDF that tells you exactly what you need to know. And it only took fifteen minutes of increasing amazement at how hard Royal Mail must have worked to make the task this difficult.
Mind you, on the Home page there's a note explaining that "More work has been completed over the weekend to identify and fix some of the issues with our website ... following difficulties experienced by some customers over the past couple of weeks". Their Director of Customer Experience explains that "my team and I continue to work hard to resolve outstanding issues as quickly as possible".
I suppose I could just have gone to Bing and typed the question instead of becoming entangled in the horrors of a site that actually has a whole page devoted to "Website Technical Difficulties". Though you have to wonder (a) who actually tests the site with ordinary customers to see what they most commonly look for, and (b) why they chose what is probably the busiest time of year for postal services to do things that broke the website.
A lesson, perhaps, for us all. Here at p&p we focus strongly on getting and acting on feedback from our target market and from users at large. We also work hard to make sure stuff works before we release it. It's a design pattern that is probably most likely to result in satisfied customers...
One of the nice things about working for a UK company but being on permanent assignment to a US one is that you get twice as many public holidays. While I'm not sure we want a Black Monday here in Little Olde England, maybe we could come up with some excuse for celebrating Thanksgiving. Perhaps without the turkey. Even though it's a moveable feast (the fourth Thursday of November) it usually coincides with our wedding anniversary, so it's a great opportunity for a few days away.
This year it was South Wales, and I managed to avoid the usual "going to Wales" joke (Q: How do you get two whales in a Mini? A: Across the Severn Bridge). Talking of the Severn Bridge, you have to pay £5.70 for the privilege of crossing it to get into Wales, but they say it’s not so bad because there's no charge to get out again. Except we came back a different route via Monmouth, so where do I go to get my £2.85 refunded?
What did surprise me, though, is how few Welsh people there seem to be in South Wales. When I booked the hotel, the website said it was "in the heart of Welshest Wales". Yet we'd got past Swansea before I heard a Welsh accent. And you can't even stop to look at the sea in Swansea without climbing over a huge wall. I suspect they built it especially so that all the English visitors have to pay to park their car. And that's after charging me just to get into Wales...
But once you get past Swansea to somewhere like Mumbles and Knab Rock, the whole outlook changes. Old-fashioned towns and villages with superb views across the estuary, and the wonderful hospitality (though the waiter in the cafe was Polish, so still no Welsh accent).
Then, the next day, one of the most beautiful places I've ever been in the UK. Llanstefan is like somewhere time forgot. Wide open and deserted beaches and mud flats, incredible views towards the valleys, and a sense of peace and tranquility that you never expected after going through places such as Port Talbot and Cardiff.
There wasn't a breath of wind that morning, and all you could hear was a farm tractor slowly plodding up and down a distant field. What an amazing place. OK, so I suppose you can't expect the only shop and tea-room to be open in late November, even though there was a huge sign saying "Open All Year" (it didn't say which year).
Next stop, Saundersfoot. No, I have no idea where the name came from. Strangely, the further West you go in South Wales, the less Welsh the place names get (think Pembroke, Haverfordwest, and Fishguard). Maybe we passed through Welshest Wales and out of the other side. But Saundersfoot is a nice little seaside resort where we were told to go and try the local delicacy named "Cawl". Supposedly it's a kind of mutton stew, though the place we were recommended to serves it with beef and cheese bread. It was nice, but cost about the same as a three-course meal here in the wilds of Derbyshire where I live.
But the highlight of the trip was to see Tenby. We watched an edition of Grand Designs on TV some weeks ago that featured a couple who had converted the old lifeboat station into an amazing house. The town and beach looked so nice in the program that we thought it was worth a visit, and we weren't disappointed.
The old town is quaint, though it would have been even quainter if the tide hadn't been out, and if local council hadn't been digging up all the cobbled streets that week. However, the views from the cliff are wonderful, and the deserted South beach provides an opportunity for a pleasant stroll along the coast. Preferably in the same direction as the 40 mph wind is blowing.
Coming home, we motored into the valleys planning to see the scenery and the Brecon Beacons, but were defeated by the sudden change to cold, wet, and misty weather. I managed to shoehorn in a brief diversion to the Brecon Mountain Railway, in the delightfully named village of Pant, but other than the cafe it was closed for the winter. The one highlight was in Neath Valley when the weather calmed down for a short while. A brisk and refreshing walk up a beautiful valley to the local waterfalls proved well worthwhile. OK, so it's not quite Victoria or Niagara, but it's a beautiful place.
I wonder if I can use the left-over half of my Severn Bridge fee to go back to Wales in the summer...
It's becoming clear that creating guidance on cloud computing is great deal more difficult than for most other development environments. Or, to be more precise, following our usual practice of combining written guidance with a reference implementation (RI) code sample is turning out to be what you might whimsically call "an interesting experience".
It's not that we can't create suitable examples, and we seem to be doing OK writing guidance to accompany them. It's the deployment and setup that are causing the problems, which most of our users have yet to encounter as we get further down the road with our Windows Azure Integrating with the Cloud hybrid applications Guide.
As it's a hybrid application integration scenario, we are demonstrating and providing guidance on a whole range of Azure technologies and services. There's a smattering of Azure Connect, a pinch of Data Sync, some Service Bus Queues and Topics, a VM Role, a choice selection of SQL Azure databases, a wee snifter of Enterprise Library Extensions for Windows Azure, a delicate combination of SQL Azure Reporting with Windows Marketplace, and a dollop of Azure Cache to top it off.
And that's not all. We're using the Access Control Service (ACS) to authenticate application users, and installing the website part of the application in multiple datacenters to demonstrate using Traffic Manager. We're even simulating an external transport partner based on the interaction pattern typical for companies such as DHL and UPS. As part of the team that designed the architecture and technology map for the project, I suspect I must be suffering from some kind of self-harming psychosis.
What's at the root of the problems is that almost all of these application ingredients are services exposed by Windows Azure (which makes sense considering the scope of the guide), and require users to manually create and configure a namespace for each technology using the Windows Azure portal. We can ease some of the pain by providing a setup program that uses the Azure Management API to configure the services after the namespaces have been manually created, but users still have to edit the program and all of the configuration files to specify their namespaces and their Azure account credentials.
On top of all this, there's connection strings to the databases, queue names, connection endpoints, WIF settings, data sync paths, cache URIs, and more to configure before it all works. The setup instructions in the readme file grow by the hour, and keeping them up to date is a whole new career opportunity I seem to have acquired, without actually applying for the job.
And, of course, users have to subscribe to Azure and pay for all of the services. I can see that this might dissuade some from actually setting up the example. If the first bullet point in the instructions is "Sign up for all of the Azure services in three data centers", we might just encounter some opposition. Strangely enough, the Azure people don't seem very keen for us to fill their data centers with applications running for free.
So one of the simplifications we've had to make is to limit the requirements of the sample application by making it auto-detect the presence of some services and change its behavior if not present, and allowing users to turn off some features where they don't have a suitable Azure service subscription. I suppose you could call this unintegrating with the cloud (or dehybrigation if you read my post from a couple of weeks ago). And, as far as Traffic Manager and SQL Azure Reporting go, we don't include them in the sample at all so we can make do with just one datacenter.
Yet the guide still has to cover all the bases. If we're doing hybrid applications, we need to provide guidance on the typical hybrid application technologies. So we've got the dev guys building spikes to test and confirm our initial assumptions and to discover the gotchas. The guide will patiently explain how our fictitious example corporation built their application to use all these features, but users won't see a few of them in the sample code.
Hopefully the Sale of Goods Act (1979) or my professional indemnity insurance will cover me against claims for what's missing...