Monday, December 25, 2017

Keeping track of your cryptocurrency Trades

Orignial Article : https://steemit.com/cryptocurrency/@gokulnk/best-cryptocurrency-portfolio-manager

Missing the chance to be an early adopter of Bitcoin and Blockchain

I first heard about Bitcoin back in 2011 and spent some time reading about it. I found it interesting but never considered investing in it. Again in 2013 I had a discussion with a friend about doing something related to Cryptocurrencies. We did some preliminary research and then dropped the idea as the regulations were not clear in India about cryptocurrencies. I did think of investing some amount in Bitcoin but was not very comfortable with all the money being tied to a Private Key which I could end up misplacing somewhere. I had not heard of any Bitcoin exchanges back then and so I let go off my chance to get into Bitcoin Bandwagon when the price of Bitcoin was around 100 USD. I finally invested in Bitcoin in June 2017.

The Adhoc process and the trouble tracking

One of the first learnings you have when entering cryptocurrency markets is that Bitcoin is just the tip of the iceberg there are many alt-coins. You do some research and realise there are different Exchanges and you will need to have accounts in these different exchanges to trade different alt coins. So you create accounts in different exchanges only to realise that you cannot transfer your Bitcoin/Ether to ICOs for you to get new coins that are not yet traded on any exchanges. So in a short span of time you end up with accounts in 10+exchanges, an offline wallet for Bitcoin and an offline wallet for Ether. And if you prefer to keep your alt-coins in offline wallets then you will have one many more offline wallets.

Hitting the road block and the search for perfect cryptocurrency portfolio manager

Very soon you will realise that keeping track of all your cryptocurrency investments is not an easy job and it cannot be done by making entries in your spreadsheet. I hit a similar roadblock around 2 months ago. I did some google searches and read up on various cryptocurrency portfolios. After some digging up I came across Cointracking. I spent some time digging around their portfolio web app and I was convinced that this portfolio should be sufficient for the next two years. Since there was a limit of 200 trades on the free account I went ahead and bought the one year membership. I have found a couple of features that I use frequently and helps me sleep better that I have a handle on all my cryptocurrency investments.
If you have asked any of these questions to yourself or in any forums in the last couple of months then read further
  1. What is the best bitcoin tracker or
  2. Which cryptocurrency portfolio tracker tracks all my purchases, transfers and trades
  3. Which bitcoin portfolio tracker tracks all my trades automatically
  4. Which bitcoin transaction tracker also tracks all altcoin trades and balances
  5. Which is the cryptocurrency trading/tracking software
  6. How can I track the fees I pay across exchanges

Explainer Video

If you are too lazy to read further watch the video to get a gist of what I am saying.
If you watched the video and you are already convinced that you should start using the portfolio tracker use this referral link Cointracking to get a 10% discount. If you use Bitcoin to buy you will get an additional 5% discount. That is another thing I liked about Cointracking. Everybody who is building businesses using cryptocurrencies or around cryptocurrencies should follow this approach to promote their adoption.

Entering/Tracking your trades

