Saturday, September 21, 2013

[Nifty Tricks] Format Number to Indian Numbering System In Javascript

Recently I was looking for a way to format a number to Indian Numbering System in Javascript. After doing fair amount of Google search I couldn't find any so I created my own with some help from Stackoverflow etc. Here is the code -

Wednesday, September 4, 2013

New Visualization of AAP Donation Data Using Google Maps API

Here is the new Set of Visualization of Aam Aadmi Party Donations Using Google Maps API.
New features in this visualization are -
  • Using Google Maps API and Geo search to visualize total donations across different districts in India
  • More research on donation patterns and coming up with best logical scale to represent data more accurately. The area of the circle roughly corresponds to the donation amount except if it is very large or small were a minimum and maximum limit has been enforced
  • Zoom In/Zoom Out to aggregate data interactively at District, State and Country level
  • Using data till date 3-Sep-2013 14:02:01 UTC.

As always I am looking for your feedback on how to improve it further. Please leave them in the comments section.

Friday, August 30, 2013

[NoteToSelf] Installing mysql2 gem on Mac OS X

Simples, follow steps as below -

  1. Edit the file /usr/local/mysql/bin/mysql_config (user is root, so sudo it), and replace the lines 119-120 (defining cflags and cxxflags) as below -

  2. Install the mysql2 gem
  3. $ gem install mysql2
  4. Link the required mysql.h library
  5. $ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
  6. No more steps. Thank you God and http://www.randomactsofsentience.com/2013/05/gem-install-mysql2-missing-mysqlh-on-os.html
Update - If the above tip doesn't work, look into mkmf.log file generated while building the native gem.

Wednesday, August 28, 2013

#OpenDataApps - Visualization of Percentage of Person Below Poverty Line by State

I am gearing up to participate in OpenDataApps challenge. Since the challenge is open to team participation, there could be no better place to find like minded individual than colleagues at ThoughtWorks. To generate some buzz and curiosity about the event, I did a quick visualization based on the official poverty line estimates in India using the data from data.gov.in website.


There are some straight forward observations one can make from the above choropleth. These are -
  1.  The big red patch running through the central India, or otherwise called the BIMARU states. Though the official definition includes Bihar, MP, Rajasthan and UP, but I feel Chattisgarh, Jharkhand and Orissa should also be included in this.
  2. The southern states like TN, Kerala and Goa are very well todo with less than 20% of population below poverty line.
  3. The other chunk of prosperity is in the Northern Indian states of J&K, HP, Punjab, Haryana, Uttarakhan and Delhi.
The visualization is in such a stark contrast of what I recently came to know of ancient India through John Keay's amazing book - India: A History. The BC era of ancient India was mainly concentrated around the Ganges in the present day states of UP, Bihar, Jharkhand, Orissa and WB.  Whereas these were once the thriving plains of human civilization, they are home to the masses of India who cannot afford the basic necessities of life.

OpenDataApps Challenge By NIC, NASSCOM and Data.gov.in

#OpenDataApps challenge conducted by NIC in association with NASSCOM. The challenge is about using the data available on data.gov.in to build apps that would improve delivery of government services, promote government transparency, accountability and public participation and spur citizen engagement. More information can be found on the website or for a quick summary view the slideshare below -

Thursday, August 22, 2013

Review of HIS Multiview II DVI USB 2.0 Adapter HMV2-MAC-PC

I was looking to extend the number of display monitors connected to my Mac Pro. After a quick research I found a few YouTube videos on HIS Multiview II Adapter and how easy it is to configure. So I purchased the device on Amazon and asked one of my colleagues at ThoughtWorks to carry it back from US.

As per the YouTube videos, I proceeded to directly connect the device to a monitor. But disappointingly it didn't work out of the box. So I popped in the companion CD, but to my surprise it didn't work as well. The installer failed with error - This software could only run on Mac book with Intel on it. I have a Mac OS X 10.8.4 Lion with 2.6 GHz Intel Core i7. It is as Intel on Mac as it can get. Now I started to get a little worried, as with any product purchased from US and shipped it via friend to India, it wouldn't be easy to get a local support or return the product.

I still persisted and after quick Google search, I was taken to DisplayLink website for an updated driver for this device. Although the device is marketed by HIS, but I think the hardware and support is done by DisplayLink. Downloading the latest driver for Mac, I restarted the machine and Voila !!! it started to work.


I am happy since it was able to detect my additional monitor connected via USB without much fuss and then tested connecting additional monitor via Firewire. They all work superbly though there are some quality issue on the display connected with the HIS Adapter.

The monitor connected to HIS Adapter is not as smooth as the one connected with Firewire. The screen is a little grainy and colours are not that rich. Over it the screen flickers if I switch the spaces or go to Mac dashboard. Running movie on the connected display renders without noticeable flickers but again resolution is not that great. I think this is because this is a USB 2.0 device rather than USB 3.0.

The other annoying thing about the product is the companion pouch that comes along with it. Since most of the displays I use are VGA, so the DVI to VGA adapter is constantly going to be attached to the device. But the pouch is long enough to pack the device, but not with the adapter on. A little irritating since everytime I will have to unscrew the adapter from the device to pack and screw it back to use.

Overall I would give 2.5/5.0 stars to the product. Although because of the limitation I won't be using the connected monitor as my main monitor, but again I am happy that I can have an additional monitor connected to my laptop and remove the productivity barrier that I was facing.

Thursday, August 1, 2013

Open Finder Folder in iTerm Command Window

