Archive

Infinite Wall: Part Two

I live in Charlottesville, VA, the home of Thomas Jefferson. We’re all pretty damn proud of T.J. around here. Yes, we really call him T.J. Everything around here is named after him, including The Thomas Jefferson Center for the Protection of Free Expression. You may know them from their annual Muzzle Awards. Two years ago, they erected The Community Chalkboard and Podium: A Monument to The First Amendment. I walked down there from my office during lunch today and took a fresh picture for you:

monument_small.jpg

You can click on it for a large version and read individual messages. Most of them are inane, some of them are thoughtful, and others are downright poignant. There was a lot of controversy when it went up, but I have always found it to be a beautiful thing. The monument was one of my inspirations for building Graffitio. Here’s what the T.J Center has to say about it:

As with all chalkboards, what is written on the monument’s chalkboard is constantly changing. The monument’s slate is cleaned in its entirety twice a week on a regularly scheduled basis. Private citizens may also clean all or part of the slate at anytime.

It can be written on, and it can be erased. If somebody wants to write something, they write it. If the next person doesn’t like it, they erase it. When you are limited by physical space, this solution makes sense. I think we can do better with Graffitio.

First, you want profiles. I hear you! Since day one, profiles have been part of the plan with Graffitio. Profiles will be fairly standard. You can choose a username, avatar, and any personal info you may want to share. Instead of a number in the post list, you’ll get a name that is a link. I know many of you are really excited about this.

Before the rest of you freak out, registration will never be required. It is important to me that Graffitio users can “pick up and play”. You will be welcome to use Graffitio just as you do now. Your posts will still be numbered, and that will be that.

Now on to content filtering. I don’t want to delete posts, and I don’t want to ban people. Like I said above, I love me some T.J. I’d like Graffitio to be a place where everyone is welcome, but different people have different comfort levels. My proposal is right in line with what many commenters suggested and how other sites work: Each post has a score, and by clicking an icon on the post, you’ll be able add or subtract one from a score. This score will represent the quality of the post.

This next requirement is something that has been given a lot of thought and will probably generate the most discussion. Only registered users will be allowed to score posts. If you’re not willing to stand behind what you say, you don’t get to express an opinion on what others say. My hope is that this requirement will result in higher quality ratings.

Finally, when these features go live, there will be two application preferences associated with them. The first is simply a switch to filter out all posts by unregistered users. That will probably take care of 90% of the noise. The second is a tolerance setting for the minimum score you want to see. I’ll pick some sensible default for this, but you can change it to whatever you want, including to not filter anything.

For those of you that like the free for all, turn off all the filters, and Graffitio won’t be any different. Those of you who want a higher signal to noise ratio can tweak things to your preference.

If you read this whole post, thank you! It’s entirely possible this proposal has holes big enough in that you could drive a truck through, so I’d like to know what you think. I also really appreciate all your comments in the last post. Many of them were exceptionally thoughtful. It’s only been a week, and I’m already so proud of this community.

Infinite Wall: Part One

I just posted this to the Infinite Wall:

OK. Let’s take a break…

I’m shutting down the Infinite Wall for the night.

The original idea was to let new users have a place to interact with other Graffitio users if they opened it up in a location without any walls nearby. It started out that way, but has quickly degraded into its current state.

For what it’s worth, I have not deleted a single post or banned a single user. I’ve been too busy fixing bugs and adding new features to Graffitio to deal with this crap.

I’ll be making a post to the blog tonight, and if you’d like to comment or have any ideas, feel free to post there:

So if you’re here from the Infinite Wall, I’d love to hear your opinion on how to proceed. Thanks!

Responses to radii

Thank you so much for all your feedback! I thought I’d take a second to respond to your comments:

One wonders if there could be user control over the radius, rather than something set by admin.

I would suggest 100, maximum. If walls are truly meant to represent what is in my immediate area then anything much larger than this makes the point moot.

