I have the worst luck with shipping

One of the things I like best about living in a large city is I don’t have to order things online so much anymore. It’s not that I’m worried about my identity getting stolen or that I don’t trust the internet. It’s just that I can’t remember the last time I ordered something online and received it without incident.

Often, it’s not the company I order from. I know better than to use dodgy merchants, and tend to only use big guys like Amazon.com. The point of failure is always the shipping. To date, DHL is the only major shipping company that hasn’t screwed up the complicated task of “put this box on the doormat”. Next most successful is the US Postal Service. The worst? I can’t figure out if it’s UPS or FedEx. I do everything I can to avoid using either company, but unfortunately most major vendors choose the carrier that has the best price at the moment so you don’t get any say in the matter.

Why the rant? I placed an order for a book and two CDs on Wednesday morning. I need the book for research at work, and one of the CDs is needed for my wedding which is approaching very quickly. Since I leave Tuesday, I didn’t want to rely on free shipping or standard ground. Next-day was too costly, but 2-3 day ground seemed most reasonable, with an expected arrival date of Friday (today). I came home and asked the people in my apartment complex’s front lobby if any packages had been left for me, and they said no, nothing from FedEx today. I figured the delivery guy must have left it on the doorstep. Nope, no boxes. Did he even leave a sticker? Nope. Hmm, I suppose he just didn’t make it by today right?

No, the tracking system explains that “Resident was not present. Package not delivered.” This is not inaccurate. I was at work, because for some reason that eludes me most home delivery services only deliver during hours that the majority of the population is working. The procedure in my apartments is that when a resident is not home, the shipping people leave the package with the front desk. This has worked fine with the USPS so far; I’ve had two deliveries that went off without a hitch (so long as you don’t count “bending a package marked ‘Do not bend’ that had thick cardboard inside and took significant effort to bend” as a hitch). There are two suspicious things here.

  1. It is the policy of every major shipper to place a “Hey you weren’t here” label on your door when you weren’t there. This policy exists for people who don’t use the internet to track packages and to prove that drivers are actually following their routes instead of goofing off. You can’t claim the driver didn’t come by because the sticker is right there. I had no sticker, so I asked the lobby if anyone else got FedEx stuff today.
  2. The front lobby saw no FedEx trucks today.

So, I’m left with the notion that the driver had a tight quota, the cruddy traffic lights in this area slowed him down, and since no one is home at 11AM on a weekday anyway he played “Whose package can I safely pretend they weren’t home with today?”. Unfortunately for him, I’ve been selected for this game in the past.

I complained to FedEx and for a change I’m actually at least getting them to investigate what happened. It won’t do me any good, because they don’t ship on weekends. I paid 100% more than the cost of standard ground to receive my package before the weekend, and I did not receive services that match the premium I paid. The real shame here is there’s no one to complain to. In the past, I’ve complained to the shipping company, but I never get a refund of any sort nor do I ever get the package any faster. I can’t complain to the vendor, because once they put the label on the package it’s not their fault. I have complained to vendors in the past, but all I get is smug “Whatever just because USPS is cheaper, faster, and more reliable for your packages doesn’t mean we’re even going to consider letting you pay a premium to use them instead. You will get FedEx or UPS and you will like it.”

I understand this situation is kind of not a big issue, since honestly if the driver did visit (of which he left no evidence) then he is following one of the protocols (he might not know the front lobby holds packages for residents even though they have to open the gate for him). But I have a history of horrible service with the big shippers. If you care to be bored, continue reading and I will detail them so maybe some sympathetic employee will send me the $5 it would take to make me feel like the situation was resolved.

Incident 1 – FedEx Next-Day is not so fast

I was working at one of my first jobs about 6 years ago. We were assembling computers for this company that was contracted by the state government to get students to assemble computers for much cheaper than the cost of constructing a factory and hiring people that wanted benefits. It was a pretty good idea, and paid way better than anything else I could get at the time. Our paychecks came via FedEx from some state agency, and of course the first check had some hang-ups and they ended up a week late. To compensate, they sent the checks via FedEx next-day once they got them working. The day of delivery came, and as the end of the day approached we got more and more curious about the whereabouts of our checks. We went to the front of the building to find a “You weren’t here” sticker attached to the front door. We asked the office workers if they saw the delivery guy (they worked in plain sight of the door) and a few of them mentioned he just kind of walked up to the door and put a sticker on it. He didn’t even fill it out on the spot; he had it pre-filled so he could just stick it on the door and run.

This guy had no intent of delivering the package; for some reason he didn’t want to waste the time.

Incident 2 – UPS Strikes out too

