And now the waiting game begins…
Archive
My flight back home was cancelled, so I’m stuck in a hotel for awhile. I took the opportunity to migrate Graffitio over to Engine Yard. My tests are showing much better performance. More importantly, it appears to be stable. Hopefully it’ll hold up under peak traffic. I’d love to hear your experiences with the new server!
Apple has finally pushed out Release 2 to the App Store. It fixes a few bugs and adds some much needed UI elements. Still, I wouldn’t consider it a stable production release yet. The feedback to Release 3 has been great, and if no showstopping bugs appear, I’ll send it to Apple on Monday. Thanks for your patience!
I’m in Berlin right now. Yesterday, I took this photograph of the East Side Gallery, the largest remaining piece of the Berlin Wall. The trip has been planned for awhile, and the timing couldn’t be worse for Graffitio. As many of you are experiencing, the server is in bad shape. In the short term, I have scripts in place to monitor the health of the server and restart Graffitio. I have also authorized several other individuals to restart Graffitio if they notice that it is down. As a long term solution, I have signed up for an account with Engine Yard. They are not cheap, but I’ve already burned a ton of hours trying to set up and maintain the server, and Engine Yard are the best of the best. Graffitio should be migrated over and deployed in the next few days.
My connectivity is limited here. I’ve been reading your comments and email, but have not had a chance to respond. Thanks for your patience!
I finally got Ad Hoc Provisioning working, so I’m opening up a Release 3 Beta. If you’re interested, please send your location, type of hardware (iPhone, iPhone 3G, or iPod Touch), and device identifier to rel3beta@graffit.io.
To get your Device Identifier:
- Connect your iPhone or iPod Touch to your computer
- Open iTunes and select your device in the left sidebar
- On the Summary Tab, next to the picture of your device, click on the word “Serial Number”. It will change to “Identifier”
- From the menu bar, select Edit, Copy. (There’s no need to highlight the identifier)
- Paste it into your message.
Commenters up to now get first dibs. Be sure to email me from the email address you use to comment.
I look forward to your feedback!
Wow. That sucked. The good thing is that I pretty much rebuilt the configuration on the server from scratch. It was a little long in the tooth, so I suppose it’s better that this happened now and I have my head wrapped around it.
I hope there wasn’t anybody that was too affected. Actually, I do. I want Graffitio to be indispensable.
Graffitio is currently in the middle of a major outage. I’m working as hard as I can to get it up and running again. Thank you for your patience.
I’m adding distance and last post date to the list of walls. After spending an hour trying out different layouts, I ended up with this very simple design. I really dislike UI work. I’m sure many of you have much better ideas, so let’s see some mockups!