Recently I was struggling with finding a nifty tool for Finder window on Mac OS X that would allow me to directly open the selected folder in new iTerm tab. After doing a fair bit of Google search I came across this blog post that allows you to create a "Service" in Automator that gives you a contextual menu. Doing so many clicks to open up in iTerm takes away the productivity benefits that you get by creating the shortcut, so I was looking for a toolbar action to do the same.

The script solved the trickiest problem of opening up the tab, the rest was creating a scaffolding around it for it to be used as a toolbar action. For that I created a Automator Application with the following sequence -
1. Drag the "Get Selected Finder Items" as first action
2. Drag the "Run Applescript" as subsequent action
3. Replace the script with the following code

4. Save the application in ~/bin/Open in iTerm.app

Open in iTerm - Automator action sequences

5. Copy /Applications/iTerm.app/Contents/Resources/iTerm.icns
6. Navigate to ~/bin/Open in iTerm.app/Contents/Resources, rename AutomatorApplet.icns to AutomatorApplet.bak.icns and paste and rename iTerm.icns as AutomatorApplet.icns
7. Navigate to ~/bin folder, drag Open in iTerm.app to the toolbar

Congratulations !!! You are all set to use your context sensitive Open in iTerm toolbar action.

PS- You can download the application Open in iTerm from here.

Saturday, July 27, 2013

Quick Visualization of Aam Aadmi Party Donations per District

Update - Check out the New Visualizations of AAP Donations using Google Maps Visualization API
I did a quick scraping of Aam Aadmi Party donations list to get some insights on how this political movement is going on. A quick and dirty visualization on 2 parameters - Number of Donors and Total Amount donated from each district would give a good idea of their support base. Thanks to S Anand of Gramener for providing the district level SVG map of India, I was able to plot the crunched numbers in form of Chorolpleth using D3 and do the analysis. Here is the generated graph -

Observations

  • AAP has support in pockets. Mainly Delhi - Jaipur and surrounding areas, Mumbai - Goa - North Karnataka
  • It has good support in first tier cities of Bangalore, Delhi, Mumbai, Hyderabad
  • And 2nd tier cities of Pune, Nagpur, Indore, Jaipur
  • A handful of people in other cities which is better compared to regional parties which are non-existent in other states

Disclaimers

  • This is a quick and dirty visualization presented based on public information. I take no guarantee on correctness or completeness of the analysis presented. Kindly use your own judgement in forming any conclusions.
  • The color coding needs to be worked on and is not propotional. So kindly rely on dynamic data presented on hovering the districts
  • The observations are based on donation information. So any conclusions needs to take account of it.

References

  • All the code to scrape the website and raw data can be accessed at Github repository.

Thursday, July 4, 2013

Thank You Pragmatic Programmer

Thank you Pragmatic Programmer for being so nice, for that cool Dropbox integration and for caring so much for your readers.

I purchased Agile Web Development with Rails 3.2 in July 2010, but you have been sending me updated editions ever since. The last I checked there was Agile Development with Rails 4-b4_0.pdf updated on 26th June in my Dropbox folder. I never expected, and moreover, I was prepared to purchase a new edition, but finding it in my Dropbox folder was a pleasant and wonderful surprise.

That also brings me to the goodness of ebooks. These days I tend not to purchase physical ebooks. First of all, planting trees is definitely going to do a lot of good, if not, saving a few trees from being cut down will. So why waste paper on those monster size books that go out of relevance in less than a year. That also makes them hard to carry, harder to search, even harder to bookmark and put notes on. All you need is a good pdf viewer like 'Preview' on Mac and you are good to go.

I came across a saying on the carry bag of Landmark stores -
One who lends a book is a fool and one who returns is a bigger fool.
So, a book lent is as good as lost, not so with ebooks (if you have the rights).

Coming back to the goodness of Pragprog, the best feature I liked so far was their Dropbox integration. Now you don't need to download it every time there is a newer version and it automatically gets synced via Dropbox.

Apart from this, thank you for being so awesome publisher publishing so many creative titles. For being so nice as not to have DRM on digital content and trusting that your readers will do the right thing. For being a die hard Lisp fan, and spreading your passion about functional programming. For not being greedy and in the end thank you for being so genuine :).

I look forward to learn more from all the hard work you put in.

Thanks.

Sunday, May 26, 2013

Managing Your Career Path - Commencement Speech by Ramkumar Narayanan at Graduation Ceremony of Institute of Product Leadership

Last night I attended the graduation ceremony of a friend from Institute of Product Leadership, Bangalore. The event was attended by interesting set of people and got to meet many people active in Bangalore Entrepreneurial and Startup space. The highlight of the event was commencement speech given by Mr. Ramkumar Narayanan, GM eBay Product Development Center, Gurgaon.

The speech was on the learnings from his career spanning 25 yrs in auto and tech industry - starting off as an Engineer, taking first steps as Entrepreneur, his eventful career at Microsoft dabbling with technology, product management, then to Yahoo! and currently as GM of Product Development Center, eBay India.

Wonderfully the speech was not philosophical and deep as these kinds of speech tend to get, rather it was presented beautifully in 8 simple digestible points. The speech immediately struck a chord with me as I could relate to each of the points he presented. I have time and again come back to each of the points he mentioned, just that nobody presented it to me it in its entirety. I feel lucky to be present there and thankful to him for taking an effort, doing a deep retrospection of his wonderful career and sharing the learnings with everyone.

The slides of his commencement speech can be found on Slideshare.


He shared many of his experience pertaining to each of his points. Some of the things that I remember from his speech are -

Rich Experiences

Always look out for opportunities to gain rich experience. It can be either through meeting people, participating in social and community events or having conversation with strangers. Always be eager to learn from these encounters and be proactive in breaking the ice and striking the conversations.


