Friday, September 13, 2013

Measuring Experimental Compliance

I came across this question on Cognitive  Sciences Stack Exchange and I thought it was pretty interesting.

How can experimental compliance (willingness of participants to participate) be measured?
I would like to have a measure for how willing and eager participants were during an experiment. I have the intuition that their eagerness to comply will profoundly alter results of psychological and even psychophysiological experiments, but I lack a good way of experimentally quantifying this. 

After giving this some thought, I felt that by applying a combination of techniques based on the learnings from obedience experiments as well as those on cognitive dissonance, it was possible to develop a technique that could reasonably measure experimental compliance.


Cognitive Dissonance at work.
I finally ended up with this:
A method that could help increase both experimental compliance as well as quantify it could be as follows: 
  • Take a quiz to measure subjects' self-perceived levels of obedience
  • Perform experiment normally
  • Take another test to measure current self-perceived levels of obedience
Although the initial test may significantly alter levels of compliance as questions on obedience will prime subjects' to be more compliant, the initial data, if looked at with the post experiment tests results, will give an accurate picture.

Why two tests?
The first would help in measuring their attitudes towards authority and general obedience that they believe, they hold. This may be highly inaccurate as has been observed in many experiments, most famously the Milgram Experiment, where less than 10% of the subjects were able to correctly predict how far they would go.
The second one would be a measure of actual behavior during the experiment. The results of both can be interpreted as follows:

1. If the attitudes and behavior did not match, that is, subjects first rated themselves as obedient but were less than compliant during the experiment, then they would be experiencing cognitive dissonance in the post-condition test. Hence, their second results would be higher and incorrect. In fact, their actual levels of compliance would probably have been even lower than initially predicted by them.

2. If attitudes and behavior match, then the post-experiment results could either be the same, or slightly lower than the pre-experiment results depending on the individual.
  • If they are the same, then the individual complied to the fullest extent possible with experimenter.
  • If lesser, then the subject complied with the experimenter to the maximum extent (s)he could justify to himself.
In either of these cases, the real measures of compliance would be the results of the second test.

What to test?
The tests should contain questions which are indirect and mixed with other questions. These should be asking about general situational obedience such as when being stopped by a cop, or being approached by a formally dressed executive in a company office.
The post-condition test could be more direct and ask specifically about the test.
Lastly, this would be most effective for experiments which involve an experimenter actively conducting it, thereby creating the maximum chances of dissonance in individuals who did not fully comply. This would allow for most accurate result collection.

Of course, hard to say how effective this would be without experimenting. I would love to hear back from anybody who gave this a shot!

Saturday, August 24, 2013

The Communities of Stack Exchange

