We, the Web Kids

Occasionally, I read a piece of writing that sums up my thoughts so well, so exactly, that I sit and try to blog something comparable and just fail.  Try as I might, I can’t outdo the original.  I’m not sure what Pastebin.com’s retention policy is, so just in case, here it is in full:

We, the Web Kids

by Piotr Czerski (translated by Marta Szrede)

There is probably no other word that would be as overused in the media discourse as ‘generation’. I once tried to count the ‘generations’ that have been proclaimed in the past ten years, since the well-known article about the so-called ‘Generation Nothing’; I believe there were as many as twelve. They all had one thing in common: they only existed on paper. Reality never provided us with a single tangible, meaningful, unforgettable impulse, the common experience of which would forever distinguish us from the previous generations. We had been looking for it, but instead the groundbreaking change came unnoticed, along with cable TV, mobile phones, and, most of all, Internet access. It is only today that we can fully comprehend how much has changed during the past fifteen years.

We, the Web kids; we, who have grown up with the Internet and on the Internet, are a generation who meet the criteria for the term in a somewhat subversive way. We did not experience an impulse from reality, but rather a metamorphosis of the reality itself. What unites us is not a common, limited cultural context, but the belief that the context is self-defined and an effect of free choice.

Writing this, I am aware that I am abusing the pronoun ‘we’, as our ‘we’ is fluctuating, discontinuous, blurred, according to old categories: temporary. When I say ‘we’, it means ‘many of us’ or ‘some of us’. When I say ‘we are’, it means ‘we often are’. I say ‘we’ only so as to be able to talk about us at all.

1.
We grew up with the Internet and on the Internet. This is what makes us different; this is what makes the crucial, although surprising from your point of view, difference: we do not ‘surf’ and the internet to us is not a ‘place’ or ‘virtual space’. The Internet to us is not something external to reality but a part of it: an invisible yet constantly present layer intertwined with the physical environment. We do not use the Internet, we live on the Internet and along it. If we were to tell our bildnungsroman to you, the analog, we could say there was a natural Internet aspect to every single experience that has shaped us. We made friends and enemies online, we prepared cribs for tests online, we planned parties and studying sessions online, we fell in love and broke up online. The Web to us is not a technology which we had to learn and which we managed to get a grip of. The Web is a process, happening continuously and continuously transforming before our eyes; with us and through us. Technologies appear and then dissolve in the peripheries, websites are built, they bloom and then pass away, but the Web continues, because we are the Web; we, communicating with one another in a way that comes naturally to us, more intense and more efficient than ever before in the history of mankind.

Brought up on the Web we think differently. The ability to find information is to us something as basic, as the ability to find a railway station or a post office in an unknown city is to you. When we want to know something – the first symptoms of chickenpox, the reasons behind the sinking of ‘Estonia’, or whether the water bill is not suspiciously high – we take measures with the certainty of a driver in a SatNav-equipped car. We know that we are going to find the information we need in a lot of places, we know how to get to those places, we know how to assess their credibility. We have learned to accept that instead of one answer we find many different ones, and out of these we can abstract the most likely version, disregarding the ones which do not seem credible. We select, we filter, we remember, and we are ready to swap the learned information for a new, better one, when it comes along.

To us, the Web is a sort of shared external memory. We do not have to remember unnecessary details: dates, sums, formulas, clauses, street names, detailed definitions. It is enough for us to have an abstract, the essence that is needed to process the information and relate it to others. Should we need the details, we can look them up within seconds. Similarly, we do not have to be experts in everything, because we know where to find people who specialise in what we ourselves do not know, and whom we can trust. People who will share their expertise with us not for profit, but because of our shared belief that information exists in motion, that it wants to be free, that we all benefit from the exchange of information. Every day: studying, working, solving everyday issues, pursuing interests. We know how to compete and we like to do it, but our competition, our desire to be different, is built on knowledge, on the ability to interpret and process information, and not on monopolising it.

