Choropleth Map Project

I’ve been fascinated with choropleth maps for a long time now. Choropleth maps for the uninitiated are maps which have various areas coloured according to a particular value. The gradation in shades shows the gradation of the value. Sort of like a heat map. I love how easy these are to read and how well they communicate the data contained in a short span of time. These maps take advantage of the fact that human eyes are very sensitive to colours and change of colours.

I come from Vidarbha, an area which repeatedly suffers low rainfall. Being majority agrarian, the low rainfall results in poor harvest. This in turn leads to inability of paying back debt for the farmer. A large number of farmers every year succumb to this pressure and commit suicide. I was curious to see whether this was an issue faced in my area only or whether it was a problem spread over the country ( agriculture is our biggest employer). I am also aware that this problem has existed for a long time now. So I wanted to see if the problem had reduced over time, with repeated attention being drawn to it every monsoon end, year on year.

So I drew up a choropleth map of India showing the number of suicides. I made two maps, one for 2001 and one for 2014 and allowed comparison between the years for a particular state on mouse hover. Sadly, the number of suicides is highest in Maharashtra across the country in both these years. What is more shocking is that while the number has reduced in other states, more farmers are committing suicide in 2014 than that in 2001 Maharashtra.You can find the visualisation here.

As you must have noticed, it takes a considerable while to display the maps. This is due the geoJSON files being used to draw the map. The files are 16MB+ and thus take time to load. I tried using topojson files to draw my map (topojson files are usually half the size of geojson) but the topojson file has only coordinates. It does not contain state names or any other identifier for which state the coordinates correspond to. So, the file does not work while creating a choropleth. I am still looking for a better alternative to geoJSON, but for now, I hope you enjoy the viz 🙂

Think Small: Microinteractions

You’ve worked a toaster before right? You put the toast in, press a button and a few minutes later a crisp toast comes out that you can enjoy with butter. Well, that is an example of an appliance based on a microinteraction. Microinteractions are contained product moments that revolve around a single use case—they have one main task. I recently finished reading Dan Saffer’s Microinteractions: Designing with Details. The book defines the structure of a microinteraction and how all the elements work together. The structure is:

  1. Trigger: Something that sets off the microinteraction . This could be manual i.e generated by a user need such as “I need to check the time so I will open the alarm app” or it could be system generated i.e “It is 5:00 am hence the alarm will ring”.
  2. Rules: These define how a microinteraction behaves in various situations. An easy way to deal with the rules is to draw a flow diagram. This prevents errors.
  3. Feedback: These make the rules evident to the user. The cursor turning grey when it hovers over an un-clickable button tells the user that the button is not available.
  4. Loops and Modes: A microinteraction can go into a loop, for example, “snooze every five minutes until the alarm is turned off”. It can also have modes where the user can adjust settings. It is preferred to have a separate screen for the modes.

One key thing that Saffer talks about is bringing the data forward. He motivates you as a designer to not begin from zero. You are aware of things like the operating system, the time of the day, location, past use behaviour patterns and trends. These can be used to set smart defaults and predict future user behaviour thus making it a much more delightful experience for the user. For example, if I set an alarm for 5 am everyday and I forget to set it one day, the app should point out and remind me that I haven’t set my alarm. This is leveraging my repeated predictable behaviour to make the app more useful.

LittleBigDetails is a website that curates microinteractions. It is like a treasure chest to observe how various companies have implemented these ideas to bring a smile to the user 🙂


Reference :


GenderFuck (Game Design)

Remember when you were a kid and used your fingers to count? Or when you had to cut out shapes from coloured paper in math class? You were using “objects to think with”. Papert came up with this theory that explains how we intuitively use objects to drive and aid our thought processes without realising that we use them.

GenderFuck is a New Liberal Arts topic which deals with gender fluidity. It dictates that all stage from man to woman to in-between and no gender are all available to a person today. I wanted to create an “object to think with” which would instigate the person to think about GenderFuck. For me personally, the concept of GenderFuck deals with a choice. And as with all choices, information is key. I should be aware of all the positives and negatives attached with the group I am choosing. Hence, I came up with a game which will subtly edge the player towards thinking about gender differences and prejudices which exist within society.

The prejudices faced by men, women and transgenders were crowd sourced using various social media platforms. The responses achieved were surprisingly similar across countries. Each prejudice was then categorised as being “harmful” or “helpful” to a particular group. Weight was then attached to each prejudice based on the impact it creates in society. Prejudices such as female foeticide are obviously more serious than ladies first.

