Social Meta Networking

"This business is a living organism, multiplying constantly....
" ideas are ready to be devoured and redefined...
"....any kid, working in a garage, anywhere in the world with a good idea can put us out of business...."

When Gary Winston said these words about the project Synapse in the movie AntiTrust, he definitely was referring to the massively exaggerated versions of what social networking sites are today.
Rapidly becoming the virtual representations of individuals on the Internet, social networking seems to be the logical way of human evolution in the virtual world. Though I am not a great fan of Second Life, social networking sites seem to represent a simplified version of people, getting to the humankind. Given the limitations of bandwidth and technology, social networking is taking the concept of socializing on the network for the common people.
The Cyber universe past is littered with attempts with many such initiatives, but it is now that the concept of a social network is growing. There were BBS, forums, and even chat rooms, but the entire idea of social networking takes these systems to a new paradigm, a plane where individuals are not merely identified by usernames, but by the homepage profiles. In a way, the social networking sites have helped people create their true "HOME" pages on the wild web.
Social networking site like Facebook, MySpace or Orkut are competing with traditional search and mail application sites directly in terms of pageviews. The localized versions like MingleBox and Yaari also seem to have a decent following. Emails are now flooded with friends inviting to join social networks that seem to mushroom seeing the successes of the market leaders.
Given this scenario, it may not be unreasonable to expect some standards to emerge for social networking, just like on for emails or HTML pages. This may be a far fetched expectation deriving from the historical activities of standardization attempts that act on regulating chaos. Deducing from the way user communities have reacted, it is apparent that there would be atleast more that one social network active at any given point of time. Also, just like mail is the most used application on the internet today, tomorrow may be the day of the social networks.
Competing social networks may spend lot of resources on developing applications and services, that would be already available on other specialized sites.
Starting with all these premises, and considering the current setting of technologies like Microsoft CardSpace and OpenID, I believe that social networks could act as identity providers. Relating this to the real world, a social network could act like a home base for a user. A token issued by a social network, in form of an Infocard or OpenID URL could be used to access specialized resources like mails, calendar services and on forums. There are always self-issued identities for loners who trust no network, but that may come with sufficient trust constraints.
Social Networks based tokens could also enable cross pollination of users where one user from a community can post to a friend from another community. This initiative could also be leveraged to weed out fake profiles and offenders, with the trust being associated with the reputation of the social network site.
The concept is more like a meta environment system, with smaller social networks being a part of a larger eco system. From the user's perspective, it would feel more at home if he is signed up with a localized social network, and visiting other networks. The identity issued by the sites would be like their visas to other worlds.
Fore-runners like facebook have already given the users the power of APIs, with MySpace hot on the trail. This apparently is a realization that a closed set of developers are not the best set of idea generators. The API initiative a million minds thinking about new ideas for applications, anda profile on facebook is now more like a public view of "the room i stay in". Enabling Identity Systems would only push the boundaries beyond to open new avenues.
This suggestion may be shot down right away for reasons pertaining to business and competition, but the I am sure that the collaborative benefits of such a social meta system is something that the future would encash.



The idea of concept is simple and powerful. What you are is shown by what you read. Being an ardent reader myself, I always wanted some way to show people all the books that I read. So I got together with the guys at and am working on the iRead Widget originally for facebook, to be embeddable at all blogs. I should get a working version by the end of this week, so lets wait and watch for this idea.

HTML 5 Rocks !!