Stack Exchange sites are considered by many new users as being anonymous and faceless, when they initially start participating. This happens pretty frequently on Stack Overflow where a significant number of users tend to receive a fair bit of (well-intentioned) feedback and criticism. I had, as well, received some criticism on one of my first questions on Stack Overflow. However, in the months that followed and as I started getting more involved on the site and on the Network, I started to see some pretty distinct and interesting communities and sub-communities (Why? Because I love social psychology and networks). I even participated in the formation of two new sites (Alright, the second one failed but 1 out of 2 ain't bad).  

As I got more involved, it started becoming very clear that there were different types of communities that existed and this varied from site to site. Some sites have users who know each other personally, and this tends to show on the conversations that take place. Some sites are totally professional, and this is again obvious by the type and quality of comments on main and discussion on meta. However, going through a 100+ sites one by one is not what I had in mind for this post. 

Even though the Stack Exchange Network consists of many sites each of which is so different from the rest that its hard to look at every one through the same lens, lets try to look at sites by classifying them based on age and traffic which matches up pretty well with the type of communities that are present on said sites:

SOFU (Stack Overflow, Super User, Server Fault)


Each of these were part of the original group of sites that were launched and are pretty huge compared to the rest of the Network. On these sites, there are many sub communities that exist, some of them being around tags, and others being around overall site moderation.

Communities around tags generally consist of users who are active in asking and answering questions related to the technology covered by the tag. These communities tend to consist of experts and some new users. Most new users on these sites are of the drive-by variety; they ask a few questions distributed over a long time. Hence, only the most regular users tend to become a part of such a community and once users get recognized, things get pretty social and friendly. Some tags have chat rooms associated with them where the community members hang out and socialize, the most popular ones being the Lounge C++ , Python and PHP. These communities are very hard to find and recognize, even more so, if you are an "outsider".

The second type of community that forms is around site activities and moderation. These users are almost always present on meta, in chat rooms and can be found in the review queues with high frequency. Here communities tend to form around expertise about the site and the way things work, and always consist of the Community Moderators. These users are the ones who will be at the forefront reporting bugs and asking for features, providing support and clarifying odd system behaviors. They will also be the ones most frequently closing, deleting and downvoting posts. Essentially, this community is the one which faces most of the wrath and anger (of which there is a lot) of users who do not understand the platform and they are the ones who invest the maximum time ensuring things work correctly (Some might argue too much : How do I participate in Meta Stack Overflow and not die trying? a Q&A by the moderation community on becoming a part of the community). 

The tag community (-ies) ensures content keeps being created while the moderation community ensures expected standards are being upheld. Both work together on the high volume Stack Exchange sites to make them a success. (There are overlaps between the two)

Graduated Sites 


These are all the SE 2.0 sites which have passed the beta phase and have proven that there is an audience interested in participating and maintaining it. As these sites are very specific in terms of domain, there are very rarely any distinct tag sub-communities unlike what is seen on SOFU. Hence, there is just one big user community and a moderation community. Moreover, the division between the moderation community and the user community is blurred. There is a large overlap between the two however, there are subsets of users who still belong almost exclusively to one side. These sites have much smaller communities consisting of less than 200 users where most users know everybody else within their part of the site (or in their community).

Beta Sites 


These are the sites which are in beta and may or may not stay online at the end of their beta periods. On these sites, there is just one community and almost never any sub-community (unless the site is nearing graduate site size, in which case the above description holds).

Depending on how far the site has progressed, such sites may have a community of 10 to 50 users. These sites are generally built around very specific domains and hence, there is not much room for tag communities. Also, the volume of activity is low, which means that there is no need for a specific moderation community. Therefore, these sites have one community consisting of domain experts, newbies, user moderators and Community Moderators. In my opinion (which may be biased), this type of community has the highest degree of cohesiveness compared to the rest. Everybody knows everybody else; the community itself is extremely visible, and the presence (or absence) of every member is felt and seen.



Also, on a platform that discourages socialising, there are some other patterns that can be seen. Users are rarely known by their popularity or by a few popular posts, but rather, are identified through consistent participation and visibility on the site which is an entirely different ball game compared to any social network. See the reasons mentioned in my blog post discussing Stack Exchange ideology.

Does any of this imply that SE is less social and/or unfriendly? It depends on where you are and how involved you are. As much as I would like to say an outright yes, that's not the case. However, we cannot generalize over the entire network, but we can attempt to look at some common trends that exist between similar types of communities.

User communities (discussed above) tend to be where people know each other only through technical participation and prowess and hence, these communities are more about content and technical experience rather than socialising. So, yes, domain specific communities may be less friendly and welcoming.

Coming to the moderation communities, because of the very nature of participation, the amount of socialisation is high. While SE may not have any social networking features, users who are a part of the moderation community almost certainly interact and socialise with each other through chat and/or through external platforms. So, these communities are as friendly and social as any other network. The only difference is that people tend to act a little more professionally than they would on Facebook, and hence it may appear that its all about work. Who am I trying to kid?

Beta communities are very special on this front and cannot be lumped with either of the two above. Beta communities are extremely friendly, welcoming, helpful, and (in some cases) social. The proportion of positive discussions and debates on such sites is much higher than other sites and hence these are comparatively more social.

Beta Communities are in their formative stages and there are no existing community (social) norms. Hence, every new user can shape the way they turn out. If you feel there is a need for change, go ahead and bring it about!

That brings us to the end. Finally, this is me! 
profile for AsheeshR on Stack Exchange, a network of free, community-driven Q&A sites

Wednesday, June 19, 2013

Fitocracy : The Fitness Nation!

Official Logo
Fitocracy is a new and fast growing social network for anybody interested in staying fit. The site was created by Richard Talens and Brian Wang, and was launched in February 2011. Fitocracy is valued at 4 million USD.


Fitocracy has an extremely vibrant interface with positive feedback instilled in every action loop. The system is heavily gamified where every workout gets you points and achievements get you badges. The points system is a simple implementation of experience points. The network is extremely social with a lot of motivation and positive interactions. It is growing pretty quickly as it has over a million users who form a diverse userbase all the way from geeks to gym trainers.


One of the positive impacts of gamification is that it causes behavior change. A simple extrinsic motivational system of points and badges can make the even the most mundane or the most difficult activities seem possible and engaging, that too, on a regular basis. In the case of exercise, depending on the individual, users have many different types of motivation for doing it.  Some may be motivated by family, some by the possible health benefits, others by targets to achieve.


Points Tracker
It varies across the entire motivational spectrum. However, where Fitocracy succeeds is that it tries to capture and stimulate each of the different types of motivations through their system. By doing this, they allow users to themselves traverse through the motivational spectrum to stronger forms of motivation, or to simply increase the intensity of their current mechanisms. This over time, leads to the establishment of patterns and behaviors such as stepping out early or using the stairs in your office (points!). Fitocracy is one of the best uses of gamification that there is and it is doing so in an effective manner.

The points is finely grained and dynamic. Finely grained, as it (tries to) cover the entire spectrum of exercise types. By allowing for diverse activities, all the way from Yoga to canoeing, it allows users of diverse interests to log in their activities. It even gives users the option to explore and try out different exercises in the process. Giving users meaningful choices, is an important part of a gamified system. Moreover, there is the feature to create and save routines as per your needs which gives the much necessary control that users require. Autonomy is another basic aspect of gamification and Fitocracy provides it pretty nicely.

The Neighborhood Fitocracy Bot
Coming to the interface, it just reeks of fun. This is extremely infectious as most users also respond in a similar fashion! All the animations used, especially the Fitocracy Bot, are designed to be simple and happy.

The icons that are used all over the site are colorful, clear and seem exciting. The system feedback is not drab or like what you would expect from an application. Each message is motivating and forward-thinking. The UI buttons have not been left behind as well. Take a look at the Ok button.

Yes. You are.

Yes. Thats how cool the system is.

I have been using it for a week and I am pretty happy to say, that I have been manipulated, to get up and go out for a run every day! This is one gamified application, getting addicted to which, has lots of health benefits (unless you actually are into exercise).

Friday, June 14, 2013

Gamification @ Stack Exchange

Now, that we know about Stack Exchange and Area 51, lets skip to the main part. The Gamification Site Proposal finally went into the commitment phase. It has been moving along slowly, but if speed is any indicator, then slow is better than fast.

The topic of the proposal is gamification. Gamification is a buzzword which means the use of game elements in non-game engagement contexts. The term, however inaccurate and incomplete, will stick, as most of the work being done, and there is a lot being done, on the field already references and uses the name. Gamification has spread like wildfire over the past few years and will continue on an upward trend till 2016 after which things are expected to slow down. There are a huge number of designers who develop gamified applications and a significant number of people who are treading into it for the first time. The gamification course on Coursera has had a total of 19000 individuals complete it with greater than 70% marks. Add to that the number of professionals already working on gamified systems, and you get a significant number of internet using gamifiers.

What is missing from here, is a single collaborative knowledge sharing resource where developers may collaborate with researchers and work on their problems. A place where professionals may interact and discuss the principals of the field. What is missing is one Q&A site that deals with all of the issues of these diverse user groups. Herein comes gamification.stackexchange.com.

The creator of the proposal is himself a professional of the field, Ryan Elkins. This shows that there is a space to be filled. Also, the 10k Courserians that complete the course everywhere have nowhere to go and discuss once the course gets over (the course forums are cleared every session). Gamification.SE can be a home to many of them as well.

All in all, the user-base is real and vast, and there is no major competition nearby. Excellent conditions for the site to come out strong.

Coming to the scope, the site would cover the psychology that is involved in gamification, along with design and user experience. All of these is technically on-topic on other sites, but at less than 4-5 questions on gamification per month, it is safe to say, that none of the sites would have a problem.

So, what are you waiting for? Register your support!

Stack Exchange Q&A site proposal: Gamification

Sunday, June 9, 2013

8 Weeks of Gamification

Coursera, the biggest MOOC provider on the internet, has a course on gamification.

You get this for completing the course.

The professor teaching the course is Kevin Werbach of Duke University  The course just completed its second run this May. This course is rather rigorous compared to some of the other courses on Coursera. It consisted of three written peer reviewed assignments, four quizzes and one exam. It had a lot of guest lectures from professionals in the field of gamification like Amy Jo Kim, Bing Gordon, Daniel Debow and Susan Hunt Stevens. Overall, it was an excellent course that made you think and work. The lectures by themselves are not too heavy or theoretical but are loaded with examples and analogies that make it easy to understand and apply the concepts.
Kevin Werbach. Rather excited.

I started the course in the beginning of April, same time as the official start. The first two units were pretty basic and provided an overview of the concepts. I started to complete the quizzes and assignments within the deadlines. The first quiz was an easy 5 mark affair which, as Professor Werbach later mentioned, was intended to be part of the onboarding process. This was in the first week itself. It was easy and I think most people would have gotten the full 5 marks. In the second week, things got a little harder as we dived into some specifics of gamification. Next, came the second quiz and the first written assignment, peer reviewed. This is where the fun began. The second quiz was slightly tougher and rather interesting. However, the written assignment, even though short, tripped up quite a few people. I am not sure whether it was because of the difficulty or misinterpretations of the question, but overall, a lot of people messed up.

In the third week, we delved into some basic psychology. This was very interesting as we explored the reasons why gamified systems work, and what the focus should be. Now, came the third quiz and the second written assignment. These both were significantly tougher and a sign of things to come. The quiz was rather conceptual and required a bit of analysis and application beyond simply what was discussed in the videos. The assignment was also significantly longer and tougher as it dealt with designing an entire gamified system and justifying the different elements by correlating them with motivational theory. Now, if you were attentively watching the videos, then this assignment could easily be aced. However, because of the peer assessment process, it was important to write a good assignment but not an exceptional or unconventional one. Many people who went with unconventional approaches to attempting the assignment ended up with really bad marks. It wasn't that their assignments were not good, but simply that, one, a large part of the students  had English as their second or third language, and two, nobody really has the time to sit and decipher your assignment. Hence, I would strongly advise to write a simple conventional assignment using bullets, headings and clear simple English.

Now, we came to the second part of the course. Week 4 dealt with the technical and design aspects. The primary focus was on the Gamification Design Framework based on the Gamification Design Document is made. This week, however, was somewhat light with just one quiz to submit. Again, moderately difficult but easy to score in with a bit of smartness. What came in the beginning of Week 5 was the real challenge. A mammoth 1500 word written assignment. I wont give the details to spoil it for you, but trust me, this was tough. This one was long, required a lot of work and research. The time given for this assignment was 2 weeks, and quite rightly so. I did it in over the last three days and got full marks, but I wouldn't advise you to do it like this. My assignment was not very good, irrespective of the marks I got. I would have done better had I started it on time. Hence, set out sufficient time for the assignment and work on it throughout the week. The Week 5 units dealt with specific application areas of gamification such as enterprises and designing for social impact. Week 6 had the last units which dealt with advanced topics. 

Finally, most of the coursework was done, with just the final exam left to conquer. This was in the seventh week of the course schedule. As per Professor Werbach, the final exam was not hard, but according to everybody else, it was. It focused more on the second half of the course, but had some questions from the first half as well. If you had concentrated in the first half, then those questions weren't a problem. The real tough ones were the ones' based on the last few units. Most of it was application based, and rather technical when it came to the different concepts of gamification. You needed to know exactly what was what, else you could mess up significantly. The marks on this varied over the entire spectrum from what I could gather in the discussion forums.

With this, the course came to an end and Professor Werbach signed off with a course stats video. This course performed similar to most MOOCs with a slightly higher retention rate. In this run of the course, a total 8000 people completed the course with marks greater than 70. I was one of them with 96.6%.

In summary, some of the things you should do throughout the course :
  • Watch the conceptual videos carefully. The ones discussing applications can be taken somewhat lightly as it is based on how much you understand the theory.
  • Either have a good memory, or watch the course videos multiple times. You could also just make notes along the way, and make tings simple, but whats life without procrastination-induced challenges? 
  • Make sure to get good marks in the quizzes as the assignments' scores are dependent on the set of peers assigned to review your paper.
  • Be sure to attempt the final exam. You cannot (practically) earn the certificate without giving the final exam.
So, if you have been reading till here, I am guessing you are signed up for the course. Best of Luck!
All resources for reference only. Violations of the Honor Code are taken very seriously.

Tuesday, June 4, 2013

The Stack Exchange Ideology


One of the first things that most people relate Stack Exchange to are forums. So, lets get this out of the way first.


Stack Exchange is not a forum. 


It is not intended for discussions in the conventional sense. The format strictly discourages it and moderators have more than enough tools to control unnnecessary off-topic chit-chat. Not that they are dictators or the like.


Now, lets focus on what Stack Exchange actually is.

Euler Diagram. Not Venn.

This was posted by Jeff Atwood on Stack Overflow: None of Us is as Dumb as All of Us. It was intended to describe what Stack Overflow is, but is equally valid for all of Stack Exchange (100+ sites and counting).

Stack Exchange (SE) forms the tiny subset of this diagram that includes Wiki, Blog, Reddit and Forum.

  • Wiki signifies community action and contribution.
  • Blog signifies individual postings and contribution.
  • Reddit highlights the sharing and filtering of good content.
  • Forum signifies a part of the interaction that the site provides.

So, SE is much more than just a tech forum. SE provides an excellent format and has some strict policies in place, some of the best picks of which are :

  • Its objective Q&A
    SE does not accept discussion oriented or opinion oriented questions. These are kept away from every SE site like the plague. The format is specially tailored for questions that ask about getting from point A to point B, and answers describing the route. Any thing extra gets taken down quickly unless its relevant (take a cab, rather than the bus).

  • Every question is created equal.
    Each question goes straight on the main page, and there is no differentiation based on who asked, or what their standing in the community is. This does not happen on a lot of forums as popular users command more views than newbies.

  • Every answer is (almost) equal till proven otherwise.
    Every answer needs a certain level of technical skill on the part of the answerer otherwise they get downvoted and pushed down. Moreover, even the popular/famous users need to write as good or even better a 1000th answer than they did their 1st, otherwise they wont get votes. Unless you are Jon Skeet. With high reputation, come higher standards. Compare that to Quora or any technical Q&A site, where the most popular answerers can post weak answers and still get a deluge of upvotes.

  • Closing/Redirecting questions to already answered questions
    Every Web 1.0 forum does not have this feature. If great content is once created, you need to bookmark it to be able to find it in the future. If somebody else asks the same thing, you need to be around to guide them to it. Else, you have another post asking something answered 10 times before, and being answered, yet again.
    On SE, there is an extremely strict policy on closing questions. If there is a previously existing question that answers the same, then the new question is closed (no new answers can be posted to the new question) and redirected to the old question. This minimizes redundancy of content and makes good content widely available.

  • Voting. Both Up and Down.
    This ensures that good content stays up on the main pages and bad content disappears. This motivates users to work and put up good content. Also, this works on both questions and answers.

  • SE is not a social network. It doesnt intend to be.
    There are no options to follow a user or private message expert users. You get known, if at all, by your contributions to the site, and each contribution is evaluated by the same standards. This greatly reduces the chatter on the side and reduces unproductive content generation. Moreover, this means that users cannot have a group of followers who go about upvoting their posts. (Stalkers are present, but form a minuscule part of the community). Plus, there are regular checks to pick up and reverse serial voting patterns (serial voting refers to when a user upvotes a large number of posts belonging to the same user).

  • A very good gamified system
    This is usually not mentioned whenever we talk about SE, because users are so used to the system that they do not regard any part of it as something that is contrived or added. Most of the game elements work very well in excellent harmony. The system gets tweaked from time to time to keep with current community trends. You can interact directly with SE developers and community managers regarding any platform issues or suggestions, irrespective of you being an expert or a newbie. 

This should give a general idea of what Stack Exchange is all about and why it is such a huge success.


Originally posted on Quora.

Friday, April 5, 2013

The Missing Format for Tag Wikis

Tag Wikis are a relatively new, not well-known, and an even less-used feature of the Stack Exchange Network.


The C++ Tag Wiki 

This lack of attention also means that there are no established conventions regarding the wikis. The only guide to writing Tag Wikis is this blog post which too, only covers the idea of a Tag Wiki, not so much the implementation. This makes sense somewhat, because as the network expands, there are many different types of sites that are being added, and tags on these sites will refer to wildly varying topics, techniques, technologies, laws, ... which makes it impossible to enforce a standard format.

While participating on the beta Reverse Engineering Q&A site, I started exploring the wikis. Being new to Reverse Engineering, I wanted to learn about the different concepts and which is why I also started writing the wikis where I could. A few of the my additions got well-intentioned edits from other users but the content added, at times, just did not seem right. It added no value to my experience of reading the wiki, nor did it help in learning more about the subject matter. So, I decided to write a meta post discussing the format and content that wikis on the site should follow and have. In the meta post, I posted what I thought should be the format for Tag Wikis, and how they should be tackled.

I think a good Tag Wiki should cover the following points :

  • Definition


    The technical definition and a basic overview. This is the first thing that a user will look at and it should be spot on.
  • Background


    This should cover why was the technology/technique/product needed, who developed it, and when was it created. This will add some context to the topic being discussed and will further help in developing the understanding of the subject matter. Some misunderstandings regarding the concept in a person's mind may get cleared by the context of the topic.
  • Detailed Exploration/Explanation


    A detailed description covering the various facets of the technique/technology. This is probably the most critical part in terms of making the reading experience worthwhile for beginners of the concept. The aim of the wikis is to provide an introduction to the user on the topic. This necessitates that the wiki explores the concept in sufficient depth, and is written well.
  • Applications / Application Areas


    Some popular domains where the technology is used. Exploring the domains will help the reader in establishing real world connections of the concept which will further reinforce understanding.
  • Related Tags


    A list of all the related tags for further exploration. This is necessary as a part of the wiki's function is to help navigate through the tags and also to provide help on where there may be better tags to be used.
  • Frequently Asked Questions


    The most common questions asked within the tag. Another critical portion of the wiki. This list serves multiple purposes and hence should be compiled carefully. One of the functions, will be to act as a repository of questions that a new user may ask, thus reducing the chance of noise being generating on the site. The other is the same function, but in reverse. It will also act as a repository of questions, in which users may look for the canonical questions, while closing new previously answered questions. So, this will benefit both old and new users of the site.
  • List of Tools/Software


    The tools and software that is used for the technology/technique. This is an optional field as it may not be applicable for every tag. Once the basics are somewhat clear, the next step is to implement what you know and implementation requires tools. This list will prevent noise, allow users to explore and apply their new-found knowledge!
  • List Of Books/References segregated by targeted skill level (Beginner, Intermediate)


    A curated list of books (ebook, print, free, paid), online references and tutorials. Book and tutorial questions are asked very frequently across sites and are summarily closed and the user executed, err, post deleted. Some times a resource exists which leaves everybody happy, and some times it doesn't exist which leaves the OP unhappy. The problem here solely is that the Q&A format does not support these types of questions, not that there is a lack of knowledge or an unwillingness to help. So, to make sure new users do not leave the site disappointed, wikis should consist of a curated list of books and tutorials.
  • External Links/Bibliography


    Links to all the sources referred for the various areas of this Tag Wiki. Would you like your work being stolen ? Of course not. Then, make sure not to do the same to others.

This makes up most of what a good Tag Wiki should contain.

Saturday, March 23, 2013

What is Arduino.SE ?

The Arduino site proposal is now close to reaching the second stage of the site creation process on Area 51. When I had first seen the proposal, it had three followers, and I became the fourth. It has now grown to 160+ followers and over 60 example questions over the course of two months at a steady rate. When I had "followed" the site proposal, I had thought that this site would become to Arduino, what AskUbuntu is to Ubuntu.



Ask Ubuntu Logo
For the uninitiated, Canonical  Ltd. is the project leader of Ubuntu. It is also at the head of a lot of technologies that were developed along with the Ubuntu platform. Canonical and Stack Exchange had together launched and licensed AskUbuntu as the main support Q&A site for Ubuntu. Canonical also maintains a separate support forum along with a host of other online services. The support forum and the Q&A site, both function together as the troubleshooters'. Arduino.cc, the official site, also has a forum site. The Arduino Q&A site is a site that could work alongside the forums, similar to how things work in Ubuntu. This however,would require acceptance and recognition by the Arduino Team of Arduino.SE, which is a pretty big bet, but is possible.

Coming back to the site, the scope of the SE site would basically include everything that is mentioned on Arduino.cc . The site would be the one repository of information about everything Arduino. I had initially posted my idea of the site scope with the aim in mind that Arduino.SE would cater to both beginners and experienced users. Here is my reasoning behind each point that I think should be covered in the site scope :

  1. Arduino Family

    This includes the Uno, Mega, Fio, Lilypad, Nano, BT, Serial, and others.
    Every board that uses the Arduino tag would be on-topic for the site. This includes both past and present boards.
  2. Arduino Derivatives

    This is something that may be a little contentious. There are a lot of Arduino-like products and Arduino derivatives, both of which are distinct in terms of functioning. I strictly refer to Arduino derivative boards such as Paperduino which are listed on the Arduino site and also, boards which are popularly considered derivatives, but may not be listed. Questions about these boards should be on-topic for the site as they are similar to the main platform as well as share a large part of the community.
  3. Software Tools

    This includes the IDEs, plugins, and libraries.
    Software tools are an integral part of the Arduino platform. They are as much a part of the platform, as the micro-controller boards. Software questions, at the moment, can be asked on Electrical Engineering or Stack Overflow, and this will unite them on a single site. Stack Overflow, in my experience on the site, does not handle hardware specific programming problems too well.
  4. Programming Issues

    This is a natural extension of the previous category. If we include, developing and using libraries, then there will be errors and problems. All such issues would be welcome here.
  5. Hardware Tools

    This did not need to be explicitly mentioned. This includes questions regarding help with using any specific tools that may be required for playing around with Arduino boards and circuits.
  6. Basic Circuit Design Problems

    This again, appears to be contentious. This is something that strictly overlaps with EE, however, I believe should be on-topic for Arduino.SE. I refer to the very minimal design issues that may be faced while designing circuits that may involve Arduinos'. Depending on the community we are able to establish, we could also start answering the more tougher and complex design problems. This however, would depend completely on the composition of the community and may or may not be feasible initially. Optimistically, such issues at some point, would become a part of the site completely.
  7. Circuit Component Issues

    This refers to only parts whose selection depends on the presence of an Arduino in the circuit.
    Again, an extension of the previous point. Questions about which register, diode, transistor, IC, resistors, LEDs, motors, power sources, and more would be on-topic. Troubleshooting problems would also be on-topic. There will be significant overlap with EE on this one, and I believe, that questions should be evaluated on a case to case basis, to determine where they should belong.
  8. Hacks of the hardware, and/or Extending the boards

    Possibly, the most contentious of them all. I envision this site to cater to all levels of expertise and knowledge and thus have information, both horizontal and vertical. The site should deal with issues ranging from naming, seeking permissions, trademarks, logos, and basic legal issues (assuming that we are able to get the necessary expertise). Apart from that, making changes to the board, altering characteristics, adding and/or removing components should also be on-topic. I believe this is necessary if we want to become the one repository for Arduino information. This   could make the site become home to discussions about new boards in the Arduino line-up, even
    before they are released.
  9. Hacks of/through the Software

    This is an extension of #3. Questions about changing and improving existing libraries, IDE's and APIs should be on-topic for the site. 
  10. Projects and Applications Issues

    This includes ideas, advice, guidance in specific issues or problems including design.
    Self-explanatory. Questions, about the structure and design of projects should also be welcome. To what extent, though, is something that we will be able to see from the questions that come up.  

The Community that we may be able to establish should/would include users of all levels of experience with the platform. The site should have both electrical engineers as well as software engineers and #8 and #9 are topics that would interest them. Such topics would interest advanced users of the platform as well. Beginners and intermediate users would comprise the major part of the community. The community is expected to be quite diverse having artists, designers, hobbyists as well. All in all, this will make for one interesting and vibrant site.

Sunday, March 17, 2013

Area 51 is Broken


Recently, the Arduino site proposal was hit by a serial downvoter. On my last count, every question had received at least one downvote so thats about 50 downvotes spread across two pages (Someone really considers this as a bad proposal idea). I thought this was wrong (how could it not be?) and the issue was brought to the attention of the Community Team. However, what happened next, really surprised me. One of the Community Managers looked into it, and responded with :

 I looked at the actual voting data on the example questions and there is one person who cast a large number of downvotes. It looks like there's a user who doesn't think the proposal should go through or that the proposed questions belong to it, which is entirely fair. This is exactly what Area 51 is for.

The one thing that stood out here was that, downvoting all the questions on a proposal page is an acceptable way to not-support or block a proposal. What I find even weirder is the fact that this is the only way to block a proposal (not considering duplicate proposals, in which case there are other ways). So, I believe that Area 51 is broken. What do I mean by broken ? Have a look.



I dont agree with a lot of the stuff said in the video, but I do agree with the main point.
If I think its broken, its broken.
Dont worry, thats not going to be my only argument in this post.

Stack Exchange is a service and earns its money off user data and user actions on the site. So, having a good interface is pretty much one of the basics. Just to be clear, the overall Stack Exchange user interface is really good and functional, it is just Area 51 that seems to belong to a different age and time.

It is only here that the functionality and usability dont match which goes against a simple UI design principle :

The principle of context -- Limit user activity to one well-defined context unless there's a good reason not to

What this principle states is that an action should have a single function and should work in a single context. As an example, lets look at the Back button on your browser. Its action while in the middle of a browsing session is to simply take you a logical step back, that is, one web page back. What happens if you are on your first page ? There are two possibilities here, either it could simply not function and provide a message saying that you are on your first page or it could limit the action to the specific context and close your browser window. Now, lets see what actually happens in real browsers. When you open up Chrome (or Chromium), and are on your home page, you see this :


Freehand Circles. Sigh.
The back and forward buttons are grey-ed out. You cannot actually quit by clicking on the back button. Here, the action is preserved to a single context. I believe this to be a better design methodology considering that you will be catering to users having varied expertise levels in using computers. Of course, this rule has a conditional attached to it. However, coming back to the Area 51 user interface, I really see no good reason for the downvote action to be used in different contexts. The UI itself is far from being cluttered. Its more minimalistic than what is present on other sites.

This actual usage goes against another design principle :

The principle of shortcuts-- Provide both concrete and abstract ways of getting a task done

The principle here is that there should be both long and short ways of doing a task. As users become more experienced with an application, they tend to migrate from the longer method to the shorter method. This principle, also implies, that the user interface should make common actions accomplish-able in the minimum number of steps.

Lets go back to Area 51 now. When a user sees a proposal idea, the two possible reactions are either that the user likes the proposal idea or does not like the proposal idea (internet browsing individuals are opinionated). If a user likes a proposal idea, then the most basic action that a user can do is to support it, by clicking on the Follow It! button.

However, if a user wants to do the alternative, then there is no visible option. I see how this protects proposal ideas from getting bombed by malicious users, but what it misses is a large part of the dont like opinion.

Now, the proposal has a lot of example questions underneath. If you think that a question is a good fit for a site, then you can upvote it. If you dont think it is a good question for the site, then you can downvote it.

Upvote Tooltip
Downvote Tooltip








This feedback is directly sent to the question poser, who had put in time to think about how to develop the proposal and what it should include. Simple. Users who are interested in the proposal can use these options to improve the proposal and provide constructive inputs, as is suggested by the tooltips. However, there still is the other faction of users who think that the basis of the proposal itself is wrong, and have had no chance to express disagreement. Now, things get complicated.

Some of the users, who feel that the proposal is a really bad idea, realise that they still can express disagreement by downvoting the questions. Now, a downvote, as I mentioned, is equivalent to negative feedback on the question. It is not for
I'd rather not see this proposed site
(However, I was told that this is just a semantic difference, something that I do not agree with)

It is for feedback on the question, not on the context of the question and there is no way for the question poser to know the context of the feedback. So, this faction is able to implicitly thwart the proposal, by explicitly telling off users on their constructive inputs. The more motivated ones, like the one who caused this whole discussion, may go trigger happy and downvote all of the questions.

So, how can this be avoided ? How can agreement and disagreement both be expressed ?
My take. Coming up soon!

Friday, March 8, 2013

A Short Guide to the Essentials of Stack


Background

This guide is intended for users absolutely new to the system and covers the basic UI elements.
For more in-depth guidance and advice, search Meta Stack Overflow for relevant posts.




There are five basic elements of the Stack Exchange user interface that you will be using the most, and understanding how these affect you, and how you affect others' through these, will make your experience much more worthwhile. I will be using this question (of mine) as a reference to explain the basic features. The five basic elements are :

Posts

Posts here refers to both questions and answers. Both follow different formats.

Questions

You can ask questions by clocking on the Ask Question button available on the home page. Questions have two parts.
The first part is the question title. It is a short description of the problem such that a person reading it should be able to generally understand what your problem is about.
    This is the title.

The second part is the question body. The should contain the complete question along with everything else needed for the problem to be answerable and ideally, even details asked for in the comments should be added to the question body.

The answer with a grey tick sign
The same answer marked as correct

Answers

You can answer a question by clicking on the Answer Question button at the bottom of the page of a question. Answers just contain a body.


The body should contain all the relevant details needed for the problem to be solved. If referencing any external sources, make sure that you add the relevant part of the reference to the body itself and then cite the source below it. Link only answers are not considered answers and will be deleted.

As shown in the image, one answer can be marked as the correct answer by the question poser. The correct answer is the one answer that was able to solve your problem. In no other scenario, should an answer be marked correct, even if other users may pester you to do so (which happens quite frequently). An answer can be marked as correct only after a certain amount of time has passed since the question was posted. A grey tick sign appears adjacent to every answer, clicking on which sets that answer as the correct answer. The grey tick sign then changes to a solid color, such as green as can be
seen in the image.


    Upvote

    Upvotes can be cast by clicking on the up arrow button next to a post. An upvote is a sort of acknowledgement that the post is good. The message shown on hovering over the button also says the same thing. 

    There are certain things that you should consider while casting upvotes for a question :
    • Is the question clear and understandable ?
    • Does the question have the relevant schematics and/or code within the body ?
    • Did the person try to solve the problems on his own ? If yes, has the person shown his attempts at tackling the problem ?
    • Is it something that cannot be easily Googled and found ? (This last one is my personal metric and is used by quite a few users within the Network, but its not a standard rule as pointed out by  the FAQs across the network)
    There are certain things that should be considered for casting an upvote for an answer as well :
    • Is the answer clear and understandable ?
    • Is the answer self-contained ? Does it contain the relevant information from any external sources with it ?
    • Does the answer solve the problem ? If not, does it at least, attempt to solve the problem and provide something extra as well ?
    If one of your posts was upvoted, it means that you were able to satisfy some or all of the aforementioned criteria or that someone found your post useful irrespective of these factors. Either way, you did a good job! 

    Lastly, upvotes are anonymous.


    Downvote

    Similar to upvotes, downvotes can be cast by clicking on the down arrow. A downvote is a negative feedback for the creator of the post. It is used to tell the creator that the post has serious problems. Downvotes should not be used lightly.

    There are certain specific factors that you should consider before casting a downvote on a question :
    • Is the question unclear or hard to understand ?
    • Is the problem easily solvable via searching through Google ?
    • Is the question lacking in some way ? Is the question incomplete ? Is the question missing schematics / code relevant to the problem ?
    • Has the person not attempted to solve the problem on his own ? Has the person posted his attempts at solving the problem ?
    Some things to keep in mind before going trigger happy. If the post has only grammatical or spelling problems, then you should first attempt to make corrections and try to make the post understandable. Salvaging a post should be the first action, followed by downvoting.

    There are certain factors that should be looked at before casting a downvote for an answer as well :
    • Is the answer unclear and not understandable ?
    • Is the answer referencing an external source and not providing a solution within the body ?
    • Does the answer not even attempt to answer the question ? If not, does the answer not even provide something useful to the problem ?
    • Is the answer a veiled advertisement of a product without any disclosure ?

    This feature is not available until you are able to gain some experience on the site. However, your posts can be downvoted by other users. If that happens, you should evaluate your post on the basis of these guidelines and see whats missing.

    While casting downvotes, I would advise exercising caution. Downvotes should not be cast without due considerations and after an attempt to salvage posts.

    Downvotes are also anonymous.

    Comments

    Comments are like meta-posts. They are short messages that can be used to communicate with the different individuals who were a part of both creation and editing. To communicate with any user, you simply need to prefix @ to the username, and then write the rest of your message. The user gets a notification about the message instantly. However, in a comment you can only notify one user.

    Comments under the question body. Only for the serious stuff.

    Comments serve different purposes  depending on where they are. Comments should be used only to seek clarifications from the author, ask for extra details, or to make suggestions to improve the post. Before clicking on the downvote button, it is always better to first inform the user about what is lacking in the post and what changes need to be made. If the user does not respond only then should you downvote the post. Sometimes, they can be used to suggest solutions to the problem, however, that is not recommended, even though many users indulge in this habit.

    Notifications

    Notifications are alerts that you get when a post of yours gets a answer or a comment, when an edit is made or suggested, and when someone makes a comment with @your-user-name. Initially, you also get notifications about any badges that you earn on the site.


    The small StackExchange button on the left serves as the main notifications panel. Clicking on it shows you all the recent notifications, as well some of the most interesting questions from around the network.
    Towards the left, there is a panel that displays your user name, along your reputation score, number of badges. On hovering over it, you get an expanded panel, showing you all your recent reputations changes.


    With that we come to the end of this brief tour of the Essentials. I have chosen to not go into the reputation system and badges system at this point as it is not an important part of the system. It is an integral part, but not an important one. Lastly, some of the features described here become available only after crossing certain reputation requirements. These are site specific and can be found in the respective FAQs. As and when a feature of the site becomes available. you get a notification about the same.




    If you keep the points described here in mind, then reputation and badges are the last things that you will have to worry about.

    Wednesday, March 6, 2013

    Why am I promoting Arduino at Stack Exchange ?

    This is a chat message that I wrote in response to a comment asking me :
     why are you keen on promoting Arduino.SE ?
    (In case you were wondering, all this was happening on Area 51)

    I started out writing something that turned into a rather long explanation, and I believe is worthy of a blog post. So, here it is :

    A combination of reasons. In the few months that I have been on Stack Overflow and Stack Exchange, I have interacted with some amazing individuals right from engineers at Googleplex, California to researchers in UK. I have helped some university students through really awesome project work, some of which I followed up outside of the platform of SE as well. I have answered a few questions and asked some as well and have got excellent responses. Moreover, the different Se sites that exist have made me enjoy this experience even more.

    The SE platform is one that the more I use, the more I discover and the more I believe in. I think it has some excellent tried and tested features which make it an excellent platform for technical discourse and learning(to an extent). Look at the toolkit at User Interface as an example. I dont see why we should not provide such tools to different communities and specifically the Arduino Community.

    Also, SE inadvertly extends to social interactions as well, which further strengthens the community. There is direct interaction with employees, there is a very responsive Meta.SO community as well. I do think there is scope for a slight bit of an increase in the social aspect of the platform, but thats for another discussion.

    Coming to Arduino itself, I started using the platform a year back and have enjoyed using it. I have done a few projects and done some stuff that I probably would not have done if not for the abstraction that the platform offers. The Arduino forums do exist but in the time I have spent there, I have realised that a forum just does not scale up and or work as well as SE when it comes to resouce generation and sharing. There are a lot of questions there for which detailed answers exist but they are extremely hard to find. So, instead you get some quick short answers, but you miss out on that one great answer. Moreover, there usually isn't any closing thread feature as well which is immensely irritating. All this knowledge and expertise, would be much better served on this platform rather the 3-4 major Arduino forums that exist. I am overly optimistic when I think about bringing individuals from dfferent platforms together but I do believe its worth trying.

    As far as why not EE goes, I just do not believe that they are serving this community as well as possible.

    Knowledge is valuable, but only if it is there for people to find, and in short, this is one of the best ways to share it. I want to contribute to both, SE and Arduino, in more ways than I can just now and this is one way that I can. I will continue to push this forward till it does become a site.