Mar 262017
 

Let’s Encrypt has made it much easi­er for web sites to use https instead of http, even those on shared host­ing. In my case, all I needed to do was ask my ISP, Cana­dian Web Host­ing, to move my accounts to a serv­er that sup­ports a cPan­el exten­sion (I assume this one). Installing the certs is trivial.

Chan­ging the basic Word­Press set­ting was easy — update the WordPress Address (URL) and Site Address (URL) set­tings in Gen­er­al. This did break a lot of image links, mostly because I’ve had my blog on Word­Press for so long that I still had all my images in a cus­tom image dir­ect­ory and the gal­lery could­n’t find them any more. That took a cer­tain amount of fid­dling, and I haven’t yet got all the images in the old posts back to the way they were.

Anoth­er thing that broke was my spam detec­tion. I used Spam Karma for many years, and even after it was no longer updated it was suit­able for my needs. But it does­n’t work with https for some reas­on. I’ve now switched to Anti­s­pam Bee and find it does what I need. I haven’t noticed any spam slip­ping through, nor real com­ments being marked as spam. Most of the com­pet­it­ors had some fea­ture I did­n’t like, such as by default delet­ing com­ments without my hav­ing a chance to check them. That would be use­ful on sites with lots of spam, but not neces­sary for mine. It has a well-deserved high rat­ing on the Word­Press plu­gin site.

Over­all, switch­ing my sites to https cost me a couple of hours work and the time wait­ing for the new serv­er DNS to propag­ate. Well worth it.

Nov 172014
 

Word­Press was designed for pub­lic web­sites, not private ones, so pass­word pro­tec­tion can be a little clunky. For­tu­nately there are plu­gins to help, but (as always) there are trade-offs to be made. 

When all you want to do is add a pass­word to stop search engines index­ing and out­siders read­ing the con­tent, but you also want make it as easy as pos­sible for people to use, there’s the Pass­word Pro­tec­ted plu­gin. As it says, it does­n’t pro­tect the images or oth­er uploaded content.

If you also want to pro­tect the media, you will need to give people an account on the Word­Press site (with user­name and pass­word). Then you can use the htac­cess edits detailed at http://www.idowebdesign.ca/wordpress/password-protect-wordpress-attachments/. This works, but in many cases you just don’t want to give lots of people accounts on the sys­tem, or make groups of people share an account. So it’s a trade-off — how import­ant is pass­word-pro­tect­ing the images versus the admin­is­tra­tion over­head of user accounts with the asso­ci­ated username/password ease of use issues? If you do want to use user­names and pass­words, per­haps giv­ing a group of people a shared account, I’d recom­mend also using one of the plu­gins that helps with finer-grained access con­trol, such as Mem­bers, to stop people being able to change things you don’t want them chan­ging (such as pass­words for the shared account).

Oct 272014
 

Two-factor authen­tic­a­tion is gen­er­ally seen as a good idea; there’s a cer­tain amount of hand-wringing over the fact that more people don’t turn it on. The prob­lem is, it’s one of those things where you sign up for dis­rup­tion over the next few days, for uncer­tain reward. The reward is uncer­tain because you can nev­er tell wheth­er turn­ing on two-factor authen­tic­a­tion stopped someone hack­ing your account or not, just like you can­’t tell wheth­er hav­ing an alarm com­pany sign out­side your house dis­suades someone from break­ing into it. My main email account has been on 2FA for ages, but I decided to add it to one of my sec­ond­ary accounts as well, giv­en that lots of people seem to mis­takenly use that email instead of their own.

Tim sug­ges­ted I used the authen­tic­at­or app for my Google account 2FA, instead of using the SMS sys­tem. Just a hint: set it up while you still have access to your text mes­sages since SMS is used for the boot­strap­ping authen­tic­a­tion. You need to sign up for Google 2FA in the first place ‘on a com­puter’ (not spe­cified wheth­er a tab­let is suf­fi­cient? I used the desktop). You are sent an SMS to authen­tic­ate your­self, and then you get anoth­er one when you want to authen­tic­ate the Authen­tic­at­or app. After that, you don’t need your SMS sys­tem, as long as you have the device with the Authen­tic­at­or app on it.

But then there are the oth­er apps, which now need applic­a­tion-spe­cif­ic gen­er­ated pass­words. Adi­um for Google Talk, for example, or email with Thun­der­bird. Set­ting each one up does­n’t take long, but I’m sure some time in the future I will have for­got­ten and be won­der­ing why I can­’t log in with a val­id password.

And I under­stand what’s going on, more or less, and think the short-term hassles are worth it. There are lots of people who don’t have a men­tal mod­el of pass­words or authen­tic­a­tion, who see only the pain and not the gain (since the gain is only in the absence of a poten­tial future pain). Busi­nesses are sup­posedly imple­ment­ing 2FA fairly rap­idly, but I’d be sur­prised if people in gen­er­al were out­fit­ting their per­son­al accounts with 2FA at any­thing like the same rate. Mind you, I also sus­pect those sur­veys apply mostly to big­ger com­pan­ies in par­tic­u­lar indus­tries; anec­dot­al evid­ence I’ve heard points to a lower real adop­tion rate.