Ugh. Why am I in front of my computer eating Chinese food on a Saturday night?
AGS writes:
But if the map was inside your app then wall creators could easely move their wall to the desired location even with a 2g phone.
I’ve brainstormed with a friend, and we came up with an idea very similar to what you proposed. I’ll discuss it in greater detail once its fleshed out.
Ross writes:
…I also think being able to see a wall across the country would be great if that’s even possible.
I don’t think this will be happening soon. To me, Graffitio is about exploration and discovery. You will have to be there. I may create a Google Maps mashup which just displays pinpoints wherever there is a wall, but you can’t see it’s name or the posts on it
kimonostereo writes:
Also would love to have a link that maps the actual location of the wall.
A detail view for walls is a planned feature that will include a link to open Maps at that location.
kreddig writes:
Maps Maps Maps!!!
There’s a lot of demand for Maps integrated into the application. I’m hesitant to pursue that now for two reasons. 1) I am after the most streamlined user experience possible. You just open the application and see exactly what you need to see. Details are one tap away. Maps involve a lot of dragging, pinching, tapping, etc. As we’ve seen in many current apps, it slows down user interaction tremendously. 2) Map functionality is an order of magnitude more difficult to implement than anything textual. I’d rather deliver much needed features as text first and then think about putting them on a map.
classic writes:
A truly elegant solution, as long as:
1) You can post anonymously at any time.
2) You can only vote a post up or down once [to prevent repeated voting].
3) You cannot vote on your own posts.
I don’t want to penalize users for registering, so allowing them to post anonymous comments is something I’d like to do. I also believe there should be a penalty associated with it. Either a lower starting score, as you mentioned Slashdot does, or maybe you lose the ability to rate other posts on that wall. We are in agreement on points 2 and 3.
Ali writes:
I’ve read the information about radii of Walls, etc… but was wondering if there would be a way to define different levels of Wall with different radii.
This is a tough problem. One one hand, I’d like Graffitio to get to a point where you’re really only looking at walls within walking distance. On the other hand, it’s a newborn, and users are frustrated when they open it up and see nothing. I have two potential solutions to this brewing in my head. More on it later.
Cville Bill writes:
Thinking down the road a bit…
You might want to start thinking about Wall obsolescence. There probably should be a group way to remove obsolete walls.
Oh, I’m thinking about it! It plagues me. (Although, it’s one of those “good problems”). I don’t like to throw away data, but there needs to be some sort of aging mechanism. There’s a field in Massachusetts that I may create a wall on and leave a note about my first kiss. Nobody cares about that except me, but it’s so important to me. I’ll probably come up with a way for users to access all of their posts in some standard format. It may not be accessible from the device, but it’s not gone forever.
Looking deep into the future, maybe as our devices become even more powerful and connections become faster, we can scrub across a timeline and watch the wall go back in time. Wow, I’m drooling. How awesome would it be to go to a venue and scrub back to a concert you went to ten years ago and read its wall?
Another factor to consider besides distance and activity is your attention. If you’ve posted to a wall ten times, you probably always want to see it, while others do not. As the database grows, the walls you see can be tailored to what you pay attention to.
JonO writes:
Using a wall at a concert? Dude, it’s around places. Places. Who makes a wall for a concert? Make the wall for the concert hall. Then friends can exchange messages during their concert and a period of time later, some other fans of some other band can do their thing. The wall persists, the bands and fans change.
JonO gets it.
Chris S. writes:
After this new version goes live, bugs are squashed, I would love to get on a beta test for painting-type addition to this app =] Maybe paint our own avatars?
Sorry Chris, but actually painting won’t happen from inside Graffitio. Now photos on the other hand… stay tuned. Of course, that will mean you can use a dedicated app like Sketches, save the drawing to your camera roll, and then stick it on a wall in Graffitio. This way, Sketches and Graffitio each do they do best. A Jack of all trades is a master of none.
I’d much prefer this service to be nameless, faceless wisps of smoke, which appear and disappear with impunity.
…
One other nice feature of having logins, though, would be to have a little indicator on walls which shows when there are new posts that you haven’t seen.
Namelessness will always be an option. A wall update indicator should actually be possible for both registered and unregistered users.
Lestatdelc writes:
So no matter where I am in my city, I have the “city” in-wall, “region” in-wall, and “state” in-wall and only allow the “infinite” posting to those 5 various “infinite” walls that are to me by my location?
Are you a mind reader? :)
I’ve gotten a little ahead of myself in the previous few posts. I keep forgetting that all of you are still using Release 1 (rel1 from here on out). I submitted rel2 to the App Store before it launched, and I’m still waiting for Apple to approve it. After launch, you discovered bugs that were in rel1, which were not fixed in rel2. They are fixed in rel3.
First, let me apologize to all of you. I wish there was something I could do, but I’m pretty powerless at this point. Once I put an application update in the queue, I have to wait for Apple to act on it before I can do anything. I can’t pull rel2 out of the queue and replace it with rel3. I can’t go ahead and queue up rel3 behind it. All I can do is wait for them to make a decision on rel2, and then immediately put rel3 in the queue. It sucks. It’s frustrating for me, and I know it’s frustrating for you.
First lets talk about things fixed in rel2:
- New Icon!
- Prevent some user interaction while Graffitio loads walls
- Added a toolbar, activity indicator, and status message
- Stability fixes with threading
- Added Refresh Button to Posts page
- Got halfway to fixing the location bug
And rel3:
- Fix the bug where messages get cutoff on a long wall and the height of the cells is all weird. (I really wish this had made it into rel2, but I didn’t realize it was a problem until after rel2 was out the door)
- Added activity indicator when refreshing posts
- Fix bug where walls and long messages with punctuation in them get truncated
- Add section header which separates Local and Everywhere walls. Shows radius being used
- More tweaking of location code, which should greatly increase reliability
I’m going to try to squeeze in a few more small features for rel3. However, the moment Apple makes a decision on rel2, I’m going to push out the last stable build of rel3. In my testing, I’ve found rel3 to be production ready, so I should have some time on that to focus on substantial new features for rel4.
Finally, when Apple fixes the Ad Hoc Distribution method, I’ll be looking for beta testers. Quality comments on this blog put you at the top of that list :)