The game was tested on two user groups. The first group knew the purpose of the activity and the concept of “objects to think with”. The second group was a bunch of 1st year students. Both groups enjoyed the game play and that a our major victory point. Some prejudices invoked stronger reactions than others, like in society. All in all, it made them think about gender differences.

This slideshow requires JavaScript.



Local History

As part of the Instruction Design course, we were required to create a lesson plan and corresponding student activity sheets for a local history lesson. The task was to pick a local place and take the kids through the history of that place using constructivist strategies.

I chose to also teach kids the tools used in uncovering history which can be applied to any monument /event/person they encounter.

They start with listening to tales told by elders. This will make them aware of existing stories around a place. The children then look for articles about the place and answer a set of questions using these articles. This teaches them the importance of evidence and how events shouldn’t be taken at hearsay value. It will also teach them how to analyse existing matter to read a story. In the field trip, the children will sketch the peculiar architecture and note down the vows that are special to the place. Note taking is an important process in recording history and it emphasises that a good historian is a good observer. Finally, the children take home pictures from the trip and create a story with these photographs. In essence, they are recording their own version of history and leaving it for future generations to live.

The kit includes the following:

Teacher’s lesson guide

Teacher’s lesson plan

Student Activity Sheets



Instructional Design: Direct Instruction

As part of the Instruction Design course I am attending at IDC, I had to create a direct instruction plan for a topic of my choice.

Direct instruction is the use of straightforward, explicit teaching techniques, usually to teach a specific skill. It is a teacher-directed method, meaning that the teacher stands in front of a classroom and presents the information. The information must be categorised as follows:

  • Overview of the lesson
  • Why are we learning the topic
  • Topic
  • Explain using examples and non-examples
  • Test using more examples

For our class, I picked the topic of Recursion. Here is the Direct Instruction Lesson Plan I created.

Overview: Today we will learn about Recursion and it’s application in coding

Why: Recursion in code improves efficiency of the program and reduces lines of code

Topic: Recursion is when the solution to a problem depends on solution to smaller instances of the same problem. Basically, when something is defined in terms of itself. For example, the Russian doll. To go open a large doll, you have open the doll inside it and continue to do so until you reach the smallest doll. (The teacher will carry these dolls and demonstrate).

We will see the same principle applied to Fibonacci Series. The series’ element is the sum of previous two elements. Thus the function can be written in terms of itself as:

function fibonacci(n){

   if(n == 0) return 0;

   if(n == 1) return 1;

   else return fibonacci(n-1)+fibonacci(n-2);


Another example is the calculation of a factorial.

3! = 3*2*1

2! = 2*1!

Thus, 3! = 3*2!

function factorial(n){

   if(n == 1) return 1;
   else return n*factorial(n-1);


Key Learnings:

I tested this lesson plan on a group of Master of Design students at IIT. The first question they asked me was, what is a function? This was followed by what is meant by factorial? All this lead me to realise that lesson plans should clearly define who the intended learner is. I made the plan with the belief that everyone in the room knew basic concepts of coding. This assumption was false and hence the communication of the concept wasn’t clear.

Secondly, I gave too much information in my lesson plan. For someone to understand a concept and its application is difficult in one go. I could have broken this into two lesson plans where the concept would be introduced in the first and the application in the second.


Grid Tile Map of Maharashtra

While browsing ideas for mapping geo-spatial data, I came across the ‘grid-tile map’ which has taken the US by storm. The gird tile map basically allows plotting geographical regions on a grid. There are two major advantages of using this:

  1. The consistency in area makes sure that attention isn’t diverted by the area of a certain region. Say for example, Region X has a 10% area and Region Y has 60% of the area, then the information might seem distorted in favour of region Y.
  2. The grid map maintains the spatial relationship of the areas. Thus areas which share a boundary are either next to/close to each other. This allows for regional inferences to be drawn faster.

Keeping these two advantages in mind, I mapped out the districts of Maharashtra as a grid tile map with the colours showing their divisions. A key point of concern was Mumbai. It’s the district with the smallest area and also the only district which borders only one district Thane. Adding it to the left of Thane meant the straight line coast of Maharashtra would get distorted. However, as this was the accurate representation of the spatial relationship, I decided to stick to it.

Further information can be added to this cartogram as required to make a choropleth.


District Map of Maharashtra

Screen Shot 2016-08-02 at 2.39.29 PM

Grid Tile Map of Maharashtra