Wednesday, 24 November 2010

The New Era of Social Technologies...

I was so impressed with the Facebook Careers video wherein the CEO, CTO, VP of Facebook explain how cool it is to work there. Especially, Mark's opinions about why social networking is fun and how Facebook is looking at it, was simply awesome.

He said something very similar to this... Everything around us can be broken down into simpler things and with every other day, we tend to make our lives less complicated. For example, we have invented very simpler forms of communications. We send e-mails, smss and what not. We keep exploring avenues to get ourselves engaged in a productive way, yet keep things so simple and fun to use. Whatever humans do, there’s a very simple ideology behind it, and it is what is studied and is imitated by (social) technology.

This blog post is going to explain, how I look at things, how important it is to get your apps and products the social way, etc.

Today, we are in an internet era, where we talk about the cloud technology, PDAs and things way beyond that. Increasingly, we feel the necessity, simplicity, reliability and security behind moving ourselves over to the cloud, as in, internet. As every one of us started feeling internet a part and parcel of our lives, it is increasingly becoming a hang out place too.

Getting back to 199X to 2004, i.e. before the arrival of internet or computers to the common junta of India, I have seen many children playing in the street, housewives gossiping sitting in circles and as usual family heads discussing on key issues ranging from office politics to where India is lagging :P ,etc. There was always a social thingy involved in whatever happened. It was mostly fun and everyone felt good to share things with others.

But with the advent of affordable personal computers and pirated games, children started moving towards playing single player games on their PCs. Since those games grabbed the complete involvement of kids, none of ‘em ever felt the need of getting back to the playground or play indoor games. Slowly, I feel this started percolating into the grownups but in a different way. Television occupied most of their time and they started feeling, it is more of fun to watch it than going to someone’s home and chatting. The social nature of things changed and people never realised it.

Technology got into everyone’s day-to-day activities. But that never meant that people forgot about how they used to enjoy the company of their family friends and neighbours. It all burns down to the fact that people love to get involved more with TV and PCs rather than meeting friends. This was a great advantage for the technology. It got into our lives and we started adapting soon too.

With Internet and related service’s coming, life became even simpler. From now on, you needn’t go to shops, banks, post offices, government offices and other places. Every single thing has got automated and they all have shifted to a new address. The WWW! What can be more fun than to reserving tickets of your train right from your home? Tomorrow, may be you needn’t even move a little, there might be yet another service that might offer you to do the same job but from home, and at your convenience. Out of this fact, there are two things that are evident. One is, either people are very lazy to do things or they want to achieve something really big in a shorter span of time with less energy usage, i.e. they want to make a productive use of their time.

As most of our time is involved in playing with technology things around, we don’t get much of time to socialize. Here comes the advantage of social networking. What if technology could give you a platform for socializing, giving you freedom to share things of your interest and connecting to people of similar interests around the world? It’ll fulfil your innate need of socialising at your comforts right? More like a non blocking type of communication, where you send information and let the receiver read it when he/she wants to.

Interestingly, people love to get themselves involved in socializing aspects of the web. They find it more collaborative, informative, simple and fun. There are other reasons to get involved in socializing in web too. Web gives you a complete freedom to showcase yourself to the whole world without any discrimination. Hence you needn’t ice break or feel shy about sharing things. Having said this, the socializing part, has started playing a major role upfront.

This has completely revolutionized today’s market. Now, you have more chances of finding your customers in Internet than anywhere else. Products or services that were not even thought to exist or wanted by a person in the year 2005, are now ruling the world. Everyone has started getting involved more with internet and technology as such. To iterate again, the lifestyle of people changed on a different scale, but when you break things into simpler stuff, they do the same things they would do if technology never existed. Today, you want to talk to your friend, you opt to chat or text him/her. Right?

Though the choices keep changing, but the first part of it, i.e. talking to friend can never change. Social apps give you a platform to do it. Not just this, say, you want to buy a product, and you visit an online shopping site, you take a look at the product and there is a small widget that says, there are totally 190 buyers out of which 35 are your friends. Naturally, you are motivated to buy the product. To say, even a small chat room in an online shopping can change the way buyers buy. It is how society functioned when there was no technology. On the other hand, the services that are driven with socializing phenomenon always get the edge, as they can get enough insights about the demographics and needs of their customers instantly. It is a simple win-win situation for both the sides.

Even multiplayer games that can be played intermittently, has taken off in a great manner. Again, socializing aspects is the one and only factor that keeps people engaged in it.