My one suggestion regarding radius would be to leave it at 1,000 yards, but to sort walls by distance from my current location, and limit the total listed to 25 or so.

These are just three of dozens of comments I’ve received on this issue. Honestly, there is no right answer that will please all the people all the time. For people in NYC or SF, a small radius is much more desirable. At the same time, I don’t want someone in rural Missouri to open up Graffitio and see nothing. Using the radius provided by your iPhone is a good way to correct for this. In densely populated areas, it’s usually much smaller than in rural areas where people are only picking up EDGE.

TAClark’s comment makes the most sense to me, and I think I will probably implement it on the back end today. Walls get sorted by distance from you and you only get the top 25 within 1000m. In NYC, you only see the 25 closest walls, which are more than likely really close to you. Here in Charlottesville, I’d probably get stretched out to the full 1000m and still only come up with a half dozen walls.

Many of you want to set the radius yourself. I’m torn about this. Over time, I want the radius to keep getting smaller. I started with a base radius of 1000m because I simply did not expect the application to become so popular, and I wanted people to at least be able to see a few things when they opened it. I’m pleasantly surprised to see that is no longer an issue! One of the biggest reasons I’m torn about adding a radius preference is because features are a one-way street. Until we have a really good solution, I’m holding off on the preference.

And on a similar note, AkuKnives and I really share a vision for Graffitio:

I don’t know, I myself kinda of like the idea of 10 meters. When I envisioned what this app would be like, I romanticized of treasure hunts. Leaving clues to treasure hidden on walls that people could only see at very very exact locations. I imagined all the fun I would have trying to hunt to find cool little secrets that I would have to be very close to in order to find.

To me, Graffitio is about discovery. I envision invisible time capsules scattered all over the earth waiting to be unlocked by anyone walking by. In a perfect world (for Graffitio), we’d all have an iPhone 3G and this wouldn’t be an issue. Unfortunately, we’re not there yet. One idea I had is being able to flag a wall as “Pinpoint” or “Local” when you create it. Only an iPhone 3G would be able to create and access Pinpoint walls and you’d have to be standing pretty much on top of it to see it. Of course, I still have an old iPhone so this would make me sad (but also give me a good reason to get a 3G!). How do all of you feel about this?

Sneak Peak: A screencast of Release 3

Release 2 was submitted to the App Store two days before the launch last friday, but is still waiting for Apple’s approval before you can get your hands on it. In the meantime, I’ve been hard at work on Release 3. I put together this screencast which fixes known bugs in Release 2 and adds some new features. I hope you enjoy!

What’s the radius?

“What’s the radius?” is the most asked question about Graffitio. This post is my attempt to answer it.

First, let’s talk about Core Location. We were all thrilled when Apple announced that location would be a central feature of the iPhone SDK. One of my friends put it best:

I hope this means I never have to enter my zip code again

Here’s basically how Core Location works:

  1. You ask iPhone to start telling you its location.
  2. It immediately tells you its last known location.
  3. Then as it gets more accurate, it tells you that.
  4. When you’re happy with the data, you ask it to stop updating.

The bug in the first release is that Graffitio asks the iPhone to stop updating too soon, and in some cases, that first location it returns is very, very stale. I developed the software at home and in my office which are a couple miles apart, so my iPhone was able to very quickly determine my location. As a result, I never saw any of the issues others have seen. This is fixed in the second release and refined even further in the third release.

Now moving on to the geometry of Graffitio… Among other things, Core Location returns a latitude, longitude, and accuracy. So stick a pin on a map, draw a circle around it with a radius equal to the accuracy, and Graffitio knows that you are somewhere in that circle. You’ve all seen this when you locate yourself in Maps. Graffitio then reports back all the walls that have been created within your circle.

An important point to remember is that walls do not have a radius, you do. Graffitio uses the radius provided by your iPhone unless it’s below 1000 meters, in which case it just uses 1000 meters. I didn’t want iPhone 3G users to only see walls within 10 meters of them.

