Two days ago, flickr was updated. The update slightly changed the formatting of pages on flickr. For almost everything on fastr, that doesn't matter because it's using the flickr API. But the flickr API doesn't provide a way to get a list of tags used by a group, so that part is taken straight from the HTML on flickr. When that HTML changed, fastr groups broke. It didn't break right away because the tags are only updated once a day. But eventually, none of the group games were working. I just fixed that. Thanks to 'j/gimmeacookie' for pointing out this bug. Or at least I think that's the bug that was pointed out. Maybe that was a different bug?

If you see something wrong with fastr, please report it either by emailing me or by posting a comment on any relevant blog post, and provide as much detail as you can, e.g. which browser you're using, which game you're playing, what exactly happened. As much as I'd like to, I can't play fastr 24/7 on a wide variety of browsers, so these reports are very useful in finding and fixing problems. Thanks, and sorry about the brokenness.

 

Since I made an entrance page for fastr, I've been thinking about making some sort of mini-game that could be played immediately to give people a taste of the full game. I suspect there are a lot of people going to the entrance page, not seeing the game they were promised, and leaving. I'd like those people to play the game. It's been a bit quiet lately, and it's not nearly as much fun to play alone.

So last night I was thinking about how to do this mini-game, and I realized I could do it all via a JavaScript include, and then other people could put the mini game on their own sites. So I'm testing that now. Once it's working okay, I'll put it up on the entrance page, and then write up instructions on how to add it to your own site.

Testing... seems to be working okay. Here are the instructions for putting it on your own site.

 

On the suggestion of Phillip Torrone from MAKE, I've spent much of the past week adding groups to fastr. Previously, fastr only showed photos with certain pre-selected tags. This was a necessary restriction because so many tags are nearly impossible to guess. Using flickr groups makes otherwise difficult tags more guessable by adding some context.

I'm excited about groups because they make fastr more like what I originally had in mind, more open-ended. Because you can play fastr with any flickr group, there's no limit to what kind of game you might play. If you like birds, you can play the birds game. If you like cats, you can play the cats game. And of course, the reason Phillip was interested in suggesting this, if you like MAKE, you can play the MAKE game. The possibilities are endless.

In the process of creating the group version of fastr, I completely rewrote the whole thing. Most of the changes are in the background, making it easier for me to make changes in the future. But one major change you can see when playing is that you have to sign in now to play. You don't have to register (though you can), but you do have to choose a name first, which is checked for anyone already using it. This prevents name conflict and makes it more difficult to cheat, both of which I think improve the game. I don't like that you can't jump right in to a game now, but I think it's a worthwhile sacrifice.

After working out the new bugs I've introduced (I'm sure there are many), and upgrading the non-group version, I plan to add chat. I've avoided this previously because I didn't want to deal with the problems chat introduces, e.g. mean people. But now I can add chat only for registered users, and if someone causes a problem, I'll just delete their registration.

If you play the fastr groups and have any problems, I'd appreciate a note. If you play and don't have any problems, enjoy.

 

I've removed the PayPal donation link from fastr and replaced it with an AdBrite "zone," which is what they call their ads, I'm guessing because "Adbrite ad" sounds redundant. So if you want to give a donation for fastr, you have to buy an ad now.

If it works out, I'll probably remove the Google ads also. The thing I've liked about Google ads is their ability to add value to web content. I don't like ads that distract from content, but I do like ads that contribute something useful to the content.

The problem is that Google ads don't fulfill their promise consistantly. For the first day of fastr, Google was advertising spyware removal. Google uses its own search algorithms to figure out what a page is about and serve relevant ads, but that search algorithm can easily fall short. Google eventually figured out that fastr is a game, and now serves game ads mostly, but it could still be better.

AdBrite seems to be better. It doesn't wait for a computer to figure out what my site's about — it lets me describe my site. Would-be advertisers can search descriptions, find a relevant site on which to advertise within a budget, and buy ads. As a publisher, I can reject ads at my whimsy. And I will; I won't run ads on fastr that I don't expect will be of any interest to people playing the game. I don't know a lot about those people, but I know they are interested in games and flickr.

Someone already bought an ad through AdBrite, and it seems to confirm my high expectations for the service. It's a game related to flickr, TagMan. It's just like hangman, only it pulls words from tags on sites like flickr, and then points back to the sites' tag page after each round. So I think moving to AdBrite is a win-win-win. Players will get more interesting ads, advertisers will get an audience of people interested in what they're selling, and I think I'll make more money.

 