My first Dell laptop died the third day I had it. Actually, just the display died, but still it’s not much use without a display. I was obviously still under warranty, so a technician came over and fiddled with it and decided to order some parts to try and fix it. The parts were sent UPS next-day. Since it was near the end of Summer, we were home all that day, and in fact we had the front door wide open because it was a nice day outside. Around 4:45 I started getting kind of worried that the UPS guy might not show up, so I checked the tracking status. “Resident not home – could not deliver”. At 10:45. When we were sitting on the front porch and would have noticed a UPS truck. There was no sticker, and in fact no sighting of a UPS truck at all by the 3 people that were home at the time. Once again, I got a driver who was busy doing something else.

Several Incidents – FedEx

I had several of the same problems with FedEx when I lived in Tennessee. It was kind of a small town, and the first time I was ever making decent money, so I ordered stuff online frequently. I believe FedEx handled 6 of my packages, and I believe I received 1 without incident.

The first one I didn’t mind. It was a piece of computer junk that cost too much, so they wouldn’t leave it on the doorstep without my signed consent. I signed the door-handle thing they gave me and checked the box “Please leave it on my doorstep if someone steals it it is my fault”. They replaced it with a copy of the same label. I signed it again. This time, they replaced it with “This was the final attempt now you have to come to pick it up.” Well, it wasn’t that bad since the facility was actually half a mile from where I worked, but they were open the odd hours of 2:00-4:00 only so it took an extra day to get it.

I figured after that they had my signature on file and I’d get the next thing just fine. It was a cheap book and didn’t require signature. Except they left the door handle thing. I called and complained, but I was told that it was FedEx policy that they couldn’t leave things at apartments. Fine, I won’t fault someone for following policy. At least they were leaving notices they’d been there, right? I prepared myself to have to always pick up the packages myself from the people I was paying to deliver things to my house.

I found a loophole to their policy. If you live on the second story or higher, and your package weighs at least 30 lbs., the deliveryperson can’t be bothered to bring it back down to the truck. This was the only package that I had successfully delivered to my house.

UPS gave me no troubles, but the only thing they delivered was a this stupid 50 lb. CRT monitor whose box was so big it barely fit in the door. I suspect this has something to do with why they didn’t follow policy.

DHL delivered 4 packages without incident.

Incident 4? – Don’t ever next-day USPS from Tennessee to Mississippi

From time to time, I had the need to ship something home from Tennessee in a hurry. Since I no longer trusted UPS or FedEx, I tried using USPS and paying for next-day service. Except somehow, the package would always get delivered like this: Knoxville, TN -> Mobile, AL -> Charlotte, NC (MISROUTED) -> Mobile, AL -> Jackson, MS -> Destination. Of course, the misroute from Alabama to North Carolina caused the package to take longer than the guaranteed 24 hours.

I shipped two packages next-day. This happened twice. The only reason I’m happy is when I brought the tracking printout as proof that the package took longer than 24 hours to deliver, my money was refunded. I completely forgive and still trust the USPS because I know when they screw up they are willing to eat the cost of their screwup.

I’d comment on how they ship things but nobody uses USPS for shipping for some reason. I get my mail every day without incident though so I don’t really need a sticker to show the letter carrier came by. I guess there’s something about being reliable and cheap that scares away the big vendors.

Finally I am done

So in short, the reason I am so hacked off and motivated to waste an hour documenting my anger is because I have horrible luck with shipping companies. Over the last 7 years, in three different states, I have had the same problems happen with pretty much 4/5 of the packages I have shipped to me via FedEx and UPS. I have no one to complain to, and when they screw up your delivery they don’t have any obligation to make it right. I pay a premium in instances where I consider my package high priority, and it does nothing to guarantee that my package will make it on time because if the driver decides he’s not going to visit my house I’m just out of luck. I think I should at least get the $3-$5 that I paid for the expedited shipping back if the driver didn’t leave a label. There’s no way to scam that and get your package faster; 3-5 day is the next step up, and if you pay for 2-3 day, but purposefully make sure you can’t pick up the package until the 4th day you have gained nothing.

Having trouble with Form.AcceptButton?

Recent explorations of WPF have caused me to revisit things I used to avoid in .NET. I’ve spent a lot of time over the past week or so working with the TableLayoutPanel and FlowLayoutPanel, and I never really realized how much I dislike the designer for some nitpicky alignment things. I made a relatively complicated application to test myself, and though there’s some lingering issues in Windows Forms 2.0 it looks like WPF solves most of them.

