Sunday, January 17, 2016

UI Paradigms: Basic/Advanced, Toggle Defaults/Retain Settings


Advanced features create a User Interface challenge. Some great, feature-rich programs (looking at you, Sparx EA) are really hard to learn in part because the common UI commands are totally interspersed with advanced, obscure ones.

I like a UI approach that tries to work the 80/20 rule. The 20% main, common features are super-discoverable, front-and-center. The 80% complex, advanced, and obscure features are segregated in a pen labeled "Advanced". Of course this is an ideal, sometimes the problem is that while most users only require 20% of the feature set, everybody has a different 20%.

Toggle Defaults

Often in troubleshooting software, the surest, simplest thing is to return to a known state. Often, this means something along the lines of "reset to factory default". Much software, though far from all, incorporates this feature. The feature I would like to see coupled to factory reset is "store all current settings". Effectively, allow the user to toggle between factory-fresh, and their current, sometimes painstakingly configured state.

Auto Insurance Cards - Non-Overlapping Effectivity Annoying

Credit cards get replaced every 3 years or so. When I get a replacement credit card, it is effective immediately--I can simply discard the old card, even though technically it may be a month or so away from its expiration.

Not Auto ID cards (at least not mine). I get an ID card every 6 months. So if the old one expires Feb 28, I receive a new one 5 weeks before that, but the new one isn't effective until March 01. I don't want to wait and hope I remember, on Feb 28, to make the switch. So I go ahead and "install" the new ID card in my glovebox, but I can't remove the old one yet.

Not a big thing, but a minor, seemingly stupid, thoughtless and unnecessary annoyance.

Tuesday, January 05, 2016

True Value of 15% ESPP Discount

Disclaimer: I am an amateur. I did spend a few hours researching and modeling this. But there is always the possibility I used bad information or, more likely, made a mistake.

My current employer is the first with an Employee Stock Purchase Plan (ESPP). As is typical with such plans, it offers a 15% discount, and up to 10% of one's base salary can be directed to the ESPP. So even if you are generally disinclined to invest in specific stocks, as opposed to broadly diversified mutual funds, this is too good a deal to pass up.

However, what I didn't realize until recently, when I had reason to sell some of the stock, was that it is better than a 15% discount. Considerably better, for several reasons.

First, getting to allocate 10% of your base salary to stock, and buying it at a 15% discount, sounds like a 1.5% bonus. But the benefit is actually the reciprocal of 1.00 - 0.85, or 17.6%. So noticeably better than a straight 15%.

Then there are the tax effects. Two considerations here. First, Qualified ESPPs are not subject to payroll taxes[1]. So no 7.65% FICA. Second, so long as you hold the stock long enough[2], that discount is taxed as long-term capital gains, rather than ordinary income. Your mileage will vary, depending on tax bracket, but a typical scenario would be a 15% rate, rather than 28%. The state's bite, in my state of MN, is unchanged at about 8%. So instead of a total FICA + Fed income tax + State income tax bite of 42%, your rate is only 23%. That means your take home is .77/.58, or 32.7% greater.

So the 17.6% discount, multiplied by a 32.7% benefit from the tax treatment, gives you an effective benefit of 2.34% of your total income, assuming you invest the max 10%. More than a 50% increase in the apparent 1.5% benefit. Most 401k matching is 3%, so one way to view that 2.34% gift is that is almost doubles your 401k match.

But Wait, There's More!

There is more to that 401k parallel. Just as a 401k gives you the opportunity for tax-deferred compounding, so does ESPP compensation--so long as you hold the stock. (That does have a downside, though. Over time, you will accumulate a very large position in a single stock--the non-diversified anti-pattern. Worse yet, it is the stock of your own employer. So my preference is to flip the stock. Hold it long enough to get favorable tax treatment, but then sell it--even as you continue to buy more to get that discount on the new purchase.

One More Thing

Some ESPPs have a "look-back" provision. This establishes the purchase price as the lower of the price at the first day of the period or the last day of the period. This has a couple of benefits versus the last day of the period. In ordinary circumstances, the first day price would be a few percent lower than the last day price. So getting the first day price is more than ample compensation for having your contributions tied up for 6 months, earning no interest. Moreover, if the stock does particularly well, the value of the lookback is greatly increased. On the other hand, in the event of a downturn, you are still protected, receiving the last day price.


[1] I'm pretty sure this is true. I found websites that say this, but I had to look really hard, and some seemed to suggest that this might change.

[2] The holding period is tricky. Many people will know there is a 1-year holding period to receive the very favorable long-term capital gains rate. But it turns out there is a 2-year-from-grant-date for the discount to be treated as a capital gain, rather than ordinary income.

Saturday, January 02, 2016

Home Printer Anti-Pattern: After Running Out of Paper

Even though nobody seems to talk about it, I have to believe my household is not the only one this happens to...remote wireless printer runs out of paper or goes offline for some other reason. Various family members discover this only by accident, after sending the same print job like 4 times in a row. But it's 2015, paper is always optional (e.g., it would be convenient to have a printed recipe, but you can also just work off your smartphone), so nobody does anything about it for hours or even for days.

Finally, paper is restored, usually by whoever is really motivated and possibly in hurry for hard copy. What is their reward?--pages and pages of spooled print jobs spitting out.

It feels like there should be a better way. I propose this guardedly, since it is easy to dream up "smart" solutions, only to find they add too much user complexity and sometimes behavior the user finds unpredictable.

Okay, that disclaimer done with, here is what I think might work....If a printer is offline for more than an hour (and remember, nowadays the OS knows when that happens), I would like to see a pop-up that asks the user:
Printer back online. Print jobs were spooled while printer was offline. Would you like to: 1) Print all pending print jobs? 2) Cancel all pending print jobs? 3) Select which jobs to print?

Then, just one more touch to allow sophisticated users with specialized uses case to avoid OS-nag: a checkbox on the dialog that says "Do not ask me this in the future".