By what I’ve said so far, you understood the logic or not, just get this right in your mind. It is important to keep applications consistent the way people used to transact when there existed no technology. Hence it is very important to keep it simple and straightforward. To add to it, give your application a way of socializing which can promote a good user-user interaction and sharing info. Cause, people always love to be in a place where they have their interest groups, family members and friends. They love to play, shop, eat, hangout with their friends and loved ones. Hence, if you are able to analyse how social aspects of your product can work out for you, it might turn out to be very advantageous. It’ll keep your users engaged with your product on a very higher scale. So, I say, give them what they want, a way of socializing. In this regard, I’d say, Facebook is doing only one part of it, i.e. hanging out with your friends and stuff. There are much bigger things in social networking such as a social shopping to social learning. See, you always feel confident in a place where there is some human existence right? Also, you never want to explore a spooky or a new place all alone, you take one or more friends with you there. So, make this simple logic built inside your application model. People, i.e. users should be able to effectively socialize through your application. Cause, if you don’t provide such a service, the junta will start moving towards a service that provides that. You can have a superior technology, a really great market, but you can miserably fail if you don’t understand the importance and dynamics of socialization. To summarize, create a superior technology, a superior market. Add social strategies to connect both of these.

Technology <-----> Social Aspects <---> People / Market

When there existed no technology, people loved to get together and have fun. With advent of technology, people started having more fun. Now, they had enough of simple technologies and want the technology to give them more. So, they are increasingly moving towards technologies that can satisfy their socializing needs. Hence forming a proper spiral model of the way technologies and people work. In days to come, we might increasingly see apps that are built with the social aspects to take off better than the ones that don’t provide it. Dot. :P

Tuesday, 12 October 2010

Software Freedom Week Celebrations @ GLOSS, SASTRA

Hello Readers,
I'm really sorry for not posting for so many days. I've been busy lately on many things like looking out for final year project internships and things like that. Anyways, the news is that, 3rd and 2nd year folks of GLOSS are organising Software Freedom week at SASTRA University. Software Freedom Week is celebrated inorder to emphasize the importance of open source to everyone. And, being at college, students and faculty members take immense pleasure in getting to know about what open source can do for them. Last year, we had conducted many competitions during the open source week, but this time, I'm not quite sure about the kind of surprises our juniors are gonna give us. I've got high hopes on them and I must say, the publicity thingies have been going quite well. Especially the posters are quite attractive. I sincerely appreciate the enthusiasm that they have been showing towards the community.
To tell a few lines about how open source can help you, I've got a small experience to share with. Recently I've been working on linux kernel development. It’s been going quite good and I seriously can’t express the kind of thrill I feel when I compile the code of Linux Kernel by myself and when I go through the source code of scheduler and stuff. I feel that may be, sky is the limit for the joy that you get when you’ve got some real cool operating system like Linux’s kernel source to play with. If not for open source, you might not be able to play with an OS’s source code like what you can do right now.
It’s like this... everyone cannot focus on reinventing the same wheel and releasing it as a new technology or product. It is always good to make use of already invented things and yet make something real cool.
Let me stop with this for now, it’s already late 1:40 a.m., I might start blabbering in the post if I don’t.
Till my next post, C’ya guys n’ don’t forget to attend the SFW celebrations at SASTRA :)

Wednesday, 5 May 2010

Lex and Yacc

Its been long since I've blogged about anything. I wanted to share lots of things, but unfortunately I couldn't find enough time to write on a topic. A few days back, I completed my lab exams successfully. I had a great time learning new concepts such as Lex and Yacc. Lex and Yacc are powerful tools through which we can design complex programs such as a compiler with very less effort. Most of the programming is done by Lex itself. Let me explain how it works!
Basically, we have got to write a lex program which has an extension ".l". The lex file contains lex specifications which are mainly regular expressions and their corresponding C response code. Once we write a regular expression, we can specify a C language function that will execute the necessary actions that are to be taken if input matches to one of the regular expressions. The lex can also return values to other programs. Lexers are written to analyse the syntax of anything. For e.g. a decimal number can be of form 90.34 or 1232e10.
Yacc is a tool to write parsers. Parsers are grammar analysers. We can specify grammars as we do in writing grammar for CFGs and other automata concepts. If yacc finds the input to be matching to the grammar, it finds the action to be taken and executes it.
According to me, they form a really powerful tool and a must learn for any developer/student of CSE. I just loved when I wrote shorter and simpler regular expressions for solving my lab exercises. I should thank Mr.Sai Ram for giving us an insight into the world of regular expressions,grammars and their implementations.
May be if time permits, I'm willing to do a spelling and grammar checking program and embed it into my own text editor.