Curiosity

Always be curious. We are very curious as a child, but tend to loose this skill as we grow up. He shared his experience that as a child he used to take apart household items or toy games given to him wondering how it worked. That curiosity might have led him to choose engineering and later a career in auto-industry wondering how it worked and how to make it work even better.


Build Depth

Keep Learning Constantly. This was one of the points that struck a chord immediately. While choosing a domain name for my blog, I brainstormed on one thing I want to be identified as, and it was being a constant learner. After completing college, I have made a point to learn a new programming language, skill or domain every year.

The passion with which Mr. Ramkumar was talking about it was inspiring, it made me feel like making an immediate connection. Unlike other people from his generation, I was looking at someone who is constantly in touch with field of education. He was well aware of changing scenarios in education, of how colleges are not restricted to the closed walls, and how Stanford is leading a revolution by putting all its course content available online for anyone interested.


Execution with Precision

Don't just restrict yourself to theory, or keep analyzing the problem go out in the field and try it out, learn from experience, iterate and try again. Be persistent.


Embrace Diversity

Every person is different, and there is an opportunity to learn from this difference. The diversity can be seniority, gender, intellectual, thinking ideology, cultural etc. Embrace diversity and don't see everything from the same frame of reference.


Communicate Effectively

In the first 10 years of his career, he admitted he was a shy and geeky engineer and avoided having to go and present in front of large group of people. Later on as a founder and entrepreneur, acquiring this skill became a necessity and question of survival.

Ramkumar super emphasized on gaining this skill early on in the career and marked it as super important. Learning to present and communicate effectively using the new age media is very critical for people in any role and not just for entrepreneurs and founders. Some of the tips he shared was to deliberately put yourself in uncomfortable position by signing up for talks and then using that as motivation prepare rigorously on the subject as well as presentation skill.

On a side note, I loved his slide deck. Each of the background in the slide relates subtly to the point he presented, and all his images were clicked by him during family vacations. That tells a lot about following what he preaches, in form of being expert at photography, doing research, retrospection and preparing hard for presentation and in the end communicating it clearly.


Leave a Legacy

Always think of the question - How will people remember you ? What will you be proud of when you look back ? 
Rather than think about these questions very late, think about it now and work towards making a fitting answer.


Take time for Yourself

Don't neglect your children, spouse, parents and family in the hustle bustle of busy life. Always make a point to give appropriate priority to family. Once children grow up, they are never going to be of same age again and the time lost is not going to come back. Apart from making time for loved ones, don't forget to make some time for yourself.

It was wonderful of Ramkumar to share his experience with us all, I hope doing my part by spreading what I learned.

Monday, May 20, 2013

My First RSA Animate Style Video

Finally I got an opportunity to create the RSA Animate style video. This has been a long pending on my creative things to do list. The video was an assignment for Crash Course on Creativity by venture-lab.org. Here is the final video -

 

Helpful tips if you are planning to create a similar video -
  1. Read this blog post. It is a very detailed blog post on how to go about creating the RSA style videos.
  2. Now some of my experience. First I was trying to create a very high end video using transition, black and white image effects and what not. Soon I realized even creating a simple video was taking a long time and all I had was one day to finish it. So I chucked the awesomeness effects and stick with the basics.
  3. All the images were clicked and provided by my teammates.
  4. I jumped on creating a story line. It was pretty straightforward, introduction -> about -> idea 1 -> idea 2 -> idea 3 -> idea 4 -> credits. I used sticky cards to mark the flow and also wrote the anecdotes and jokes I wanted to share in that shot. I set aside the props required for particular idea handy before starting the recording.
  5. Finding the right place to shoot was a challenge. I tried out couple of places but the placement of camera and whiteboard in a place sufficiently lit always had this reflection of artificial source of light.

    Since I was shooting in the office, I had many options where to setup my scene. In the end I chose one near to the window with diffused natural light coming from the back side (bottom portion in the video) and artificial fluorescent light coming from the front (top side of video) without causing a reflection on the white board.
  6. I used the camera on my mobile (Nexus One) to shoot. I used blue tack and some office equipments to strap it above the white board. I was worried about the quality of video since my mobile camera is not that great. But I guess since the camera was stable and fixed most of the time, the video came out nice.
  7. Doing the rehearsal without recording on helped a lot. That way I was able to quickly experiment with different approaches of how to present the idea.
  8. I started recording the welcome screen scene. Soon I realized making a complete successful shot was difficult. So instead of restarting recording I used to abruptly end my attempt, wipe off the board and start over. I thought of taking care of chopping off unnecessary scene while doing editing and it worked out very well.
  9. I learned the geography of East Asia as part of assignment :). Also perfected my spelling of Philippines in the process. It has single 'l' and double 'p', I used to write it other way around.
  10. After working on the welcome scene and the first idea, I gained a lot of momentum. After that shooting for the rest of the 3 ideas didn't take much time.
  11. iMovie is such a marvel for editing movies. Taking the right shots and sequencing was simple and straightforward.
  12. One thing I found missing in iMovie was while playing the movie you don't have a timer which shows the current running time. Just for that I had to export the movie and run it in VLC.
  13. Other thing was there was no way to merge two scenes. You can only increase the speed for a scene and thus for increasing the speed of the whole movie, I had to do it separately for each scene.
  14. First I tried it 4x speed, and exported the movie to give a voice over. I found it to be very fast. Then I went back and made it 3x. That worked out very well. The overall movie length was reduced from 12 mins to around 4 mins.
  15. For voice over, I first exported the movie. The I used Audacity to record my voice. It was a bit tricky to do. It was difficult to sync the voice over and the scene being played. More so since it was so tightly linked to what was being written on shown in the movie. I tried many approaches like - doing it in sync with the scene, having a slight delay in voice over, doing it scene by scene.
  16. While doing voice recording, I purposely kept the sound on of the original recording. This sound was mostly the noise made while writing on the whiteboard and some background noise. Combined it gave a good overall effect when paired up with the video.
  17. Doing in sync with the scene was difficult since you were not able to keep up with what is happening and what was going to happen next. Especially so for a 3x speed. In the end having a slight manual delay worked well. 
  18. I chopped off the delay in Audacity, exported it as mp3 and imported in the iTunes playlist. iMovie directly picks up tracks from iTunes thus it was a easier approach than importing the media directly in iMovie. In the end, the whole voice over thing surprisingly worked out very well. I am sure in future if I again have to do it, I don't hope to have it work out so smoothly.
