71 comments

[ 2.8 ms ] story [ 30.8 ms ] thread
An explanation from the author: This isn't a startup, it's just an idea I thought would be cool. I'm announcing it on HN first, hoping to get technical and aesthetic feedback before I throw the URL around.

The two browsers in the submission title are the only ones I have on this machine. Right now it doesn't run as smoothly as I'd want in FF3. There are a couple big optimizations ideas I have, but I was comfortable enough to post this without them. Was that a mistake? If you can try it out in some other browsers I'd appreciate that. I have no idea what IE will do.

That's all. Hope you have fun.

It also works fine in Chrome.
works OK in Opera 9 and 10
If it works in Opera, then it is too CPU-heavy on this older machine. I don't understand what it is, and can't interact with it.
Using opera 10 beta, and all I see is a grey screen :(
Confirmed, works in Opera 10b2.
Looks like it already arrived at 4chan :)
This is oddly entertaining. Could you explain how you represent the "world" in the AppEngine data store?

(Also, could you use cookies to bring me back where I left?)

It's really simple. This was my first App Engine project. There's only one model, Tile, that has contents, namespace, and x/y coordinates. The contents field is a string representing the text in this tile. The namespace tells you what page the tile belongs to (e.g., /newsyc), and the coordinates are relative to the starting position. Namespace, x, and y are part of the keyname, so contents is the only model property. I don't create a tile until someone writes to that area.

I don't want to use cookies, but I'm thinking about implementing some kind of directions feature. ("Where am I?" "How do I get to X?") But I also want to keep the system really simple, so I don't know.

I assume you only construct a tile if someone types in it; not if someone simply scrolls over it?

How large are the tiles?

Correct, and 8x16.
Got it. I ask because the tile size will seem to directly impact the amount of data store contention (aka the number of db.TimeoutExceptions). It would be an interesting study to look at contention rates (percentage of failed datastore reads) vs. tile sizes when the app is under load.

(I also assume you make use of memcache, though I further presume that typing implies an immediate db put().)

Yeah. The tradeoff is that smaller tiles are harder on the client. I wasn't really rigorous in choosing the size, so it's likely not optimal. I actually don't use memcache yet.
doesn't load on my iPod so I can't speak to the functionality but I'd just like to commend you on not choosing some idiotic name like Floovr or Meeerrblap or Dooglity or Phlambo or Hogchaw or Speebu for your project. Makes it that much easier to take seriously.
i think you could make some good money as a naming consultant.

"Meeerrblap denontes speed, reminds the user of flapping, perhaps like a glorious seagull."

And no, I have no idea why that specific sentence came to mind.
It actually runs better in IE8 than it did in Chrome on my work machine...
Interesting. :) It works in OmniWeb 5.9 (WebKit-based, though an older version).
Maybe have a minimap feature? In the right hand corner, or a way to jump to the activity? I scrolled around for a while before I found where all the action was.

Or a search feature. I think the trending topic is penis right now.

I added a top feature requests table with a votes column. Time to get our collaboration on!
Doesn't work in Shiretoko 3.5.3pre.
Cool, but it's starting to drop some keystrokes for me.
Backspace doesn't work for me but everything else does - I'm on Chrome.
Same on webkit nightly. Needs more backspace!
I disabled backspace because I wasn't sure whether it should delete the char before the cursor (better for typing) or under the cursor (more natural if you click on something to delete it). Guess I'll just pick one... or have it delete under only if you clicked there?
Definitely the character before. Delete key should delete the character under the cursor.
It works now btw. You probably have to refresh.
A few other suggestions:

It is too chaotic but I can see you taking this in different directions. You need a way to direct the flow, potentially even in a useful direction (I am thinking Yahoo/Mahalo Answers), or just like a trending topics feature in which different worlds are based on tags.

Another thing you could do is to have a reset or form a new world every few minutes. This way there is a new slate.

What you will probably need to end up doing in order to monetize this idea is to build a site around it. User profiles, trending topics, different links, regional worlds, answers, /random/, and /ANSI art/ (read: penises)

It's painfully slow, and I ran into some glitches (ctrl v outputting only first letter). pretty fun, anyway.

what about different (random) colors for different users, and a fade over time so older words decay?

Ctrl-v is intentional. I want to keep it "natural" as long as possible, although I'm sure someone will start crafting spammy POSTs soon enough.
I don't get it, what are you supposed to do?
Read and write. (You can scroll by dragging)
I love how everything's penis, or gay, or some variation thereof. Scrolling around to find the more erudite conversations was remarkably fun though. I kind of like it just as it is..
if you find the good conversations, try to make breadcrumbs to them, but nothing that attracts vandals
Like it a lot! Its fun how it is, more features might take away the appeal.
That is a really clever idea, I like it.
wow that is addictive
Isn't working in FF3.5, but works fine for me in Safari 4.
Is there any way to navigate by keyboard?
Fun, but someone kept deleting my Angband game.
This site proves the old "normal person + anonymity == total retard" maxim. Trending topics seem to be "gay", "penis", and "Django sucks" - lol.
Me and about 5 other people were talking about slashes, for like an hour. Made up a good joke out of it:

--Two slashes walk into a bar, one says to the other, "you got to make sure you help me 'escape' from here"

Totally had a blast \\\\\",

Try adding /somesubdir which will give you a private page. The front page is vandalized but in time communities will form around subdirs
I'm not sure what it is good for, but it looks and feels awesome.
I had a lot of fun when I drew a face, and then got to watch other people alter (and improve!) it...until someone smeared through it with letters...
It does not appear to work for me in FF3 or Chrome at 6:23 PDT (linux).
Working here. Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.16) Gecko/20080827 Firefox/2.0.0.16

ah. try ff2 maybe? Other possibility is that what ever issue you were having has been fixed in the last five days.

Absolutely brilliant idea!

  ...................I love it!............................
  ........cool..........dont' overwrite thiWhere is my dog?
  .......................................I can't find u.....
  ..What about zoom?.........*&^*#$&^@*#&@*......this sux...
  ..........How about timeout?---Can't overwrite for x secs.
  ...-----..................................................
  Why are there no girls in HTML5 Canvas Experiment.........
  . . ................... ...              ....
  . . ..         8675309            
  ....                                          ...
  .....                     ...                 ...
  Creativity:10  ..........   Usefulness:Now a word from...
  ..a little too slow 
                              CCCC  OOOO   OOOO  LL      ...
  ... needs.....             CC    OO  OO OO  OO LL
  . .  cut                   CC    OO  OO OO  OO LL
       and         ..        CC    OO  OO OO  OO LL
  .   paste                   CCCC  OOOO   OOOO  LLLLLL
  ..        
  .....   
  .                          It's lonely down here
btw, this comment made me really happy :)