— Forest and the Trees


I made a Flickr photo browser type thing with Flash (requires Player 8, hi-speed, 1024×768). I’m calling it Findr. It uses the Flickr public API and Kelvin Luck’s fantastic Flashr (which wraps the API for Flash).

It’s still very beta with bugs to fix and design improvements to make. But, I wanted to post something before my talk on Wednesday, so here it is. And here’s what it does…

  1. First, enter an initial tag.
  2. Findr displays a list of related tags. Then, it gets a list of photos matching the initial tag and displays photo thumbnails.
  3. After the initial tags and thumbs load, you can click on tags or thumbs.
  4. Clicking a tag will grab a list of related tags and display the intertersection of that list with the other tag list(s). After displaying the intersection list, photos that match all clicked tags are displayed.
  5. Clicking a thumb will load a larger version of the image and display its title, owner, and a link to its photo page.

I’ll open source the code in the next couple weeks if anyone’s interested. Just need to clean it up first.

Also – for people using Flex Builder 2.0 Alpha, this does not work with Firefox Flash Player 8.5 WIN XP. It does work with MIE 8.5 WIN XP.

  1. blogum says: November 9, 20057:42 am

    Congratulations, Findr is great ¡

  2. Doug says: November 17, 200512:14 pm

    Thanks. I will update soon. Made a small update this morning. –d

  3. Kelvin says: December 17, 200510:44 am

    Cool – I really like Findr and the idea of drilling down through flickr’s tag space… Good work!

    Can I link to it from the Flashr homepage as an example of something made with Flashr?


    Kelvin :)

  4. Doug says: December 17, 200512:08 pm

    Hi Kelvin,

    I’m glad you like findr. Please link to it.

    I was planning on contacting you after another round of bug fixes/updates (there are a couple things that are bugging me). As I mentioned in my post, your API was a great help.

    I made 2 small changes to your API btw. The first is a bit of a kluge – I wanted the event listeners to fire events to a class (the Model), so I added a property to the ResponseListener…

    //djm add oct so i can make call backs to classes easily
    public var myClass:Object;

    (it should probably be a setter – oh well)

    That way I could do things like…

    class Model …..
    _flickrResponseListener = new FlickrResponseListener ();
    _flickrResponseListener.myClass = this;
    _flickrResponseListener.onError = function (o:Object)
    this.myClass.gotFlickrError (o);

    And have the errors (and other responses) handled in the Findr Model.

    The other change I made was to Flickr.as. I added extra properties to the photos array. All I really wanted was number of photos per tag – but, I grabbed all the extra attributes…

    in method (line 2682)…

    private function _parsePhotoXml(px:XMLNode):Array

    I added at line 2700…

    //djm add 01dec2005 – i want these attributes – really just the total # of pics
    var atts:Object=px.attributes;
    for (var p in atts){
    //end djm add

    That enabled me to display total number of photos for a tag above the thumbs. That was actually kind of a kluge as well as I don’t really like to add properties to Arrays (not a big deal, but, kind of feels wrong and adds properties to for-in loops).

    Anyway, I was really impressed with the API. The fact that I could quickly make the second change with a minimum of effort speaks to how well you wrote it. Documentation was great too.

    Thanks for the comment,


  5. jesús gollonet says: December 18, 20054:16 pm

    just a tip.

    i’m seeing it through firefox 1.5 under win xp and flash player 8.5 and it seems to work well

    anyway, good app. i like the way you show related tags.


  6. Kelvin says: December 18, 20055:48 pm

    Cool – I’ve added the link :) I’ll blog about it as well when I get a chance (or I can wait till the end of your round of bug fixes if you prefer?)…

    Re. your changes… For the first one I would suggest extending FlickrResponseListener rather than editing the class itself… This is how I would normally envisage it being used… Hopefully over the christmas holidays I’ll get a chance to put together some demo code which shows how I’d suggest usinging Flashr in more complex situations…

    And it’s funny that you mentioned the second one… Just the other day I made a change to the Flashr core – here is the post with the details that I made to the Flashr mailing list

    Please let me know what you think of this change… Also please join the mailing list where you can let me know about bits of Flashr which I can improve and about any bugs you find,


    Kelvin :)

    P.S. Thanks for the kind words about Flashr :)

  7. Doug says: December 18, 20058:21 pm


    Agreed. Extending would have been a better choice. (rather lazy on my part)

    I’ll join the list.



  8. Doug says: December 18, 20058:24 pm


    Glad to hear it’s working in Firefox and 8.5. My favorite kind of bug, just goes away.

    Thanks for the post,


  9. Buck DeFore says: December 22, 20059:13 am

    Hi Doug,

    I found your site though Kelvin’s link, and just wanted to say I like how you’ve set up the ability to limit search results to requiring a second tag (or third, or nth…) I love this API, so much to play with.

    You may also like Flappr, an implementation of Flashr that I made: at http://bcdef.org/flappr

    - Buck

  10. Doug says: December 22, 200511:59 am

    Thanks Buck. I actually found Flappr the other day (through Kelvin as well) and posted it to the links section here. It’s very cool.



  11. [...] 名称:Flicfindr 介绍:http://www.forestandthetrees.com/findr/ 网址:http://www.forestandthetrees.com/findr/advanced/findr.html Blog:http://www.forestandthetrees.com/?p=7 [...]

Submit comment