In the end it was a wonderful experience with an satisfying outcome. Hope to have more opportunities to work on assignments like these. In the end, thanks to my team mates as well for putting in so much effort to come up with brilliant ideas.

Cheers.

Friday, May 17, 2013

Gamification at Work - How to Make Employees Submit Timesheet on Time ?

A couple of days back I was talking to a colleague who had also done the Gamification course on Coursera about applying some concepts learned from there to change the behavior at work. One of the most obvious behavior change we urgently require is to have everyone submit their Timesheet on time.

As a Consultancy, we earn money by charging our clients for the services we provide. The invoice cannot be created unless everyone on a project submits their timesheet. The invoice takes weeks to process adding a strain on the company finances. This whole process is jammed even if a single consultant misses submitting his timesheet.

Sadly, that conversation ended there hoping that one of us will get back with a concrete idea. But luckily we were not the only one brainstorming on this. Today I received an email that takes a new approach to tackle this issue. Here is the communication flyer of the approach -


This is such a brilliant idea. Few of the observations are -
  1. Disciplinary approach doesn't work out in all scenarios. As an employee you are expected to submit timesheet on time, but I haven't seen it being effective. 
  2. I know other organizations where these activities are tracked and matters at time of annual review. I think this sort of approach based on fear demotivates employees in long run. Dan Pink talks against this approach in his book Drive -
    Carrots & Sticks are so last Century. Drive says for 21st century work, we need to upgrade to autonomy, mastery and purpose.
  3. An added monetary reward to all employees for submitting timesheet is going to be too costly.
  4. An individual award to someone who has been very punctual about timesheet would create competition as well as won't have mass effect. Majority would loose motivation since reward is only for a handful of people.
  5. This approach rather than making filling timesheet an individual activity, it makes it a group activity. 
  6. Also it adds a purpose to the whole activity. A fund for doing social good would appeal to more individuals than a fund for employee outings.
  7. Some people are more enthusiastic about the reward for social good. They will be able to champion the cause in their local group/project.
  8. In the end, if this actually makes people more disciplined about submitting timesheet, there are manifold savings, a part of which management would be more than happy to share.
Thanks to everyone who came up with such a simple idea with so great potential. I would keep tabs to see if it actually changes the behavior and results in a positive outcome. Cheers.

Sunday, May 12, 2013

Team Unleashing Creativity - Rescue Bubble Gum

As part of the Stanford Venture's Open Course A Crash Course on Creativity, my team Unleashing Creativity produced the first assignment. The assignment was about using Bubble Gum to do something unconventional and creative.

Shell and I were more active for this assignment, with the drawings done by me and the video music and everything else done by her. I am so excited to share the completed assignment, so I will post the details and learnings doing it later.


Saturday, April 6, 2013

12th Planning Commission Hackathon Kick Off

The 12th Planning Commission Hackathon is Live and Rolling.

Quick links of useful resource for participants -

Hackathon Homepage
12th Plan Website
Specially the draft reports

Following Facebook Groups have been created to answer any questions you have in general, as well as sector specific group for specific questions -
  1. Planning Commission
  2. Education and Skill Development
  3. Energy
  4. Water and Environment
  5. Health
  6. Agriculture and Rural Development
  7. Macroeconomic Framework
Best of Luck.

Tuesday, March 19, 2013

#In50Hrs - How We Did It - Team Source It

This post is of how went about designing "Source It" - a local product search engine in 50 hours.

The Idea

The event started on Friday evening with presenting a rough idea to participants, in not more than 3 minutes. The idea was to provide a platform to immediate shoppers with capability to search the inventory of local shops and provide the user with best options.

The first impression I had of the idea - it was overwhelming. Specially in India, there are hardly any shops in non-branded segment with computerized inventory system. In such a scenario sourcing the inventory from this large segment is not possible. This is where we adapted our idea and narrowed it to shops which maintained a computerized inventory system.

Retail Side Validation

The first thing we did on Saturday morning was to validate the assumption from the retailers side. All of the team members individually brainstormed on the potential questions we could ask the retailers and which were relevant to our product. The list of questions we came up with were -
  1. Where do your customers come from ? Do they live near the stores or come from far places ?
  2. How do you reach your local customers ? Ads, banners etc. ?
  3. What kind of research do customers often do before they come to stores ?
  4. Is there any difference between online and in-stores product catalog ? Is there price difference b/w online and in-stores ?
  5. Is online sales affecting in-store sales ? What are the strategies to counter it ?
  6. What kind of location based marketing strategies used ?

Field Survey


