Updated: 2012-06-05 16:23:00
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.
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
<li
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
Discuss this in the forum