Speakers & Volunteers

WordCamp Mumbai 2016 Day 2 Wrap

WordCamp Mumbai 2016 Day 1 Wrap

My favourite talks of day 2 at WordCamp Mumbai 2016, in chronological order:

  1. Naoko Takano (@naokomc) came all the way from Japan (and brought really cool WordPress tattoos for us – you saw a sample in yesterday’s post) to talk about how WordPress became successful in Japan, capturing 78% of the website share. A relevant talk for anyone interested in internationalization and localization.
  2. Michael Eisenwasser (fb/eisenwasser) is the co-founder of BuddyBoss, a company which build products for the BuddyPress ecosystem. Great talk to help us build user engagement using “social tools” on WordPress.
  3. Sakin Shrestha (@sakinshrestha) came all the way from Nepal, where he heads various companies and also manages to host WordCamp Nepal. He introduced the audience to different approaches to developing themes for WordPress, ranging from modifying an existing theme, to building one from scratch, including using frameworks and starter themes.
  4. Darshan Sawardekar (@_dsawardekar) is a Lead Web Engineer at 10up, and a vim enthusiast – to the extent that he is the author of a vim plugin called WordPress.vim. He explained why URLs are important, how pretty URLs/permalinks work in WordPress, what Rewrite rules are, and how we can leverage them to our advantage.
  5. Mahangu Weerasinghe (@MahanguW) is a Happiness Engineer at Automattic, and like Bryce & Sam, I had met him and heard him speak on stage for the first time at WordCamp Mumbai 2015. This time he shared how he, a non-programmer, taught himself to write code on WordPress that lets him do things one step at a time, using action & filter hooks. But beyond just the technique of it, his deeper message was that programming is not only for the math-minded toppers in school – essentially, programming (at least algorithms and high-level programming languages) is language, and similar to any language we speak in with each other – so any person who can communicate well can also code well.

Thus ended my fourth WordCamp and the volunteer stint with it. In the process I had the chance to discuss with great people, some of whom are employees at Automattic, others are business owners in India, some developers, and every one of them a WordPress enthusiast.

Photographs courtesy: Bigul Malayi (@mbigul)

Until the next WordCamp!

WordCamp Mumbai 2016 Day 1 Wrap

On my way to the venue.

On my way to the venue.

The venue was set, the sandwiches, tea, coffee, water was all fixed, the projection on stage, the sound from the laptops, the presenters/clickers were tested, the WiFi worked finally after a couple of hours of tinkering.

47999106-9408-4c1d-9471-f450230a221fAfter around an hour of attendees walking in, collecting their goodie bags, and walking in to the auditorium after getting something to munch on & sip, we were ready for the talks to start.

WordCamp Mumbai 2016 was open!

This is my fourth ever WordCamp. I was an attendee at the first one (Mumbai 2014), a speaker at the next (Mumbai 2015), a sponsor at the next (Pune 2015), and I’m an organizer/volunteer/<localhost> at this one.

I was looking forward to this WordCamp eagerly, for the quality of the planned talks if not for anything else.

And this is the first WordCamp which was duly attended by the whole 13 Llama Studio team.