Next, onto the field we interviewed 5-6 retailers in Koramangala area with average time spent with each retailer about 15 mins. We got very good insights of how they worked, and even got a clearer view of what our product was. Some of the insights generated were -
  1. For an international sports brand company, the way they operate is through a franchise model of stores. Most of advertising is handled by the company rather than franchise itself. They are obligated to sell at the printed MRP, and does not have any leeway in giving discount.
  2. The inventory data is only provided through partnership at company level and there are very few instance of that happening.
  3. The mode of local advertising for most companies is through window advertisement, banners and yellow page service like Just Dial.
  4. A yellow page service sends the leads of customer along with very generic information. For e.g. they would message the sport stores in a neighborhood about a customer looking for shoes, but will not be very specific about what type, brand, price range etc.
  5. If a customer walks in with a particular product in mind, 80% of the sales is deemed done by the staff. They never let go of such customers and procure the product from other stores if they don't have item in their inventory.
Through the above data, we realized a user who has very specific needs is of very high value to retailers, as well as our product differs from any yellow page service by serving very specific needs of our users.

The inventory is still the toughest nut to track. At present the approach is to tackle it with appropriate organic growth strategy where stores in a specific neighborhood realizes the benefits of such a service and pro-actively integrates with it rather than separate negotiation with each of them.

User Side Validation

Problem of a multi-sided market and playing a broker between parties is you have to juggle two balls, on one hand you need to have users to convince the retailers of value they are going to get by adopting the platform, on other hand users are not going to use the platform unless there are host of options available.

Next we interacted with our users who are going to use this application. The list of questions we came up for our users were -
  1. What would you like to buy locally ?
  2. Do you own a smart phone ? How do you use your smart phone for shopping ?
  3. How do you find local shops ? How do you find shop when in urgency ?
  4. How do you find what you are looking for ? How many shops you hop to get a particular thing ? 
  5. Do you check prices online before checking out local markets ?
The response was overwhelming positive and gave us confidence that we were solving a real customer problem and not chasing a fancy day-dream. Based on the response, and to communicate this user problem for the demo, we chose a novel way by creating a video.



Thanks to Shayon for volunteering as our customer.

Prototype

Since the application was supposed to be used by the user on the move, finding products in their neighborhood, it made sense to create the prototype mobile application. We chose Android because of our familiarity with the platform.

There were many learnings creating a prototype. To start with, we overcomplicated what the prototype was going to do and were soon bogged down by solving what could have been easily avoided. For e.g. we tried to have a database of products and create multiple tables to support the search function. After Yak Shaving for a good time on Saturday, on fresh Sunday morning we realized we could maintain the product data in code itself rather than database. As well as storing all the specific data, we could rather generate random data on the fly like distance of store from the current location.

Source It - Search Screen
Source It - Search Results
Displaying Stores with Inventory

Thanks to the designer in our team, the product looks very slick and professional.

Demo

Playing the ThoughtWorks University trainer role for good part of 2012, I already knew the importance of doing dry runs before the demo. As a team we decided on what roles each of us are going to play, practice our lines as well as made sure each of us were on same page regarding the product capabilities and vision.
The best part of the whole 2 days of effort was getting precise feedback from jury. The feedback we got was -
  1. There is no doubt this is a real problem, and if we are able to crack it somehow, it is going to be big.
  2. Cracking the inventory puzzle is going to be the crux of this problem.
  3. Shiv Kumar from Exotel shared with us milo.com, a similar product in US is doing something very similar. This was an eye-opener since we were not aware of it. Checking out milo.com we realized how improvement can be made to our solution.
The code for prototype can be found on Github.

Source It Team

Overall it was an amazing experience and I hope this experience report helps others and encourages more participation in such events.

Sunday, March 17, 2013

Back from #In50Hrs - We Did It !!!

As covered in my previous post, this weekend I participated in @In50Hrs. The event started off on Friday evening with the IdeaSmiths putting their best foot forward in pitching their ideas to other participants, mainly developers and designers, in order to have them join their team and hack around continuously over the weekend to come up with a convincing demo for Sunday evening.

I had an exciting and amazing learning time during the whole event, and I want to share it with others who are sitting on fence, trying to decide whether to relax over the weekend, or to spend sleepless night trying to bring fruition to an idea which is not theirs, teaming up with people whom they have just met.

I want to thank the wonderful effort put in by Vijay Anand and Shayon of In50Hrs. This event would not have been filled with so much learning without the mentors who volunteered their weekends to direct bunch of naive and totally confused young minds. All the mentors for this event were very approachable, and I want to specially thank Mr. Ravi Shankar, Atif Haider, Joylita and Deepak Shenoy for taking special interest in our group.

The jury for the Sunday evening demo included many entrepreneurs who have been on the other side of the table, giving demo to their prospective investors. It was very evident by the way they empathized with the participants and encouraged them for their effort. Their questions and suggestions really checked the idea thoroughly and I will try to assimilate their wisdom in later posts.

Last but not the least, I want to thank my team mates - designers Shashi & Gurpreet from National Institute of Design, and Joseph from Chennai. We had a wonderful time and learning experience, and this journey would not have been so much fun without the respect and appreciation we had for each other. It was such a pleasant surprise how team jelled and made an impressive demo just in time. As it was evident from our demo, there were no individual super stars and all of us played a crucial role which was sadly lacking in many of the other teams. To end it on a happy note, our Team "Source It" not only won appreciation from crowd, but jury too and ended up being one of the top 3 teams of the event.

Congratulations Team, we did it !!! and thanks to all the mentors and organizers for their hard work.

Saturday, March 16, 2013

#in50hrs Ideas Deck


