Showing posts with label tips. Show all posts
Showing posts with label tips. Show all posts

Wednesday, May 18, 2011

Personalizing Privacy


A lot of buzz has been going around these days about websites not keeping your private information to themselves. I don't intend to go into 'whether this should be allowed or not' or 'what's right or not' in this blog.
I assume the above information is true, and that they are leaking your information. So what now?

OOP
When I was a student in OOP (Object Oriented Principles), I was introduced to the world of objects. An object is any entity that exists in your system context. An object has attributes (which determine it's state) and operations (which determine it's behavior). OOP also included important terms - 'encapsulation' and 'information hiding' which allowed these objects to be in full control. They were responsible to safeguarding their state. I'd like to treat each individual as an object and apply encapsulation and information hiding on him.

Private and Privacy?
Which information is considered private? While one considers information about his family 'private', the other says that it's his 'credit card' and 'bank-account' information, and a third his 'religious beliefs'. The content of what's considered private differs across cultures and individuals. Privacy is the ability to protect this information and reveal it selectively.

Designing the Private
Tricky and complex as it may sound, it's actually not that hard. Yes, it would not be possible to construct a generic, true-in-the-world-context model, but a simpler form is very much conceivable. Allow me to paint the following picture. Since each individual is his own judge to what's private to him, it's not difficult to build a simple object diagram with this information. Something along these lines..


This achieves two things - makes you think what's private to you and makes you aware what you'd like to share with these websites. I believe that self-awareness is already a victory achieved.





So the next time you come across a news article on a privacy leak, you know you have your list with you!

Tuesday, March 8, 2011

Identity Crisis


So many applications, accounts, memberships! So many credentials (usernames and passwords) to remember! Sigh!

What do most of us do? Try to secure the same username for every account, have a list of favourite passwords and use them in succession. Try to maintain the account credentials either as a piece of paper with copies spread across to (secret) locations or as a little, local Excel sheet called ‘My Accounts’ or ‘My Passwords’. Some would complain about the security of such sheets and would rather save them under password protection or use a software which encrypts your accounts and stores it safely.

Here are some ideas which can make remembering passwords fun:
1. Memorize passwords as sentences - Like the sentence ‘The quick brown fox jumps over the lazy dog’ could yield a password ‘tqbfjotld’ formed by the first letter of each word. If you run out of sentences, use songs, poems. Now that is fun!
2. Passwords belong to a theme - You could build your passwords from certain themes. These themes could be anything from books, characters in movies, names of movies, art, etc. The more specific the theme gets, the harder it is to crack the passwords.
3. Build a robot which remembers your passwords for you - Not kidding here. I know someone who uses this option. Also fun!

Back to some basic questions: Why do you need an account or have to login into a software application? What happens on login?  The answer lies in two words: Identity and Access. Typically a software application comprises of certain functionality which is rendered to the end users. Access to this functionality is typically driven by the user’s role. The application therefore needs to identify the user, determine his/her role and grant access. For example, in a banking application, front-desk users might have access to submitting an account request, checking account status; while a back-office user could have access to creating accounts and a manager the access to generate & view reports. Although it’s the same application, different users based on their roles access it differently.

Can identity & access management be made simpler?
One cannot do away with accessing all those applications, but it certainly can be simplified. Here are some ways:
1. SSO (Single Sign On) - As the name suggests, all applications are weaved under a single sign on. An end user logs in once and is provided access to various applications falling under the SSO umbrella. This method is already implemented by organizations and is a handy way to expose local apps using this principle. Google has implemented for most of its internet apps. With one sign on and one Google account, you can access apps like Gtalk, Gmail, Gdocs, etc.
2. Biometrics - Biometrics consists of methods that uniquely identify human beings; with forms like retina recognition, finger prints recognition being the most popular. Who knows what technology brings in future, but at this current moment Biometrics is far from ideal of being used consistently, cheaply, worldwide by every software application; which makes option 1 the one to go for.

Tuesday, January 18, 2011

Motivation

When I started my career in IT back in 2004, I was a university graduate wanting to learn industry ways of developing software. The first years passed doing exactly this. Most of the methodologies learnt in the university were put to practice and I had a good feeling about this. Those were the times of ‘prime motivation’! Senior colleagues inspired me to work harder, gain knowledge and most of all have fun in developing software. My answer to college mates or fellow colleagues who would switch jobs for a higher salary was, “I’m learning a lot and enjoying what I do. I do not wish to change jobs”. Somehow these aspects always seemed more important to me and something which my fellow-mates did not always get.

Recently I read about the book ‘Motivation 3.0’ and saw one of the Ted talks on motivation. Both references prove that the ‘carrot and stick’ approach doesn’t help in getting job done faster; on the contrary this approach results in a bad performance. This approach results in people having a restricted line of thought. Projects like the Wikipedia are successful today since they bring out the best in people. People, by nature like to contribute, gain knowledge and attain mastery. Just having an environment which sees this and promotes this would suffice. Any other stimulants would not be needed. The best ideas in Google came about in the 20% free time that they have for their employees.

When I read about these, I said to myself, “Duh! I knew that. That’s common sense”. But then “Common sense isn’t that common”, one of the favourite quotes of one of my colleagues. The money-driven system is one of the root causes of the ‘lack of joy’ in one’s work today. We know that some of our needs come with a price, and often that price is our 40 hours in a week. One cannot put a price-tag on motivation. Motivation should be a continuous feeling and something which will take one through a long career. Motivation comes with the thirst to mastery, desire to do better and purpose. I know of an Indian film industry actor who refused receiving any film awards, but still is one of the most motivated fellows out there. Every movie he makes is a work of art. This world would be a different place if everyone steers or steered to making every piece of work they do a ‘work of art’!