As developers we can face some difficult choices. Do we make life easier for the user or do we err on the side of security which can detract from the usability of our applications?
Make Use Of recently ran an article that highlights issues caused when usability is given too high a priority over reliability and security.
Clearly Roger Ebert had not been posting himself. It was thought that his wife had started to post as she retweets using the account at times (why???) but this soon became clear that this was not the case. Make Use Of appears to have come to a good conclusion as to the cause. Roger Elbert appears to have posted Twitter updates using SMS. As Roger no longer has an active phone the number had been recycled and given to another customer in the meantime. As the phone number had been registered for Twitter this remains in place. The new owner can now post as Roger.
Now is this an issue for Twitter or the cellular network. In an ideal world there would be no need to recycle numbers but of course there are a limited number available and inevitably these do have to get reused. Therefore such issues fall upon us as developers (in this case Twitter) to make sure that we consider the failure points of our features and how we can overcome issues.
In Twitters case it would seem that once validated a mobile number can be used with impunity to post with no consideration of this being passed onto someone else. This could easily be overcome. For example for the end-user to have to verify the number on a periodic basis, if an app on the mobile device is also used maybe the app could do this on behalf of the user if they are logged in. This may not stop all occurrences of such issues but will help reduce this greatly. Not only this, but it would give the new owner of the number an easy way to opt out and stop receiving nuisance communications etc.
This issue is not restricted to mobile numbers. 2 years ago Yahoo announced that they would be freeing up dormant email accounts. An account was considered dormant if the user had not logged in to Yahoo for over a set time period. I do not disagree with Yahoo’s decision in doing so however this poses a problem for service providers. Consider the things we do over email. For example if you reset a password on most services you simply require access to the email account in question. This might be easy to use but how secure is it? Also consider some of the private information that we may send over email. Would we or the user be happy if such information was given to other people?
Any thoughts? Let me know.