It is a high time HTML is given its fullest due. From a hack that supports hyper links, to a meta system that allows information organization, HTML 5 reflects the maturity of developers thinking about writing for the web. The class of changes range from synthetic changes to clean up the language, to cosmetic changes to add more structure to it.
With a stricter content model and the DOCTYPE tag and character encoding, the sense of standardization is enforced on the web writer. It also seems to reflect Opera's commitment to make Audio and Video first class citizens of the web. The newer data controls that are added [date, email, url, month...] would remove the need for non-standard javascript hacks to get certain types of input. As these controls would be native of the OS, syntax checking of the data would be simpler, making the job of Javascript developers easier. Other additions like <dialog> is the drift towards generalization of elements.
Changes in the meaning of <b>, <strong> and <i> backs the philosophy that the presentation is best achieved from CSS, and is best separated from HTML. Also, many redundant attributes for tags (like font, color) have been dropped in favor of using them in styles, backing this philosophy.
With HTML5, the <a> tag is now on a steroid, with a ping attribute that would help identifying dead links. In addition to this, attributes like autocomplete, datalist, autofocus etc. are more an impact of removing chronic annoyances with standard solutions.
Getting into the Javascript space (my favourite !!) a lot of interesting things are happening. The best is the async attribute in the script tag, that will let my page load faster, and not force me to combine *.js files, or place them as near the body> for the sake of performance. The life of JavaScript Programmers is further simplified with attributes like draggable, contextmenu and tabindex. Though I have not really explore cross document messaging, the description seems to head in the direction of making life of mash-ups easier. Things like online/offline events and persistent storage may help out of extensions like Google Gears into a standardized world. The video/audio API will make Youtube better, and apis for network will give Javascript, the power of a full-grown loosely typed language. The HTML DOM is also modified to help cross browser anomalies, typically with functions like getting selections, focus, etc. Doglous Crockford also got his much utilized getElementByClassName() function, something that will help me reduce code size significantly. I reserved the best for the last, and that, I think is the <canvas> element. So here comes a complete drawing engine into JavaScript, and I can now do everything I could do with ActionScript and Laszlo.
However, I am still trying to justify the logic of dropping elements like <frame> and <frameset>.I can technically use <iframe> and place them all over, I am not sure how well will that settle with people who have TOC on the left, and content on the right.
In summary, HTML5 is promising, specially for a JavaScript programmer like me, but again, being at the brink of another browser war, lets see how the browser developers take it. Thought it will take time to flush out old browsers from the market, I am already looking forward to a making the worst programming environment i.e. the browser, easier to deal with.
All for the best....

Check out

Virtua '02 Animation Videos


In my previous post, I had claimed that the Video was the first animation movie that I had made. Well, thats not absolutely true. I did work on a lot of other animations early on, but that was the one that was wholly developed by me. So to go back a little in time, to where it all started.
During my first year, the pre-final year students of the college decided to pick up some 3DS Max skills, and disperse it over the department. Pradeep Kumar (TPK) and his team wanted to make a movie to introduce the inter college symposium to the audience, and this was the animation that they came up with. The symposium was called Virtua '02, and the animation called Kookie Quest.
Being a fresher, I was involved in minor Object modeling, and creating simple meshes for objects.

Domain names for Meebo Greasemonkey scripts !!


Another bug nailed down, and the scripts for meebo seem to get more stabler. When I was developing the greasemonkey scripts, I had hard coded the URL end points for all requests that I send to meebo. This was something like "". However, everytime I log in, the sub-domain used to vary between wwwl, wwwm, www\n etc. This caused the messages to the server give Internal errors.
The problem was pretty irregular, and I was frustrated with my Twitter constantly failing. I finally decided to take a look at it, and the first thing I notice was this ! So the code has been patched, and you can download the scripts from the same locations !! So squashed another bug !!

HTML to the DeskTop