The big thing that has been bugging me is I made a dialog to edit program settings, and when I added the “OK” and “Cancel” buttons I set the form’s AcceptButton and CancelButton properties appropriately. However, when I tried the form out, I found that the cancel button worked perfectly but the OK button did nothing. I decided that perhaps I had left something out of my layout logic, so I started a new project and used the designer to set up a simple dialog with a text box and the two buttons; this dialog worked so I figured I’d done something wrong. I decided I’d just make the button’s click event set DialogResult and left the issue alone.

Then today, someone on the VB .NET forum I frequent posted a problem with the AcceptButton property that was exactly opposite of mine: they didn’t want the button to respond to the Enter key or close the dialog. I decided that the answer to his question was probably pertinent to mine, so I revisited the example. This time, I managed to do something in the designer that caused the OK button to not work properly. I was mystified, so I asked the guy on the forums to post some of his code so I could try to figure out what was different. The answer turns out to be a combination of the Button class’s DialogResult property and an oversight on the part of Microsoft.

I wrote a test program to examine the DialogResult property before and after assigning buttons to a form’s AcceptButton and CancelButton properties. CancelButton worked exactly as I expected and changed the button’s DialogResult property to DialogResult.Cancel. However, AcceptButton did not alter the button’s DialogResult property at all. I double-checked this in Reflector and found that the property set method for AcceptButton doesn’t do anything at all with the button’s DialogResult property.

So if you are having trouble with getting the OK button of a dialog to work, and the only step you are taking is to set the form’s AcceptButton property, be sure to always manually set the button’s DialogResult property. AcceptButton‘s property set method does call UpdateDefaultButton, a protected method of Form with no default implementation. It’s possible you could override this method and add the line:

this.AcceptButton.DialogResult = DialogResult.OK

However, since it’s a protected method that is used by the default implementations of the Form class it’s probably a bad idea to assume this will always work. In particular, if they swap the order of the lines of code it will fail. Perhaps you could override the AcceptButton property and call the base implementation, but that’s still kind of icky. I have not tested this in .NET versions later than 2.0, but I doubt it has been fixed.

A week with the Zune

A week or so ago I got my Zune, and wrote a bit about its software and some of the issues I had with it.  This time around I want to discuss the hardware.

First, I’m not a very hardcore user of mp3 players.  I bought this unit because it was a good deal from woot.com and I wanted something that could hold my collection.  I haven’t used the video features of the Zune much yet because honestly I haven’t found a use for that feature.

The first real problem I stumbled upon with the Zune is a common problem with mp3 players: since Apple patented their clickwheel there is no clickwheel on the Zune, and I am convinced the clickwheel is the perfect input method for an mp3 player.  What the Zune does have is the standard “clickwheel emulator”.  It is a small circular button with another button in its center; 4-way navigation is facilitated by the outer button and menu choices are selected by the inner button.  There is a “go back” button and a “pause/play” button on either side of the clickwheel emulator.  The size of the center button makes navigation feel a little clumsy sometimes, but I haven’t had any serious problems with it so far.

The Zune UI is quite usable compared to the PC software . For music, you have the usual plethora of browsing options such as by playlist, artist, and album.  Scrolling through large lists is made easier by a neat feature they added: when you are moving pages at a time a large letter is displayed behind the list to indicate the first letter of the artist or album you have reached (depending on which browse option you are using).  For randomly playing a playlist, I find the Zune quite satisfactory.  The shuffle algorithm seems a little less random than I want, but I’m going to give it a few more weeks before I think it’s completely off.

There’s a radio feature on the Zune and I think that’s kind of neat, though I’ve never listened to it other than to just test it out.  Reception seems pretty good.  The picture browser is horribly crippled by the limited browse options of “folder name when it was on your PC” and “date of creation”; if you take pictures frequently, save a lot of random pictures, or have lots of different image folders the Zune is practically useless for making nice slideshows of favorite images.

There’s also a wireless community feature, where you can send songs to other Zune users and download songs from their Zunes.  Unfortunately I haven’t managed to find another Zune owner yet to test it out, but I’m sure I’d be frustrated with the “3 plays or 3 days” DRM that is placed on songs transferred this way.

In short:
Playing mp3s: Awesome
Viewing Videos: I don’t care
Listening to the radio: OK I guess
Viewing Pictures: Needs work

Hosting Review: Fuitadnet.com

A long time ago (2003 if the records are right) I signed up for hosting under Fuitadnet. They had a pretty good deal at the time, I seem to remember it was about $5 for 3GB space and 25GB transfer. That was way more than I knew I’d ever use, based on the fact that none of my free hosting sites ever seemed to hit their quota, so I signed up. I had a couple of warnings from the people at Armageddon Games that the service and uptime were kind of flaky, but I figured for personal hosting the price was right and the risk was worth taking.