In the chronological order, here’s my take on what I liked about what went on today:

  1. Shilpa Shah (@IdleGazer, HWS) told us what customers want. It’s been a recurring theme in WordCamps, and rightly so. Developers have been known to not fully understand the importance of dealing with customers with empathy and a kind word. Shilpa delivered the message in her disarming fun way. A great start to a great WordCamp.
  2. Nirav Mehta (@niravmehta, StoreApps) had delivered this session at a WordPress meetup a few weeks ago, which I had missed. Later I heard many good things about it from those who hadn’t. Today I found out what I had missed then. Various insights into the WordPress plugin universe and what an aspiring plugin developer should focus on made this a must go.
  3. Bryce Adams (@bryceadams): I had heard Bryce for the first time in WordCamp Mumbai 2015, and was just blown away with the way he built his case for the famous “decisions over choices” principle. This time he spoke about building Freemium plugins, and how it follows from looking at The Bigger Picture.CdU57xTUAAAsQ9_
  4. Sam Hotchkiss (@HotchkissWeb): Same as Bryce, I had heard Sam last year, and he showed us a very cool picture of the admin panel of the future. This time around, he took us through the best practices for Plugin development. Very thorough, and very enlightening.
    I want this printed, framed, and hung on every developer's desk every where

    I want this printed, framed, and hung on every developer’s desk every where

  5. Karthikraj Magapu (@KarthikMagapu, HWS) in his inimitable style, took Nirav Mehta, Rohan Thakare (@rohanthakare, Wisdm Labs), and yours truly, along with a member from the audience on a panel discussion – the topic being how can growing WordPress based companies get to their first million. As much as it was fun, it was thought-provoking, forcing us to look inwards, and learn from each other. The learning opportunity for me was immense, since both Nirav and Rohan have been in business longer than I, and run larger companies than I.
    The panel at WCMumbai 2016

    Photo courtesy: Harshaja Ajinkya

  6. Rahul Bansal (@rahul286, rtCamp) is the god of scaling, speed, reliability, and taking off from his previous talk at Mumbai 2015, he taught us how to make WooCommerce scalable. Entertaining and educative.
  7. Raghavendra: though I missed a major part of his talk, whatever I heard moved me to the core. As a developer, I have always insisted on the alt tag, and warned against the indiscriminate mixing of alt with title in imgs. Today I got validation for this seemingly pedantic practice. But the alt is only one of the things we developers need to take care of while making the web accessible to those with disabilities. And WordPress is the only platform which focuses on accessibility. Yet another reason to be proud of using WordPress and being in the community.
  8. Kshitij Patil (@thekshitijpatil, kshitijpatil.com) is an entrepreneur who has sold web design services for years. And he shared his techniques and principles with the audience.
  9. Saurabh Shukla (@actual_saurabh, hookrefineandtinker.com) delivered one of the most fun, engaging, and moving talks of the day, where he shared his numerous stints with a development career, the failures & struggles, and finally simplified talent retention through the famous Maslow’s Hierarchy of human needs.

WordCamp Mumbai Day 2 Wrap

Success

sunset-people-sun-men_blog
Just last week 13 Llama Studio went on a team lunch to Jughead’s at Marol. Much eating, drinking, and merrymaking ensued. The team talked, bonded, took selfies, groups selfies, chugged whatever liquids each one pleased, and ravaged through plates and plates of delicious food. In short, we had fun.

But there had to be some serious discussions as well along with the fun.

I have been thinking for the past few days about how I would define success for 13 Llama Studio. And I have finally settled on five metrics that will define if we are doing well.

  1. Volumes: the most obvious metric. Quantum of business. Amount of sales. Top line. Revenues. How much money we were able to extract from all our clients combined within a said period of time.
  2. Community: being known and appreciated in a product/developer community. With Prasad and I speaking at the Mumbai WordCamp, 13 Llama hosting quite a few WordPress meetups at our office, and sponsoring the Pune WordCamp, I think we have made a good beginning here.
  3. Clientelle: by design or by happenstance, we are strong in three verticals: Education, Healthcare, and Media. In September, we were able to say that we are working for a marquee name in each of these three verticals. We’ll expose these relationships later on when the time is right. 🙂
  4. Product Success: our key point of introduction when meeting someone new is that we are a product development studio, or more accurately a product development team for hire. We have tried our hands at projects which had the potential to be great products. Some of these were launched, and some of these could not be, for various reasons. Right now the team is working on three new product ideas, and we are gung-ho about making each of these a success.
  5. A Kick-Ass Team: And finally, the key ingredient that will make each of the above four a possibility. A team which is competent, dedicated, dynamic, always learning, always improving, and always ready for a challenge. I can confidently say that each of our team members has the potential to be a superhero that such teams comprise of, but there is still a journey ahead of each one of us before we can with full honesty say that we are superheroes. Also, the team isn’t complete yet. We are looking for superheroes, or potential superheroes who can take 13 Llama Studio to the heights we have dreamt of. So if you think you are someone who fits the bill and would love to work with us, 13 Llama Studio’s Careers Page.

Here’s to a bright and exciting future!

Dear MTNL. Stop taking sips from my broadband coffee!

It’s a fine Sunday morning, and you go to a cafe with your friends, and order a nice cup of large cappuccino.

While you’re chatting with your friends, you notice out of the corner of your eye, the waiter bringing your cup of coffee. You feel relieved, and excited for your kick of caffeine. Just then, you see the waiter lift the cup to his lips and take a sip from your cup.

