Online identity, relationships, Google, and Social Graph API

Web Worker Daily covers the release of Google Social Graph API. These are pretty exciting news.

With so many websites to join, users must decide where to invest significant time in adding their same connections over and over. For developers, this means it is difficult to build successful web applications that hinge upon a critical mass of users for content and interaction. With the Social Graph API, developers can now utilize public connections their users have already created in other web services. It makes information about public connections between people easily available and useful.

Even better news are that one of the systems supported by Google is XFN – XHTML Friends Network. This is exactly the same XFN that you see mentioned in your WordPress administration. When you manage blogroll (links) of your site, you can attach different XFN attributes to each link. The screen looks something like this:

WordPress XFN editor

If your web site also uses one of the properly built WordPress themes, which has profile=”http://gmpg.org/xfn/11″ attribute set in the HEAD tag (see XFN join page for more information), then you are all set to go. Google will index XFN information from your site and will make it available via its Social Graph API.

It’s good to see Google stepping into this area. It brings a lot of public attention to a very useful area of our online lives. Soon, we’ll see more social tools and services like rubhub and Plaxo Pulse.

Portability and flexibility win over performance

I noticed this ticket in WordPress TracChange enum to varchar and went in to see if there is any heated discussion.  The issue is around field types used in SQL scheme for WordPress tables.  Certain fields, such post status employed ENUM type with a set of allowed values.  The proposed change in the ticket is to convert them to VARCHAR type.

Why the change?  Well, VARCHAR is just a text field.  Anyone can put pretty much any string into it.  It has more flexibility for plugin developers and future changes – no need to tweak the SQL scheme.  ENUM on the other hand works a little bit faster.

Side note: I also thought that ENUM provides some extra data validation, assuming the ENUM field is set to NOT NULL, but it turns out this is not the case.  If you insert a record with a value which is not in the list, the NULL is used. 

The change has been approved, the patch was attached, and the world will see it in the next WordPress release.  Once again, it has been proven that human time is much more valuable than machine time.  Making it easier for plugin developers to extend and change the system has more value than that of a few extra CPU cycles to lookup in strings instead of numbers.

Odnoklassniki.ru – the way to do site messages

After all the comments I received for my  other post about Odnoklassniki.ru, I decided to expand a little bit on the positive parts of the web site.  The biggest success of it, except of course for thousands of people registering spreading the word of a mouth, is the messaging system.  And the whole messaging system, but the notification part of it.

For me personally, the proof of the success of the notification system lies in the fact that I actually like it myself.  Because I am usually in the opposite camp.  I think that we have enough messaging and notification systems as we are, for web sites to develop their own ones.  But, in this case, I have to say that it was done very well, and that it works possibly better  than any other alternative could have.

If you are not familiar with it, here is a screenshot (NOTE: the green border on the left was added by me, I’ll explain why in a moment).

Odnoklassniki.ru profile

This is my profile page.  Or, more accurately, a part of it.  This is what I see when I login.  There is the main navigation menu at the top (orange color), with sub-menu (in light gray) for the currently selected tab.  There is my picture, and some basic information, such age, last login time, etc – something other users can see when they visit my profile.  And, there is the notifications section on the left side (I put the green border around it).

Users of Odnoklassniki.ru can send each other messages.  As far as I know, they can’t do mass mailings or group discussions or anything like that.  It’s purely one registered user to another.  There is a limit on the size of the message – 1,000 characters.  There is a rich text editor with some formatting controls, such as text alignment, foreground and background colors, copy and paste buttons, and font face and size selectors.  Of course, smiling images and some commonly used icons (money, beer, etc) are also available.

