S h o r t S t o r i e s

// Tales from software development

Archive for January 2009

For preventing the loose of strap due to camera heavy weight.

My purchase of a new Nikon DSLR has prompted me to try a camera grip strap. This is a short strap that attaches to the top and bottom of the camera around the hand grip area. Basically, it just wraps over the top of your palm when you hold the camera. The strap has to be adjusted for length and then threaded so that it is secure and won’t slip or work loose. It’s not obvious exactly how the strap should be threaded so I paid close attention to the instructions printed on the packaging. I soon realised that they weren’t going to be very useful:

Designed to fit SLR, D-SLR camera & Camcorder, etc, for comfort, and using the slim typed plate provides vastly, as two sockets for camera and tripod are divided.

1. Untie the camera grip strap and fix into connect link.

2. Control the length of strap for convenient use of camera. For preventing the loose of strap due to camera heavy weight, hang the strap again as like the instruction picture (2).

Unfortunately, the two pictures showing the threading of the strap were printed too small to be of any use either.

I’m surprised that in this day and age we can still find such excrutiating examples of poor translation but there is something quite charming about it too…


Written by Sea Monkey

January 31, 2009 at 6:00 pm

Posted in Comment

Tagged with

Why you shouldn't buy using GoogleCheckout

leave a comment »

Time for a new camera

I’d made a decision to buy a new camera and after checking a number of well known UK online retailers I found that the cheapest price was being offered by a company called SimplyElectronics. It appeared to be a UK based company as it advertises a UK phone number for sales and support and has a UK postal address.

I ordered the camera using the web site and the checkout system offered me a choice of paying by credit card or using GoogleCheckout. I’ve never used  GoogleCheckout before but I chose this option reasoning that it might provide some additional consumer protection especially as I was dealing with SimplyElectronics for the first time.

I paid an additional fee to have my order expedited and although I’d hoped that it would ship the same day for next day delivery, I was happy enough when I received an email from SimplyElectronics after a couple of days saying that my order had been despatched by DHL Next Day Delivery.

The nightmare begins

Five days later (three working days) there was still no sign of the camera so I emailed SimplyElectronics inquiring about the shipment status. This was the start of a frustrating process that took two months to resolve. The short version of what happened is that SimplyElectronics turned out to be a Hong Kong based business that trades under Hong Kong law and claimed it shipped the order but failed to retain the shipping reference making it impossible for DHL to provide the status of the shipment. SimplyElectronics would not provide a refund until DHL had explained what had happened to the package. Meanwhile, I was without the camera that I’d ordered, out of pocket, and apparently powerless to get the situation resolved because UK consumer protection legislation does not apply to purchases from retailers based outside the UK.

Despite the company’s claim that it had despatched the order its status remained as ‘Picked’ rather than ‘Shipped’ for a week after it was supposed to have been sent. I suspected that the order had not been despatched at all and so I requested cancellation of the order and a refund. Within an hour the order status was changed to ‘Shipped’ and I received an email saying that it was a processing error and that the order had been shipped as I’d been previously advised.

Eventually, after sending the company more than 60 emails, writing a several emails and making a written submission to GoogleCheckout, and taking advice from Consumer Direct and my bank, I finally received a refund from SimplyElectronics two months after I had originally placed the order. I’m not sure what persuaded them to provide a refund at this point but I suspect that GoogleCheckout may have applied some pressure for a resolution. It’s also possible that my threats to request a chargeback and to contact the Hong Kong Consumer Council may have helped although I doubt it.

As the company trades under Hong Kong law rather than UK law, which provides more extensive consumer protection, it’s possible that SimplyElectronics did not breach any legislation but my experience was that the company was often unresponsive and unhelpful and its actions would not have been legal if it had been trading under UK law.

Finding out the hard way

While trying to get this problem resolved I became aware of a several things that surprised me. The first is that SimplyElectronics did not breach any laws by deliberately giving the impression that it was a UK based trader even though it is actually based in Hong Kong and operates under Hong Kong law. Clicking on the small ‘Terms and Conditions’ link on its web site home page displays a page of text that explains that the company is based in Hong Kong and that all transactions are subject to Hong Kong law. I’m usually careful about which online retailers I buy from but the UK phone number and address prominently displayed on its home page persuaded me that this was a legitimate UK based company. I’ll be more careful to examine the terms and conditions in future.

The next surprise was that Consumer Direct, the UK Government funded consumer advice organisation, was unable to help. As soon as it understood that the transaction was with a company based outside the UK, it quickly explained that it could only deal with problems relating to UK based companies. While I understand why this is, I was still surprised that it could do nothing to help when I had made the purchase in the UK and believing that I was dealing with a UK based company.

The biggest surprise however was that my bank was doubtful that it could help either. I had assumed that the transaction would be covered under the Consumer Credit Act because the payment via GoogleCheckout had been debited from my credit card. The problem is that the legislation only covers a direct transaction between the seller and the customer. The bank suggested that while it would be possible to request a chargeback to recover the amount debited, it was likely that GoogleCheckout would decline the chargeback because it had fullfilled its responsibilties. Because I’d opted for GoogleCheckout when paying, my bank considered the payment to have been made for services offered by GoogleCheckout rather than for goods offered by SimplyElectronics.