Here is the slide deck used by Ideasmiths to pitch their ideas at #in50hrs Bangalore -



And thanks to Shayon Mukherjee for sharing this.

Friday, March 15, 2013

#in50hrs Bangalore Kick Off

in50hrs Bangalore is getting kicked off at ThoughtWorks Bangalore office today. The summary of ideas are as follows -

Set of Ideas and Voting Result

Exhibitionary

Satish

A realtime app to record and distribute information about participants at exhibition to the sponsor/participating company stalls. The idea comes from the personal experience of the IdeaSmith, Satish. When he was at a real estate exhibition where after dropping his visiting card at the registration counter all he got were telemarketing calls.

Elevator pitch for the product can be -

For the exhibition goers
Who are genuinely interested in what is being offered at exhibition
The Exhibitionary 
Is a technology solution
That collects the information about the attendees
Unlike in current scenario where information is passed to tele-marketers who pitch irrelevant ads
Our product is going to distribute the information in realtime to the exhibition stalls so that relevant offers can be made


AirBnB for Vehicles

Piyush

The idea explains itself. Tailored to Indian context, where 32% of population owns 2-wheeler compared to 2% who owns a car, the idea is to allow to rent out vehicles including 2-wheelers, with all the security related promises of AirBnB.

Elevator pitch for the product can be -

For the travelers in city
Who are looking to rent a vehicle quickly
The AirBnB 4 Vehicles
Is an online platform
That connects travelers to people willing to rent out their vehicles
Unlike current scenario where the vehicle is rented out by an agency for high price
Our product is going to offer service of security and convenience to all participants at an economical price

As with any idea being copy-pasted from West, this idea ignores a basic fact -
East is East, and West is West
The country where you are frisked at every gate for no reason, where the landowner is legally mandated to inform local police station about new tenants etc., a facility which rents out vehicles to strangers is going to freak out security agencies.
Again, in a country where no one thinks twice before breaking a traffic signal, picks up a street fight, or damages public property with impunity, expecting to respect other's property is highly doubtful. The challenge for this idea is how it adapts to Indian context.

Grocery Zone

Kiran

Purchasing grocery is a tedious and time consuming task. The idea is to make it easy to order the usual set of monthly items by introducing a concept of bundle. A bundle is a template of items selected based on consumption pattern of a household, which can be quickly added to your cart and ordered. If a bundle does not suit your need, you can customize it and save it to be used as a template in future.
Pre-populating shopping cart with bundle items is going to ease over adding items individually, as well as the retail orders don't vary as much month to month, hence will enhance ease of shopping and user experience. Also, from the vendor side, the package of products rather than individual items improve the inventory management.

Elevator pitch for Grocery Zone can be -

For the urban tech savvy user
Who wants the ease of ordering FMCG/groceries online
The Grocery Zone
Is an online platform
That understands your consumption pattern and allows ease of ordering
Unlike other online websites that do not have this feature
Our product is going to provide enhanced user experience and intelligent features

The crux of the implementation, like any other online retail offering, is going to be fulfillment. As of present, the fulfillment is going to be outsourced. The only differentiation that this idea have is a different user experience of online shopping. Those ideas are very easy to copy, and hence does not have a first mover advantage.


VidzMe

Harmeet

The idea of VidzMe is to be a private video blog of an individual. The pitch was very energetic and passionate, and lot of confidence in the idea. Harmeet has been completely invested in his idea, and has travelled from Hyderabad to be present for this event.

Elevator pitch for Vidz Me can be -

For the reluctant blogger
Who is interested in documenting his life
The Vidz Me
Is a online platform
That allows recording of videos
Unlike other products that mainly does video sharing
Our product is going to cater to documenting life through video recordings

Video blogging is not a new idea, there are already many providers with similar services. The challenge for this product is going to be differentiating itself, as well as creating a revenue model to sustain the platform.


News Dorm

Plaban

In the current scenario where you have different sources for same information, News Dorm wants to be one place for all news item. That way you can follow a topic and get information from different sources at central place, discussion happen at central place as well as you can do new topic discoveries.

Stock Dotes

Mallika

Stock Dotes is one of the application that got very good response. The Idea Smith detailed her idea in these points -
  1. A place to share general thoughts
  2. Share your literary works. e.g. poems, stories, scripts, screenplays
  3. Follow others who share works that you are interested in
  4. Share your literary works with option to purchase rights at premium
The idea has changed from the initial pitch, to the time it was pitched to me 1-on-1. I would take it as a good sign to adapt based on feedback. One of the strong points about this idea is it caters to a niche.

Elevator pitch for Stock Dotes can be -

For people with artistic side
Who are interested in connecting with community
The Stock Dotes
Is an online platform
That connects the community
Unlike other social sharing application
Our product is going to address specific needs and wants of the community


Course Den

Shahnawaz

Another of a bright chap in the event, Shahnawaz has been very confident in promoting his idea. The vision of Course Den is to introduce disruptive changes in the educational sector through technology. Implementing it piecemeal, the goal for the next 2 days is to build an ebook reader which is going to be used to distribute copyrighted, expensive content that publishers are generally unwilling to share in digital format because of the fear of copy and re-distribution.

Elevator pitch for the Course Den can be -

For students
Who are willing to adopt technology for better educational experience
The Course Den
Is a technology solution
That provides advance tools for study
Unlike the classical method of studying
Our product is going to provide tools to optimize learning

There are many existing solution, foremost of them being Kindle. The next one that pops up is Safari  Books Online by O'reilly. The challenge for this product is going to be user adoption.

Reality Screen

Hemant