I gather from this weblog post that Amy Jo Kim made a presentation at ETech and used fastr to demonstrate that games should have points. That reminded me to make a page of daily high scores for fastr (English only currently). It's only counting the top five scores for each round (because that's all I'm saving) and adding them up by player name (which are not necessarily unique). If you're into points, enjoy. If you're not, ignore.

In other game news, I've spent too long playing matchr. It looks easier than it is, which makes it addictive (despite the lack of points).

 

Thanks to Christoph Wagner's translation, there is a new German version of fastr. Having translated the tags into three languages now, I can say with some experience that flickr desperately needs to improve language support. The entire system assumes everyone is using the same language, but they obviously are not. So when you search tags for strand, you don't get pictures of strands; you get pictures of beaches, because "strand" is German for beach. And "boot" is a mixture of boots and boats, because "boot" is German (and Dutch?) for boat.

This isn't really that much of a problem for English speakers because the English tags tend to dominate any overlap with another language, but all those people using flickr with non-English tags are getting a semi-broken service. And at two years old, flickr doesn't have much excuse for not dealing with this problem. Anyway, there's a German version of fastr now, but it's missing a bunch of tags because of substantial language overlap with English tags.

 

If you're interested in seeing new tags on fastr, I've added a suggest-a-tag page for the English version (the only version getting much play), which will check if the tag is already in use, and point you to the related flickr page to verify the tag is guess-able form the photos. The suggested tags will be reviewed by Jessica or I periodically and added if deemed appropriate.

 

After what seems like approximately three hundred requests that I stop the cheating on fastr, I've finally relented and done something about it. The answer is now sent encrypted, and then your guess is encrypted before comparing with the answer. At the end of the set, if you didn't guess it, the browser sends a "give up" signal back to the server, which gives you the answer in plain text, and sets your score to zero, so you can't "give up" and then submit an answer.

You can still cheat, of course. You can open a second window that's slightly ahead in time, and see pictures before guessing in your first window. Or you can refresh your browser after you know it and get ten points. Or you can "give up" under one name and then submit an answer under a different name. But those are all manual cheats, and I expect you'd get tired of doing that eventually. What you can't do any more (as far as I know, at least) is set up a script to automatically cheat for you.

You also can't make long names with no spaces so that they go outside the designated name box. No one asked for that, but it was annoying me, so I fixed it. And the rounds are now six minutes now, which allows for exactly ten sets of photos, plus a ten second break to look at who won. The last set of your first round might get cut off in the middle, but that shouldn't happen after it gets synched up at the end of a round.

I also pulled all the text into localization files, which will make it much easier to create versions in new languages. But I haven't seen many people playing the other languages, so I'm not sure that's even worth the trouble. I'll let the translation volunteers decide that.

In any case, between these last few fixes and the API, I've managed to delegate (that's the verb form of lazy) most of the future work onto other people. So I don't expect to be spending a lot of time working on fastr now. I think it's about time to call it done and move on to another project.

 

I've built in two function calls for anyone interested in making any changes to fastr. They're filters on the scores and the photos, which take HTML fragments as input and should give back edited HTML fragments as output. Both are called before the HTML is inserted into the page. You could use this, for example, to highlight certain names in the scores (as FastrFriends does) or make the photos larger, such as I've done in the sample bookmarklet here:

For Firefox: biggr — for other browsers: biggr

If you drag that into your bookmarks toolbar and then click it while playing fastr, future sets of photos will be bigger. This is a common request that I haven't implemented because I didn't want to increase the minimum system requirements for players (i.e. bigger screen and faster connection.) But now it's possible for only people who want bigger photos to get them.

The JavaScript function names are scoreFilter and photoFilter. If you have any questions, or make anything you'd like to share with everyone else, please leave a comment here.

 

A few people have suggested that I should make a memory-style game based on flickr images. As I have told these people, this game was already made a long time ago. It's called Flick-a-Pair. As chance would have it, the person who made this game, Shelley Powers, was also the first to play fastr (from outside my house).

I don't have any plans to make another version of Flick-a-Pair, nor any other flickr-based game. It's fun to be famous on the internet for a day or two, but it just doesn't pay well enough to be worth all the time involved. I'm willing to waste my time on fastr, because I'd just be otherwise wasting my time playing some other game (most likely at Kurnik). But fastr is just not the business opportunity many have mistaken it for. It's just a fun little game.

 

