The Bill of Rights that Isn’t

There’s been a lot of talk about crafting a “Technology Bill of Rights” lately, and all of it centers around bestowing users of software and hardware with ‘rights’ related to that technology (pardon the redundancy).  There’s a giant sized problem with this idea: All of these ‘rights’ infringe upon the people that are selling this technology.

To understand why this is a bad idea, we first must understand the term ‘Bill of Rights’ and its origin.

Background

The Bill of Rights is the common name given to the first ten Amendments to the Constitution of the United States.  These rights were written down in an attempt to garner more votes for ratification.  The argument for them was that without them, the government would have free reign to limit free speech and due process, and property rights.  The argument against them centers around the idea that these rights are not bestowed by any man, so they cannot be taken away by any man. They are properties of Natural Law. I have them because I was created, and in order to fulfill my purpose as a Human being, these are things that must be granted.  Notice that none of the rights that I am granted infringe on anyone else.  My right to Due Process does not harm you; and my right to Free Speech does not limit your right to the same. I have the right to bear arms because it is necessary to protect myself and my property from individual or collective tyranny.

The Problem with The “Technology Bill of Rights”

This “Technology Bill of Rights” does not operate in the same regard.  It ‘grants’ rights that otherwise do not exist according to Natural Law, and in doing so it infringes upon the private property rights of others.

Article 1. Any individual shall be able to choose anonymity when posting to Internet sites This ‘article’ infringes upon private property owners.  It uses coercion and force (rule of law) to tell someone what they can or cannot do with their property — the very antithesis of liberty.

Article 2. No network provider may constrain or restrict access to the Internet in any way, shape, or form other than agreed-upon access speeds – This ‘article’ (once again) infringes upon private property owners and businesses. It forces them to swallow costs and not cater to the needs of their customers.  Let’s say, for instance, that a particular Internet Service Provider (ISP) wanted to restrict access to all Adult material as its selling point (to become the premier ‘family oriented’ ISP); this article would prevent them from doing that.  To say that I must allow access to morally objectionable material on my access point takes away my property rights.  Outside of that, it is tantamount to interference in the market, which is never good for customers, and most certainly has unintended consequences.

Article 3. No individual shall be held liable for effects of malware or malicious code unknowingly run on a personal computer This article doesn’t belong in any bill of rights.  There are already laws governing destroying others’ property (which this most certainly qualifies as), and all it takes is common sense to realize that the government’s actions bordered on idiocy (when doesn’t it?).  If anything, this is an instance where two things should have happened: 1) Jury Nullification should have been explained to the jurors and 2) Prosecutorial misconduct and over-reach should always be pursued.

Article 4. A company that produces and sells closed source software for use on computers shall be responsible for the security of that product, and a user has a right to seek damages in the event of a failure to secure their product – This is an attempt to legally offer redress for vulnerabilities found in Software.  For as long as software is made by humans (in the same way that bridges are), there will always be failures.  Knowing about vulnerabilities and not patching them is different than not knowing about vulnerabilities.  This article does not differentiate between the two, and thus doesn’t pass muster.

Article 5. Any software or hardware used to conduct or support laws and public policy shall be open-source – The author of this article takes a good idea and turns it on its head.  A better idea would be to reduce government to the point where this isn’t needed. I agree that citizens ought to have a right to confront source code if it is used to charge them with a crime; but to extend that to all software used by government? No thanks.

Article 6. Any media content legally purchased by an individual shall be available for private use on any device, at any time – This article once again limits a businesses right to limit how its property is being used. Notwithstanding the idiotic business decision behind Digital Rights Management (DRM), it is the right of those producing these products to determine how they are used.  It’s an utterly stupid decision on the part of businesses, but it is a decision that is buoyed by the free market.  When it’s more profitable for companies not to use DRM, then they’ll stop using DRM, or they won’t be able to compete as readily.  Stardock has already dropped DRM, and others are following suit.

Missing the Point

Other so-called ‘Technology bill of Rights’ don’t fare so well either from a ‘free society’ perspective.  More to the point, they operate within a faulty framework: That Congress is allowed to craft laws outside of its Constitutional limits — which is exactly why people are clamoring for these changes.  There’s a simple answer to all of this: get government out of these issues. de-regulate and stop the utility protectionism that surrounds the cable and phone companies. Elect Congressional leaders not based on what they can do for your particular class; but rather how compatible their ideas are with a constitutional republic.

The bottom line is that while this ‘Bill of Rights’ may seem like a good idea; it has a whole host of issues that are incompatible with a free society. You cannot make one group more free at the expense of another group. That’s not freedom; that’s tyranny of the majority. We call that democracy.

I need a webcam on the moon, and I need it yesterday

What do you do when a business people ask you for a webcam on the moon*?

You find out how to give them a webcam on the moon.

You Do Not say:

“It’s not Possible.”

“I can’t.”

“No.”

“Can’t be done.”

Or any derivative of the above.

We are in a recession, and we’re entering a depression. If you follow the Austrian School of Economics (read: The school that predicted exactly how this recession/depression came to be, and when it would happen) then this is an incontrovertible fact.

You do not say ‘no’ when your company’s future, or more importantly your job, is on the line.

I realize that it’s not feasible to put a webcam on the moon. I get it. Business people are just as smart as we are, and they know that it’s not really possible to put a webcam on the moon.