2.
Participating in cultural life is not something out of ordinary to us: global culture is the fundamental building block of our identity, more important for defining ourselves than traditions, historical narratives, social status, ancestry, or even the language that we use. From the ocean of cultural events we pick the ones that suit us the most; we interact with them, we review them, we save our reviews on websites created for that purpose, which also give us suggestions of other albums, films or games that we might like. Some films, series or videos we watch together with colleagues or with friends from around the world; our appreciation of some is only shared by a small group of people that perhaps we will never meet face to face. This is why we feel that culture is becoming simultaneously global and individual. This is why we need free access to it.

This does not mean that we demand that all products of culture be available to us without charge, although when we create something, we usually just give it back for circulation. We understand that, despite the increasing accessibility of technologies which make the quality of movie or sound files so far reserved for professionals available to everyone, creativity requires effort and investment. We are prepared to pay, but the giant commission that distributors ask for seems to us to be obviously overestimated. Why should we pay for the distribution of information that can be easily and perfectly copied without any loss of the original quality? If we are only getting the information alone, we want the price to be proportional to it. We are willing to pay more, but then we expect to receive some added value: an interesting packaging, a gadget, a higher quality, the option of watching here and now, without waiting for the file to download. We are capable of showing appreciation and we do want to reward the artist (since money stopped being paper notes and became a string of numbers on the screen, paying has become a somewhat symbolic act of exchange that is supposed to benefit both parties), but the sales goals of corporations are of no interest to us whatsoever. It is not our fault that their business has ceased to make sense in its traditional form, and that instead of accepting the challenge and trying to reach us with something more than we can get for free they have decided to defend their obsolete ways.

One more thing: we do not want to pay for our memories. The films that remind us of our childhood, the music that accompanied us ten years ago: in the external memory network these are simply memories. Remembering them, exchanging them, and developing them is to us something as natural as the memory of ‘Casablanca’ is to you. We find online the films that we watched as children and we show them to our children, just as you told us the story about the Little Red Riding Hood or Goldilocks. Can you imagine that someone could accuse you of breaking the law in this way? We cannot, either.

3.
We are used to our bills being paid automatically, as long as our account balance allows for it; we know that starting a bank account or changing the mobile network is just the question of filling in a single form online and signing an agreement delivered by a courier; that even a trip to the other side of Europe with a short sightseeing of another city on the way can be organised in two hours. Consequently, being the users of the state, we are increasingly annoyed by its archaic interface. We do not understand why tax act takes several forms to complete, the main of which has more than a hundred questions. We do not understand why we are required to formally confirm moving out of one permanent address to move in to another, as if councils could not communicate with each other without our intervention (not to mention that the necessity to have a permanent address is itself absurd enough.)

There is not a trace in us of that humble acceptance displayed by our parents, who were convinced that administrative issues were of utmost importance and who considered interaction with the state as something to be celebrated. We do not feel that respect, rooted in the distance between the lonely citizen and the majestic heights where the ruling class reside, barely visible through the clouds. Our view of the social structure is different from yours: society is a network, not a hierarchy. We are used to being able to start a dialogue with anyone, be it a professor or a pop star, and we do not need any special qualifications related to social status. The success of the interaction depends solely on whether the content of our message will be regarded as important and worthy of reply. And if, thanks to cooperation, continuous dispute, defending our arguments against critique, we have a feeling that our opinions on many matters are simply better, why would we not expect a serious dialogue with the government?

We do not feel a religious respect for ‘institutions of democracy’ in their current form, we do not believe in their axiomatic role, as do those who see ‘institutions of democracy’ as a monument for and by themselves. We do not need monuments. We need a system that will live up to our expectations, a system that is transparent and proficient. And we have learned that change is possible: that every uncomfortable system can be replaced and is replaced by a new one, one that is more efficient, better suited to our needs, giving more opportunities.

What we value the most is freedom: freedom of speech, freedom of access to information and to culture. We feel that it is thanks to freedom that the Web is what it is, and that it is our duty to protect that freedom. We owe that to next generations, just as much as we owe to protect the environment.