In my opinion, this may be one of the most audacious idea ever pitched in a 50 hrs development event. The idea is related to displaying augmented reality on piece of any material using mobile phones. The idea as well as the pitch was too complicated for me to process properly, hence I will leave it there. I will be looking forward to the demo of this idea and see what the Idea smith had in his mind.

Shop Hurry

Shashi

Shop Hurry is an attempt to go one step further in location based search, by not only knowing what shops are around in the local area, but also knowing what things are available inside that shop. The idea can be better explained using an example -
Suppose you come to the city for an interview and then realize you forgot to pack the formals. Not only you need to locate an apparel shop, but the one that serves formal clothes. Over that, if you are specifically interested in the light blue color shirt, that gives you extra confidence to crack those interviews. Shop Hurry serves this niche of locating an item zeroing to the specific user need.

Elevator pitch for Shop Hurry can be

For the urban tech savvy user
Who is interested in quickly locating specific items 
The Shop Hurry
Is an online medium
That locates items based on specified criteria
Unlike other application that only locates on a broad category
Our product is going to be specific and serve accurate results

The original idea also catered to filter the result based on inventory of items at each shop. But even thinking about tasks of syncing inventory of a block of city looks overwhelming. The challenge for the app is going to be to do what it promises, which looks like a very audacious attempt to rewrite the rules of the search industry.

Free Speech

Dheeraj

Dheeraj's idea is to build engagement platforms for attendees at conference. The tools include an online transfer of voice to be used instead of passing around mikes, having the slides and other distributable of the conference handy on the app for quick reference, as well as having a quick look up of who's who so that you can start on opening conversation.

Elevator pitch for Free Speech can be -

For the conference attendee
The Free Speech
Is a mobile application
That provides utilities to make the conference participation effective
Unlike no other application currently available in the market


Disclaimer

This is an experience report of the first day of #in50hrs event currently going on in Bangalore. It has been put together in limited time, under constrained interaction with other participants at the event. The ideas as detailed above are my understanding of what their owners were trying to pitch, and there are chances of errors based on interpretations.

Thursday, March 7, 2013

Dramatic Arc - Boom - Wow - WoW - WOW - BOOM - Ahh ...

Today, I attended a Service Design Workshop conducted by Adam StJohn and Markus Edgar where they shared many tools and tricks to come up with good design. One that sticked was the Dramatic Arc.


The Dramatic Arc goes like Boom - Wow - WoW - WOW - BOOM - ahhh... where obviously no. of CAPS in the letter suggests the energy in those phases.

He used the James Bond movie screenplay as an example to explain the Arc. It starts off with a Boom, an event out of the un-expected, medium in intensity, just like the opening scene of James Bond movie with car chase, scenic surroundings and a very high octane action.


After this opening Boom, it is time to get back to reality. James goes back to London, gets rapped by "M", finally gets a go ahead on a new mission. In the next few scenes we see the lul turn into Wow to WoW to WOW.







Taking the expectation down from the opening Boom, to Wow and then building up to WOW, we are ready to dazzle the audience with the final BOOM. This is more like finale, where you blast and burn the rest of surviving pieces of your set. Casino Royale, again does justice to BOOM, by sinking a complete building in Venice.


Apologies for low quality, but I couldn't get one with better quality on YouTube, let me know if there is a better quality, I will update the blog.

It is not over yet, we have the final Ahh... moment remaining. The one where you say Good Bye. The Ahh... moment should make the feeling of end sink in, and let you enjoy the few passing moment.


This sort of emotions graph is followed in many of Drama events, may it be a Rock concert, where you start off with a big hit, take the tempo down to build the momentum again, then a blast in the end with most awaited song of evening. In the end you sing in chorus, waving hands and feel your heart sinking and time passing by. The feeling of end, feeling of Good Bye, feeling of ...

What Adam and Markus suggested was to know and use this Dramatic Arc while designing services, either if you are designing a restaurant, or even a website.

My sincere thanks to both Adam and Markus for sharing this wonderful secret sauce of Service Design with us at ThoughtWorks Bangalore office today.

Keep Learning.
Amir

Wednesday, February 27, 2013

Agile is the new BLACK - Fred George - Agile India 2013



Spoiler Alert

The below post is the complete experience report (more of dump) of Fred George's presentation at Agile India 2013. I hope I am not stealing his thunder or ruining it for you if you are planning to attend his talks scheduled in near future. Also this blog post is the best I can recall from my memory and notes, so please take this blog post as my version of his talk.

Agile is the new BLACK

Fred George gave his newest talk on "Agile is the new BLACK" at Agile India 2013. The talk derives its title from the fashion industry which popularize the statements of form 

"X is the new Y" 

Similarly, now everything in Software world has to be Agile, if you are not doing Agile, people are likely to frown at you.

Agile Smell

Fred has been someone who started coding since 1968, so have seen the Agile/XP family of Software Process develop from its infancy. The essence of the talk was that in Agile, the processes should never be set in stone. Agile by the very term encourages to constantly experiment and evolve the process itself. He introduced the term "Agile Smell", similar to "Code Smells" that helps you detect if you are doing Agile wrong.

I have known Fred as someone who laid the foundation of ThoughtWorks University (TWU), the internal graduate training program at ThoughtWorks. Along with planning the initial syllabus and schedule for TWU, he also designed many of the sessions. And having spent most of the last year as a trainer at TWU, I really appreciate the engaging way it has been done. The sessions are not a monologue or lectures delivered and done with, rather it is an experience which attendees and students become part of. Something similar was in store for this session as well.

Score Card