The nice parts of the notification system are as follows.  Firstly, it shows incoming messages and status notifications in full.  It doesn’t tell you something like “you have 1 new message, click here to read it”.  It just shows it you right there and then.  Secondly, it queues all notifications and messages and shows them to you in turn one by one.  Not all at once or in a digest form, but one by one, in chronological order.  Thirdly, the system doesn’t hide the message after it showed it to you.  And it does not insist on you dropping whatever is that what you were doing and acting upon the message.  No.  It keeps the message in its full length on the left side of your screen until you act upon it.  For this you have two buttons underneath the message – close it and reply to it.  If you close it, the next message appears if there is one, or the notification area folds, so that not to occupy your screen space with nothing.  If  you do a reply, then a popup window appears with the name and picture of the person to who you are writing the message, and a rich text editor.  You can type your message there and press submit button.  Once your reply is submitted, the popup window is closed and the notification for the message that you were replying to is closed.

The way this notification system works is totally intuitive and out of the user’s way.  There is no way one could miss the notification while browsing around.  And, at the some time, it is easy to ignore it if you are in the middle of something.  Considering that many users of Odnoklassniki.ru are middle aged people and older, with somewhat limited web experience, I think the system does them a big favor by not being too stealth or too aggressive.

Back to the wider system of messaging, there are a couple of other nice bits to it.

First of all, it’s the archives.  Message archives are easily accessible through the top menu.  You can go through incoming and outgoing messages separately. And again, there is always the name and image of the user with who you communicated, and the full text of the message right there – no need of extra clicks and deep navigation.

Secondly, the way email notifications are done is also nice.  The system is tracking if you are online or not.  If you are, it won’t be sending you email notifications.  And, if you are not, it will still give you a chance to come back before abusing your mailbox.  It does not send notifications right away as they happen, but keeps them in the queue for some time.  If you aren’t coming, you will eventually get those to your email.  But I have to say that the balance of immediate notifications without emergency email abuse hits right on.  Perfect.

Now, why am I so detailed and picky about this messaging and notification system of Odnoklassniki.ru?  Because, I believe that much of its popularity lies within just this part of the site.  Many of the registered users don’t know how to use other messaging systems (ICQ, Skype, IRC, etc).  Many don’t want to share their email address.  And many try to avoid any extra email.  Also, there is a large diversity in age, current location, and computer skills among the users, so finding another common medium for all these people to communicate might prove rather difficult.  But with this one, it’s not.  Anyone can send a message, get a message, and reply to a message.  And that’s all that matters.  I know some people who use Odnoklassniki.ru as an instant messenger.  They chat with a whole bunch of people at the same time, using really short messages of plain text (no rich formatting), and they send them back and forth a few times per minute.  These people stay online for hours at a time!

Can the existing system be improved?  Absolutely.  Firstly, I think it should use left-aligned or justified text whenever the text of the message is shown.  Now it uses centered text for some reason.  Secondly, I think formatting should be a little bit smarter.  Paragraphs and links should be recognized better.  Text *like this* should be bold.  Text _like this_ should be underlined.  There should be better support for quoting.  There should be a way to refresh your memory about older messages.  Maybe something like phpBB has.  Maybe group discussions will make some sense… Some of the possible improvements should be thought out and planned carefully not to make interface heavier or user interactions more complex.  But there are many potential improvements on the intuitive side of things – something that will minimize the annoyances and unexpected behaviors.

I’m eager to see how this part of the site will evolve in the future. What will be improved, what will be added, and what removed… What do you think?

MIME type of uploaded files in PHP

Today I came across something that rather puzzled me at first, seemed irresponsible and such, but was cleared later, upon reading the manual.  When uploading files in PHP, variable $_FILES stores a bunch of information about each file.  One of those stored bits is the MIME type of the file.  I was puzzled with how easy it was to trick PHP into setting a wrong MIME type.  However, documentation clearly says that:

The mime type of the file, if the browser provided this information. An example would be “image/gif”. This mime type is however not checked on the PHP side and therefore don’t take its value for granted.

Yahoo + Microsoft vs. Google et al