With so many people talking about stuff like Web 2.0, WebTops, Web Operating Systems, it is an irony that not much has really happened to bring this to main stream. True that technologies like Java Web Start did exist, but they still have not made it to the mainstream. Java is supposed to be cross platform, but I have not really used many Swing applications or applications made in AWT.
On the other hand, there are a lot of application that are going the web way. Take a look at the admin consoles of all those Java application servers, web servers and kind. They could easily have been swing application, but they are web pages, trying to run applets.
One reason I can think of is that the creative guys who decide the look and feel are more comfortable with HTML output. To elaborate, let me showcase a representative of the web applications that I have worked on. These are not merely web pages, but have attained the standard of an application with AJAX doing all the magic, that a traditional web application can do.
The development cycle usually starts with a creative designer sketching out how the application must look like. Then comes the HTML guy who codifies the drawing to static HTML pages. Two stages done, and it is now that the developer enters the scene. In the traditional programming model (Visual Basic for example), the developer has to go through the pain of dropping all components into the canvas, and after that start coding it. The conventional problem of applying styles is compounded by the fact that incorporating changes by creative designers into the application is another big process.
HTML , or more generally, the concept of defining XUL has now separated the responsibility of look to the creative designers and HTML coders. The behavioral part of the application is the only worry for a developer, who interacts with the backend, and gets the application complete. This paradigm, I suppose allows more flexibility.
Now applying this theory to desktop development, a developer is least happy when he learns OS specific APIs, and places components (defining the X and Y co-ordinates, heights and widths). Single pixel malfunctions that are easily spotted by a designer, take months for a developer to understand. That is the reason people may move towards adapting the web way of doing things for creating desktop applications.
I was looking at Javeline DeskRun, expecting them to deliver a robust runtime on which an Javasctipt enthusiast can port web sites, but nothing cross platform really came up. These guys based at Netherlands seemed to have a good product, but even as I write, the site is defunct.
Adobe Apollo, given the fact is coming from a company well known in this space with application like Flex, Flash and PhotoShop, seems to be in good shape. Though I have ported very less of to Apollo, I am already liking it. Though i fear that the application may be slow, I see improvements in this space. I had also heard of Mozilla Firefox people coming up with something similar.
SilverLight is not bad either, but my only reservation comes when they talk about being cross platform. I would not like comment on it yet, as I have not really seen it in full power.Anyway, this article is not a comparative essay, thats a verse for another blog.
However, I am tying to emphasize the XUL way of doing things.
And yes, the latest Google Gears. An application well thought of, with tons of features, but lot more work to be done. Nothing new in it though, but that will push this technology of "from-web-to-desktop" even further, good for developers like us !!
So lets me write back when I have fully ported to become an apollo application, that will make it very similar to my favourite Pidgin (formerly GAIM) - a desktop multi-protocol messenger.

GM-Trans :: Next Steps


The tool that I have written seems to be in a state for people to take a look at. I know, double clicking text boxes to activate the script is a pain, as u normally double click words to select them; I promise that this will be the next thing I will fix, after I decide where I would want to take the script forward. I have used the word transliteration throughout the code, but Srid tells me that this is not transliteration given the learning part of the service. For now, in the absence of a better word, I continue to use the word.
I had real fun developing this, as it gave me to power to actually scold people while chattin gwith them in native tongue. I even tried impressing a girl, by sending her a poem in Tamil, from my Meebo web-chat client to her Gtalk session. The thing however did not work as the Tamil that I wrote was pathetic [I donno reading / writing Tamil :( ]. Anyway, jokes apart, I think this service is really working and usable at last !!
About the next steps, I was thinking in terms of how to get more people use it. An encouraging thing that I have noticed is that many people on social networking sites (orkut, minglebox, yaari blah blah) often write Hindi / Tamil in the English alphabet. Using this greasemonkey script on those sites is a great idea, but imagine inserting this script as a part of the actual website.
For instance, a site like Minglebox (heard that these guys got funded recently, and have a growing social network) includes the single JS file that I provide to them. Then, they provide a list of all the text boxes that should have this transliteration capability, something like QuillPad.enableQuill("textBoxId"). This would allow the people to type in the native script. Simple to setup, working something like software as a service, QuillPad would have a better reach. Lets see if I can talk to the guys at QuillPad, and other websites that would like to use services like this.

Here are all the files in the util directory

Note : This release also helped me enhance my GreaseMonkey Simulator, and I filled the gap, providing an implementation of GM_xmlHTTPRequest.

GM-Trans :: Is this the official name ?


So the version 1.0 for the greasemonkey translator is finally complete. Anshu wanted to call it lang-fa. I am not sure what it means but i read it as "lafanga" (meaning rogue) the first time I saw it. Well, we did not copy the name debacle from what happened to google !! Anyway, in absence of a really creative name, I have just planned to call it GM-Trans, in the lines of i-Trans ! So here is the script baptized !!

Some of the changes include
  • Better UI (shows gif when fetching data)
  • Query to the server is now just the diff, instead of the entire test

There are a lot of features that I am looking to implement, but let me see how well this is received. If the script does well, I would implement things like

  • Currently, double clicking activates the script. This is not really intuitive
  • Save the existing text in the text box, before transliteration
  • Show alternatives, and as the user selects it, use it as the feedback
I am currently looking at getting my own back end in place. If Anshuman is able to get something up and running this weekend, we would be good to go.

Please do use the script and let me know of bugs that you find. I would also be happy to listen to the features that you are looking forward to. Here is the script in action, on the orkut page ....

(Click the image to enlarge.)