Posts Tagged ‘search’

Why I think Google needs Twitter

Monday, May 4th, 2009

More and more content on the internet is 'real time'. Twitter messages, news feeds, pictures, facebook, etc.. Where we used to browse the web for things that have mostly been written in the past, more and more of our internet minutes are spent watching things that 'just happened'.

I see this as a threat to Google, and it wouldn't surprise me if they finally manage to buy Twitter, because Twitter helps them become more 'real time'.

To give an example, I was just trying to update my profile picture on Twitter, and this didn't work. For some reason it refused my pic without an apparent error messsage. Possibly I'm uploading something wrong, so first I googled for 'twitter profile picture' and got this result:

picture-37

Then, I did the same search on Twitter Search and the result was this:

picture-38

As you can see, this tells me that in the past 22 minutes, multiple people had this problem. (Ironically you can also see from their avatars that it actually is a problem). The Google results on the other hand, have nothing that is relevant if you take into account the 'now' factor.

This is just an example. Searching for 'current content' is getting more and more relevant. Comments on a live show on tv or an address to the nation by the president; Google is useless in finding these things.

So it is my humble opinion that either a) Google will buy Twitter, Facebook or another 'real time' content site, or b) Google will release an updated Google Search that takes the whole 'now' into account in its search results.

New ajax powered smart search functionality in ATK

Sunday, April 16th, 2006

Together with comunication firm Effectiv we developed a marketing tool for Cirque du Soleil in ATK. For this application, we needed a better way to search through the myriad of data in their database. Peter solved this by adding a new nifty Ajax powered search functionality to ATK, that can be used to traverse all data, following relationships and exposing the entire database through a single interface.

An example of the type of searches that a user can do: 'show all employees that work in a department whose manager lives in a city that has at least 10.000 inhabitants'.

This functionality is available in the current nightly build. (This contains only the atk subdir, if you don't have an ATK app already, download the sample application first.)

Here is a screenshot:

screenshot

In this screenshot, I am looking for all employees whose manager is 'ivo', and that work in a department which is currently hiring. (this is taken from lesson 3 of the demo application)

In ATK tradition, to enable the functionality you need only one line of code. Just add the following code to any node (constructor or action_admin override):

$this->setExtendedSearchAction('smartsearch');

(Note1: if you do not have AF_SEARCHABLE attribs, make sure you set NF_EXTENDED_SEARCH to force display of the search bar. Note 2: in a future nightly this will be even easier through the use of a new NF_SMART_SEARCH flag)

Now, click the 'extended' link in your application's search bar to get the new search.

Another neat feature is the possibility to save and load sets of search criteria. To enable this, you need to have the atk_smartsearchcriteria table:

 
CREATE TABLE atk_smartsearchcriteria
(
  nodetype VARCHAR(100) NOT NULL,
  name VARCHAR(100) NOT NULL,
  criteria TEXT NOT NULL,
  PRIMARY KEY (nodetype, name)
);
 

Peter did a great job with this feature. I think this opens the road for advanced reporting functionality in ATK.

Google starting to think for me?

Monday, March 27th, 2006

After I noticed the internationalisation quirks in google, I found several other things that seem to suggest that google starts to 'think' for the user.

If on google.com, I perform a regular search for 'pagani zonda', google first presents me three image results, followed by the regular results. If I search directly on google images, I first find images that are of far less quality than the three I got on my normal search result page. Seems almost as if they were hand-picked.

When I search for 'Jennifer Aniston' however, it first presents a set of news links, then the regular results. No pics this time.

Both Jennifer Aniston and Pagani Zonda have news items and images related to them. But somehow it decides that I would want to have pictures of a Pagani, but news about Jennifer.

(and I'm not using the personalization feature).

Another thing I noticed, when I search for the word 'gem', the first 10 results are 'compromised'. 3 out of the 10 results are results for the word 'jem'; As if Google not only wants to suggests that the word is spelled wrong, but it is so sure about that, that it makes 33% of the first results page reflect this alternative spelling (even though 'gem' is a perfectly legal English word).

This is different behaviour than when I search for many other words, when it just uses the regular 'did you mean ...' suggestion.

Searching for 'jem' first presents a google music search result, before displaying 'regular' results.

Luckily, searching for 'php' still seems to be untouched. :-)

I find this scary. Where google used to be a page rank based objective search engine, presenting just what it found in its indexes, it's now starting to become an engine that influences what I find, based on assumptions it makes, probably from all the search stats they are collecting.

Horror story: once the entire world uses google, they control our very access to information, and by manipulating the results based on our own 'preferences', they essentially control what information we do or do not consume. I guess this is material for a new Dan Brown novel. :-)

What php search engine would you use?

Wednesday, March 8th, 2006

I'm facing a challenge with a customer running a site we built on a hosting environment that is quite restrictive. We used to use htdig to add search functionality, but the hoster doesn't allow execution of binaries.

I've taken a look at several search engine implementations, but so far, none match all requirements:

  • Zend Framework's lucene search: requires PHP5, but we have to run it on PHP4

  • phpdig: uses exec() to perform the search, but we are running in safe mode
  • google: layout not flexible enough
  • htdig: requires execution of binaries, which is not allowed
  • perlfect: requires execution of perl, which is not allowed

Maybe isearch is an option but I cannot find a lot of info about it.

The requirements are simple, but restrictive:

  • Should be usable/integratable in a PHP4 based site

  • Should run with safe mode on
  • Layout should be customisable
  • Should not require execution of perl or binaries, at least not for the search part (uploading an index that is created on a separate machine is somewhat acceptable although not prefered)
  • Should be spider based, so no database query based search engine

Free Software/Open Source/Free as in Free Beer would be nice, but is no strict requirement.

Anybody any suggestion? What are you guys using?