Unfortunately, this method has pitfalls. I put together this highly artistic diagram to explain them.

radii.png

OK, in this scenario, let’s say Kate sitting at Lee’s Grill and opens up Graffitio and creates a wall to tell the world how delicious their Chicken Teriyaki is. Her iPhone tells Graffitio she’s located in the left circle with a radius of 1799 meters, which is a pretty common radius for it to return when you’re on EDGE. Graffitio then creates a wall at the returned latitude and longitude, which is the center of the circle, which I marked in green. Now I open up my iPhone, and it puts me in the circle on the right. The way the circles are overlapping, I see Kate’s wall, even though I am 5000 meters (over 3 miles) away from Kate actually is.

If we all had an iPhone 3G, Graffitio wouldn’t have this problem because the location data for walls and users would all be accurate from the beginning. As the original iPhones of the world start dying out, the location data for users will be accurate, but there will still be a lot of misplaced walls that were created on these iPhones. I use a minimum radius of 1000m to try to minimize the number of times an iPhone 3G user could be standing at a location and not see the walls there. I’m putting a lot of thought into a solution to this.

I did not expect to write that much. Now back to coding! If you have any comments or ideas, please comment below. I’d love to hear how you would solve these problems.

The good, the bad, and the ugly…

It’s been about a hundred hours since all of you started using Graffitio. I thought I’d post a quick summary of its progress:

The Good:

  • The response has been overwhelmingly positive. Thank you so much for all your comments. I’ve read every one and I’m taking all of your suggestions under consideration.
  • People are using it! You have created thousands of walls and posts all over the world.
  • This weekend I was in Chicago and on Friday afternoon the first wall I’d seen created by another user appeared. That was awesome.

The Bad:

  • The app is buggy. I submitted a new version to Apple which is much better before the launch hoping it would make it in, but it did not. The process for submitting application updates is slow and completely out of the developers’ control. Luckily my situation is not as bad as the developers of Fit. Just consider this one a beta :)
  • It is missing some obvious features. I’ll get into features (and your requests) in a later post.
  • I have not been good at describing the application and how it works. This blog is meant to correct that.

The Ugly:

  • The first release of Graffitio contains a nasty location bug. Right now, if you open the application about 450 miles off the coast of Ghana, you’d see 2011 walls. What’s special about that point? It’s latitude and longitude are both 0.0. If you’ve had walls you’ve created disappear, there is a workaround. Close Graffitio and open up Maps. Hit the locate button and wait for it to locate you. Finally, go back to Graffitio, hit refresh, and create the wall. It’ll be in the right place.
  • While walls created in the middle of the ocean seem bad, they are just an annoyance. The real killer is walls that have the wrong location entirely. The same bug sometimes also causes a wall to be created with out of date location information. I’d love to hear your ideas on ways we could review location information.
  • There was some drama on the Infinite Wall yesterday prompting me to stick the following message to the top of the list:

    i knew we’d get to this point eventually. i didn’t expect it to happen within 48 hours.

    i don’t want to police these walls, but i also don’t want them to be inhospitable spaces. so right now, i am asking everybody to please think about our eventual goal of having a rich and vibrant community. thank you.

    if asking doesn’t work, i do have the ability to ban individual devices. i’m hoping after this warning, it will never get to that point.

    I have a lot I want to say about this, so I’m going to save it for a future post.

  • That’s it! My next post will discuss how Graffitio works and will answer the most common questions concerning walls, locations, and radii.

Around Places

Graffitio has launched! Download it from the iPhone App Store today. Here’s the description:

Attach conversations to the places you go and the things you see! As soon as you open Graffitio, it looks around you for Walls created by other users at restaurants, bars, stores, parks, events, or anywhere else you could imagine.

Read what other people have to say, and leave your own thoughts behind for others to find later. You can even create your own Walls. Graffitio connects you to people who have been there before and those who will follow.

Now on to more substantive posts…