The first step to track your portfolio is to make sure that all the purchases, withdrawals and trades are exported from any exchange/wallet you use are imported into Cointracking App. This can be done in three ways Enter manually, Import from Exchanges or automatically via the API if your exchange supports it. I had to use a combination of all these three to keep my portfolio upto date.
  1. Manual
    1. Entry for my balances from Steemit
  2. Imports from exchanges
    1. CEX
    2. Xcoins
    3. Bitshares
  3. Automatic Imports through API
    1. Poloni Exchange (Not using any more and wouldn't share the link)
    2. Bittrex
    3. Bitfinex
    4. Binance
    5. Liqui
  4. Wallet Imports
    1. Sync from my Ether Wallet Address (Using this primarily for ICOs)
    2. I have ordered Ledger Nano and will need to check how to sync with it once it arrives.

Manual Entries

cointracking-bitcoin-cryptocurrency-portfolio-manager-for-tracking-manual-entries.png
Make sure to enter all the relevant details. Remember to enter all the optional data as well as it can save you when you are trying to delete the trades or edit them. Trade Group helps your group one kind of trades and give details comments to remember later why you had to do a manual entry. Follow this diligently and you will thank me later.

Exchange Imports

cointracking-bitcoin-cryptocurrency-portfolio-manager-for-tracking-cex-imports.png
In my case CEX didn't have an API and hence I had to go with exchange import option. Cointracking does a cool job of letting you know what kind of transactions are supported by the export provided by the exchanges. Keep an eye on this. Some exchanges doesn't provide you details about deposits and withdrawals. This can have an effect on your summaries. You might need to keep track of those and create manual entries for those to keep your Dashboard upto date.
cointracking-import-duplicates.png
You need not worry about the duplicate imports as each trade has a unique tradeId and based on it Coin tracking will import only the new trades.

Automated API Imports

Cointracking gives you the details of the supported actions in the API import.
cointracking-import-api-binance-portfolio-track-currenices.png
Be careful if you are using the API for syncing your trades. I would suggest enabling the APIs in the exchanges only after enabling the Two Factor Authentication(2FA) and make sure that you only enable the read access in the API. When I was trying to enable the API for Binance I realised that they have all or none access. So your API will either have both Read and Trade access or none. When I saw the API integration screen of Binance I could see the bold read warning message from Cointracking saying that they do not save the API secret key as it has trading access as well. This was good sign for me and my confidence in Cointracking increased after this incident. It is still foolish that Binance doesn't have access restrictions on their API.

Wallet Imports

I have never been comfortable with Offline wallets as I fear that I will miss my private keys :P I have always held back on creating one as there is no way to regain the stash if you loose your private keys. But I had to create one for ether as I wanted to participate in a couple of ICOs.
cointracking-porfolio-for-crypots-best-import-from-wallets.png
As you can see from the pic Cointracking has support for Electrum and Exodus imports. I hope going forward they will add support for more wallets.
cointracking-porfolio-for-crypots-best-import-from-wallets-notificaitons.png
It also has support for monitoring your Bitcoin, Altcoin and Eth addresses meaning it can track the transfers from wallets and it also has a nifty feature of sending out a notification to you when a transaction happens from your wallet. I think that is very handy.

The Dashboard

Once you have all the integrations set up and imports done you should have dashboard which gives you a overall idea of your portfolio and current holdings.
cointracking-bitcoin-cryptocurrency-portfolio-manager-for-tracking-dashboard-view.png
You can also customize your dashboard and choose three different templates for the dashboards as shown in the image. I think we need to have a few more options and we should ideally be able to select each and every widget we want in our dashboard and be able to save it as a new template. But however the current dashboards is good enough and I don't want to complain :)
cointracking-bitcoin-cryptocurrency-portfolio-manager-for-tracking-dashboard-cusotmize.png
Timeline is one that caught my attention. It gives you a nice grahical view of important milestones in your journey and gives you a feeling of dejavu.
cointracking-bitcoin-cryptocurrency-portfolio-manager-for-tracking-dashboard-timeline.png

Reports

There are various reports provided by Cointracking. I majorly use the following reports.

Trade List

cointracking-porfolio-for-crypots-best-tradelist.png
Use this report to make sure that all your trades are present. Whenever I do a trade I check the next day to make sure that it is there. I am more of a HODLer and hence it is not a problem.

Balance by Exchanges

cointracking-porfolio-for-crypots-best-balance-byexchanges.png
This gives you a quick idea of how your stash is distributed across the exchanges. When something is amiss or transactions seem to be missing, this view can give you a quick idea about which trades are missing.

Fees

cointracking-porfolio-for-crypots-best-tradelist-fees.png
This is something that most people miss out. If you are an active trader keep an eye on this as this number can raise quickly and you wouldn't even notice. Most of the people do the mistake of not considering this when doing their profit/loss calculations. Read this post to know the Irony of trading on Centralised Exchanges

Realised Gains

cointracking-porfolio-for-crypots-best-realised-unrealised-gains.png
If you have bought a stash of a particular coin at low price and have been selling them at every high, it becomes very difficult for you to identify what are you profits over the time. Also at times you will feel like knowing the answer to the question "If I sell the remaining part of my stash will I make a profit, loss or break even". If you have been in that situation before then the Realised and Unrealised Gains report can give you very good insights.
cointracking-porfolio-for-crypots-best-tradelist-average purchase prices.png
Similarly if you have bought at different prices to average out then this report can give you the average purchase price of a coin.

Taxes

cointracking-tax-report.png
Yes you will need to pay your taxes on Cryptocurrencies gains. I am not sure if many are thinking about this right now but this can be a Herculean task. Looks like Cointracking has you covered here as well. With ability to configure various parameters for your tax reports I think this can come handy.
If you are planning to use this portfolio manager use this referral link Cointracking to get a 10% discount and don't miss out on the additional 5% discount if you use Bitcoin for payments.
If you have come across any other portfolio manager do let me know so that I can take a dig at it.

Wednesday, July 22, 2015

DrupalCamp : Where passions meet


The Drupal Start : 
I started my career with Mindtree as Programmer Analyst(Java)  in Jan 2009 and started exploring Drupal right around the same time for a personal projects I was working on. My cousin and I were comparing Joomla and Drupal. Based on some basic research I decided to spend more time on Drupal. It's been five years since then. I have my share fair of complaints about Drupal but I have never regretted the shift from Java to Drupal. 

Background :
One of the reasons I made a switch to Drupal was because at any point in my life I could start a venture of my own with technology backing from Drupal. In fact that became a reality very soon after moving to Drupal. I started a custom merchandise venture that specializes in kannada T-shirts. http://aziteez.com/ as you must have already guessed was built on Drupal and I was able to start what I call as a zero investment venture. We have been around for 3 years now and have a loyal customer base of around 20,0000. 

The Day of DrupalCamp :
Fast Forward to Feb7-Feb8, Drupal Camp Mumbai. (For those of you who don't know, Drupal Camps are a good platform to meet like minded people who work on Drupal and are enabling various businesses, startup and NGOs.) Chakri and I facilitated a workshop on first day about Headless Drupal and the next day was all for hackathons and code-sprints. 

The Surprise :
Imagine my surprise when I spotted a guy(Mr X) who was wearing a hoodie that was made by Aziteez. I walked up to him and introduced myself as the co-founder of Aziteez and was curious to hear out his story. The particular hoodie that he was wearing had an interesting story in itself. Pawan Kumar is a well known name today in Kannada Film Industry and we had had partnered with him for his next venture C10H14N2 . The Hoodie that our Mr.X was wearing was done for the promotion of the same movie.


The story of Mr.X :
Mr.X went on to say that he was from IIT Bombay and he was interested in Drupal. I was glad to know that many of his friends(kannadigas) had purchased Tshirts online from Aziteez and they were happy with the quality and designs of kannada T-shirts we have come up with. He went on to tell me that they had all liked the movie Lucia and wanted to do their bit to promote Pawan Kumar's next venture and hence they had purchased the Hoodies from Aziteez.

Search for Mr.X :
It was a memorable experience for me as it was a coming together of all the things that I love or care about. Just to make sure that I can recount on this experience in future I made sure that I had a snap with him. I am bad with names and I was sure that I couldn't count on my memory. As it goes, I forgot his name and am trying to locate him :) Please tag him or leave a comment if you our Mr.X



Monday, September 16, 2013

India : A map of Sex Ratios Districtwise

I have not spent much time on javascript and have always avoided any opportunity to work with javascript related frameworks. Recently after many postponements I started working on D3.js and here is the output of what I could achieve over a weekend.



If you want to use the svg along with state and district codes visit my github repo

A few of the observations that I could made from the graph are
  1. Coastal regions have a better sex ratio.
  2. South India does better when compared to North India.
  3. I was assuming that Karnataka would have a better ratio than that of Bangalore. But I was surprised to find that AP does better than Karnataka.
  4. In-fact a viz done by a friend of mine addresses precisely that. As per the viz there is a lot of improvement over the last decade which kind of justifies my surprise ;)

Read further for credits and my learning resources.
Note that this is a very crude implementation. I wanted to get the working map out there and then work on improving features and code quality.
  1. DashingD3JS helped me get started and thinking with joins helped me understand joins better.
  2. I used the color palettes form Color Brewer. It has a nice set of palettes and comes shipped with D3. A nice graphical view of the same is a smart implementation done using D3.js and ColorBrewer again.
  3. I used some sample codes from here.
  4. I used the svg map from wikimedia
  5. It used the names and didn't use the district codes assigned by the Census 2011. There was no easy way of mapping these details.
  6. I used the official document from census and used this temporarily identify the missing codes and names.
  7. Most of the changes were because of the spelling mistake or abbreviations. I had to fix these manually.
  8. I ignored that fact that there can be different districts with same name in different states. This caused a little headache and tookup more than 3-4 hours to sort it out.
  9. I have shared the update svg map along with state and district codes on github

Tuesday, August 20, 2013

Gita Audio files for download

Download Audio Files of Gita(Bhagavadgita) Chanting in Sanskrit. 


Recently my mom wanted the sankrit chanting of Gita slokas on her phone. I googled and was surprised that I had to spend more than half an hour to search and download the files. The closest was this(http://www.astrojyoti.com/bhagavadgitamp3.htm) but the links were all broken. I had to manually copy the urls to browser and download. If you are searching for the download of Gita files you are in luck. Just click on the download links in below table.

If you are a developer and want to know what I did read on.

Introductory Dhyana Slokas
http://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita00-intro.mp3
Chapter 1 – The Despondency of Arjunahttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita01.mp3
    
Chapter 2 – Sankhya Yogahttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita02.mp3 
Chapter 3 – The Yoga of Actionhttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita03.mp3   
Chapter 4 – The Yoga of Wisdomhttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita04.mp3
Chapter 5 – The Yoga of Renunciation of Actionhttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita05.mp3
Chapter 6 – The Yoga of Meditationhttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita06.mp3
Chapter 7 – The Yoga of Wisdom & Realisationhttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita07.mp3
Chapter 8 – The Yoga of the Imperishable Brahmanhttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita08.mp3
Chapter 9 – The Yoga of the Kingly Science & Secrethttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita09.mp3
Chapter 10 – The Yoga of the Divine Glorieshttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita10.mp3
Chapter 11 – The Yoga of the Vision of Cosmic Formhttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita11.mp3
Chapter 12 – The Yoga of Devotionhttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita12.mp3
Chapter 13 – The Yoga of Distinctionhttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita13.mp3
Chapter 14 – The Yoga of the Division of Tri-Gunashttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita14.mp3
Chapter 15 – The Yoga of the Supreme Spirithttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita15.mp3
Chapter 16 – The Yoga of the Divine & the Demonhttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita16.mp3
Chapter 17 – The Yoga of the Threefold Faithhttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita17.mp3
Chapter 18 – The Yoga of Liberation by Renunciationhttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita18.mp3
Appendixhttp://media.astrojyoti.com/stotras/BhagavdGeeta/Bhagavad-gita-app.mp3


Techies read on. Well I was not in mood to spend time on automation/macros. So today I took out some time to automate those and learnt a few things in the process :P

  1. It is difficult to copy the columns from a HTML table. Download https://chrome.google.com/webstore/detail/table-capture/iebpjdmgckacbodjpijphcplhebcmeop?hl=en . This extension will help you highlight(lowlight in fact :P) and copy the table contents to a google doc.
  2. In google doc you can select a column. I selected the column that contains the download url (just text and not the download link)
  3. By the way when you have a column that is created using formula but you want to convert that to just plain values. Do a copy of the column and then do a past special with 'paste only values' option.
  4. You can use  =LEFT(B2, FIND("mp3", B2)+2) to extract the text ending with first occurance of mp3
  5. To force download a file on the client side you can use the download attribute in the anchor tag. Check out my links Download MP3 to know more :)
    BTW if you are thinking why am I mixing up stuff, I recently realised that the reason most people don't share their learnings is that they try to make it very organized and in the process loose their motivation. So I am planning to share my knowledge more in an adhoc manner which reduces the burden on me.


    Sunday, June 16, 2013

    Hacking into Karnataka Election Results Website

    "Statistics hide more than what they reveal", I could related to the meaning of this quote after coming across a post election results number crunching done by an analyst.

    It all started with this analysis of facebook. This analysis goes on to say that if BJP and KJP had stayed together, their combined votes would have been greater than that of the Congress in 93 constituencies. What this analyst omits is whether BJP+KJP would have won in all these 93 seats? Definitely not, because there might be other parties who could have garnered more votes that BJP+KJP or Congress. Though the analyst doesn't mention that BJP would have won in 93 seats, it kind of leads the end user to believe so. I am not blaming the analyst here, but sharing my opinion of what it made me think.

    So out of curiosity I just wanted to see in how many places BJP+KJP votes would have been greater than the winning votes. So I set out find out the data of the Karnataka Election results. I was not able to find any open data that was in a consumable format for a developer[Kindly let me know if there is one. I thought it was better to hack into their site than file for an RTI]. All I had was this http://eciresults.nic.in/ConstituencywiseS10171.htm  . An ill designed website(Can you still imagine that they use tables within tables :P) that would let me check the results only by the constituencies and not any other parameter. So if I need to get the complete data I need to visit 223 such pages that gives me results for their respective constituencies. So I looked at the URL naming patterns and it turned out that there was a co-relation between the results url and the constituency code. So I took a list of all the constituency codes from the drop-down on the page, used some notepad++ macros to clean up the HTML mess and make it a php array. Once I had the array of constituency codes I wrote a simple script to scrape the 223 urls and get the relevant data. Then I imported this data into my database using a CSV file. I wrote a few views handlers to expose the database table to views on my drupal site. Created three views to display the data.






    I also made the output available in a json format so that other developers can use the data to form their own visualizations.

    The end points are
    1. Votes recieved : http://diasporaindica.com/rest/ker.json
    2. Constituencies  : http://diasporaindica.com/rest/parties.json
    3. Cities               : http://diasporaindica.com/rest/cities.json

    Using these data I was able to validate the following two theories.
    1. BJP + KJP : BJP along with KJP could have won only in 75 constituencies, thought there combined votes would have been more than Congress in 93 locations. http://diasporaindica.com/karnic_bjp_kjp
    2. Marginal Votes : Since the Indian electoral system follows winner takes it all approach, marginal votes play an important role deciding the outcome. Infact it is because of these marginal votes that the corrupt politicians are ready to pay huge premiums of money and liquour for every single vote. And Independent parties though they may not have a huge share of votes, they can play the spoil sport by ruining some big shots chances. So I did a simple calculation to see in how many places the sum of all votes received by all the independents was greater than the difference between the top two candidates. Surprisingly it turns out that they could have played a crucial role in 47 constituencies.
    3. That made me curious about the Independent parties. So I dug in a little more deep using the screens I had created. And I found out that there are 1217 Independent candidates who participated in these elections. http://diasporaindica.com/karnataka-election-results?candidate_name=&citi_name=&party_name=Independent&items_per_page=All&offset=0&order=votes_recieved&sort=asc with the least number of votes being 52 votes :P
    The following are some of the visulization I built using this data. 


    In the first visualization I have ordered Congress first, BJP + KJP next. I have kept their colours similar so that you get a sense of how they could have performed togehter and then followed by JDU and independents. 

    With this basic Proof of Concept of how the data can be made publicly accessible using the APIs and how the data can be used to make various analysis and visulizations of the results I hope the Gov will consider making the next election results open data. 

    * I was able to complete all of these in a span of 3 days. Special thanks to www.devthon.org which give me the ideal ambiance to work on this project. Thanks to my company www.azrisolutions.com for sponsoring the devthon event and supporting me.

    Tuesday, November 29, 2011

    An awesome place to work from

    After having been used to working from home for almost 9 months, it was really tough to get my ass up and going to work from a new office. But the excitement of setting up a new office and being responsible for it was giving me quite a high. However it turned out that the excitement of setting up a new office was short lived. The reason was that we were considering trying out a new idea namely co-working. For those of you who don't know what co-working is head to http://blog.coworking.com/ get a hang of it. If you want to know in short, read on. Co-working is relatively new idea(6 years old). It is popular in US, Europe and countries like Japan. But in India the fever has just started. There are enough number of good reasons to try Co working. Two reasons why I personally prefer Co-working to working remotely are you won't feel lonely and helps the offices go green.

    Now that we had decided to go for co-working, we had to find a suitable place. We listed down the criteria for the selection of the co-working space.

    1. It should be close to me and Chakri. If not at-least the ride should be a one without much traffic hassles. 
    2. The ambiance of the space has to good. It should be a creative space rather than the normal office cubicles.
    3. It should have good Wifi connectivity.
    4. It should be a place where fellow developers would like to hang out in the evenings with a beer.
    5. We should be able to host events where we can evangelize Drupal.
    Though we were not able to find a space with all these qualifications, we zeroed in on a space which we felt satisfied most of the above mentioned points. It is located in Koramangala First block. (Yes that is 13 km from my home :( ) But after having a look at this space I could not say no. Since this is a co-working space, it hosts few other companies like http://www.questalliance.net/ , http://blindboys.org/ and few interns from http://www.frogdesign.com/ I am yet to familiarize with the folks here and currently I am waiting for Chakri to come here so that we can go for lunch. There are quite a few eat-outs here as well.

    If you are wondering how our new Bangalore office is check out the images below. This images doesn't cover the whole office, they just cover the exteriors and the space we work from. You should check out the whole office some time. Its like a castle :)




    Side view

    Front view

    The main gate
    Greenery and sitting space inside 

    A room
    The yellow structure is the space we work from

    The view from my workspace

    @azrians : I know I know. If you have any plans of shifting to Bangalore office, I am open to accepting gifts from you(may be an iPad :P) so that I can put across your case to Mohan and Venky ;) By the way don't let him know that I told you this.

    Oh here is the address : 108, 6th Cross, 2nd Main Road, Koramangala 1st Block  Bengaluru, Karnataka 560034

    Monday, November 28, 2011

    Open source has more reasons to thank the cloud


    Cloud computing has always been seen as a game-changer. If not today at-least a few years down the line Cloud is definitely gonna change the way we function. A developer, an entrepreneur, a end user and a common man will all have their own version of how the CLOUD changed their lives. But however, as the title suggests, my motivation for writing this article is completely different.

    I was at the OSI days 2011 on behalf of Azri solutions, which was held at Nimhans convention center Bangalore. There were a good number of informative sessions and a few workshops which did help many attendees to get a hands on about the the technology being discussed. There we companies : big and small, developers : novice and  pros, marketing teams : strategic and in your face types, students : studious and get-swags, opinions : pro and anti. But all in all, there was a lot of activity happening(business cards being exchanged ;) ) and the awareness about Open Source was raising. Everybody there had a reason and by the end it looked like most of them were happy with the outcome of the event.



    But  there was one thing that I could constantly observe behind all this hungama. The marriage of proprietary and open-source software(or their makers) and cloud was the match-maker. Be it the key-note by Gianugo Rabellino, Microsoft or the session "Using Open Source to commoditize your technology" by Gil Yehuda, Yahoo message was clear. 

    Remember Gandhi's lines? First they ignore you, then they laugh at you, then they fight you, then you win. If we modify this quote for the current scenario it would be First they ignore you, then they laugh at you, then they fight you, then they accept you as in integral part and the world wins. 

    They = Proprietary and you = Open-source

    First they ignore you : They did this for too long. They behaved as if open-source didn't exist. Reason? Open-source didn't eat into their pie yet, at that time.

    then they laugh at you : Yes that is exactly what they did. They called it ridiculous. They asked "Why would somebody write code for free".

    then they fight you : Yes they did fight too. But not directly. They said the features sets of open-source are not exhaustive. They questioned the credibility. They cautioned about business continuity taking a hit. "Lack of support has a ripple effect across an Open Source CMS project", a Sitecore white paper pointed out (You should check out the interesting debate between site-core and Dries here).

    then they accept you as in integral part : Though I consider most of the points they point out(in the last paragraph) as not true concerns, that last one is something which I feel the open-source should handle well. And that is exactly the void that proprietary software based companies like microsoft, yahoo can fill. Support is something which is number intensive and big guys can do better. Other areas which have space for collaboration are 3rd party integrations, standard compliance and security measures. These are the ways in which the open-source can benefit from biggies like microsoft and yahoo. What about the reverse direction? The inertia of bigger companies generally prevent them from innovating quickly and the need for standard compliances prevent them from embracing the newer technologies. This is where open-source can be of great help to them.

    Though the above mentioned factors have been pushing for the union of proprietary and open-source for quite a few years now, the pace has picked up only recently. The reason? You guessed it right, its cloud computing. Having realized the true business potential of cloud, all the companies are pushing the concept of cloud. (Did I tell you that microsoft was giving away blue tooth handsets for registering to Azure? at #osidays ?)  Now the question still remianing.  How does cloud computing motivate the union? The answer yet again is a simple one. The very concept of cloud has led people to imagine that most of the technologies are supported in the the cloud services that they choose. If the support for proprietary softwares are not provided, the cloud computing providers have a valid reason(the licencing fee), but they have no valid reason for not supporting a open-source CMS, CRM or any software for matter as they come free. And hence naturally the users expect the support for all the major open-source software for free and for sure ;) To provide support for these softwares they need at-least a small team who are well versed with these technologies as then need to provide at-least the basic support once they are providing it in their cloud stack. And the good thing is that it doesn't stop with the small team :)


        Open source has more reasons to thank the cloud.



    Tuesday, November 15, 2011

    Drupal CXO Panel Meet : Managing a Drupal consulting firm


    Dries lighting the lamp. Image : Vasudeesha

    After an early morning flight from Bangalore to Delhi, and a ride in the Delhi Airport Metro Express (DAME) and the Delhi local metro, I was late for Drupal Camp Delhi. Unfortunately I missed the Dries' keynote speech. But however the Panel discussion was still in progress and the volunteers ushered me to the Panel Discussion Hall. Being a speaker at the camp did help after all.

    The room boasted off  CXO's of most popular small and medium scale Drupal houses from India. [For those of you those who don't know what CXO is, basically X can be replaced by a meaningful letter. So CTO, CEO, CFO, CLOs ... all fall under CXO]

    These were the following points that caught my attention during the panel discussion.

    Lack of Drupal Talent : This was one issue that every CXO in the room agreed to. Being a Drupal developer myself, I could not agree more. The number of calls I keep getting regarding the new opportunities to shift is just a testimony.

    The response from Dries & Ron was that even Acquia faces the problem, and their solution was to start the drupal training by themselves and then create a in-house talent pool. The CXOs too felt that this is the only viable option that was available to them. But since training a talent pool in-house is not cheap either, most of them felt that a group of companies coming together to have a common training was something that they were willing to try out.

    Specialization is the key :  It was interesting to see the CXOs swear by their companies that they would not work on the projects that don't pay them well (read as 15$/hour projects). Looks like they have learnt their lessons the hard-way. The problem with the 15$/hour projects is that they don't give the companies enough scope to innovate but takes up the resources of the company. One of the CXO went ahead and said "I would rather have people on bench rather than working on one such project". 

    Irrespective of the companies and the regions, it is a know fact that Drupal houses in India work very cheap. Their per hour rates are abysmal. Not many India companies are in a position to charge more than 50$/ hour for the development. The key here is specialization. The companies can cross this border only if they have a niche and they can promote themselves as specialists. Specialization doesn't come cheap and companies have to invest their time and resources on them. But the results are worth the efforts. The other advantage of the specialization is that it gives the companies an easy exit from the projects. So the companies have a definite deadline. They know when their entry is and they can plan when their exit should be. "Don't be a slave of your own creations" somebody from the panel rightly quoted.

    Scaling Drupal Companies :  Drupal is good for a freelancer. It is good for the startups too. But what next. How can Drupal companies scale? This was the question. Partnerships, Mergers and Acquisitions was the answer. Most of the Companies have European and UK partners who bag the projects and these companies take care of the executions. There was a CXO in the room, whose company was recently acquired. (Rahul mentioned this after taking his permission.) 

    Few of the CXO's were of the opinion that Acquia should partner more with the India companies and give them the much needed credibility, which the bigger corporations expect. But Acquia was of the opinion that they can only partner with the companies in India if they have a particular niche. Acquia also made it clear that they were not partnering with any companies in India, as most of them were into the whole development cycles and didn't have a niche of their own.

    Exit strategies : This was something which I had never thought of until I attended the panel discussion. The fact that these people are thinking about the exit strategies proves that these people are considering Drupal seriously as a money making instrument, which is good for Drupal in particular and open source in general. I was just wondering if Acquia also has an exit strategy and what would that be.

    If this was one perspective, Mohan from Azri solutions introduced another interesting perspective namely "Exit strategy from the clients". Most of the companies would have gone through this. Though the project if functionally complete, you still need to spend lot of time with the clients doing the menial tasks like content creation, formatting and changing the texts... Mohan rightfully pointed out that educating the clients is the best solution for this. Have a workshop with the technical team of the clients and transfer the most of the responsibilities to their in-house team so that our valued time can be spent on something more productive.

    Lack of visibility :  Visibility of the Indian Drupal houses to me seemed to be Abysmal as always. Drupal houses from India not even featuring in the top ten for searches like "Drupal Companies India" only makes the things much worse. One of them brought this to the notice of the panel saying that when he actually wanted to give out a project to a Indian Drupal team, he was not able to find the names of most of the companies in the panel room. Pity! . The only SME that everybody felt had a better visibility was Srijan.

    At-least in this angle, Drupal India still has long way to go. I have just reserved a domain called www.drupalenterprise.in I am planning to make it like a portal where drupal companies can list themselves, their details and their projects, so that it will be easier for the clients to find them. If you have any ideas or want to contribute to this project, write to me nkgokul at gmail dot com