Jan 212014
 

In prin­ciple I’m in favour of the ‘log in with X’ way of doing things (mod­ulo user exper­i­ence issues such as try­ing to remem­ber which ser­vice you picked to sign up with in the first place). There is, how­ever, more to it than that in some cases. Example: using the online repos­it­ory ser­vice bit­buck­et.

Sign­ing up in the first place with one of my Google accounts worked as expec­ted. The next step, of adding a git repos­it­ory and push­ing files to it, was a little more com­plic­ated. You need to use a reg­u­lar pass­word for git push and, of course, bit­buck­et does­n’t have the pass­word for my Google account. And I did­n’t have a reg­u­lar pass­word for the account, hav­ing set it up using my Google account, so I had to go through the pass­word-reset dance to cre­ate a new pass­word that bit­buck­et is allowed to know.

In oth­er words, for these sorts of ser­vices I need a pass­word that the ser­vice is allowed to know; log­ging in with oth­er ser­vices is an add-on but not a replace­ment. This isn’t hard to under­stand when you stop and think about what’s going on (in the browser the ser­vice relies on a lot of browser redir­ects which aren’t avail­able in the com­mand line), but it did take me a minute or two to fig­ure out that I would have to reset my here­to­fore blank pass­word to get one that I could use. (Bit­buck­et also sup­ports SSH iden­tit­ies and I’ll prob­ably set that up instead of the password.)

May 012013
 

I just bought some­thing on the Cana­dian Lowes site and it struck me how much time and thought they obvi­ously put into the UX. The item pages con­tained the usu­al recom­men­ded oth­er items, reviews, etc, that you can see every­where. It was the oth­er inform­a­tion on the item page that caught my attention.

I found the item through online search, but it was easy, with obvi­ous bread­crumbs, to find related items. The ‘ship­ping included’ was prom­in­ent but not over­power­ing (for a large item, I prefer it to be shipped to me but don’t want to pay a for­tune for ship­ping). The page included links, near the ‘Add to Cart’ but­ton, to both the ship­ping and return policies, and the estim­ated ship­ping date was easy to see, even before adding the item to the shop­ping cart.

The big changes that I noticed came next. Where so many shop­ping sites ask you to cre­ate an account, login, etc, this one simply re-con­figured the check­out work­flow. After the usu­al steps (fill out ship­ping address, pay through paypal/credit cards) there were two things I noticed. First, the return page gave the option of adding anoth­er email address to have the noti­fic­a­tion sent there as well, sug­gest­ing I not close the page until the email noti­fic­a­tion arrived (which it did, promptly). And second, it was only after the trans­ac­tion was com­pleted that the site asked me if I wanted to add a pass­word so I could track the status of the ship­ment. I can track the status using a link in the noti­fic­a­tion email but I added a pass­word any­way. So now I also have a Lowes account, cre­ated with very little friction.

This seems a sens­ible time to encour­age the site vis­it­or to cre­ate an account. I’d already bought some­thing, it’s quite likely I’ll buy oth­er large items in the same way, and it did­n’t take much time or decision-mak­ing. Kudos to Lowes for listen­ing to their UX people.

Feb 052013
 

The latest Twit­ter pass­word hack did affect me, but for­tu­nately I had already switched to the one pass­word per site philo­sophy. I store all my pass­words in LinkeSoft’s Secret!, along with oth­er inform­a­tion that I want to keep on my com­puter and on my phone in an encryp­ted form. I just wish the Mac ver­sion synced with Android.

One bright spot in the issue was the fact that I did­n’t have to change any­thing in all my apps that use my twit­ter account, since they all have their own tokens, inde­pend­ent of my twit­ter pass­word. OAu­th is usu­ally said to be good since you can revoke access for any applic­a­tion at any time; this was the first time it became obvi­ous to me that the oth­er advant­age is that you can change your main pass­word at any time without need­ing to update any oth­er cli­ent. Can oth­er applic­a­tions that have web access and smart­phone app access please take note?

OAu­th is not neces­sar­ily the easi­est of pro­to­cols to under­stand, or imple­ment, but these days there are lots of lib­rar­ies out there that do imple­ment it. When I teach OAu­th at the XML Sum­mer School, I always recom­mend people use exist­ing lib­rar­ies if pos­sible, to let oth­ers do the hard work of debug­ging all the little details. Anoth­er thing I recom­mend is to get the O’Reilly book “Get­ting Star­ted with OAu­th 2.0” (full dis­clos­ure: they sent me a review copy) to under­stand the con­cepts. You need to know about vari­ous types of tokens and cre­den­tials, and how they fit into the multi-layered authentication/authorization pro­tocol dance for the dif­fer­ent use cases. Once you have a decent under­stand­ing of the con­cepts, then go and read the actu­al spe­cific­a­tion for the details. The spe­cific­a­tion has lots of inform­a­tion in it, but it’s immensely easi­er to under­stand if you already know how the pieces fit togeth­er, and that’s where the O’Reilly book is well worth reading. 

/* ]]> */