You can now copy Facebook's API for your own social network if you want, they've officially allowed it.

# Dec 13, 2007

The Bloglines 200 bug.

The "Bloglines 200 bug" (where some feeds start showing 200 unread items all of the sudden even though they don't have any or just a few new items) hit my new account - I thought I had fixed it by creating a brand new account, but no such luck. I have the feeling the Bloglines people don't even know about this bug.

# Dec 13, 2007

I kinda like the simpledollar: "It means that every time we make a purchase that doesn’t have real meaning for us, we’ve added another bar to our prison cell." That sounds about right.

# Dec 13, 2007

“Oh, botheration!” cried Dunder. “This is just so complicated.” - Internationalization in Javascript.

# Dec 12, 2007

neuro-diversity

"neuro-diversity"? Now there's a meme. The way I understand it: it's ok for humans to be biologically (neurologically) different. It also would mean: we don't need to medicate everyone into the same neurological fold.

# Dec 7, 2007

Mitt Romney's speech: "Freedom requires religion just as religion requires freedom." Sigh.

# Dec 7, 2007

drooooooooool.

Talk about infrastructure!

# Dec 6, 2007

Intranet SEO

Jorge Serrano Cobos wrote me about an interesting concept: intranet SEO. Making internal stuff show up good in the internal search engine.

I have long had the idea that having departments compete to have their stuff show up on the internal search for certain terms might work. I thought they could perhaps bid on terms. Never tried it though.

# Dec 6, 2007

Cheap speed.

Google's advantage is it's infrastructure. Yes. And it's used to deliver raw speed. Speed speed speed. Fast matters a lot. Users stay longer, come back more often, and you get more of them. I keep saying that, and my fascinating with scalable architectures kind of comes from that too (although scaling isn't the same as performance of course). And it has to be cheap speed, of course, coz expensive speed doesn't help you much, and that's where Google really seems to have the advantage: cheap speed.

I'm sounding like a drug dealer now.

# Dec 6, 2007

About dementia and home made bacon.

This stuff is why I still love the internet and blogging after all these years:

"I’m a caregiver for my dad who has dementia, high-blood pressure,
reduced kidney function requiring a relatively low sodium diet, and an
overpowering craving for bacon. So, I started to experiment in making
myown bacon at home using those cryovac’d pork loins. I guess there is
an officially recognized criteria for bacon, so maybe I should call my
stuff something else…but it sure has a bacon look (nice and pink but
not raw, smells and tastes like bacon when it’s nice and crispy, but
has a lot less fat and sodium. So I now fearlessly make him BLTs and
bacon omlettes. He eats, is happy and healthier…and I like that too."

# Dec 6, 2007

Branding and product development

Another brilliant entry from Laura Ries about branding. Must read for entrepreneurs if you hadn't read the Ries books etc. yet.

Sometimes, branding *is* product development. Sort of. I used to dislike branding because I thought it was about advertising. Then I read the Ries books on branding, positioning and PR, and now I'm a believer.

# Dec 6, 2007

Wow Six Apart sells LiveJournal!

Not sure why I find that so interesting. Livejournal relates to Myspace kinda like Slashdot to Digg. Old school but still cool. I wonder why they wanted to get rid of it. Is it that hard to make money off? To evolve?

# Dec 3, 2007

Italian IA Summit

I never really had time to post a follow-up post to the Italian IA Summit, so here are some quick thoughts.
  1. They managed to make it a free event, and there were lots of people. Free is good.
  2. UX and IA are happening in Italy, there are half a dozen small companies doing it, it seems.
  3. On the other hand, traditional clients have no idea what IA and UX mean.
  4. The Italians are great hosts.
I wish I had time to write a more extensive post.
# Nov 29, 2007

Yey: "The fields were deserted from Flanders to Provence. Villages and even
small towns were silent, with barely a column of smoke to reveal a
human presence. As soon as the weather turned cold, people all over
France shut themselves away and practiced the forgotten art of doing
nothing at all for months on end."

Forgotten art indeed!

# Nov 26, 2007

Some interesting presentations on the future of IA by VictorLombardi and Joe Lamanta. This stuff is indeed in the air.

# Nov 25, 2007

Who is working on a new feedreader?

What would a better feedreader be like?
  1. It would help me find new feeds. I mean, really help me.
  2. It would be social: I could easily find which feeds my friends are subscribed to (publicly) and such.
  3. It would let me manage my feeds better.
  4. It might support commenting and discussion in some smart way, without taking the discussion away from the sources.
Of course, the barriers to entry in the feedreader space are huge. Entrenched market leaders. Huge scalability challenges for newcomers.
And of course, the only real way to move into that space is probably to do something very different from the current feedreaders. But they are good. Just not good enough.


# Nov 24, 2007

How My Bloglines is broken.

Note I still call it "my bloglines". That's because I love my Bloglines. I find Google Reader impossible to use - literally. I tried, 3 times already, a few days each time. Can't do it. It's too slow (simple things like scrolling get stuck, which is strange, because Gmail works fine for me), and doesn't want to mark a feed as "read" once I click it. I hate that.

Anyway.

Bloglines is broken and has been for a few weeks now. All my feeds (almost) show a count of 200 new items, like in the picture below, every day, even though many of them have NO new items, some only have a few. Help Bloglines!

image

# Nov 24, 2007

The Breaking Of The Feedreaders

OK I am not alone: "unfortunately the way Google Reader works is that it forces you to look at every single post, so if you have feeds that are very frequently updates, Google Reader is not great at letting you simply skim through them quickly. Almost immediately, my Google Reader account was overwhelmed with thousands of unread posts, and it felt completely out of control. I abandoned it, as I suspect many other people did who went through the same experience."

This is SOOO broken. My basic interaction with my feedreader is:
  • Scan the bold feed titles to see where there's something new.
  • Click on a few feeds and scan their posts. Now these feeds are "read" and are not bold anymore.
  • Rinse and repeat.
Call me crazy. Is this just me? Isn't this how feedreaders should work? So why is Bloglines broken (the bolding of the feeds is broken), and why does Google Reader just doesn't want to do this (if I click a feed, the feed still shows bold, as if I didn't read it.)?

AAAAAAAAARG.
# Nov 24, 2007

Even though Bloglines plain old broke on me, Google Reader is totally pissing me off. It's too SLOW, and doesn't work smoothly, and my main problem with it continues: once I've clicked a feed and read the posts, it doesn't unbold that feed. Seems like a bug to me - in any case, I find it almost unusable. Is it just me?

# Nov 24, 2007

My Bloglines is all broken, so I switched to Google Reader, but it's SLOW, compared to Bloglines. Opening feeds takes just a little longer, and especially scrolling down seems to be real slow and get stuck a lot. Anyone else?

# Nov 23, 2007

I've been talking about startup ideas again. I don't think it's necessarily a great idea to start a company in the middle of a boom, but then again, some ideas are just too promising.

# Nov 22, 2007

My Bloglines is broken - the count of unread items on feeds all show 200. This has been going on for a week, perhaps I really nee to switch to Google reader now?

# Nov 22, 2007

Small group conversations

This is probably old news to most of you, but I finally realized: my email inbox is fast becoming only useful for official communication, companies (and some clients) talking to me. It's not where I talk with my friends, mostly. Then again, I'm no twitter/facebook fanboy either, as many people seem to be these days, so I'm not sure what may happen next. But definitely: there's an opportunity there, I'm thinking mostly about small group conversations. A few startups are gunning for it, but I haven't seen anything I like yet.

# Nov 22, 2007

Leap seconds. Like most categories, it turns out the second isn't as stably defined as you'd think.

# Nov 22, 2007

Sometimes old posts are active - comments hare happening in my old chupacabre post, for example.

# Nov 22, 2007

Global IA poetry

Categories are cultural,
locales mix up,
structure mostly translates,
global standards have local exceptions.

# Nov 13, 2007

Erik from Snap asks: "Why do you think it is so hard to challenge the status quo without rubbing some people the wrong way?"

Erik, you call it "challenging the status quo". I call it breaking the fundamental usability of the web. It's like having sites all in frames. It's like having popups. It's like Microsoft adding links to your pages. All in the name of "it's good for the user", when truly, it's not. Snap preview doesn't make the web easier to use. On snapsucks.org, it's compared with popups somewhere.

So to answer your question: when you break a basic user interaction (hovering over a link) and make it into something it wasn't (popping up a picture and advertising), you're bound to piss people off.

You're challenging one of the few things that really works on the web: the link. And I can't think of ANY startup (or huge company for that matter) that messes with the link that has prospered (although many have tried, and continue to try).

# Nov 10, 2007

Provide lots of RSS before even thinking about an API.

Nice mashup of slideshare data. Interestingly, the mashup was done using RSS feeds, not their API. I've had similar experiences with mefeedia: make RSS available and people start to make mashups. The RSS feeds get loads of usage. The API often doesn't.

# Nov 10, 2007

Nablopomo is a project similar to videoblogging week where videobloggers are posting daily. But this time they're following some rules.

# Nov 9, 2007

Loudtalks is like walkie talkie for the internet. Skype without the calling. Interesting concept.

# Nov 8, 2007

λöçåļîžåţîöñ copy and paste for testing ;) Localization.

# Nov 6, 2007

Snap preview sucks mule testicles. Really.

# Nov 5, 2007

e2r style

Lucas Gonze informed me that the design of the 290s site is in the E2R style. Which I didn't know about. But yes, I like that style too :)

# Nov 3, 2007

Opensocial technically looking great.

The tech docs of OpenSocial are available now, so I had a chance to check it out. Even though the API's aren't 100% finalized yet, it looks great. Things are really changing with this: I was dreaming of someone doing this ever since Facebook did their opening up thing, and now Google has, and they've done a great job so far. Only nitpick: remove the references to Google gadgets throughout the docs.. if this is Open, then you shouldn't refer to your own systems so much in the documentation.

# Nov 2, 2007

How much money is Snap previews throwing around?

Vox has implemented Snap previews, Wordpress has, Techcrunch has, jeez, do these guys have some crazy pixie dust that they throw over these bloggers? Snap previews are annoying, and yes, I've seen "real" users hate them Anil, don't tell me "you've seen tests that prove that regular people like them". I'm calling bullshit. I've been around the usability testing block a few too many times to buy the "I've seen tests that prove that X" argument.

# Nov 2, 2007

Hulu.com built by Russian team?

So if Nginx (a lighttpd-like webserver) powers Hulu.com, then that means that they probably built this by outsourcing to a Russian team? (Since the docs are in Russian and stuff...) Good work then - Hulu is getting good reviews, I wonder who built it?

# Nov 1, 2007

Nice song, nice video. Didn't realize they still made music videos. I guess they're "Youtube videos" now?

[youtube http://www.youtube.com/watch?v=N5XVeENmLMk&rel=1]

# Nov 1, 2007

The Web Application Scale of Stupidity

CalHenderson (link) has a line that goes something like this: "The Web Application Scale of Stupidity goes from OGF (One Giant Function) to OOP (Object Oriented Programming), like this: OGF <-------- sanity ---------> OO".

Really rings true. Going all the way OO has one unexpected disadvantage: loosing flexibility. Which always drove me crazy when working with Java programmers. "That takes a week to change" was a common answer, where with functions it might have taken a few hours.

# Nov 1, 2007

Britney Spears has gone Drupal :) Drupal seems particularly popular with websites for places like Sony, MTV, music publishers and such, where a lot of websites have to be developed fast with good social and CMS features, which is exactly what Drupal excels at. Drupal keeps rocking and speeding forward, increasing in popularity, and Dries continues to stay calm as a zen monk in the middle of this storm.

# Oct 31, 2007

A step by step explanation of a pattern for jquery plugins. Just fill in the blanks!

# Oct 31, 2007

Do you speak Japanese? What is taggy.jp?

Related: I wrote a post on 290s.com about tagclouds in Chinese and Japanese.

# Oct 31, 2007

Matt on paid links in templates: "Two years ago I made one of the biggest mistakes of my life when I made
a decision to accept a “sponsorship” on WordPress.org without
considering the ramifications it would have for its users, our
community, and the web as a whole. It pains me to see others going down
a similar path."

# Oct 31, 2007

Alright so it turns out bloggers DO get paid to put those way annoying snap previews on their blogs.

# Oct 30, 2007

Wow, Gmail does catch a LOT of spam. I already thought so, I hardly ever get spam, even though my email is all over the place.


# Oct 30, 2007

A PHP function for SEO-happy titles

This is a simple PHP function (two functions actually) that I wrote that generates SEO-happy URL fragments. This way, you can have /something/its-a-title/ instead of /something/19828/ in your URL's. You'll have to call the function to generate a URL path and store that in the database with your object every time you add an object. It uses dashes instead of underscores because historically they've been better for SEO, although that seems to be changing. Feel free to use this function any way you want. I'm sure it could be improved btw, my PHP skills are of the "it works but it ain't necessarily pretty" variety.

The function lets you add in a tablename and field that it will use to make sure that the url string it generates is unique.

It uses a "clean()" function in the beginning that just cleans up the text, you can remove that or replace it with your own function.

The second function especially is kinda cheapo, but it works and I'm too lazy to improve it.

/**
* Recursive function that generates a unique "this-is-the-title123" string for use in URL.
* Checks optionally against $table and $field and the array $forbidden to make sure it's unique.
* Usage: the resulting string should be saved in the db with the object.
*/
function seo_titleinurl_generate($title, $forbidden = FALSE, $table = FALSE, $field = FALSE)
{
## 1. parse $title
$title = clean($title, "oneline"); // remove tags and such 0)
{
// already taken. So recursively adjust $title and try again.
$title = append_increasing_number($title);
$title = seo_titleinurl_generate($title, $forbidden, $table, $field);
}
}

## 3. check against $forbidden array
if ($forbidden)
{
while (list ($key, $val) = each($forbidden))
{
// $val is the forbidden string
if ($title == $val)
{
$title = append_increasing_number($title);
$title = seo_titleinurl_generate($title, $forbidden, $table, $field);
}
}
}
return $title;
}