Fred presented a "Score Card" to the audience. He would put up a question, and then give out some options. Each option would have a positive or negative points associated with it. Based on the options you have seen or applied in your project, you can give yourself marks. For e.g.
The question can be around using Tools for Project Management in Agile Software Development. Then you can give yourself -  
  • +20 if you are not using any tools
  • -10 if you are using something reasonable
  • -25 if you are using a very expensive tool
The logic being, expensive tools with complex process tends to bind the team in a rigid tool oriented process rather than allowing the team to innovate and accelerate.

Agile Smells

Fred categorized recognizing Agile Smells under different categories.

Agile is not Waterfall

Waterfall came from manufacturing process. We better know it is not suitable for Software Development. So give yourself -

  • +5 if you use Story Cards
  • +10 if you have a Card Wall
  • -10  if Gantt chart is used to track progress

Iteration Length

Smaller iteration length meant quicker feedback. So give yourself -
  • +5 points if you have 2 weeks
  • +10 points if you have 1 week
  • +25 if doesn't exists currently
  • -10 same as year ago
  • -10 more than 2 wks
  • -25 more than 1 month


Roles in Agile Team

Traditionally there are 3 roles: business, managers, development. Fred is not one of followers of DevOps movement and opposes the idea of a separate DevOps role. +1 to that. Also, any roles that has "X - certified" should ring alarm in your heads.

So give yourself -
  • +5 points to every role you killed
  • -10 for introducing new role, specially one with "Agile -" to it

Tools

Give yourself -

  • +20 if you are not using any tools
  • -10 if you are using something reasonable
  • -25 if you are using a very expensive tool


For other categories I will give a quick summary

  • Process Guide
    • Having an editable wiki over rigid document
  • Bug Tracking
    • Fixing the bug right away over tracking it via tool, having a meeting to prioritize it
  • Permission to Ship
    • Shipping incremental change in the product over having a heavy process oriented release
  • Process Experiments
    • Regular experiment with the process over having a non-changing process
  • Requirements Hierarchy
    • Tracking the progress at Story level rather micro managing at Task level


Anarchy

As a inventor and proponent of Programmer Anarchy, Fred shares the practices they were able to get rid of.


Restarting Your Agile

In the end, Fred shares his handy checklist of restarting the agile in an organization.


Agile India 2013 - Day 1 - Kick Off


I have been to QCon London 2012 and greatly impressed by the organization of conference. So my post is going to be a bit biased. Overall kudos to the Agile India Organizing Team to have a conference organized in India that comes the closest to international standards.

I am finally sitting in the lobby of Agile India 2013, at the posh Sheraton Hotel, Rajaji Nagar. It is not exactly in the central Bangalore, but a little outskirts near Yeshwantpur. It is about 15 kms from central region like Koramangala, so next time if the venue is same, make sure you have booked a cab for both drop and pickup. Other than being far off from the central Bangalore, the venue is pretty amazing. Not many complaints if it is in 5 star hotel, and all the conference halls on the same floor, an up from QCon where we had a full venue of 3 floors to ourselves and running across floors to attend different sessions.

In the lobby I could see few familiar faces like Craig Larman, Freg George, Mary Poppendick etc., famous speakers in the Software World :). It cannot get better than this for someone in Bangalore, India.


Getting Ready to Kick Off Agile India 2013



There are few things that could be improved by the organizers.

  • Starting from goody bag, looks like it contains only marketing material from the Sponsors - ThoughtWorks, Rally, Atlassian, Collabnet, Airtel. All the marketing handouts/templates are there. And nothing else, no schedule, pens or notebook. Looks like someone forgot to put them in as the organizer were surprised not to find it inside, and later on last minute scramble to put notebook and pencils on every chair in the conference room.
  • Confusion persisted at the registration counter for sometime after the event kick off, like giving out T-Shirts after keynote and session overview were already done. It may well have been planned that way, but if I come to the stall for registration, finish off all these formalities in one go. 
  • There were food coupons, even high tea coupons. Who came up with brilliant idea ?
  • Though the registration stalls opened at 8:00 AM, the expectation was that the attendees would have finished off their breakfast. First of all, travel to a far off venue, over that starting so early, obviously there was no way I could have had breakfast. Damn, I was hungry as hell sitting through my first session.
  • The conference started off at 9:00 AM sharp. Something worth mentioning, as well as the rest of the day went as planned with most if not all the speakers sticking to their allotted time.
  • The introduction of Craig Larman could have been much much better. In short, the introduction included 2 statements about him, one of them being he did a keynote back in 2006, and nothing about his background. Obviously someone like Craig Larman does not need any introduction, even that was not mentioned :(. Craig did a better job of introducing himself and telling more about his India connection, that he can speak Hindi and lived in India in 1978. A great opportunity missed. 
  • One of the best things I liked about QCon was instant feedback at exit. All the volunteers were given iPod Touch with application to record feedback for the session. A quick feedback saying the session was BAD-OK-AWESOME. People were excited to give the feedback, also it would have definitely helped the organizer keep the quality of sessions better. Hope Agile India 2014 have something like that.
  • The net speed sucks. Sucks so bad I want to curse it angry and loud. I was banking on a decent internet connection to do live blogging, which was obviously not possible if you cannot even load the www.google.com. Please, please get it fixed for tomorrow.


Looking forward to better times in conference.

Live Blogging at Agile India 2013

After a long long time, I am back to my blog.

Though the recent past have been great and lot of things to blog on, but either they have been sitting in the draft state or still in a corner of my brain. That hasn't worked obviously, so I am here, for 4 complete days at Agile India 2013, and determined to do Live Blogging.

So stay tuned and please leave your comments.

Cheers