That doesn’t stop you from finding out if that’s what they really need, and if it is a webcam on the moon, then do your damnedest to give it to them.

I am not advocating being a ‘Yes Man‘.

Yes Men do not have opinions, they don’t have concerns, and they don’t give better ways of putting that web-cam on the moon.

You do.

How do I get a web-Cam on the Moon?

Well, you don’t. Even if you’re very well funded, and you have your ducks in a row, chances are: you will fail. Does that mean you don’t try? No. If you’re a software developer, it’s not your decision whether or not the project goes forward.  It will go forward (and with sometimes disasterous results). Your purpose centers around whether you’ll bring up your concerns and possible solutions when the project falters.

Always have a solution, even if that solution is to ‘do nothing’.

*Credit for the ‘Web-cam on the moon’ goes to ShawnY at FlexAdmiral.

Website Registration as a Usability Anti-pattern

In software engineering, an anti-pattern (or antipattern) is a design pattern that appears obvious but is ineffective or far from optimal in practice. (Source: Wikipedia)

 

Whether the users are Software Developers or a sixty-two year old journalist I affectionately call ‘Dad’, users agree that Website Registration blows.  It’s a hurdle we must endure to get to our beloved internet content; or at least that’s been the status quo for a number of years.

Background

In a recent twitter conversation with @SQLServerCentrl, I complained to them about their registration requirements.  I hadregistered to see a certain article (it turned out not to help me, even though the search terms indicated it would); and I kept receiving their newsletter. As I was clicked on a link in one of their newsletters a few weeks later, I realized that I had forgotten what password combination I had used to register.  Then I realized that you can’t see any content on their site without registering.

I asked them about it, and their response was:

 

@gortok sorry to hear that, but the registration allows us to track stats. If you’re getting the newsletter, you should be registered


That doesn’t make any sense; doesn’t Google Analytics provide anonymous tracking?

That tête-à-tête ended with them pulling out the numbers card in Argumentum ad Populum style.


How many times have you, as a software developer, heard this refrain from your business analyst or marketing department: We need to be able to track users and collect information about them so we know who to market to. This refrain normally spawns a requirement (or two) that the end user must register in order to see content on the site.  All of the tie-wearers agree that that’s the only way to get all of this information, and so it is done.  If you develop software, and you let this happen, you have now commited the worst kind of design pattern, the Usability anti-pattern.  Jeff Atwood calls it a ‘barrier’, but it is so prevalent in websites that it can only be considered a design-pattern at this point, and an anti-pattern at that.

It’s an anti-pattern because while it’s easy to do, and it fulfills the business requirements, it gives users a bad taste in their mouths about your website.  When’s the last time Wal-mart required anything out of you other than walking into their store? 

There are reasons to ask a user to register on your website:

Common Reasons to ask for Website Registration

 

1. It’s the easiest way to track what you look at.

2. It’s our way of tailoring what we deliver to you.

3. We sell your information, we can’t sell it if you don’t give it.

4. We have ‘affiliates’ that we ‘share’ your information with to ‘better serve you’.

5. No reason given. Just a Privacy Policy written by a Lawyer (That gives me a warm-fuzzy).

 

If you look at all of these reasons (except #3); you’ll notice one thing they all have in common. They’re bogus. They don’t mean anything.  They’re simply excuses to get you to give them the benefit of the doubt.  When you go into a store to look at a product; does the store owner stop you at the door and force you to give him your name and address before entering? The answer is a resounding No.

What’s worse is that asking for personally identifiable information from a user now brings up legal issues, as this FAQ regarding registration from the Chicago Tribune website so aptly shows:

 

We specifically ask your birth year to assure compliance with our Privacy Policy concerning minors.

Solution

Wouldn’t a better idea be to not ask for personally identifiable information in the first place?

Besides selling your information or spamming you with emails, there is no reason for a website to retain any personal information about you.

Yet, we seem content to let this happen across our web-applications and websites. We force customers to give us some sort of information in return for viewing our content.  In the worst cases, you must log in every time you want to look at content (SQLServerCentral), and in the lesser cases, you only have to register and log in when you actually want to buy something.  At the good end of the spectrum, you have websites that set the bar low enough where this isn’t even an issue (Stack Overflow, Google, Amazon).

The harder (yet infinitely more usable) pattern is for a website to take one of three paths:

  1. No registration whatsoever.  Why would you want to register to read daily content, some of which you may never even care about?  What does registration get you? Nothing.  Registration is used simply to tie you as a user to what you look at.  Guess what? It’s the same information that can be found with Google Analytics. The only difference is, this information can’t be sold to a marketing company.
  2. Incremental registration after the user has poked around your site. A great example of this is buying something off of NewEgg or Amazon. You select the product, fill out your billing address, buy it, and then they ask you to fill out one or two more fields (usually just choosing a password), and that’s it.
  3. Registration for ‘advanced’ features or for continual participation. Stack Overflow uses this method.  As a Unregistered user, you can ask questions, browse the site, and you can even gain reputation. However, that reputation doesn’t persist across cookie deletion unless you register.

 

All of the methods I mention are widely used, and they’re all relatively easy to do. So why do businesses still ask for this information?

It’s easy, it’s cheap, and by the time you realize you’ve been hoodwinked, they’ve got your information, and you’re left with whatever they’ve seen fit to give you.  In most cases, you’ve gotten the short end of the stick.