The first few years were no big deal; there were occasional downtimes and defacements, but generally I was satisfied because within a few hours of any major event there’d be a post about what happened in the forums. I don’t like losing service, but I do like it when the company reports the failures and is open about them.

The first real signs of trouble came a couple of years back, when I noticed that the only way to get their one-click image galleries running was to make several directories world-writable. I may just be ignorant of the way web servers worked, but I thought you were supposed to run php with a group that you could set so it could touch directories without having to set them world-writable. I mentioned this on the forums and I was told that I was on a misconfigured server and needed to request to be moved, so I filed a support ticket. The support guy was suspicious and asked me to try setting up the image gallery again, so I did, and demonstrated the problem. He told me there was definitely something wrong and they’d fix it. A week or so later he got back to me and said the gallery should work no problem.

The fix? The one-click install was changed to automatically make those directories world-writable. I’m pretty sure this isn’t the solution upon looking at the directory permissions on my new host, and I was quite agitated that Fuitadnet’s support had the nerve to claim they’d fix the problem, then silently do the poor workaround behind my back. I just sucked it up and lived with world-writable directories because I needed an image gallery up for a project I was doing.

That’s not why I quit Fuitadnet though; it was just some background to show I was a long-time customer and was generally pleased with the hosting. My experimental blog has an account with links to forum posts, but sadly Fuitadnet has deleted their forums. I didn’t predict this move so I didn’t archive the forums for permanent proof, but I will summarize without the forum links.

About a year ago, all users were notified of unavoidable price increases. This would cover increased costs and additionally Fuitadnet would increase their customer support staffing and introduce a new feature: daily backups. This was a great idea; the worst can sometimes happen and Fuitadnet promised that in the worst case a site could be up and running with a recent backup. I figured this was worth an extra $2/month so I didn’t bother researching any other hosting solutions.

Towards the end of July, the worst happened. My support tickets and forum posts show I noticed something was up around July 31, when I logged into FTP to upload a file and found nothing staring back at me. All of my data was gone. I looked to the forums, and noticed a thread started on the 28th from someone with similar problems. I filed a support ticket asking what was up, and I got a response the next day. Apparently, two disks in their RAID array had failed so they suffered a total data loss on a server. That’s understandable; sometimes it happens. I remembered the daily backups thing (and so did some forums posters) so I decided I’d just indicate in a forum post and in my open support ticket that I wanted to be restored. Some people started getting restores, but were reporting that they were as old as October. Around July 31st a post was made on the forums by the Fuitadnet president explaining the situation and he indicated that they would restore things to normal “as fast as possible”. A couple of days later, I made a post on the forums indicating that I was upset by the slow response to let the users know via the forums, pointing out that the forums were the first thing I checked for service outages. I also asked what the status of the daily backups were. The owner (Sharon)’s response was that the forums were of low priority to them and I should really go to their IRC channel for support.

That’s bull. I started researching new hosts that day. My support ticket requesting a restore was still open, and I would periodically poke my head into the forums and point out that people were paying for backups. On August 23rd I still had no information about a restoration, so I made the post in my experimental blog, taking care to link to forum posts to strengthen my points. Incidentally on August 24th the Fuitadnet forums disappeared. I guess it’s no real surprise since 2/3 of the posts were “Horrible service — never again!” and the like, but it struck me as the final indicator that I was dealing with a company that had no interests in me other than my monthly contribution.

As I said, I can take failure. I can even sympathize with a company that does a poor job at handling a catastrophe such as the loss of a disk array; it’s a rare event and even if you have a plan you don’t get to test that plan out often. I will not give my money to a company that will do its best to quiet unsatisfied customers by removing their ability to publicly discuss issues. By deleting the forums, Fuitadnet moved all support to the internal support ticket system or the IRC room, both controlled environments where they can severely limit how many people can see what is said. Sadly, the only evidence I have to back me up now is a screenshot of their “Why we are better” page. I noticed the first item on the page is their daily backup and figured I’d make sure someone had a record that they claimed this was a feature.

With backup using an image technology we are able to take a daily snapshot of your site. In another words if any damage caused to your data, whether from Virus, hackers or any other damaging factors, we are able to restore the data to the exact configuration it was the day before, like nothing happen.

It’s been two months now, and I have yet to see any kind of file restoration. I have a local backup of the web site, but sadly I did not have a backup of the SQL databases, and I don’t really feel like I should have since I was assured I was under the protection of daily backups.

Now I’m on Apis Networks, and though I’m a little concerned about the proprietary control panel I do like the idea. I hope I don’t have to move again because transferring the domain so I could actually change the nameservers was a pretty big hassle; Fuitadnet acted as a middleman and didn’t let me directly access the domain records, and I learned why that is a convenient but bad idea.