The big news of last week were of yet another attempt by Microsoft to buy Yahoo.  If you missed all the buzz, Web Worker Daily has a really nice round-up with separate links to facts (read: press releases) and opinions (read: speculations).  If that’s not enough for you, you can always find more with Google, Slashdot, and Digg.

Many online news sources continue to be completely dominated by discussion of Microsoft’s hostile bid to acquire Yahoo! And no wonder: a deal of this magnitude has the potential to touch the lives of pretty much everyone living and working online. It’s a rare web worker indeed who doesn’t use something from one or another of those two companies in their daily lives.

So, first, can it affect me personally?  Yes.  I don’t use any Microsoft/MSN/Live services, but I can’t live without Flickr and del.icio.us, both of which belong to Yahoo now.  Also, I do occasionally use Upcoming.

Now, what do I think about this whole thing?  Well, I think it shows how desperate Microsoft is.  The general trend is towards the web, not the desktop, where they still rule.  Most of their own web services turned out to be pretty lousy.  They want to get online, and they are willing to pay a lot of money to get their fast.  Mostly, of course, this is a war for a place under the advertising sun.

From the Microsoft view point (I think), Yahoo looks to be online.  More than so.  Yahoo is the second most important company online after Google.  And Google is giving Yahoo some rough time.  And Microsoft realizes it clearly, that Google is partially to blame for this whole trend towards the web.  And it also realizes that if it is serious about moving online, it’ll have to compete with Google in one area or another.  So it makes even more sense to acquire Yahoo.  From the Microsoft point of view (again, I think), Yahoo appears to know what they are doing.

And that’s where I see their biggest mistake.  Yahoo is indeed the second most important company on the web after Google.  But it struggles to be there, and it struggles even more to keep Google in sight.  Because it is falling pretty far behind.

A little side note: I think there is a war of concepts between Google and Yahoo. It’s bigger than just advertising space or anything else.

  • Yahoo started off with a directory of links, which was better than many at a time because it was moderated by humans.  Google started off with bringing huge improvements to machine based indexing and searching.  Yahoo:Google – 0:1.
  • Google brought this whole concept of clean user interfaces and simplicity for the end user.  Yahoo stayed and expanded on the old idea of portals, which bring all possible and impossible to the front page of the site.  Yahoo:Google – 0:2.
  • Google made a stake on the brilliance of its people – if the service is properly done, it’ll grow by itself and bring in more users.  Yahoo played it safe, trying to purchase web services that already have momentum.  Yahoo:Google – 1:2.

End of side note.

Overall, I think that this is a bad move on Microsoft part.  If the acquisition will happen, I think, it’ll damage both companies, and, maybe even, drive at least one of them into the ground (eventually, not immediately).  Yahoo, being at the position it is now, needs more flexibility.  The online space is getting more and more competitive.  That’s where you need to move fast.  Yahoo made some really good acquisitions before, and I’d say that they have some sense in this area, but they need more speed with integration of their acquisitions into their backbone.  With Microsoft on board, I’m afraid, everything will get a lot slower.

Also, I think that Yahoo won’t win much from this acquisition.  Surely, some money will come their way, but it’s not always a good thing.  And I don’t think that it’s good in this particular case and at this particular time.   I believe it would do much more good for Yahoo to get smaller, faster, and “hungrier”.  Hunger (think: limited resources) makes one’s mind sharper.  That’s exactly what they need now.  Not more “fat”.

As for Microsoft, I think there strategy should be more directed towards entertainment.  If they really want to buy something, they should buy some entertainment companies.  Those that produce content.  Disney studios maybe? Or some sort of a deal with AOL/Time Warner (they had a few frictions in the past, but they seem to managed to work out a solution together).  With more and easily accessible content they can reinforce end users interest in their Windows desktop, as well as their gaming platform (Xbox thing), and their mobile platform (Windows Mobile).  And, entertainment content by itself is a rather popular thing among the end users, which makes advertising much easier.  And rich advertising too – not just text-based relevant web ads, but audio and video media.

What do you think about all this?