Vijay Krishna's Notes http://vijaykrishna.posterous.com Most of my notes as a student of computer software and everything around it. posterous.com Mon, 18 Apr 2011 11:04:15 -0700 Makeovers http://vijaykrishna.posterous.com/makeovers http://vijaykrishna.posterous.com/makeovers Roughly a month ago i was hard at work, against time time and energies to integrate a whole new set of changes in the services with the UI. It was crazy to put it mildly and it was one huge chunk and it was evolving everyday. The whole transition to the new changes took a new 5 days to come to stable grounds. After i was done, i left for a week long break. I knew that the changes would continue, even from where i left off. When i came back however, change was made in virtually every way the application was conceived to begin with. The changes resulted in a drastic makeover and i was in no state to even comprehend the new dynamics of the business that were introduced in the software. I was truly lost. Makeovers are a part of any developmental process. But the big question is if they should be. At least by definition, they should not. A makeover is something that has to come after the development phase is over, instead of being a part of it. In the world of software, where the work and the daily text is  adorning the guises of programming languages, understanding the changes becomes even more difficult. One might argue that this is a common feature of any profession and is not specific or more so in the software world. But i tend to disagree here. Not because i am a part of this Industry of Logic, but because as a proponent of logic i can not help but notice that this industry is still young and is driven by a truly illogical set of rules and frameworks. The code that every one seems to write is more art than clerical form filling. Every one has their styles and hands at coding, like i have discussed this in a previous post. And this being a primary occupation of solving problems, and varied paths may be employed at solving the same problem, the diversity of the work in front of you increases, especially in terms of solutions. So, when you sit down to try and understand what has happened to an existing project, especially one which you worked on, you will find it extremely difficult to comprehend or rather accept new ideas and the general change that has come about in the system. In most software development that i have seen taking place around me, the makeovers are in the form of incremental changes taking place over an extended period of time. True makeovers i think should be a total change of any system ground up. This is a true harbinger of complexity in any system. Such makeovers only complicate the whole process of getting acquainted with new systems. i do not claim that what i have seen or heard of is the general nature of makeovers in any field or profession. But makeovers should, in my opinion, be implemented when one attempts to make something simpler, faster and lighter. This implies a rewriting of the script which may result in an initial failure of the system with its new face. Nonetheless, it should not be avoided. The price of getting better at something is imminent failure, but often that is also its reason in the first place.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1369599/pic.jpeg http://posterous.com/users/hcGXxsTkwP6SS Vijay Krishna Palepu vpalepu Vijay Krishna Palepu
Tue, 08 Mar 2011 17:15:58 -0800 More Options to the User - Elements of Interface Design http://vijaykrishna.posterous.com/more-options-to-the-user-elements-of-interfac http://vijaykrishna.posterous.com/more-options-to-the-user-elements-of-interfac This was really a sub point in my earlier post which dealt with the basics of Interface Designing in general. But then a good friend of mine, who also happens to be a fantastic software test developer, asked me this and so i decided that i should elaborate on the point in a more details manner. Here is the excerpt out of that post which directly deals with this post:
Q. How much of a choice should one provide the user with? A. The answer is optimum. If you give very few choices and options, you are providing the user with a under functioning UI. If you give too many choices then the chances are that the UI is going to turn out to be very cutlery. Something you do not want. But, more than that, there is another peril lurking in the dark. Say you have provided your user with 5 buttons and only 5 chances to hit any button, then there are 5^5 ways in which he can use those buttons. Imagine what will happen in all those cases. Think of how will handle all of them and what will happen if one were to increase that number even by 1. Prioritize your functions just like your data and information. The priority of your information depends on your users, the priority of your buttons depends on your information.
Now, the question that was asked was quite simple: Is it a good idea to reduce the functionality you give to the user to make the application more User Friendly? Well I will have to say that the answer to that question is obviously no. Simply because, more the features the better is the application in terms of its feature set and hence, a happier user. Of course, it goes without saying that by increasing the feature set, you are making your application that much more unstable. You will actually require well written code and logic to substantiate it. So the issue is not really a user experience issue but a coding and software development problem. And many a times there will be situations where you cannot keep simple and straight forward UI's. The business will require you to complicate them. Sometimes, even if a simple alternative were viable with a more optimum number of features and choices, you would still be forced to come up with the same clustered UI simply because the client might be used to it, and may not want to change over to simpler and better things. Hence, at some point or the other there will be times when complicated coding, followed by a sophisticated bout of testing will have to be done. And that is the bad news. Having said that, here is the good news. The choices and features that we give to the user, need not always be interdependent. In case they are, then you have no other alternative but code and test out of your skins. But, if there is a way by which you can keep the interdependencies, at a minimum internally then life will get a lot simpler for you. In case the dependencies cannot be avoided, try minimizing them or concentrating them to a single interfacing point with in the code. For instance, most of such data dependencies can be taken up at two instance, such as the beginning, while the UI is loading, and while the user is exiting that view, i.e. at the end. So, you are creating a single data pathway, through which the data will enter and exit, at which point you will resolve all your dependencies. I will still say that it is best not to give the user too many options no matter much the usability improves, and improve it will. "Why" you ask? Simply because, once you walk down that path things will only keep getting more complicated for the coder, and more enjoyable for the user. And there will come a time when the system will get too unstable to manage and maintain and the user will be in love with such systems due to its usability but will frown when the bugs come crawling out. I have really painted an ugly picture here, by giving a worst case scenario. In most projects as far as possible, systems are made simpler and better than their predecessors. Even the end users are willing to accept new ways of doing things. It is at such moments that we should make the best efforts to simplify things.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1369599/pic.jpeg http://posterous.com/users/hcGXxsTkwP6SS Vijay Krishna Palepu vpalepu Vijay Krishna Palepu
Sun, 13 Feb 2011 18:28:38 -0800 12 Months of Persistence http://vijaykrishna.posterous.com/12-months-of-persistence http://vijaykrishna.posterous.com/12-months-of-persistence aitoss.net/commons This is what 12 months of pure persistence has resulted in. What started as a simple suggestion by Tosif Ahmed AIT computers 2008, (currently in Edinburgh University, UK) has come to that link above. He suggested this to me and asked me to set up the team. I called in Karan, Akshay, Nikant and Prince all seemingly capable people in web development, eager to learn and build something new. After a month of work, i think that was the time period, Paritosh joined in. He was brilliant at generating the right content for the site world right from the word go. Prince and Nikant were just good at learning something new at a very rapid pace. Karan and Akshay employed their skills at Photoshop and Dreamweaver. Late nights figuring out the structure of the site, living on caffeine, generating content, brainstorming on the organization of the site. It was fun. Here is a picture of us, which we took for the college magazine, Srijna 2010. I think this was around April. [caption id="attachment_251" align="aligncenter" width="363" caption="The Website Team, April 2010 (LtoR): Vijay, Nikant, Paritosh, Prince, Karan, Akshay"]
Media_httpvpalepufile_bvpgj
[/caption] After I passed out new people joined the team, the Web team as we call it. Pallavi, Nitika, Avinash & Sandeep. It seems a lot has happened over the last 8 months or so. The team finally made a bold presentation to the HOD's meet in the college and they were well received. We have come this far and hopefully the 24th of this month should be a day of success. May God be with us and may this site see the first ray of the rising Sun on the 24th!

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1369599/pic.jpeg http://posterous.com/users/hcGXxsTkwP6SS Vijay Krishna Palepu vpalepu Vijay Krishna Palepu
Sat, 22 Jan 2011 18:18:22 -0800 Change the World or go home. http://vijaykrishna.posterous.com/change-the-world-or-go-home http://vijaykrishna.posterous.com/change-the-world-or-go-home
Media_httpvpalepufile_ioxnc
 
