Archive

Archive for the ‘eatlunch.at’ Category

By Request: Tag Clouds with freetag::silly_list

December 6th, 2005

By request, here’s a quick function I whipped up to generate some basic tag cloud HTML from the output of the silly_list function:

function get_tag_cloud_html($freetag, $num_tags = 100, 
  $min_font_size = 10, $max_font_size = 20, 
  $font_units = 'px', $span_class = 'cloud_tag', 
  $tag_page_url = '/tag/') {        
        $tag_list = $freetag->silly_list($num_tags);
        // Get the maximum qty of tagged objects in the set
        $max_qty = max(array_values($tag_list));
        // Get the min qty of tagged objects in the set
        $min_qty = min(array_values($tag_list));
        // For every additional tagged object from min to max, we add
        // $step to the font size.
        $step = ($max_font_size - $min_font_size)/($max_qty - $min_qty);
 
        // Since the original tag_list is alphabetically ordered,
        // we can now create the tag cloud by just putting a span
        // on each element, multiplying the diff between min and qty
        // by $step.
        $cloud_html = '';
        $cloud_spans = array();
        foreach ($tag_list as $tag => $qty) { 
            $size = $min_font_size + ($qty - $min_qty) * $step;
            $cloud_span[] = '<span class="' . $span_class . 
    '" style="font-size: '. $size . $font_units .
    '"><a href="'.$tag_page_url . $tag . '">' . 
    htmlspecialchars(stripslashes($tag)) . '</a></span>';
 
        }       
        $cloud_html = join("\n ", $cloud_span);
 
        return $cloud_html;
 
    }

Feel free to tweak as you please. I wrote the code and tested by adding a tag cloud to eatlunch.at, so I can guarantee that it works. :) $freetag is supposed to be an initialized freetag object.

As a side note, eatlunch.at is horribly unmaintained right now. I’ve got to rewrite it soon.

Wordpress is a TOTAL NIGHTMARE for posting code.

Freetag, Tech, eatlunch.at

Eatlunch.at Improvements

November 12th, 2005

Yes, I’m a loser.

While watching college football today – Fight On Trojans!!, I updated some important stuff in the eatlunch.at codebase. First of all, you can now directly upload avatar icons (30×30, JPEG) instead of having to link out to an external source.

Second, and more important, you can now declare where you went to lunch each day, and eatlunch will use that data to tell you how long it’s been since you ate at each spot in your saved spots. That’s useful data! I plan on adding the ability to look through party lunch voting history soon, too, so that should be fun as well. Wait for the next weekend when i’m bored!

In other news, being at Yahoo! has been interesting, but i’m not ready to discuss it on my blog yet. See Andy’s blog or Leonard’s blog for opinions so far.

Tech, eatlunch.at

Eatlunch.at – Individual Spot Pages

June 13th, 2005

Finally got around to making an improvement to eatlunch.at that has been on the backburner for a long, long time. Spots have their own pages on eatlunch.at! See a sample here:

Border Grill

(Sorry, Border Grill. In all fairness, i’ve only been there once, and I should really try the other dishes.)

In addition, you’ll also notice that it’s possible to now comment on spots, and add in arbitrary text.

More features are on their way, and I hope to get them in soon in my copious free time.

  • Stats on frontpage
  • Mark and track where you went to lunch
  • Add addresses and locations to every spot

Food, Fun, Tech, eatlunch.at

Eatlunch.at Improvements

June 8th, 2005

Andy Baio of waxy.org fame pulled a massive coup yesterday when he linked to my lunchtime decision assistant application, eatlunch.at. He’d been bugging me for months to change the Spot Directory from global to simply all spots added and saved by local party members.

When he linked to it, and showed me that new spots to eat were getting added at an alarming rate, I paniced. He argued successfully that with tons of new spots being added, the original spot directory didn’t scale. I agreed, and ended up implementing that change, along with a few others, right away.

First off, the Spot Directory is only within your party by default, but if you click on tags, you can browse globally.

Secondly, the ordering on the tags on the frontpage was wonky, and i’ll be extending Freetag to handle arbitrary ordering, so I don’t have to make local library code changes to tweak sorting.

Third, you can now see the silly “Names” of people next to their email addresses in the party management view.

But for now, since so many people are starting to use it, there’s an open call for comments on this post. I’ll have to put together a more comprehensive eatlunch blog, but for now, just use the eatlunch.at category to view everything.

Food, eatlunch.at

The “Vote For Lunch” Market Roundup

February 19th, 2005

When I created eatlunch.at, I had little knowledge of existing “vote for lunch” applications that had already been made. In fact, the question “Where shall we have lunch?” is the universal third stage of civilization, and many have attempted to create a solution to that problem. Many have been brought to my attention, although I clearly think mine is the best. :) Here are a couple for your perusal:

Dave Regan’s lunch.cgi – it’s written as a perl cgi, so we can basically dismiss it entirely. ;) It looks like it does single-party management, with categorization, list of eateries by last access (a point of argument on eatlunch.at), and automated emails. This one actually does a final email that’s supposed to be authoritative at 11:00 am (more on that later) – Found as the #1 result for ‘vote for lunch’ on google.