Some bright fastr players have pointed out (by exploiting) two bugs that allowed impossible scores. One involved sending a non-number as the score (which I fixed by only accepting numbers as scores). The other involved sending a negative score (which I fixed by not allowing negative scores). Both were simple enough to fix, just problems I hadn't considered previously.

I know at least one, and possibly both, were discovered by a player named "cheatrs nevr prospr," which I must say is a clever (clevr?) name. While I would appreciate more if people mentioned these bugs to me directly, it's still nice that someone is going to the trouble to poke around the edges of the game where I never thought to.

 

I've been telling everyone who asked about the timing on fastr that each photo set lasted 35 seconds, and there was no way to get more than 90 points in a round because only 9 (parts of) 35 second sets can fit in one 5 minute round. But I did more testing tonight, and it turned out photo sets weren't 35 seconds at all. In fact, there was no consistent length to a photo set, which meant those who refreshed their browsers more often could get more photo sets, and higher scores.

I've fixed this now, so photo sets are actually 35 seconds, and no matter how often you refresh within that 35 seconds, you'll still get the same photo set. And because you can only submit a score for each photo set once, I believe the maximum score is now 90 points. Of course, I believed that before, and it turned out I was wrong, so let me know if you see a score higher than 90.

The problem was that I was using two different clocks, one of which wasn't keeping consistent time. Now I'm only keeping time on one clock, so the timing is more stable now. In addition to varying scores, this should also solve the issue of photo sets randomly repeating.

I'll try to update the Spanish and French versions tomorrow. If you notice any problems with fastr, please let me know.

 

Thanks to Steve Rioux's translation help, I put up a French version of fastr today. I also updated the Spanish version with the changes I've made recently. And I removed the remote mirrors, for now at least. I'll see what the traffic looks like tomorrow and maybe remove the mirror page altogether. For today, at least, it was calm enough to handle on one server. If anyone wants to do translations for other languages (or fix my errors on the existing translations), let me know.

 

Aaron Barker made a JavaScript bookmarklet to track other players on fastr, called FastrFriends. It's a cool idea. Basically you click on a player's name, and it will keep the name highlighted in the score list. So if you're playing against people you know, you can easily watch their scores.

In my testing, it didn't work in Safari for some reason, but it worked fine in Firefox. I didn't try it in IE.

 

One of the most common requests for fastr has been to link the photos to their flickr pages. At first I thought this wouldn't work because then you could click on the link and see the tags, and you wouldn't have much reason to guess the tag. And it's already too easy to cheat. But several people pointed out that it could just add the links after the answer is shown, so this is what the game does now, satisfying both players' desire to have links and my desire to discourage cheating.

Speaking of cheating, there is now — I believe — only one way to cheat. I've fixed every other method known to me. (If you know of another, I'd like to hear it.) I'll go ahead and explain the one remaining in hopes that doing so will make it a less interesting challenge. Basically, the answer is always available in the source of page; it's just hidden until you guess it or the time runs out — then it's shown. It's pretty trivial to add JavaScript to the page, either through a bookmarklet or a greasemonkey script, which makes the answer visible at all times.

What you get out of this is a perfect score. The other methods of cheating, which I fixed today, would allow more than a perfect score. Because it's trivial and you don't get much for it, it's not interesting, and no one is impressed by those who do it, as they might have been when someone had a million points by another cheat.

But even that was pretty boring, and I never saw anyone cheat for more than one round. Basically someone would spend five minutes figuring out how to cheat, and then get bored and go back to playing the game. Luckily the game is more fun than the cheating, or I would have had more trouble with cheating before fixing it today.

So why am I not fixing the last cheat? Because doing so would slow down the game, and I don't think it's a worthwhile sacrifice. To make it impossible to cheat, I'd have to remove the answer from the source of the page. Then when you typed in a guess, it would send the guess back to the server, which would respond saying it was correct or not correct. It's that constant querying of the server that would slow everything down, probably enough to cause the server to die (again). So I have no intent to do that.

Now, back to links. There are also links allowed in player names now. This wasn't formally requested, but I saw people setting their player names to things like myblog.blogspot.com, so I figured I'd make their lives easier. This also gave me a new way to do tech support, by putting a link to my AIM address around "Questions?" as my player name. I answered three or four questions today, all of which were basically "how do I play this game?"

