Sunday, January 27, 2013

Businesses, start accepting Dwolla

It's a panicky feeling when you reach into your pocket to pay for something and realize that you forgot your wallet! This happened at least twice to me in the last few months. I almost never forget my cell phone, though.

And just now I read about a lawyer who spent the night in jail because he forgot his wallet and couldn't pay his $208 restaurant bill. He had his cell phone with him, though. I dread becoming the next victim.

This brings me to: businesses, get with the program and start accepting mobile payments!
Oh, but the landscape is changing so quickly! Are any of mobile payment services any good yet?
Yes. Dwolla is good. It's like PayPal, but with significantly lower fees and better integration with banks. Money transfers are free for transactions under $10, and a flat 25 cents otherwise. Aside from training your staff on this new system, there's literally no downside. It's cheaper than credit cards, secure, instant, and works great when a customer forgets his wallet!
 Dwolla?! Why would I go with some no-name?
Let's talk alternatives. How about the Near-Field Communication (NFC) methods that are in vogue now? Well, these require special hardware. Very few phones support this now, and it seems unlikely that more phones will start supporting it in the future. The latest phones don't. Additionally, there's a battle going on between Google and Verizon, with both trying to start competing mobile payment systems. It's a mess. The point is, the biggest problem is that NFC requires special hardware both on the merchant end and on the customer's end, which means cooperation of many entities.

The easier approach is to require merely a smartphone and an app. Dwolla and PayPal fall into this category. Be a good merchant and accept both! PayPal is on par with credit card companies when it comes to transaction fees. Dwolla, on the other hand, is committed to low overhead costs. That's its biggest draw for me and many others. It's the only mobile payment system that allows transactions at near-par value! Cash is king. Checks clear at par value, but are inconvenient for both parties. Dwolla is mobile, safe, instant, and almost free. Revolutionary!

Whether you're a merchant or a consumer, consider joining the revolution. We need more people on both sides of the equation. If I inspired you to look into Dwolla, use my referral link to join and get $10 in credit.

If you live in Coralville or Iowa City, the Electric Beach Tanning Salon accepts Dwolla (thanks to me) and even offers a limited-time discount if you pay with Dwolla or cash.

Monday, January 21, 2013

Why not store files on the desktop?

I just read the article An Irrational Fear of Files on the Desktop, where the author James Hague argues that a desktop is a fine place to store files: it is part of the filesystem, after all, and your files are "in-your-face." Those are good points.

My mom sometimes forgets where she saved her files. That's another good reason for newbies to store files on the desktop. Windows makes the Desktop appear as the root node in the filesystem graph -- at least when browsing using Windows Explorer. (Click "Up" enough in the File Open or File Save dialog, and you end up at the Desktop.) I haven't decided whether I agree with that decision.

So why not store files on the desktop? (To clarify, this is a discussion about how to guide casual computer users, not experts.)

Corporate IT tends to not synchronize desktops between computers, whereas My Documents tends to be synchronized / shared. For example, at Rockwell Collins, when I log into a new-to-me computer using my enterprise credentials, the desktop is impersonal and is locally-generated. It has some program shortcuts, but none of my personal files or shortcuts. My Documents, on the other hand, points to the network-attached-storage with all my files. This also means that if the computer's hard drive dies overnight, desktop files are gone forever.

At first I thought it's a shortcoming of Rockwell Collins' IT. After all, Windows allows synchronizing the desktop just like My Documents. But then, like with many things, experience revealed the reason. As the IT administrator for a local private school, I thought I would do things "right" and synchronize the desktop for teachers between computers. It worked beautifully, from the technical perspective. I sat back and felt proud of myself. Then complaints started rolling in.

What I didn't think about is that most programs by default make a shortcut to themselves on the desktop. These program shortcuts are synchronized across computers just like files; Windows makes no distinction. (Why not? The Great Raymond Chen explains.)

Is the problem clear now? Say the IT administrator helpfully synchronizes the desktop. When a user logs in to a new-to-him computer, he sees the desktop shortcuts to all the programs he installed to his other computer. He tries to launch them.... what, Windows cannot find the program? What the hell? The computer's broken!

It is difficult for a casual computer user to understand that just because the shortcut is there, the program isn't. That requires a surprisingly sophisticated understanding of the filesystem and the independence of the desktop from Program Files.

In the case of my private school, after getting enough complaints and having to explain over and over again, I turned off the policy that synchronizes the desktop. This also means that if a computer user stores a personal file on the desktop, it stays local. Only the user's My Documents are visible on another computer. This setup detracts from the "seamless" cross-computer experience I was hoping to achieve, but this is much easier for a casual computer user to understand.

The root cause of the problem seems to be that software installers seem to treat the Desktop as not a place for personal file storage but as a list of installed programs. No installer has ever offered to create a program shortcut in My Documents, but every installer wants to create a shortcut on the Desktop, Start Menu, and/or Quick Launch. (That's also the reason not to synchronize the Start Menu between computers.) In other words, semantically it's understood that My Documents is for the user's personal files. The desktop is semantically for anything and everything.

Is this really a good enough reason to avoid storing files on the desktop in general? After all, home users don't need to worry about corporate IT synchronization policy. Well, it's a matter of habit. Users will do what they're used to. If a user is used to the desktop being the dumping ground for all files, he'll do the same on his corporate desktop.

And that's why it can be better to store personal files only in My Documents.

Thursday, January 17, 2013

What's the best (computer) mouse?

For two years now, I've had a mouse at home with side buttons. I've never used those buttons until very recently. One of them is the equivalent of "Back." I immediately fell in love with this button. At work, however, my mouse is spartan: no side buttons. My thumb keeps reaching for "Back" and not finding it. Now I want a new mouse.

What do you recommend?

I'll gladly entertain off-the-wall peripherals like the AlphaGrip and Handykey. (They're a keyboard + mouse.)

Wednesday, January 16, 2013

Book review: CLR via C# by Jeffrey Richter, 4e


There are many books on C#. But there are few on the CLR, the runtime that runs compiled C# code as well as some lesser-known languages like F# and languages I wish were lesser known like Visual Basic.

CLR via C# takes you on a tour of the entirety of CLR. The book is not meant as casual reading. It covers a lot of material and is quite in depth.

I've written a few rather basic WPF-based programs in C#, but I don't yet have a significant interest in the CLR. This book did not perk up my interest in the CLR. I tried reading this book from the beginning, but soon realized that it's much more suitable as a reference. You experience a problem, decide to learn all you can about an area of the CLR -- trust that this book will have enough information. As a casual C# programmer, I have learned some new things from this book, but only as far as I've forced myself to read. That's my biggest problem with the book; even for a deeply technological book, it doesn't appear to try to motivate the reading. "Here's a firehose; drink up." Putting it down evoked a sense of relief.

So, get the book if you have a specific CLR-related goal in mind, or if the CLR is your primary way of making a living. For example, if you want to learn everything about CLR garbage collection, this book will tell you.

If you're a casual C# developer and just want to understand the CLR better, a few MSDN articles may be more appropriate; this book can too easily become too much.

(Thanks to O'Reilly for providing the ebook for review.)

Thursday, January 3, 2013

The Lying Disease

A fascinating article, The Lying Disease by Cienna Madrid.

And my favorite comment from there: "Most of the crimes we commit against each other are not illegal." It applies to way more situations than it ought to.