Camen Design

c share + remix

An Indiscriminate Web

There is no easier technical platform by which to lead by example than the ’Web. This article imbues principles that I have made regarding how to be a part of the ’Web and how to allow others to participate in a non-discriminatory way.

What do I mean by non-discriminatory? Do I mean discrimination in the sense of race, gender, sexual-orientation? No, because on the Internet, nobody knows you’re a dog.

I'm referring to technological discrimination via technological assumption.
Let us begin with a solid example.

In the Land of the Blind, the One-Eyed Man Is King

If, let’s say, you choose to develop an iPhone app (instead of a web app) then you are choosing to limit who can access your content to the following profile:

Has a bank-account, or plenty of disposable cash
A bank account is required to be able to sign up and pay for a contract with a phone carrier. Not everybody in the world has a bank account. In some places, banks are so thinly distributed that people exchange phone credit as a form of currency instead. If you purchase an iPhone on PAYG, expect to pay a large amount up-front as well as for top-ups. Given economic pressures across the world, there are many people who are deeply in debt or have all their money already tied up so as not to have the means to ‘simply’ PAYG with an iPhone.
Is old enough for the above
If you aim your app at children, you are making the clear assumption that the child in question has a parent who is able to pay for the device because the child will neither be able to sign a contract, or have the disposable cash to just buy an iPhone PAYG. Not everybody has the privilege of a family, or even a stable one at that.
They will stick to Apple, and Apple to you

You are banking on the iOS platform being the be-all and end-all of technology, that it is in cultural favour (not the case everywhere), available in the person’s country, and commands enough of a market as to be beneficial to you to support.

If your app’s data / service / information has a long shelf life, you are assuming that your user will continue to always use an iPhone device, now and into the future, and that they will not consider switching to an alternative platform; Apple will continue to be the leader in technological platforms and that Apple will continue to allow your app’s existence on the App Store because your app does not compete with yet-unknown future plans or policies of Apple.

Agree to Apple’s policies
Whilst it may be no qualm to yourself, you are requiring that your users also agree to Apple’s data policies, including accounts, privacy, App Store terms and conditions and so forth—and that they will continue to agree to these policies as they change in the future.

As you can see, this rather narrows the scope and field of your purpose. That’s fine for some purposes, maybe you’re trying to target those very people, but in the context of the ’Web? That’s not good enough.

Denying Participation

If you make assumptions about how ‘easy’ it is for another ’Web user to be in the same position as you, you are discriminating against them.

If the only way to contact me was via an input form on my website, and that form required yourself to upload a copy of your browser history, I would imagine that you would have a bit of a problem with that and would stave off contacting me.

This is, in effect, what you are doing when you provide no other means for ’Web users to contact you other than Facebook or Twitter.

You are saying to these users that they must agree to the policies of Facebook or Twitter, hand over their information, and then proceed to be tracked across the ‘Web, in order to be able to contact you. You are making the assumption that it is ’no problem’ for any other person to register for these services because it is ‘just a username and password’. As I have outlined atop, it is not ‘just an iPhone’. It is an assumption that discriminates on technical grounds. Agreeing to Facebook’s or Twitter’s policies is not solely a matter of outlook on life, it is a matter of mechanical acceptance:

'We will physically collect this information, we will physically store it here, we do this with it, we will allow you this access to it, we will allow other people to access it (including advertisers) and we will not physically delete it even when you ask us to do so.’

There is nothing backwards, difficult, obtuse or cave-dwelling about disagreeing with those physicalities. There is no ‘cloud’ that magically suspends information in the air, there are rooms full of servers, cables and hard drives.

Allowing Participation

As a ’Web author, you owe it to yourself to be participatory.
That which you have received freely, give freely.

You do not know how many people have failed to contact you because you do not provide an uninhibited means of contact. We are not talking idiots and spammers here. We are not talking people who lay outside your clique, or are of no interest to you because they can’t be bothered to sign up for Twitter. We are talking about me: Kroc Camen; a very serious, capable and competent web author and programmer. I cannot and will not contact you if you somehow feel Twitter is the medium of the future and I'm just not serious enough a geek if I don’t have it.