I'm somewhat afraid this will just devolve into a link farm. There is currently someone named "cheap domains" playing fastr. (The domains aren't actually cheap — I checked.) For now, though, low scoring players scroll off the page, so someone has to keep playing to keep their sales link visible. And hopefully while they're doing that, they aren't sending us all emails advertising their "cheap" domains.

If I decide the player names are becoming too full of advertising, I'll just remove the links. But I've seen a few people linking to their flickr pages or personal websites, and it's nice to get a better idea of who exactly I am defeating with my superior tag-guessing skills. (Not to mention my knowledge of all the tags I chose.) For now anyway, fastr is full of links.

 

Doh

So first the database locked up from too much activity, and then the web server itself died. Apologies to anyone else being hosted on the same machine. My brother Kevin (who doesn't update his website enough) kindly offered backup hosting, which will hopefully hold until I make a page to split up the traffic and/or the traffic dies down a bit.

It's been a crazy couple of days. And it's not over yet.

 

At one point today there were 250 people playing fastr at the same time. It's currently down to about 120. I'm not sure exactly where the avalanche of traffic began (do that many people really read MeFi projects?), but it definitely picked up the pace significantly when fastr landed on del.icio.us/popular, where it currently sits both third and twenty-eigth (twice because I made the mistake I previously cautioned against by pointing to both randomchaos.com and www.randomchaos.com in different places).

I've had a few notes about bugs, most of which I've managed to fix today. One problem that isn't entirely solved yet is that there are few enough tags being used that some people have memorized them and are winning simply because they've been playing the longest. I just started using my new Flickr API key, which allows the game to show a random ten out of a hundred photos instead of the ten out of twenty it was showing before. That will hopefully level the playing field a bit, but I really need to add more tags.

Some people have suggested the tags should be random, but that's how it was when I first made the game (when just Jessica and I were playing), and it really didn't work. The problem is that people use tags that you could never guess from the pictures, like 500v50f or interesting or sarah. So I have to restrict it to certain tags to make it any fun at all. I just need to add more tags to make it more fun.

Other problems: people clearly want to be able to include links with their names, which was possible for most of today, until someone pointed out that it was also possible to insert malicious JavaScript in the name field (by doing so). So now it strips all tags. Eventually I hope to allow only link tags, but I need to remove most attributes (e.g. onload) to filter out problems.

People have been testing the limits of the name field all day, and I need to force the names to be a bit smaller to conserve space, but that's not a high priority. I added highlighting for your own name, so that should make it quicker to see where you fall in the list. But the list is too long, and I'm still not sure what to do about this.

Finally, the Google ads are awful. I don't want to just remove them because that would drop my pay for this project from the current $0.30 or so per hour to nothing, but Google continues to send various general technology ads rather than game ads. I was hoping maybe other people were seeing better ads until I saw a player named "spilt testing is obsolete," which made me laugh.

Later I saw a player named "split testing is NOT obsolete." I've toyed with the idea of adding chat to the game, but I'm pretty sure I won't, for a variety of reasons. It would be hard to chat and play at the same time. Also, there are enough people already using their player names as flame bait that I don't really want to know what chat would look like. And I also kind of like how the limitations of a username forces people to be more creative in expressing themselves.

I expect the numbers will die down eventually, but I hope today's surge of traffic will result in a steady stream of users over time. Despite all the problems I've discovered today, fastr is definitely more fun when more people are playing.

 

After making some improvements and posting to MeFi projects, there were just 72 people playing fastr at the same time. Surprisingly enough, it's still working. The first website I saw pointing to it was Tecnicalia, a Spanish tech blog. That made me think maybe it was worthwhile making a Spanish version. I thought it would be a fun way to practice a second language, and also let Spanish speakers play in their first language. But I haven't seen anyone playing it yet.

 

I made a game today.

Fastr is a game that uses flickr images. It loads ten images that all share a common tag, one by one, and you guess what the tag is. When you guess right, the tag will turn blue. Then you can watch the pictures until the next set begins. The faster you guess, the more points you get.

It's basically win, lose, or draw without the drawing, and more interesting pictures. I still have a few kinks to work out, but I think it's ready for some testing beyond Jessica and I. If you play it and notice any problems or room for improvement, please leave a comment here.