Ringr

Ringo started out as Monster’s attempt at making a social network. This makes a lot of sense: like mashups, social networking can be seen as a possible disruptive technology threat to Monster’s core business: job search (a form of vertical search).

I’ve already mentioned job mashups in the past, but last year’s breakout success of LinkedIn shows that you can build a sustainable business model around job-related social networking.

In light of this I was shocked to notice the new homepage of Ringo:

Ringo homepage

Look familiar?

Flickr homepage

Anecdotally, this makes sense because the only person I know on Ringo uses it to share photos with me. From that and their clever spam of me—in a holiday promotional e-mail they mapped my friend’s photo onto an image in order to sell me a custom calendar—I would guess that photos form the majority of Ringo’s income.

But Flickr already rules this niche which is one among potentially many in photography: for a dump of your cameraphone photos there is photobucket; for professionals there is smugmug. This is not counting the fact that social networking sites like Facebook already have passable photo sharing built in and sites with interesting ideas like riya have abandoned photosharing for vertical search. Why make another Flickr?

But more importantly, Monster is a job site. Shouldn’t they be dealing with LinkedIn? Talk about losing your focus!

“Out-Googling” Google

A recent article in the New York Times discusses a bunch of Google competitors.

Is this me or does this sound so 2002?

I wonder if “out-googling” Google is such a great idea in the first place. If barrier to entry is truly as low as the article claims, then why do it at all? It seems that anything you carve isn’t sustainable.

I’m no business genius, but I prefer the Prego’s Approach.

[Getting from spaghetti sauce to internet search by way of some dancing bunnies after the jump.]Continue reading

window.error and login checking

Chris pointed me to a new Ajax security hack.

The way it works is by loading a window.onerror handler and then loading a remote site as a <script> tag that will generate a slightly different error when logged in vs. not logged in. That’s pretty clever.

The reason Chris probably chose to add Amazon to this is is because Amazon has a CSRF that will allow you to add any book to the Buy It Now!. Coupled with this script, you can only do it when the attack will actually succeed. Nice.

Hmm, I better check my Amazon account to see if I’ve “accidentally” bought another copy of Chris’s book. 😀

Using a photo

I got an e-mail today in which someone asked to use a photo of mine for a Christmas prayer.

A photo of mine

This use is well within my creative commons license, but it’s always a nice touch when I’m shown how my photos are used. Besides, I always had a soft spot for Episcopalians. 🙂

I noticed they’re using Joomla as their CMS. That’s interesting. Their template seems to be missing deep links, though.

[More of photo usage after the jump]
Continue reading

URL encoding in Javascript

I mentioned this in my Ajax and eCards talk, but if you’ve ever had to encode querystring of anything that isn’t ascii, you’ve run into troubles with encode(). The solution is to use encodeURIComponent().

Here is an article that outlines the difference between the three escaping functions.

The quick summary is, don’t use escape() use encodeURI() to encode URLs or encodeURIComponent() when encoding string parts that form a query string. In Ajax, always use the latter and form the string yourself.

Javascript monitoring

Yesterday my friend Dave added his blog to Technorati, he sent me this e-mail:

Rank: 2,357,164 (0 links from 0 sites)
That would put me in last place. You can help.

Hopefully this blog entry will fix that. 🙂

To not be a completely friend-serving post, I’ll mention that Dave has a short entry on Javascript watch(). A few months back I wanted to write a short blog entry on this little-known, highly-useful feature, but linking this blog entry saves me the trouble (and ups his vanity rating).