How do you feel?

Apart from the initial feelings of disgust, you calculate your losses. You’ve paid for a certain volume of coffee & foam, and the waiter is taking away part of it, without either paying for it himself or compensating you (since technically now you’re the owner of that cup of coffee). And all this without your permission!

Thejesh GN had written about how Airtel was injecting an iframe in the pages served on its 3G connection, though Airtel defended it saying that it’s to track our usage to help us better. How is monitoring which pages I go to going to help me better, and how the telecom company providing me the connection can’t track the amount of bandwidth I consume without injecting iframes into the source of pages I visit is beyond my understanding.

We could still say this is expected of a private company. They are, after all, after only one thing, profits. But if a PSU starts one-upping them, it’s worrying.

Not only has MTNL been injecting code into the source of pages we view on their broadband connection, they have been showing ads as well. Large ones. Sometimes larger ones.

Here’s a sample:
ads on MTNL broadband

It raises quite a few concerns in my mind, and here they are.

  1. Permission: MTNL is a service provider. And we pay them for the service. We expect a certain amount of data transfer at certain speeds, and nowhere while signing up were we informed or our permission sought that they will serve ads on the connection.
  2. Money: MTNL charges us the amount for the specific amount of bytes transferred per month, and if we exceed that limit, our connection is downgraded, which is equivalent to Shadowfax being chained to a snail. We as consumers keep monitoring our usage and reducing our superfluous consumption of bytes (stop reloading that often, watch lesser cat videos, download 720p versions of videos instead of 1080p and so on). And now we realise that a certain amount of our bandwidth will be consumed no matter what, because MTNL wants to run ads on the pages we see.
  3. As a producer of content/platforms: I run a business where we create web properties. Our clients are people who produce content or provide a service on these properties. In addition, I run this blog, and my firm has a website. It’s highly likely that when normal users (which includes me) using MTNL’s broadband connection accesses these properties, they would see these ugly ads on the pages. None of us agreed with MTNL to let them serve ads off our platforms and on our content. Some of us run ads on these properties which help us fund the operation of these properties. MTNL’s ads which ride on the connection are diluting the effect of the ads run by our paying sponsors, and are in effect robbing us of our ad revenues, in addition to spoiling the face of our properties and businesses. And there’s apparently nothing we as producers of content can do about it.
  4. Privacy: Of course the concern here is the same as in Airtel’s case. Today they’re injecting ads, tomorrow they could inject spyware (like some small-time private cable ISPs already do), or could inject ads in all corners of the page (like those same small-time private cable ISPs already do). And they have no business doing it.

On the money front, you might argue that it’s still a little bit of content trickling through and shouldn’t bother us. But I did some back-of-napkin calculations, and here are the approximate results.

Every page I visit consumes around 1 to 2mB of bandwidth. With modern browsers and content caching etc., every time a page is reloaded, the marginal consumption of bandwidth per repeat page would be in hundreds of kBs. On a page load, the amount of bandwidth MTNL’s ad consumes is around 30kB. Even if we calculate on the basis of absolute size of a page’s content instead of the marginal consumption, the noise-to-signal ratio here is 30kB/1.5mB = 2%

If I have a connection of 50gB FUP, this amounts to 1gB. I am being charged for a full HD movie download extra because MTNL wants to serve ads on their connection to us. And not even making a profit off it, because so far I’ve only seen ads of MTNL services in this fashion 🙂

How is this different from websites running ads?

Some might argue that YouTube also runs ads on the content they’re serving. कोई उनको कुछ नहीं कहता! Well, YouTube doesn’t charge me for viewing videos there. When a paid service provider runs ads blocking their own service, and consuming the service that I as a consumer am paying them for, it’s outrageous.

People my age might remember an ISP called Caltiger who started operating in the late 90s. When VSNL’s connections were expensive (Rs. 5,000 for 500 hours of browsing), Caltiger came up with an industry-changing idea – free internet. It was dial-up internet, which means that we still had to pay the per-minute rates for phone calls, but then again, even VSNL’s connection was dial-up, which meant that the total outflow from a subscriber’s pockets were around Rs. 35,000 per year including the phone bill, and not just Rs. 5,000 that we paid VSNL. But Caltiger used to run ads on our screens using its dialler software in exchange for the free internet. In effect we saved Rs. 5,000 in exchange for agreeing to have ads running on our screens. Ads served, but no money taken.