I checked GoogleCheckout’s terms and conditions and found that while they operate in accordance with UK legislation it is not registered as a credit provider and is not covered by the Consumer Credit Act. GoogleCheckout operates as an electronic payment service provider, not as a credit provider. However, it does offer a dispute resolution service so I emailed it several times explaining the problem I was having with SimplyElectronics. While it did take some action, I was left with the feeling that its dispute resolution service could have been a lot more aggressive with the seller in getting the problem resolved. The sum of its actions was to email SimplyElectronics for the order status and to suggest that I request a chargeback through my bank. However, GoogleCheckout indicated it would only support the chargeback if SimplyElectronics reported that it had not shipped the order. But SimplyElectronics claimed it had shipped the order – the problem was that it had not arrived and the company was unable to account for it.

During the course of several conversations with Consumer Direct and my bank I got a couple of clarifications on the seller’s obligations under UK law that I’ll bear in mind in future:

1. Once a purchaser has provided his or her credit card details to the vendor, the vendor has the authority to debit the card and this authority cannot be rescinded. In my case, even though I had asked the SimplyElectronics to cancel the order there is no means for me or my credit card company to decline the debit.

2. The vendor’s only obligation is to ship the goods ordered within 30 days of the credit card debit. It doesn’t matter what the company claims – next day delivery, 3 day delivery, etc.

3. The vendor has fulfilled its obligation to deliver the goods if the goods are delivered to you but you refuse to accept them. After I requested cancellation of the order, SimplyElectronics quickly changed the order status to show it as ‘Shipped’. Because I thought that the company had ignored my cancellation request and then shipped the order I thought I might have the right to refuse delivery of the order but this is not the case.


1. Don’t buy from SimplyElectronics

I won’t be placing any more orders with SimplyElectronics. If you want to make your own mind up then do a web search for the company name. You’ll find that it has plenty of unhappy customers like me.

I only discovered after I had placed my order that at least some of the company’s stock is shipped direct from Hong Kong or via a UK distribution centre. It is not official UK stock and you may have problems getting support, service, and repairs from the official UK importer. SimplyElectronics attempts to address this problem by offering its own 1 year warranty. However, if you purchase a high end DSLR that you expect to give, say, 5 years service, what are you supposed to do when it needs a repair or service after the first year ? Companies such as Nikon UK will not offer these services for grey market imports.

If you check the terms and conditions carefully on the SimplyElectronics web site you’ll note that the buyer is liable for any import duties payable. You might think that you are making a purchase that includes VAT and import duty payments but that doesn’t appear to be the case. The low prices offered by SimplyElectronics may well be because you’re not paying VAT or import duty but you will be liable on delivery of the order.

2. Don’t use GoogleCheckout unless you fully understand the implications

I certainly won’t be using GoogleCheckout again. As explained above, because GoogleCheckout becomes the third party in the transaction rather than the seller, the UK Consumer Credit Act does not provide the protection you’d normally expect in a credit card transaction. Based on my experience, I also feel that GoogleCheckout’s dispute resolution needs to be more proactive in resolving problems arising between the buyer and seller.


Thank you to WarehouseExpress.com who took my order in the afternoon and delivered the camera the next morning.

Written by Sea Monkey

January 16, 2009 at 8:00 pm

Posted in Comment

Tagged with

Suppressing analysis of generated code

leave a comment »

As a follow-up to the posting Using the XSD Inference and XSD Object Code Generator Tools, how do you suppress analysis of the generated code ?

As the generated code often doesn’t follow Microsoft’s own guidelines, tools such as StyleCop, FxCop, and the code analysis built in to Visual Studio (which is a variant of FxCop but is not identical to the standalone version of FxCop).

StyleCop analysis may be suppressed using the <auto-generated> element.

Visual Studio’s Code Analysis may be suppressed using the disable warnings pragma: #pragma warning disable.

FxCop analysis suppression requires the use of the GeneratedCodeAttribute at type or method level. Generated code files often contain multiple types making it difficult to suppress FxCop analysis by simply placing a directive at the beginning of the file. I’d recommend using the FxCop GUI to disable analysis of generated code by simply unchecking the code that you don’t want to analyze.

So, all you need to do to suppress analysis of generated code is automate a mechanism to insert the following two lines at the beginning of each file:

<auto-generated />
#pragma warning disable

I’ve implemented this as a step in the build that renames the generated source file, copies a file containing the two lines and the renamed file to a new copy of the source, and deletes the original source file. Three DOS commands are used:

REN "%FILENAME%.cs" *.temp
COPY /Y /B "generated_code_prolog.txt" + "%FILENAME%.temp" "%filename%.cs"
DEL "%~dp0..\%FILENAME%.temp"

Obviously, you’ll need to set the FILENAME environment variable before these three lines are executed and create a file called generated_code_prolog.txt containing the two lines that will suppress code analysis.

Written by Sea Monkey

January 8, 2009 at 8:00 pm

Posted in Development

Tagged with