Perhaps we have not yet given it a name, perhaps we are not yet fully aware of it, but I guess what we want is real, genuine democracy. Democracy that, perhaps, is more than is dreamt of in your journalism.

“My, dzieci sieci” (“We, the web kids”) by Piotr Czerski (translated by Marta Szrede) is licensed under a Creative Commons Uznanie autorstwa-Na tych samych warunkach 3.0 Unported License
Originally posted at: http://pastebin.com/0xXV8k7k
Contact the author: piotr[at]czerski.art.pl

SuccessWhale is Terrifying: VPS Edition

Just under two years ago, my SuccessWhale Twitter client was gaining new users at a steady rate and, as I noticed with alarm, was about to blow through my then-limited bandwidth allowance.

I’ve since relocated all my web stuff to Dreamhost, taking advantage of their unlimited bandwidth offering to plow through 10 GB and more a month. But now I’m coming up against the last remaining limit of my shared hosting – memory usage.

Both Westminster Hubble, which constantly crawls MPs’ social networks and RSS feeds, and an increasingly complex SuccessWhale, churn through a ton of memory. I don’t have a nice scary graph for this one, but at peak times, I’d estimate that my web server kills over half my PHP processes due to excess memory use. That means Only Dreaming basically goes down, while SuccessWhale throws errors around if it even loads at all.

It looks like I’m left taking the expensive plunge of moving my hosting to a VPS rather than a shared solution, which is a jump I’m nervous to make, especially since none of my web properties make me any money. Most worrying of all is that VPS prices tend to vary by available memory, and I don’t actually know how much memory all my stuff would take up if it were allowed free rein. And nor do I have any way of finding out, bar jumping ship to a VPS and taking advantage of free trial weeks.

So, dear lazyweb, do you have any experience with this sort of thing? And can anyone reccommend a good (cheap!) VPS host that fulfils the following criteria:

  • LAMP stack with “P” being both PHP and Python (or *BSD instead of Linux)
  • Full shell access
  • Unlimited (or at least 100 GB) bandwidth
  • Unlimited (or at least 10 GB) disk space
  • At least 20 MySQL databases
  • IMAP mailboxes & mail forwarding

I’ve been recommended linode by a friend which seems great for tinkering, though the price scales up rapidly with RAM use and I’m not sure I want to deal with the hassle of setting up Apache, MySQL etc. by myself. And there’s Dreamhost’s own offering, which would be virtually zero-hassle to switch to, but probably isn’t the cheapest around.

So, citizens of the interweb, I seek your advice!

Cobb’s Quay Weather

Cobb’s Quay in Poole Harbour has a crappy Flash-only front-end to its weather station. My “Cobb’s Quay Weather” page grabs the data files behind the Flash, and displays the important bits with minimal formatting, e.g. for mobile browsers.

Made for a friend of mine who couldn’t get the Flash interface to work from his phone.

Note: Temperature readings seem to be broken at the moment (April 2011). This is an issue with the source data, not my script.

You can:

The Marvellator

“The Marvellator” is a simple PHP script that generates random, bizarre or possibly worrying comic book titles, usually in the style of “The Amazing Spiderman”, “Incredible X-Men” etc. I think the most horrifying prospect it’s generated for me is “The Adventures of Tiny Rorschach” — even more horrifying because it actually exists. (Thanks Frankie.)

Naturally, this has nothing to do with Marvel Comics in any way (please don’t sue me).

You can:

Announcing: Daily Promise!

After a couple of weeks of development — documented here, here and here — I think I’m ready to call Daily Promise version 1.0.

It’s a site that helps you keep track of your promises day-to-day, giving you a pretty display of which promises you’ve kept when, and letting you compete against your Twitter-using friends to be the best at keeping your daily promises!

For now, you can find Daily Promise at http://dp.onlydreaming.net.

I’ll make the same deal as I made with Dynamic Democracy, but doubling the number so that I can be more sure of it taking off, and that’s the following:

At the moment the site does everything I want it to do, and it’s hosted on a subdomain of my main website, which I have no problem with. What I would like to do is give it its own domain, and start implementing feature requests that people send in. So that I don’t end up spending money on something that’s going to die off quickly, the deal is this: When it gets 20 active users, it gets a domain and some TLC. If it doesn’t make it to that point, it stays like it is.

So if you’d like to help me make something of this site, please start using it, and show it to any of your Twitter-using friends who might need a little help getting healthy, keeping fit or any other goal that Daily Promise can help them with!

Daily Promise: Avatars Everywhere!

After a couple of days and one frantic family-free morning, Daily Promise is getting near completion. Here’s what’s new since last time.

(This is post number 3 in my series on the development of Daily Promise. The others are here: Design Sketches, Coming Together.)

Friends Page

Daily Promise: FriendsHere’s the Friends page – again, almost no deviation from the original design sketch. The friends page pulls in the list of people that you follow on Twitter, matches it up against Daily Promise’s user list, and if any match, they’re your Daily Promise friends! They’re simply displayed in alphabetical order, along with a summary of their performance. Invisible users (see later) don’t appear, even to their friends.

Nicer User Pages

Daily Promise: User PageClicking on one of your friends takes you through to their ‘view’ page (minus any editing functionality). It also shows you their Twitter bio, and how long they’ve been using Daily Promise.

Top Users Widget

Daily Promise: Top Users WidgetThere’s now a “top users this week” widget on the home page, showing the performance of the top 5 users. This resets at midnight on Monday morning.

Spam your Friends!

Daily Promise: Tweet BoxTwitter integration now includes boxes suggesting Tweets you might like to make after each significant activity. Just as promised in the “How does it work” graphic, Daily Promise never posts to your Twitter account without you deliberately clicking a “Tweet” button each and every time. Do no evil™!

Behind the Scenes

A lot of other stuff has changed in the last few days that isn’t immediately obvious to users:

  • Authentication fixed — users using the alternative login weren’t able to do Twitter things. That’s sorted.
  • Account visibility — your account can now be set to invisible, meaning it won’t appear anywhere — top users, friends lists, etc. New accounts are given a prompt to set their visibility before starting to add promises.
  • Account deletion simplified — you now only have one, nuclear, option for account deletion. It erases all traces of you having used the site. Do no evil™! :)
  • Removed promises no longer shown in the history table — ‘cos no-one likes to be reminded.
  • Fill in data for yesterday — when creating a promise, users can opt to enter data for yesterday, giving them something to fill in straight away.
  • History table scrolls — narrow displays can’t fit the whole history table in, so now it scrolls (in reasonably modern browsers).
  • Time zones implemented — we pull the timezone you have set in Twitter, so Daily Promise will roll over to a new day at your local midnight.
  • Crontastic! — we now update stats and things from an hourly timed cron, to avoid extra loading on user-requested pages.

Next Steps

This all brings me to the slightly worrying conclusion that Daily Promise is damn near finished. So, where do we go from here? I’ll have a few more days of bug-fixing and implementing features that people request, and then it’s difficult decision time:

This has been a fun project for the last week or so — does it deserve a domain and advertising, or shall I let it quietly die?

Daily Promise: Coming Together

Despite the lack of response to my earlier post, in which I floated my design concepts for “Daily Promise”, boredom won out in the end and I started coding anyway.

It’s now coming together, and all bar the Twitter-integrated social aspects are largely complete. Here’s how it’s developed:

Home Page

Daily Promise: HomeThe social side — top users, etc. — still isn’t implemented, but there’s a reasonable-looking homepage in there. The main body is taken up with a short description and a big graphic explaining how the site works. Side-bar widgets provide the Twitter login and alternative login (bypassing twitter.com). The site now has a proper name, Daily Promise, and with it a logo and style that is reflected throughout.

Set Up Goals (“Manage”)

Daily Promise: ManageThe “Manage” page has remained almost exactly faithful to the design. New promises can be created, old ones deactivated and deactivated ones can be activated again. A Tweet box appears for the user to announce their new promise, if desired.