/**
* Function that appends an increasing number to a string, for example "peter" becomes "peter1" and "peter129" becomes "peter130".
* (To improve, this function could be made recursive to deal with numbers over 99999.)
*/
function append_increasing_number($title)
{
##. 1. Find number at end of string.
$last1 = substr($title, strlen($title)-1, 1);
$last2 = substr($title, strlen($title)-2, 2);
$last3 = substr($title, strlen($title)-3, 3);
$last4 = substr($title, strlen($title)-4, 4);
$last5 = substr($title, strlen($title)-5, 5); // up to 5 numbers (ie. 99999)

if (is_numeric($last5))
{
$last5++; // +1
$title = substr($title, 0, strlen($title)-5) . $last5;
} elseif (is_numeric($last4))
{
$last4++; // +1
$title = substr($title, 0, strlen($title)-4) . $last4;
} elseif (is_numeric($last3))
{
$last3++; // +1
$title = substr($title, 0, strlen($title)-3) . $last3;
} elseif (is_numeric($last2))
{
$last2++; // +1
$title = substr($title, 0, strlen($title)-2) . $last2;
} elseif (is_numeric($last1))
{
$last1++; // +1
$title = substr($title, 0, strlen($title)-1) . $last1;
} else
{
$title = $title . "1"; // append '1'
}

return $title;
}

# Oct 29, 2007

Speed matters

Speed matters much more than many people still think. I always felt the raw speed of Google was one of the reasons for its success. "Google increased the number of search results to thirty. Traffic and revenue from Google searchers in the experimental group dropped by 20%. [...] we had a similar experience at Amazon.com. In A/B tests, we tried delaying the page in increments of 100 milliseconds and found that even very small delays would result in substantial and costly drops in revenue." I remember a quote by Mark Fletcher about Bloglines: every time they increased the speed, pageviews went way up (people would look at more pages if they're faster).

# Oct 29, 2007

OK I'm trying this with Amelia.

[youtube http://www.youtube.com/watch?v=7gSZfW4gVhI&rel=1]

# Oct 28, 2007

Today's IA tip for beginners.

Sites that put "community" in a separate tab most likely think of community as an add-on to their business, not as core to their business.

# Oct 28, 2007

wtf?: "Diezelfde disclaimer moet dan ook nog getoond worden in een popup als mensen de site verlaten.  ( wtf moment twee)"

# Oct 28, 2007