The Blue Monster @ Microsoft
Scary? Don't be. This is what you will find on a few doors at the MS HQ. It can be interpreted in many ways. But, I chose to interpret it in a manner i will never be able to understand. Changing things is a very difficult thing to do. Changing the world is almost impossible. For most parts of our lives we end up trying to solve tough problems and manage to make the best sense of what life is, in our own context. To speak specifically about coders, they, we try to work out solutions for complex problems and feel elated about it. To be intelligent is good. But, what good is anything, if not met with true purpose. For me, true purpose is something that which brings change for the good. Something that makes lives better. Something that inspires me to do more, that which i am already doing, not because i am good at or need to be better at it. Instead because, it brought a smile to someone's face. While i was being an intent listener, someone today told questioned the point of doing research if one has to watch its results from one's grave. And i asked my self what would have happened if every great discovery or invention was viewed with such contempt. I do not hope or expect to effect direct change in some life in the poorest corner of this planet. I hope that what i do today, hopefully be used to change things in this world. It is with that simple idea that i wake up every morning. This was an abstract post meant to ask you one simple thing as a coder and a person of science and technology: What have you done to change the world around you? And how did you use technology to do it? Still thinking? Worried that whatever you have done was of no use but yo your own self and no body else's? Scared? Don't be. Because, it is ok to be like that. It is ok to be intelligent for your own next increment in pay. It is ok to be who you are. Change is difficult. Unless of course, you want to change and that is a start.

Permalink | Leave a comment  »

]]>
http://files.posterous.com/user_profile_pics/1369599/pic.jpeg http://posterous.com/users/hcGXxsTkwP6SS Vijay Krishna Palepu vpalepu Vijay Krishna Palepu