Social Design and the Opaque value problem
July 3, 2007 at 3:50 pm | In Architecture - Design, Suggested Reading, Unsolved Problems, socionets | No CommentsNote : I blog on my personal space at riteshnayak.com/blog . This is a mirror of the content.
I read this post by Joshua Porter about the value of social networks and the opaque value problem and it got me thinking. Why and for what do we actually use web based services.
The fact that we don’t understand what value others get from social web apps is part of the paradigm of social software. The key is that each person has their own social lives, their own social circle, and thus their own social values. What is important to their social life will almost certainly be unimportant to us because we have our own to worry about.
Think of it this way. Each person has their own social network. Chances are that social network overlaps very little with yours. If, say, that person wanted recommendations for watching a movie, they might turn to their social network, which is made up of their family, friends, and colleagues. They would ask these people, the people they know and trust, what movies they recommend.
Now, would you turn to the same social network for movie recommendations? Of course not. You trust the people you know…your social network, and so any of the chatter from their social network has no value for you. It’s meaningless chatter. Just like most people’s Tweets on Twitter. In a larger sense, this opaque value problem affects most social software. Twitter, MySpace, Facebook, most social software is built around providing personalized, socially-focused conversation. It’s person-centered and as a result is difficult for anybody but that person to really appreciate: the value becomes opaque in this way. Designing social software is going to be very difficult. The designers won’t be able to put themselves into a position of someone who wants to keep up to date with their social network, which is something that all of these sites are doing.
Social Design by Joshua Porter
What the excerpt from the original blog clearly states is that a person using a social software has his/her own reasons to do so. The fact that the others don’t know what value the other person sees in a social network is the entire basis behind social software. I may log into myspace to chat with my peer group, but I dont know what my friend X does in her network, so what do I do ? I snoop around their profiles and walls to get a glimpse of their world coz her value from the network is opaque to me .
The goal of social software is evolve from this paradigm to a more productive one. Efforts are on to make social software enter the productivity space and that too with good success. Based on all of these observations, how do you design for a social concept. How do we actually add value to the users ? Its not easy to please everyone, but at least if the majority is kept happy, you can be sure of winning product.
Selecting a good theme for your blog
July 3, 2007 at 3:41 pm | In Suggested Reading, Tips,Tricks and code, Web 2.0 | No CommentsNote : I blog on my personal space at riteshnayak.com/blog . This is a mirror of the content.
Past couple of days, I have been trying to pick out a new theme for my blog and have made a small checklist of things needed to make the decision more simple. I had been running a really pretty theme which somehow seemed to hamper the entire readers experience, So I picked this new one. Its not just me speaking here, it was the stats that showed bounces from the very fist page. Also since the number of pages /visit also had dramatically reduced ever since I shifted to the new theme, I decided it was time for a revamp. These tips that I will list below can be applied to almost all websites with respect to its usability, accessibility , information etc.
– Information : People come to your blog for information. Its very depressing if you cannot find what you came looking for. Its also more likely that if they do find what they were looking for, they will stay a little longer on your blog and may even acknowledge your effort with a nice comment. So what should you do ? make sure your content is well placed and is of good typographical quality. Avoid typewriter like fonts, they are old school. Use more rounded fonts that don’t need any anti aliasing. The position of the content is also extremely important. The content must always occupy the majority of the real estate on your blog.
– Load time : Its easy to get carried away with themes that are very glossy looking and also have dynamic refreshes and complex javascript. People!! readers don’t come to your blog for your template, they come there for the information. If I have to wait for 20 seconds to get 4 lines of information , which comes enveloped in about half an MB of images and javascript, then I will be might pissed. Take a subtle theme that is posh to look at and uses as less images as possible. The other problem is that the image based themes look extremely bad if the images don’t load; most of bloggers themes have this problem that none of the images load and you are left with a very ugly looking page which does zilch to visual appeal. Selecting CSS based layouts ensures that page degrades gracefully even if your images give way.
– Delivery : yes this is extremely crucial,which is why I went for a revamp. All things said, I come to your blog for content, so make sure I see it first, the widgets and other sidebar junk can come later. Its easy to get carried away with all the widget goodies available now for blogs, with those flash based embeds and scripts. But these only add to the overhead of your blogs load time. My previous theme had all the widgets on the left and the content on the right, as a result, only after all my content was loaded, my content would appear. A typical reader would have to wait for over half a minute to get a glimpse of what he actually came to read, that too, considering he had a good broadband connection. There were dependencies too- if one of those widgets were to fail , then your content would never load, which is bad. Always make sure your content is the first to load. A simple way to ensure this would be to keep the widgets and other junk on the right hand side of the content, when pages get rendered left to right, the content will appear first.
– Credentials : People like to know the credentials of a blogger while reading. I definitely would trust techcrunch against TechNayak, so its that essential to establish your blogs credentials. Solutions include a map of all your readers, mybloglog widget, stats from your blog and also brief abstract of your blog and you. Most of the times, a future employer will be reading your blog, make sure you get his/her attention. A simple description about you and your blog should just about do the trick.
– More reading material : If people like your writing and want to read more, give them some more material to read. In addition to your article that is already being read, make sure there are some click able links that point to more of your work. Internal links in your post could be a good starting point. Even better would be a related posts section that many blog providers offer, its more likely that people will be interested in reading more about the current subject.
– Feeds and syndication : feeds are growing in popularity and people are busy bookmarking and burning your feeds into their online world. Exemplify your feed URL, make it easy to access and use. There are some themes that don’t even provide RSS urls in the main page, don’t use them. Always make your feed url stand out in the clutter.
– Customize if you can : No theme is perfect , there is always something or the other that will be missing. It could be something as simple as the way your theme addresses people, instead of saying ” Leave a comment ” you may want to say ” Say a word or two ” . Make these customizations where necessary.
In the midst of all this don’t forget to have fun and blogroll. There is nothing sweeter than sharing link love.
Rules for high performance websites
July 3, 2007 at 1:51 pm | In Architecture - Design, Suggested Reading, rant | No CommentsMy recent interest in building scalable applications has led me to learn a lot of simple yet effective programming and deployment techniques, to scale and deliver web apps with ease. Its not rocket science to build for scalability but it certainly gets challenging when your app really scales you come across problems about your environment, unknown to you. Take for example our servers, since we host on shared environments our servers flush their memory contents every 24 hours or so. This is done to keep the discarded objects and dangling pointers from filling up the memory. But when did I figure this out, post deployment - what followed next was an analysis of all the problems that we were to face because of this new found wisdom. Truly, most of our so called cool functionality came crashing down like a hailstorm ( truth behind why Instant Messaging never got off the ground on Samparkh ). We did try to tailor the code and make it work, and it did too, but a problem like this requires a visit back to the drawing board. The next time we know better than to code with assumptions ; most of us aren’t lucky enough to know all about our deployment environments, so we make do with assumptions.
That was a lesson, no harm done, no money lost. But there are some applications that have to be delivered to be robust , scalable and always available. I found this article which highlights some rules for high performance website. I suggest you visit this site and read about these rules, its worth it .
- Rule 1 - Make Fewer HTTP Requests
- Rule 2 - Use a Content Delivery Network
- Rule 3 - Add an Expires Header
- Rule 4 - Gzip Components
- Rule 5 - Put CSS at the Top
- Rule 6 - Move Scripts to the Bottom
- Rule 7 - Avoid CSS Expressions
- Rule 8 - Make JavaScript and CSS External
- Rule 9 - Reduce DNS Lookups
- Rule 10 - Minify JavaScript
- Rule 11 - Avoid Redirects
- Rule 12 - Remove Duplicate Scripts
- Rule 13 - Turn Off ETags
- Rule 14 - Make AJAX Cacheable and Small
Job rotation in IT
June 6, 2007 at 12:00 pm | In Suggested Reading, rant | No CommentsNote : I blog on my personal space at riteshnayak.com/blog . This is a mirror of the content.
Thanks to Nishant from office, I got this great article from Forrester Research about job rotation in the IT industry and why it makes sense. I don’t really know If can put these things up on my blog, but I shall do it anyway ( apologies Forrester, its for the betterment of mankind) .
I am a firm believer of job rotation in companies. Its just human nature that people tend to get bored of their jobs after a while and they need some change. My parents tell me Im too demanding and that jobs aren’t meant to be that way, but I tell them they are a generation old. Our generation is a bunch of knowledge hungry folks who cannot watch a television channel for 5 minutes straight. Good or bad, we have been nurtured in an environment where we have a choice in everything, right from our breakfast cereal to our television channels, we take pride in the right to choose. Add to the fact that our quality of jobs aren’t really that great which only enhances our boredom at work.
My friend Hardev, while working at GE, told me about their intern program and how it was spaced out over a period of 2 years or so. The program essentially exposed to various types of jobs , right from technology to marketing and after two years or so, let you decide what you wanted to. The program in itself was nice because it gave you the opportunity to get a first hand look at what and how you do the various roles that you see everyday and also let you decide based on your experience where you would fit best. Although many companies cannot afford to encourage such programmes, I think steps towards such an effort will only help build confidence, increase employee loyalty and increase productivity.
Forget freshers, even experienced people need a change sometimes. Its an understood fact that once your learning stops, your interest and motivation levels drops exponentially. With our job quality being so low, how do you expect an employee to stay interested in his/her job for endless years. Job rotation only makes the job more challenging, more interesting and also has many other positives to it. I shall stop here and let you read the pdf.
Implications of OpenId
June 6, 2007 at 11:58 am | In Suggested Reading, Web 2.0 | No CommentsOpenId is becoming bigger and more widely accepted as a worthwhile solution for the multiple account -multiple signon mess. Many services are accepting OpenId authentication for their sites. Even popular portals like Digg have moved in support of OpenId. I found thi great presentation by Simon Willison on Implications of OpenId which I think should be mentioned in this blog. Thanks Simon for the great presentation.
Javascript Frameworks - the complete which, what and why
June 6, 2007 at 11:45 am | In Suggested Reading, Tips,Tricks and code, Web 2.0 | No CommentsFor years people have been asking me a ton of questions about Javascript libraries - whats that ? why should I use one ? Do you think Im a fool ? Which library do I use , if I have to ..yada yada yada. Well I was more than happy to find the ultimatum in the subject. One of the best introductions to javascript frameworks with all the necessary indications about what to use and how. Thanks to Simon Willison and his presentation.
Click here to view the slideshow.
If you really want to use these libraries, then I suggest Dojo and YUI, both are well documented and have really cool features. You can find the Dojo Documentation here and YUI docs here.
Is universal search the right answer ?
June 6, 2007 at 11:40 am | In Suggested Reading, Unsolved Problems, rant | No CommentsGoogle unveiled their universal search page for their search results, basically a page where you get more than just web pages, you get blogs, pics and videos even. But this is my question - is the concept of universal search even possible ?
Penetration of user generated data into spaces like technology and entertainment have been exponential. Every person who wants information on code and solutions looks up forums and blogs but there are certain niches which are still firmly controlled by the creators like astro physics and rocket science ( pun) . Now when we have such a divide how can we make sure that universal search is actually delivering to its full potential. The primary criteria I guess is to put the search query in its proper classified subset. By this I mean, if I search for a topic that has more material in a blog than a wiki or a full blown site, then how will the algorithm know its relevance. Ranking clearly fails in these conditions and its pretty evident.
The second biggest problem is of course, the real estate. What I may be looking for may not turn up in the first search result and with most of my observation people don’t like shifting pages to more results, they decide to change the query instead. In that minimal screen how will you fit in the right contents based on the rank, relevance, semantics and many other jargons that even I, haven’t heard of. One thing clear though is you need to mine.
Mine data from the users, their previous search results, probably from the one place where they have disclosed something about their life, their interests, hobbies etc - Social Networks. Even the real estate management should change , there should be a new scheme of viewing results for a query, probably a tag based scheme that can subdivide the query into many groups and subsets of relevance and then refine it on top of the tags. It requires a change, in peoples usage, which is a dreaded de-motivator , but tags started the same way and its doing pretty alright in sites like flickr and del.icio.us.
The concept and implementation of web search is still unexplored and untapped. There are a wealth of things that can be done and I have mentioned a couple above. Semantic web could solve some major problems, but its still a long way away and more time means more space for innovation.
in10 my latest foray
June 6, 2007 at 11:39 am | In Suggested Reading | No CommentsFor long I have been amused about the concept of the most simple to use libraries, services and code that can be used to our advantage. Some are so simple that it takes less than a couple of minutes to actually get a result that would have probably taken days to achieve. Since I was coming across such useful pieces of technology, I thought why not write an exclusive blog for these under 10 technologies. And so in10 is born .
Url : http://in10.wordpress.com
Feed : http://in10.wordpress.com/feed
Silverlight - Expectations and more
June 6, 2007 at 11:37 am | In Suggested Reading, Web 2.0 | No CommentsI read some wonderful articles about possibilities with Silverlight and trust me they are tremendous. The CLR integration, the browser independent mode, the seamless brilliance in video delivery and also easy to build tools will probably make silverlight a leader in its own right. I shall not blabber anymore and quote from some other articles .
The video handling capabilities of SilverLight are impressive. During MIX, there were several demos showing multiple video streams being shown in one application, many of which were in motion and had various types of masks. The demos looked great at MIX, but what surprised me most is that they looked just as good on my 3 year old desktop at home and the applications were surprisingly easy to build. This is one area where SilverLight is definitely going to be the top dog.
The other great feature about SilverLight is the CLR integration. The in-browser CLR extension allows access to almost the entire .NET framework, from a client side app. It also uses XAML, the same presentation markup as WPF for the desktop. It’s nice because Microsoft isn’t trying to force developers into a new language. It’s also nice because it makes for a much more robust development experience than working with AJAX or even Flash.
My personal opinion is that Silverlight is great and that Microsoft have done very well to bring .NET to the browser (almost all browsers). What will be interesting to follow will be designer adoption of Expression Studio (as Adobe is heavily entrenched here) and then consumer adoption of Silverlight. There is no doubt that it will take time for Silverlight to hit the browsers and it is up against Flash which is deeply entrenched - but the barrier to delivering a new plugin to browsers is nowhere near as high as most users will trust Microsoft as the publisher of the plugin and will install it. I also expect that Silverlight will get distribution through Windows Update and Microsoft’s own applications (hotmail?).
I’m glad we waited to write. Nik (a long-time developer) was most impressed by how small Silverlight is (4 MB) and how fast it is (it blows away native Javascript routines - without exaggeration, Ajax looks like a bicycle next to a Ferrari when compared to Silverlight).
The news today about Silverlight is significantly more thoughtful. Microsoft-hater Steve Gillmor gives it a thumbs up and says “the engineering behind this is stunning.” Robert Scoble, who’s angry at Microsoft for not giving him a free pass to the Mix event, says “Microsoft “rebooted the Web” yesterday.” The list goes on
what more could I possibly say. Yes , I did write about Silverlight before MIX, thats something I guess.
Suggested Reading 2
April 19, 2007 at 10:18 am | In Suggested Reading | No CommentsAnother set of links that I feel are worth a look.
Are web interfaces really good enough compared to desktop interfaces ?
Choosing the right Ajax Framework for your app
Web 2.0 - End of Innocence - By Om Malik
JSON and browser security some tips
Improving you web application performance - parallelizing downloads
Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.