Daily Performance (“Enter”)

Daily Promise: EnterAgain, there’s not a lot of difference here between the design and the reality. Each promise has a yes/no choice, and after completing a day’s entries, Tweet boxes appear for the user to let their friends know about their successes and failures. “Winning streaks” aren’t yet implemented.

Performance Log (“View”)

Daily Promise: ViewThere’s no ability to scroll through your history yet, but the default display shows 4 weeks (which scroll if necessary). Just as in the design drawings, the history table is followed by a text summary of how the user is doing.

The “View” page also, with a few additions, becomes a user’s profile page, which is accessible to other users.

Configuration

Here you can set your password for the alternative login, and delete your account. It’s exactly as dull as it sounds.

Friends

That’s my big job for the next few days! It doesn’t exist yet, but it’s now my top priority.

Daily Promise: Design Sketches

Current flavour of the month of some of the geek crowd, “Health Month”, is a social network of sorts on which users compete to achieve certain health-related goals. Each month, each member sets a number of goals for themselves to achieve. Its core mechanic is health points — you start with 10, lose one every time you fail to meet a goal, and players who perform well can heal you.

I’m enjoying my use of the site with three goals this month, but I’d like to step it up and set lots. Unfortunately, having more than three goals costs money. (Not that I think the site’s owners don’t have a right to charge, but it can be a deterrent to users such as myself.) It also currently only allows two “custom” rules per month — beyond that, you have to stick with the pre-defined ones.

Another social health site is Tweet What You Eat, on which users tweet their food intake and have the site, or the community, calculate statistics such as their calorie intake.

Over my lunch hour, I’ve come up with some sketches for a site that sits somewhere between the two. It takes Health Month‘s goals mechanic, opens it up and removes some of the social aspects that in my opinion Health Month doesn’t implement all that well. It also drifts closer to Tweet What You Eat, in that rather than being its own service it piggybacks of Twitter for its social side.

At the moment this is just a fun concept I’m toying with — I don’t really have the time to make it at the moment, I doubt the space between Health Month and Tweet What You Eat is wide enough to make a new site popular, and I feel a little guilty about thanking Health Month for the enjoyment I’ve had by becoming its competitor.

In the notes below it’s dubbed healthi.ly, though as that domain is parked, it’s come to be known as “Daily Promise” instead.

Home Page

Daily Promise Home PageThe home page would largely be a “log in / register” affair, possibly also showcasing successful and popular users in a side-bar (not shown). Big banner text explains the rough concept, with a “read more” link to a full “About” page. On the registration side, we make it clear exactly what Daily Promise does and doesn’t do with access to your Twitter account.

Set Up Goals

Daily Promise Goals PageThe main setup page is where you set your goals. Users can set any (reasonable) number of goals, they can drop and resurrect old ones, and add new ones, at any time. Performance against all the goals is tracked and visible on this page. Adding new goals and dropping old ones can be tweeted, but as with every tweet opportunity, the user is presented with an @Anywhere box that they can freely edit and can choose not to tweet as easily as they can choose to tweet. The tweet links to the list of goals on their profile.

Daily Performance

Daily Promise Daily Performance PageOnce goals are set, the user logs in each day (and can fill in past gaps) with whether or not they have met each goal. Each day’s entry presents some brief statistics, and you get more stats on the week after filling in Sunday’s performance. Very good or very bad performance suggests a Tweet that a user might like to make. The tweet links to their performance log on their profile.

Performance Log

Daily Promise Performance LogThis is a user’s main screen. It displays a chart of passes and fails for the last month or so as green (pass), red (fail) or grey (goal not active) squares. Below the chart, more detailed stats are presented, as well as an encouraging text summary of how the user is doing.

Settings

Most of the core settings such as username, display name, avatar and bio are handled by Twitter. Daily Promise‘s settings probably boil down to privacy (stop me being searchable, delete my account, etc.) and removing annoyances (always tweet on condition x, never tweet on condition y, etc. — all of which have an “ask me” setting by default).