MTNL cannot do both: charge us for bandwidth, but still serve ads. And that too without our consent – both as consumers and as the real creators/providers of content.

The Tech

How do we get rid of this nuisance? Well, if you just see the source of their ads, you can see the following code that is responsible:

<div id="__BULLETIN__bdiv" style="position: absolute; z-index: 999999999; visibility: visible; top: 654px; right: 20px; display: block; transition: top 0s ease 0s;"><style> img.scalable { max-width : 100%; height: auto; }</style><a id="__BULLETIN__bdivButton" target="_blank" href="http://mtnlmumbai.in/index.php/fixed-line/landline/tariff"> <img id="__BULLETIN__bdivImage" style="height: 300px;" src="http://203.94.227.140/bg/Creative1.jpg" scrolling="no" frameborder="0"> </a> <div style="overflow:hidden; position:absolute; right:0; top:0; z-index:9999999999;"><a id="__BULLETIN__button0" href="#"><img id="__BULLETIN__button0i" name="button0" class="scalable" src="http://203.94.227.140/bg/CloseButton.png" border="0"></a>
</div></div>

Temporary solution: Blocking the IP address 203.94.227.140 in your etc/hosts file or in your router’s firewall would provide temporary relief, but since I blocked a similar address last a few weeks ago, they’ve updated the IP address in the request.

Permanent solution? What remained common was the 203.94. part. As far as I know, blocking wildcard IP entries or IP clusters using etc/hosts isn’t possible. Can any of you nice people guide me on how to block this IP cluster either using etc/hosts or the router settings?

WordCamp 2015 Mumbai

It’s official.

I’m speaking at the WordCamp 2015 in Mumbai. It’s being held on the 7th and 8th of March 2015, at Manik Sabhagriha Auditorium in Bandra.

The topic of my talk is WordPress as the backbone of a mobile app.

Do try to make it if you’re interested in WordPress, mobile app development, PHP, or programming. It’s one of the most high-power events for software professionals in India, and you can expect to hear and meet inspiring professionals working in the WordPress ecosystem and in software development for the two days of the event. And it’s right next to the Bandra Candy’s if you need more incentive to attend 🙂

See you there.


Update: Prasad is speaking there as well. Now you have two reasons to come attend it 🙂

Jargon of the Day: Vendor’s Guilt

It’s been almost three years since I quit the folds of a job with a private limited company, with a regular monthly salary, and almost a year since Prasad and I started off our own firm.

It was the beginning of a new continuum of professionalism, applying whatever we know & understand, making mistakes, learning from them, and trying to turn those experiences into repeatable behaviour.

And amongst all this, we observe each other, learn from each other, and try to correct each other from time to time.

One trait I’ve observed in our behaviour at times is what I’ve started calling Vendor’s Guilt (and Prasad does refer to it in a post a couple of months back).
Here’s what it is.

One of the reasons we wanted us to start on our own was to become a rare type of IT vendor: the kind who gives full value of the client’s money, does not act hostile towards the client or their work, and always has the client’s best interests in mind.

While all this is fine and a noble, the fact of the big bad world out there is that any business would try to hold back in negotiations and payments, and try to extract the most bang for their buck. I’m not sitting in judgment on anyone here — it is because businesses are closest to what we learnt as the rational person during our microeconomics classes — they aim to maximize gain while minimizing expenditure. Of course as people many of us might think it’s a crummy thing to do, but as people managing a business we get rid of the guilt associated with such behaviour, and thus we get the every day client.

Often times a well-meaning vendor (the one who goes by the principles I listed two paragraphs ago) gets carried away with the well-meaningness, and goes into altruistic territory. The classic symptoms of this behaviour are:

  • Relenting during negotiation (they can’t pay more than this, how will they get it done at the prices we quoted?)
  • Starting work without receiving any payments (of course they intend to pay, they can’t NOT pay, right? They are good guys!)
  • Volunteering to give advice not asked for at times which would reduce the size of our engagements (as a partner, shouldn’t I be concerned about saving my clients’ costs?)
  • Getting anxious whenever the client would raise even a small concern (how could we let this happen? how would this affect our relationship, and reputation?)
  • Not chasing clients for pending payments often enough (how would it look? he’s the brand manager, the payments are processed by the accounts guy, they have run out of their monthly budgets already)
  • Continuing work and taking on more pressure despite payments being delayed inordinately (they can’t pay, they don’t have money, and unless we deliver this, how will they earn and pay us?)

