Archive for the “Web in general” Category

Google did a good job announcing OpenSocial, bringing many partners and creating lots of marketing buzz – many business people already see it as Facebook platform killer open to all and everywhere and ready to jump on board, all developer shops and widget catalogs already announced that they support and ready to deploy OpenSocial applications.

I took a look at what’s done so far and what kind of data and features is available in Orkut, Ning and Hi5 OpenSocial containers. What I see so far is that Google declared “learn once, write everywhere” instead of “write once, run everywhere” for a reason (see Mark Andresseen’s thoughts on this) – functionality varies and will vary a lot from container to container and not only because of limitations of current release (no SDK is publicly available yet and app developer APIs are probably far from being final), but because each service will provide different calls and features within it’s container – I hope there will be some standard way to describe all these features, otherwise “learn once” will become “re-learn many times”.

We’ll definitely see more reliable information once Google releases SDK, but unless they get a hold on how this developer community is organized, it’ll be a mess and misunderstanding. Actually such platform is bigger then everything they did before – all APIs they provided so far didn’t really include so many variables when every piece of the technology chain involved can be implemented, customized and hosted by different company and none of those is necessarily Google. This might be a much bigger organizational undertaking then they expect, although marketing effect is pretty good (can’t say for sure if it’ll keep being this effective if platform will not take enough momentum).

There is another issue here – I was doing simple research to see what kind of data is available and if my Friends Explorer can get birthday data for timeline if implemented as OpenSocial app and none of 3 containers provided such information – all of them give internal user id, person’s name and userpic URL (Orkut adds my approximate geographic location and primary language to that), they all give you friend lists, but only Orkut provides activity information. That’s it. OpenSocial API seems to be defining profile URL as well, but nothing more. Also, API calls to get that information are different (which is probably because of pre-release naming confusion though).

It looks like it’ll be for each container to decide what information to release to the app developers. It seems reasonable keeping in mind privacy concerns, but I expect it to be complete chaos because it’s doubtful that every service will implement granular permissioning layer for each bit of information and add OAuth layer to it (which is not fully out there either). What it means is that unless application uses just viral distribution of the containers and nothing but friends’ names and ids, it will not be really portable.

Conclusion: Keeping all this in mind and that such open platform is much harder to drive and maintain then proprietary one (e.g. Facebook’s), I would think that OpenSocial will take momentum and initial wave of simplest applications (e.g. Google gadgets) will get going pretty quickly, but we’ll have to wait much longer to see something more sophisticated to be standardized and available. I hope Google and partners realize this and not going to pump market too much playing political games with Facebook (who just had a big take on progressive ad market that Google kept monopolizing).

Tags:

Comments No Comments »

I have no idea why feed publishers do not care to return Last-modified header so readers can use conditional GET and 304s instead of full thing over and over again in case when feed contents don’t change. I beleive they just don’t care about RSS traffic money they spend on these absolutely useless data transfers. Also they don’t care about speed of clients reader (which needs to reparse data every time without need for it).

Anyway, in addition to using conditional GET, fetcher now checks if content really changed (comparing hashed raw feed content to previous one) and skips parsing fase. Hopefully it’ll make it sagnificantly faster and will save us some CPU cycles.

I’m thinking about writing an article about popular blogs (e.g. Engadget, Joel on Software and some more) that don’t use conditional GET. Check out yellow pressish headline: “Bloggers are wasting investor’s money”.

Comments No Comments »

I spent some time yesterday on CSS/HTML for user’s feed and friends feed and came up with the good advice to software developers, especially web developers:

Do some design work as early as possiblefirst of all you’ll be able to show it to somebody and they will be able to judge it (nobody gets geeky ideas behind your product anyway) and second it’s great for your morale – design affects everybody and even someone who can see all details of your idea without even looking at the monitor (that’s you).

Now I need to CSS-size the rest of the pages.

Comments No Comments »