I aim to fully practice what I preach: if you want to contact me and you do not have / want Twitter, Facebook or even an e-mail address (because even free e-mail addresses are weighed down with privacy implications—remember Google’s recent policy change) then you can write something on my forum where you will not require an e-mail address to speak. You will not be limited by what operating system or browser you choose (text browsers work, you could even post using telnet). You will not be tied to my forum—each post you make stands entirely on its own and forms no relationship with any other data: posts by the same name are not made to relate to a whole (such as ‘recent posts by this user’), there is no database. You are not profiled. You are not suddenly part of a ‘community’ you don’t wish to be part of. No more a commitment is required of you than a name, a password and a message, all of which require absolutely no continuation from one post to the next.

Can you see how wholly unlike most of the ’Web that is?

And yet, with all these ‘limitations’, the forum has succeeded in its goal; that we, as humans, are able to communicate. Express. Emote. The lack of requirements to participate on the forum has allowed people to say things they would never have said if they had to register / check e-mail / log in.

If you are an advocate of an open ‘Web—a ’Web in which a person’s choice of platform or browser is no barrier to entry, a ’Web in which innovation comes from the small individual and not the big corporation—then surely you should not limit your participation to the traffic going through the gateways of walled gardens? If I can’t stand upon your shoulders because I need to enter a walled garden to build upon your thoughts, then where are your thoughts going to stand in twenty years’ time? They are not your thoughts any more, they are Twitter’s thoughts, Facebook’s thoughts; for their benefit, for their advertisers, for their IPO.

You are not a forward-thinking, modern and progressive person because you choose to store personal and precious information with companies who have no requirement to look after that data with due care and respect, to ensure its safety, compatibility or even access to it in the future. Have you got the permalinks to every tweet you’ve made? Because there’s no way for you to simply view your old tweets now, they’re “unavailable” so say Twitter. Why don’t you just write an SQL statement to bring them up? Oh, you can’t. Do you want a ’Web where you can only look at three months of rolling data?

I say all this with as much love as I can muster because I do not want you to fall into the kind of false thinking of the Apple advocates, that their way is the future; they will one day realise that they own nothing, yet will have lost everything.

Use Twitter. Use Facebook. I do not mean to communicate the idea that using these services is some kind of impure heresy, but that you shouldn’t use these services exclusively, to the exclusion of others.

An open, participatory ‘Web will not simply come into being because you talk about it on Twitter. It is the result of allowing others to build upon the words you have spoken, the code you have written and the art you have made without the need to be a part of some business’ “exit strategy”.

Be Responsible For Yourself
  • Do not place your entire online presence within the hands of brands. Make your own website. If you already have one, use it: blog more often, make it the centre of your creativity

  • Companies may swing around and bite you at any time (policy change, data loss); live with this in mind always, code accordingly

  • Do not include share / like / tweet buttons on your site. These slow it down, track users, clutter your site up and degrade you as a developer

Show Humanity
  • Think of users as humans and not as numbers, database-fields and targets of product features. How can your website / service allow them to be more human and less network-connected-computer?

  • Do not collect data just because you can. Do not require anything of visitors until it is unavoidable. Allow them to progress as far as possible before you request information from them

  • Imagine that visitors don’t have, can’t have or don’t want an e-mail address. Can you serve them sufficiently without an e-mail address?

Show Humility
  • Do not ask of anybody that which you would not accept yourself under a different guise (e.g. If you would never consider registering with MySpace just to contact somebody, don’t expect others to register with Facebook / your service to contact you)

  • Other people do not think your website / service is as rad as you do. Do not assume they will interact with the site as enthusiastically as you intend. Do not get in their way / annoy them

  • Prefer RSS over a proprietary API. Do not assume that other developers would give their full mental commitment to your API and would enjoy it. You hate learning someone’s needless API, don’t ask others to do the same

Be Participatory
  • Provide a form on your website for people to contact you, or a comment system that allows unregistered comments. Spam is a technical issue and not the fault of the human wanting to contact you. Do not treat the human like a problem

  • Degrade gracefully, do not require JavaScript or plugins. Do not block specific browsers or platforms. You do not need to test your code in every browser / OS in existance, just don’t place hurdles on purpose

  • Make source code available via distributed version control systems such as git; people wanting to participate are not therefore forced to interact with a specific code host if they don’t want to