Please don’t get me wrong, it’s good to have good intentions for clients and prospects as a service provider. And it’s a bit scary for us to imagine turning into the other vendors we all have burnt our fingers with.

But when these concerns overshadow our own survival, and especially when we are dealing with clients who are bigger in size and turnover than we are, yet somehow they don’t have enough to pay us for our services, out comes this term: Vendor’s Guilt.

How was this affecting us? At times we were feeling the pressure from both ends: work was piling up, but money wasn’t trickling in, often due to the same clients. We would keep debating hours about why we are letting this happen to us. And in those hours of debate, it became clear that we were letting this all happen, and maybe were driving ourselves towards this, because we were striving to set ourselves apart from the run-of-the-mill vendor we hear stories of who shut down servers, or put up a nasty message on the homepage, or overcharges for superfluous services.

How did we manage our way out of it? It was a three-point realisation:

  1. That we really aren’t ‘that’ vendor. When we stepped back and assessed our work and engagements, we realised we were a high-performing considerate vendor, and most of our engagements are really healthy. Most of our clients respect us and our work, pay up on time, and barely haggle. And we have always strived to deliver the full value of what we’re paid. Plus, we have not abandoned on bad terms a single project because of payment or personality issues (touchwood), a problem that I increasingly see is quite common at least in the Indian market.
  2. ‘That’ kind of vendors still exist, and we still keep hearing about them. But there’s another realisation we’ve had: that the vendors aren’t always at fault. There are clients who give vendors a hard time, hold back payments, and misbehave with vendors. And there’s just so much that a business owner can take from a client before protecting their own business interests. I’m not condoning that behaviour, but if we haven’t stepped into their shoes, how can we judge them so harshly?
  3. We are a business, being managed and powered by people, who have bills to pay and dreams to fulfill. And at the end of the day, if we can’t pay the wages all these people are here for, and are struggling with working capital and profitability after working so hard, is it really worth it?

From the point that we’ve had this discussion, we’ve decided to keep a tight check on all engagements, raise flags whenever we realise it’s veering towards exploitation, and take appropriate measures. These measures are nothing more than getting clarity amongst ourselves, meeting with the appropriate people at the client’s end and apprising them of our situation. In all the cases, the other party does appreciate our concerns and our sharing with them.

Meanwhile, we continue to deliver value for all our clients, strive hard to get the best done for the best costs, because that’s what we set out to do and not out of any guilt, but we don’t make ourselves bleed to fill anyone else’s cups.

It’s not that difficult, really.

Moto X comes to India as well!

Back in February, Flipkart surprised us all by bringing in the amazing Moto G to India. But wait a second, they had another ace up their sleeves. Now they are also selling the game-changing Moto X, albeit stocking just the 16GB variant so far.

Moto X on FlipkartFlipkart and Motorola have managed to surpass themselves yet again on the price front.

If you haven’t yet bought the Moto G, and if your budget is around 25000, what excuse can you think of not to buy this one? 🙂 Now I wish I hadn’t bought a Moto G myself.

My Top 5 Electronic Devices

During my college days, my friends used to often call me Mr. Gadget. That’s because the desk in my hostel room always used to be covered in electronics, black wires, all jumbled up, and from within it, I used to draw devices like a Palm PDA, a CDMA USB dongle (this was 2005, so it was all red-hot-new!), and dazzle them all.

Years have passed, and so the gadgets have changed. But I have become more productive with them, and my relationship with them has become more meaningful than ‘the latest available, just out of curiosity’.

So here’s my top 5 gadget list that I’m using as of now.

1. The MacBook Pro
I had always been a PC user. Half of the time I was forced to use Windows. The other half I used different flavours of Linux, for some time Red Hat, some time Ubuntu, and most of the time OpenSuSE.

Well, that changed in the middle of 2011, when I finally decided to buy a MacBook. It’s a 13″ MacBook Pro, now souped up with 6GB RAM and an additional 120GB Intel SSD, which make it all the more fast and a pleasure to work with.

