Wednesday, February 20, 2013

Web servers for kids

My career in computers started when my mom told me she'd signed me up for a Geocities account and handed me a book on HTML. I was pissed at the time, mainly because she'd chosen my username (ktuite? who puts their real name in a handle?!) and my address (EnchantedForest/Glade/8531?) for me. She also mistyped the password twice so we spent a good many minutes figuring out why the password didn't work. But I got over it, and then I got really into it, and I may have peer-pressured a few friends into moving in on Geocities near me.

Naturally, I used Geocities to make a cat-picture-trading website called "Crystal Sun Cyber Cattery"

During the days of Crystal Sun Cyber Cattery, after reading the chapter on forms in the HTML book, I distinctly remember trying to make a form where you'd choose what kind of cat food bowl you wanted, what color, and the cat's name to put on the side. Then I'd draw it and send it to you! But I could not for the life of me find the elusive "cgi-bin" whatchajamajigger on Geocities, so I ended up just having the form email me and then manually parse out the dish type/color/name.

Another example of the shallow-interaction things I was able to make was this "what kind of batman are you?" quiz:

also known as Procrastination Batman...
You are a manifestation of my own stress, excessive amounts of homework and schoolwork, and a tendency i have to distract myself and waste precious time.
you may or may not be sleepy right now, but i most likely am... we should all just go to bed and wake up in a few days/weeks/years...
what a nice transparent teddy bear sitting atop your hip! and clouds and moons and stars...
oh how i want to take a nap right now...

It was awesome being able to dream up almost anything (that took the form of a not terribly interactive webpage) and share my creative endeavors (drawings, photos, stories, etc.) on the interwebs.

It was less awesome that Geocities got severely hampered over time until its fairly timely death. First, they disabled remote hosting of images. Then, FTP stopped working and you could only upload 5 new files at a time with a terrible graphical interface.

Through a long and winding life path, I finally learned PHP, CSS and Javascript (and other non-web languages) in college and was like "AHH WHERE WERE YOU WHEN I WAS 10 or 15?!" Finally in grad school I get to make ridiculously complex websites and write my own webservers that trigger crazy-cool computation of whatever I want.

The problem, looking back, is that I didn't have a server or web hosting of my very own until my university provided it or I made friends with people who could hook me up. (Thanks, Misha and Phil! and Adam and Tom!) If I had had more powerful tools or simply known about more powerful tools, I would have made some crazy-awesome shit in the middle of the night on summer vacations during high school.

What I want

I want it to be way easier for a kid to make a real website, host it, and share it. Importantly, I want there to be a plethora of features, not a dearth. (Sorry, those words just came to me. I want lots of real features, not crummy broken fake FTP of late-Geocities.)

Someone could have also said: "This is how to take a linux computer and make it host your stuff for you." I guess we have EC2. Maybe we just need a written guide:
Geocities of the 21st century: How to relive the dream with Amazon's Web Services
(Afterthought: Community is important, too. How do you see what the people like you (age-wise or skill-wise) are making? How do you exchange tips and tricks?)


 Make sharable things

I want people (kids! grownups!) that are experimenting with technology to be able to make things that they can share with other people. In particular, things that are interactive... where one person crafts an experience for another person. I'm about to uncharacteristically hate on robots, but I was never drawn to Lego Mindstorms or such things because a) it would be a physical object that would be too hard to share and b) I couldn't think of interesting, useful, and/or creative tasks.

"I made a robot that you can drive with a flashlight!"  Meh.
"I made a robot that you can remote control through the internet to play with the cats when you're not home!" NOW we're talking... P.S. I really do want that to exist.

General platform vs. content-specific platform

Folks have realized that humans want to create and share artifacts with each other. So they've gone and made all these great sites for sharing art (deviant art), photos (flickr, instagram, whatever is hip these days), videos (youtube), kid-friendly games and art (scratch), flash games (kongregate and more), more general web apps (app engine)... each of these "portals" focuses on a specific type of content, and few are programming-related content.

I want to be able to successfully convince my non-programmer friends that they should try programming. Making a website (or Processing java applet) and putting it online somewhere seems like a great way to start. The amp it up and make it more stylish and interactive. Voila, now you know stuff! The problem is that the web/the world is so factioned now that I don't know where you'd go to actually do that. You can't make a webpage that has photos, videos, flash games, and forms all in one place; you have to put each piece of content on a separate site. And then it doesn't really add up to your programming/web and general creativity skills, it adds up to your specific video-making skills or your specific drawing skills.

I almost think that making an Android app is better, since you could make some cute, tiny, minimally-featured thing that was all yours, and you could share it with your friends via the .apk or in the market. Too bad Android apps are quite complicated. Ooh ooh, you can also make an Android app JUST WITH PROCESSING! I've seen that work pretty awesomely with the DawgBytes outreach program at UW, where a summer camp of middle school girls were running graphical Processing apps on their phones by Day 1 or 1.5.

Real, full-featured tools

I mentioned this before, how Geocities betrayed me by taking away features, and how there's so much that I've learned recently that existed (in some form) back in the day that I wish I'd known about back then. It's also related to the tailored, content-specific sharing websites in that they only support a handful of features. There's enough crap out there to make it "really easy for novices" to start doing something. But where should they go after that? I am all for very specific tracks and instructions and guides for getting started in something new and scary, but I don't see why the new environment has to be a crippled version of the real environment its imitating.

It's like being in a bubble; the people who are driven to explore will eventually find the edge of the bubble. Maybe they'll just get suck at the edge. Or Maybe they'll build something crazy up along the inner surface of the bubble. Or maybe if they're lucky and they know someone on the other side, they'll pop through to the outside world.

snow globe
Trapped in a bubble?! (Robert Couse-Baker on flickr)


  1. I completely agree with you! My web experience was very different from yours, not having internet at home until I was 16. All of my internet/computer learning happened at school, usually during lunch. I also took a beginner HTML class when I was in 8th grade and I made this really cool website but there was nowhere that I could host it for free. So now it's either nonexistent or (doubtfully) still saved somewhere on a very old computer. That was the only website I actually fully made (because I still don't have money for hosting and honestly don't know much more than html/minimal CSS). All this to say that if there had been somewhere to host my site (which back in the day I thought was really cool but would probably find laughable now), I probably would have done more with it. Instead it was more like, well I made this thing but nobody will ever see it besides me and my teacher, so what's the point in going further?! (Also the reason that I could never write in paper journals for more than a week before abandoning them but can blog regularly.) Plus it would be really cool to be able to look back at the stuff you made when you were 10 or 15 compared to the stuff you make now. That's just my 2 (probably a lot more than 2 actually) cents.

    1. Exactly! The internet lets you archive all this other stuff, like your whole life history on facebook... (Although it's nearly impossible to search facebook for old content.) And it has that property that other people *will* see it. But having your own website / web hosting is a great place to save anything you want and have full control over it.

      There was a good suggestion from someone on my Facebook feed about this post, and that was to use Dropbox to host a simple website. I'm not sure how well it works, or if Dropbox wants you to do that, or how long Dropbox will live on, but at least you have a public directory of cool stuff that you've made that you and others can access from anywhere.

  2. Thanks for sharing the info, keep up the good work going.... I really enjoyed exploring your site. good resource...
    web hosting reviews

  3. I don't know what to say except that I have enjoyed reading. Nice blog.
    web design Toronto