Friends

Daily Promise Friends PageThe user’s “following” list from Twitter is used to generate their list of Daily Promise friends. Avatars, usernames and Daily Promise performance summaries are displayed here. Clicking through to a user’s profile shows the “performance log” page, topped with name / avatar / bio / etc.


So, and interesting idea, or an appalling one? Would you use this? Should I get off my arse and code? Should I have finished the last six things I started before prototyping something new? Your thoughts are, as always, appreciated.

A Farewell to Marmablues

May 1998, half a lifetime ago. It was my 13th birthday, and my parents — no doubt annoyed by four years of me messing with the family computer — bought me my own. It had a 333MHz processor, 32 glorious megabytes of RAM, and most exciting of all, a 56k dial-up modem.

With Microsoft Word as my co-pilot and under the ever-watchful phone-bill-monitoring eyes of my parents, I discovered the delights of owning my own website. It had it all, oh yes. Giant background images, a different one for each page. Animated GIFs. Background MIDIs. Frames, <blink> and <marquee>. Web rings to click through, and Tripod’s banner ads inserted at the top of every page. It was called The Mad Marmablue Web Portal, and it was exactly as horrendous as you are imagining.

A few years later, a chronic lack of smallprint-reading led me to buy it a ‘free’ domain name, only to receive a scary-looking invoice a month later. In the end my parents sent the domain reseller a letter explaining that I was a dumb-ass kid who shouldn’t be trusted on the internet, and that was that. But at the age of seventeen, in possession of a Switch debit card, I found a web host who would set me up with a domain and 100MB of space for £20 a year. marmablue.co.uk was born.

Today, it died.

I shouldn’t feel sentimental about jettisoning an old unused domain, particularly not one that harks back to the late-90s animated GIF horror of the Mad Marmablue Web Portal. But it was a part of my youth, the place where for the first time I could put something and anyone could see it. It was where I took my first steps with HTML — by ripping off other websites, naturally — and in time, it was where I first learned JavaScript, PHP and SQL too.

I will miss it. But if I sit very still, and very quietly, I can still hear that horrible 8-bit MIDI rendition of the RoboCop theme tune. So maybe I won’t miss it all that much.

a thousand words: Finishing Touches

The vast majority of user-reported bugs and requested features on “a thousand words” have now been sorted out. As requested by my co-conspirator Eric, we now have an ‘adult content’ filter based on a date of birth field in users’ profiles, and a ‘report’ button to bring problematic stories and pictures to the attention of the moderators. There’s also a DeviantArt-style “request critique” option to let users know what kind of comments you’re looking for.

Timestamps have been fixed, “no stars yet” ratings introduced, and text field policies such as “mustn’t be empty” have been added across the site. A few rendering issues in IE have been sorted out, so it now looks much the same across all platforms.

The biggest change is unfortunately something most of you will never see — the moderator console. Picture submissions and reported stories/pictures now sit in queues that can be dealt with by moderators. An item entering a queue triggers an e-mail to all mods, who are invited to review it and make changes as appropriate. Once changes are made, the affected users are then e-mailed to let them know what happened (and in the case of reported items, to give them a chance to challenge it).

There’s one major feature request that’s not yet been implemented: file uploads. Once in the system this would allow users to submit pictures from their hard drives rather than from the web by URL, and would allow moderators to copy URL-linked pictures to the site to avoid hotlinking. (At present we don’t hotlink, but we do therefore have to copy pictures to the site manually using FTP.) It could also allow users to use a non-Gravatar picture for their profile.

Depending on how things go, that may or may not be ready by tomorrow night. On Saturday morning I jet off to sunny Saudi Arabia, so any changes not made by then are going to remain unmade for a while. From that point it’s in Eric’s capable hands as to whether she wants to release the site or not. Even if the site does advance to release status, I’m still taking bug reports (they’ll sit in my inbox until I get back), so keep on letting me know what’s broken and what you’d like to see added!