2. The Phones
At present I’m using a Karbonn A9+, which was a distress purchase from Croma, because my 4 year old Nexus One had refused to charge that day, and I needed a phone.

Before this, I was using a Motorola Defy+. An awesomely rugged phone, which did not fear water, dust, or any such thing specified in its manual. Too bad it had to go to the repair shop, because one night I dropped it from four feet and it landed face-down and its glass panel cracked. Gave an effect of an awesome psychedelic wallpaper though.

3. The Battery Pack
In this age of smartphones, where screen sizes are getting bigger and processors are getting faster, battery capacity is hardly able to keep up. Most smartphones die within 12 hours of charging them full.

This gave rise to a new category of mobile electronics – the USB battery pack. You charge it at home when you charge your phone. When you leave home, you carry it along with you, and when your phone’s battery is about to die, you plug it in the battery pack and turn the pack on. Voila! Instant charging without being tied to a wall. It’s like carrying an extra bottle of charge along for when your Camelbak runs out of charge.

Mine is a CoolerMaster Choiix Power Fort 5.5Wh. Why did I buy this one? Because it’s tiny enough to fit in my pockets along with the phone, and it came in my budget.

4. The iPod
This was my first ever Apple device. And I bought it only because it offered me the largest capacity to store my entire music collection, and was still the best on the price/GB scale. Moreover, its battery has lasted me well, though it shows fatigue nowadays (This iPod Classic 120GB is 4 years old).

5. The Camera
I own a Nikon D90. In its time it was a game changer. And it’s not a bad performer now either. This isn’t a device I use daily, but it’s important enough for me to make the list.

Now, out of these 5, I have bought at least 3 (4 if you ignore the Karbonn and consider the Motorola) online – the laptop, the camera and the battery pack. In addition, I have bought innumerable memory cards, for the camera and for the phones, cables, chargers, flashguns, flash controllers, studio equipment, old lenses, new lenses, all online.

Yes, online. I believe that retail has matured enough in India for us to buy even high value things such as these, online. Except for maybe clothes, shoes etc. (where you would like to hold and feel the product, and maybe try it for fit), I think everything else can be bought online, what with trusted platforms like Flipkart, eBay, SmartShoppers ensuring that we get value for our product, get it in time, and any complaints we might have are resolved. Even though I haven’t yet, but people have been buying even clothes and shoes online, now that Jabong and Myntra are here.

There’s another reason I bought these things online. It’s cheaper. Yes, most of the time it’s cheaper than buying from a brick-and-mortar store. I’m not talking about the convenience of comparing and ordering, or about the opportunity cost of driving down to a store. I actually got these products for lesser rates than I would have gotten them offline. Many a times it’s because the vendor passes on some savings to us, but quite often it’s because I come across a deal. For example, the now almost famous laptop sale period on eBay, where I bought my MacBook and where I send my friends to buy their MacBooks from, or Flipkart’s birthday music giveaway.

There are three ways I find such deals:

  1. Mailers: eBay regularly sends out mailers with coupons for specific discounts on specific categories. I just try to time my purchases with the validity of these coupons.
  2. Sites: This is another way I get coupons and deals for my purchases: by looking for them online. There are quite a few coupon & deal aggregators online, like Cuponation.in, and a few others, where I look for deals for the product I’m looking for at the shop I’m looking to buy it at.
  3. Phone recharge: Vodafone and Reliance (that’s all I know of) often give out coupons of eBay and other shopping portals when you recharge your phone connection from their site. It’s quite handy when you have to buy something in the range of Rs. 300 to say Rs. 2000, because the discount is not a percentage, but it’s often a flat Rs. 100 discount.

Long Due Update

I’m sorry I’ve not been writing for quite some time now. But I hope you enjoy the pictures and the wallpapers 🙂

In the past few months, life has changed. A bit.

I’m working for myself now. And I’m happier doing it.

You’d have seen the post about the Big Wheels Motoring website design. Apart from that I’ve worked with a design agency in Pune run by very dear friends of mine, on a website for a NGO. And the most exciting thing right now is another project with the same agency, this time for another friend. You shall see the result in a couple of weeks.

And, I am hell-bent on getting another personal web project out this time. Wish me luck!