Dave Renteria’s Wheel ‘O’ Yum – disclosed to me on the makingstuff list, the wheel o’ yum is an actual desktop application that basically picks a random place to go to eat. Apparently the original version decides where you go to lunch, and that’s final; but, due to embarrassing situations, Wheel ‘O’ Yum Supreme now emails you a decision. Hmm… DrLunch.com – a similar web application written in JSP, that gives out helpful stack traces when you try to register. No idea what is inside, but it certainly sounds interesting. It actually makes a choice itself as well. Apparently, Photo Matt found this on a AdWord for this google search: “What are we having for lunch?” Nice. I tried the query, but no longer see the AdWord. Too bad.

In one of the more freaky google AdWord displays for “eat lunch”, BeMyBuddy.co.uk somehow promises to “Find people online to have lunch
with, throughout the UK.” I don’t know about you, but that sounds kind of odd, especially when combined with the pastel kiddy color scheme.

So, it seems like there are several differentiating factors in play here.

  1. Whether the application chooses a place for you, or allows you to vote
  2. Whether there is a “final result” that must be obliged.
  3. Sends email
  4. Desktop or web application
  5. Downloadable Program or a service
  6. Maintained, or, ‘et by the hogs’

Let’s look at the lunchtime voting matrix.

  eatlunch.at lunch.cgi Wheel ‘o’ Yum Wheel ‘o’ Yum Supreme Dr Lunch BeMyBuddy
App Chooses / You Vote Vote Vote Pick Pick Calculate Too Scary
Final Result? No Yes Yes No Yes Too Scary
Sends Email? When first vote cast Reminder & Final No Final ??? Too Scary
Desktop / Web Web App Web App Desktop Desktop Web App Too Scary
Download / Service Service Program Program Program Service Too Scary
Maintained / et by the hogs Maintained (by me!) et (?) et Maintained et Too Scary to et

One of the most controversial factors in play is the “final decision” factor. For me, this was a design decision. I designed eatlunch this way because the final decision of where to go to eat is still a social one. The primary problem that we face as lunchtime adventurers is extracting daily preferences from each person. There are often those that profess “anywhere is okay,” but renege by rejecting suggestion after suggestion.

Making a final decision within an application not only leads to failure of the application, but also a sense that the application is useless anyway. A good lunchtime voting application should give you important data about your decision, and provide a way for you to express your preferences without committing a great deal of time or effort, and without blocking the way to last-minute lunch audibles.

With that said, there are plenty of improvements on the way for eatlunch.at that will make it easier for others to use and understand. Among those are: vast improvements for the spot directory, “opt-out” from the day feature, rss feed for your party, better explanation of the site, improved ‘hints’, better tag management features, spot detail pages (!), and more! But it’s still pretty fun to use as-is.

Well kids, that’s it for today’s market roundup. Remember, if you have a hard time deciding where to eat lunch at, try eatlunch.at.

Food, Tech, eatlunch.at

Some fixer-uppers on eatlunch.at

February 7th, 2005

Today, my good fellow coworkers pointed out that I kinda stepped over the line that made eatlunch.at more feature-ful, but not as simple and quick as before.

All along, my primary goal has been to get in the way of users as little as possible, while maintaining usefulness.

So I fixed the problems today and changed the spot directory to behave more like the normal party page. If you click on a spot, you vote for the spot. If you vote for a spot, it’s saved for you automatically. You only have to add tags if you really want to!

The hint system is fixed now, and voting for lunch should be just as simple and fast as before. The inline hints should help new users, and are easy to turn off when you get the hang of the site.

As a personal aside, I believe more in Usefulness than Usability, but it’s good to have both. I’ve found myself using a ton of tough-to-use but useful applications, because what they do are so cool, and once I figure out how to use them, i always end up going back to them again and again. Case in point: all of *nix, and most open source software.

It’s pretty interesting that there’s a ton of talk about usability, when there are plenty of usable but useless interfaces out there. First things first, right? So, anytime stuff on eatlunch.at isn’t particularly useful, please let me know and i’ll definitely accept your feedback.

Food, Tech, eatlunch.at

eatlunch.at

February 6th, 2005

It is with great humility that I submit for your review:

eatlunch.at – a lunchtime voting application.

It started as a silly idea spawned over lunch discussions with my coworkers, and has slowly and pleasantly changed the way we decide where to go to lunch. I wish I always had something like this – it not only saves a lot of time, but makes the decision making process a lot more fun than walking halfway out the building without having a clear choice in mind.

I’m also using it as an experiment with new programming trends, such as folksonomies and emergent pathways. It’s interesting learning to code this kind of thing, and i’ve also built a general-purpose freetagging PHP class that I will no doubt open source when I get some time.

Have fun, and check out the About Page for more information.

P.S. I hope you don’t find any bugs, and please don’t slashdot it, or my coworkers will never figure out where to go to lunch.

Food, Tech, eatlunch.at