Are we that difficult?

This is a rhetoric question.

In the month of December, it was decided by us that the rate at which we are able to generate leads by SEM are not enough and we need to outsource this function. Obviously, my SEM team was a bit disheartened, however the demands of the business have to be met and I consider it that if someone can do a better job than me, then its better to learn from that instead of sit behind and sulk.

Come January, we initiated talks with different firms and decided on one very well known firm who is known to have automated campaign management and ergo large scale capabilities (this is the one point in our campaign management where we were facing problems). The entire month of January was sadly wasted in the sales person of the agency we contacted being in travel and not closing this deal. Finally, in the month of February we agreed upon a contract and we signed on the dotted line.

The eagerness to help our marketing campaign then suddenly seemed to vanish! Post that day, I haven’t even heard from the sales chap who followed up with us (or rather whom we followed up with!!). We were introduced to a technical wiz who would take care of all our campaigns. We waited for more than 20 days for him to completely take over our campaigns … but the only change done till that point of time was simply changing the landing page URLs so that they can track the campaign performances (our campaigns that my team had done) through their system.

When you are in the middle of a peak season, you want business and not inaction. We demanded faster turn around timesat and a strict schedule. We would follow-up with their team and get them to deliver on time. Over a period of time we realized that most of the work is still being done by us. At this point I could not stand it any longer … this firm apparently is the market leader … they have a team as large as us working solely on Adwords … I have 2 people (that’s including myself!). Inspire of this, if this organization cannot deliver a better performance in campaigns … then it makes sense to tell them to take a hike … or even better, me to start a new organization!

What followed was a heartfelt email (though a bit harsh) to the co-founders of the organization (who were by this time involved in this account). One of the co-founders emailed back saying that we are being too demanding on this team and its dragging their team morale down.

At this point, it struck me … are we that difficult to work with? Or is the industry not able to deliver and working on castles in the air?

Read More

image.png

Data Highlighter by Google Webmaster

If you are a webmaster or own a site, then it is likely that you know about Google Webmaster Tools (WMT). If not, then the first thing you need to do is bookmark my blog! Then head on over to Google Webmasters and register your site the NOW! I cannot stress more on this. Google Webmasters allows the webmaster to slightly influence the method in which the Google bot crawls your website. Why is this important, well you can actually tell Google to crawl certain pages of your website, and ask it to not crawl other non-important pages. Typically, you would do this using Sitemaps (do remind me to write about this sometime later!).

The latest feature roll out by Google WMT is their Data Highlighter feature. You will find this in the Optimization section of Google WMT. At present this nifty feature lets you highlight event based data on your website. So if you are a training institute for financial certifications like us, then you can easily benefit from this feature. All you have to do is create a page set of pages which have this data that you need to highlight.

Page Sets in WMT

I created a page set called Batches (which is a set of pages for all our classroom centers in India). Then, the WMT wizard started and asked me to point out specific event meta information which was on those pages. Information such as the name of the event (for us it was events such as CFA Level I, Fin Mod, FRM Part I, etc.), event date and time, venue and address.

Data Highlighter by Google Webmaster

Now, the next time when the Google bot crawls this site, it will simply read and store this additional information and display them in the Search Engine Ranking Positions (SERPs).

Here is a really helpful video by the good folks at Google WMT explaining this feature –

Read More

Using Bugzilla

At Pristine, the team I am leading has a gargantuan task at hand. We are creating a custom Learning Management System (LMS) in addition with a completely overhauled new website for the international audience. This entire process of planning and detailing the products feature-wise has taken roughly 2 months, but it is well worth it.

We started off by looking at our current system (which we are using for our Indian audience), and by taking a look at some of the well known e-learning websites out there. Sites such as Coursera, Lore, Sakia Learning Management System, etc. Then we added the e-commerce bit by taking a look at some of the well known e-commerce cart solutions such as Magento, Zencart, Bakesale, OS Commerce, etc.

What we did post that was match the implementation time lines with the developmental costs and the incremental benefits. Using this decision making framework, we zeroed in on features which we thought would be beneficial in the first release.

Now that we know what has to be implemented, we are on an immediate project roll-out. The problem is that with a growing team and no real set of protocols and team rules, things did go a bit awry and haphazard. The first thing I did was involve one of my friends, Amish (who has 10+ years of development experience in structured environments) and ask his advise on how to manage releases, bugs, change requests, versions, collisions, code reviews, etc.

Pat came his reply, install Bugzilla + SVN. So over a period of 2 weeks, we set about putting this environment in place. It took us that much time since we were working on tight deadlines and also trying our hands out with SVN and Bugzilla. Today, finally our bug monitoring tool is up and running and we are completely tracking the development using the same. Some ways in which we are utilizing this -

  • Planning for future features which we are thinking of right now
  • Having a daily to-do list for the development team
  • Assigning clear cut jobs and daily worksheets for the team
  • Finding out which team player has to currently bear the brunt of the load, and getting the other team members to share that load

Although, a lot of my time has now been shifted from running around in lines of code to working more and more on Bugzilla, but I think this is one awesome tool that any start-up needs to setup.

Read More

Series on CRM

Today, I sat down and started writing a post on Customer Relationship Management (CRM) implementations and it’s failures in most organizations.

The idea came to me as I was reading one of Andrew McAfee’s posts on his blog, the business Impact of IT. In case if you do not know about Andrew McAfee, you can read up on his blog at HBR.

There have been many theories and reasons on how to start implementing a CRM and what are the typical pitfalls. If you search for this on Google there will be pages on pages of do’s and don’ts. Of these I have read a good number, however theory as always is so vastly different from practice that when you are on the ground, it becomes difficult to relate (and subsequently apply) theory to real life problems.

I consider the CRM implementation at Pristine a failure. It’s not fully implemented yet, and its not fully being used as well … but those are precise points why I consider it a failure. I was intending to write a piece on this on my blog.

As I kept on writing relating my experiences with the implementation, adoption and failures of CRM systems, I realized that one post won’t do justice to this (I had touched around 1000+ words and there was room left for more!) and decided to split this into a series of posts.

In the next few weeks, I will keep writing regular posts on the CRM system at Pristine and how it has failed … and how it can be revitalized.

Read More

Using Moodle

Almost all companies who are in the business of training and education require a system where they can provide the course materials and take quizzes online through that system. A lot of the premier educational institutes also have similar requirements. This is where the need of a educational content management system (CMS) is felt … a learning management system (LMS). The open source movement has created one such popular package and that is Moodle. Moodle is an open source learning management system which candidates can use to access courseware, give practice tests, quizzes and submit assignments.

Institutes such as IIT-B, IIM-A, IIM-B and IIM-C have been successfully using Moodle for more than a decade now. As a training provider for CFA, we also use Moodle to provide courseware and quizzes to our students. Now you should know that although the fundamental pedagogies of most institutions are the same, the business processes might differ. What that means for Moodle, is that the requirements and expectations from this system differ from institute to institute. For the past three years we were using Moodle 1.9 … a system which has now become archaic.

It works, yes. But it lacks in the functionality extended towards the course administration. In addition there are a host of other Learning Management Systems cropping up … you have KhanAcademy.org’s open source code for non-profitable institutions which is perl based, but is awesome, you have Dokeos and Sakai which are other open source LMS. There are free cloud based systems such as Pearson’s Google App integrated LMS, and there are premium cloud based systems such as Blackboard.

In my quest to upgrade our systems, I was looking at different options and finally decided to settle with a known beast … albeit a higher version … Moodle 2.2! The good part of any open source package is that it’s generally free of cost and open to customizations … the bad part is that well … there’s almost no documentation and virtually no support. You have to figure most of the stuff by yourself and use forums to  get past your stumbling blocks, and this takes time.

Having said that, I was pretty happy with the latest Moodle, here are my findings –

  • The system has gone more and more object oriented. If you wish to change any behaviour in the core modules, simply extend and over-ride!
  • Reporting has substantially improved
  • Theming has become more complex, but once you go through the steep learning curve then you should do fine
  • The core modules are MVC based, so although it is not suggested, you can jump into their codes and alter away!
  • The documentation is virtually absent, the wiki is a mix of versions 1.9, 2.0, 2.2 and 2.3
  • Quizzing modules have been substantially improved
  • Course progress and objectives tracking has been implemented
  • Adaptive quizzes have been implemented, however I have yet to test these
  • Question randomizations are there ensuring that the quizzes students give are random every time

We are currently tweaking this system to suit our needs and once rolled out, I will post the link here!

EduPristine Moodle Demo

You can now take a sneak peek at the system that we have built – EduPristine Moodle Demo

Read More

wordpress

Shortcodes in WordPress

I love WordPress.

The blogging platform is a great content management system (CMS) to run on your website. Not only as a blog, but it can host your entire site. For example, most of the info pages on Pristine are on WP. In fact over the past year or so, my team has been learning how to create themes for WordPress.

At Pristine, we are providing the training schedules course-wise and city-wise on our different pages viz., for CFA Level I page, we are giving the schedule for all cities where CFA Level I is being conducted, for the Mumbai page, we are giving the schedule for all courses which are being conducted.

It does not take a rocket scientist to figure that there is a lot of duplicate information (which needs to be constantly updated) on different pages. With 8-10 centers and 6-7 courses that means anywhere between 50 to 70 pages which need to be updated whenever the training schedule changes. What a nightmare!

That’s where Shortcodes come in. Shortcodes are essentially functions that you can call from the WordPress CMS. Those of you who have used WP in the past would know that the WP platform is very easy to publish content ensures that you can only enter HTML in the publishing mode. We cannot write PHP scripts within the WP pages.

One way is to customize your templates, but if you want to run the script within your WordPress Publishable Content, then Shortcodes is the elegant solution. All you have to do is declare a function in the theme’s corresponding functions.php file, declare your short code and bind that to your new function. Voila! Now you have your own short code!

So, in this example, all I have to do is create a filterable query for the training schedule and pass either the city or the course as an argument in all my pages. Every time the schedule changes, all I have to do is update it once in the database, and the content will get auto-updated in all my 50-70 pages.

Read More

Corrupt Administration!

The price good men pay for indifference to public affairs is to be ruled by evil men. – Plato

In an earlier post where I was complaining about the lack of revolutionaries in the system, little did I know that in a few days I would be experiencing the wisdom of Plato first hand.

We are in the process of shifting our offices from Goregaon to Andheri. The office is within 2km of my home, and pretty much what you call my locality. Due to my efforts in securing kindergarten admission for my daughter, I have also come in touch with our local administration.

Now, the person in charge of the sprucing up of the new office did not do his homework, and started the interior decoration of the office without any checks with the local authorities. Three months down the construction, when we have shifted into a makeshift office (its going to be our computer lab in the new office), and have no other alternative offices to go to, the local authorities intervened and stopped the construction.

Upon enquiry, we found out that a permission needs to be taken from the Buildings and Industries department of the Bruhanmumbai Municipal Corporation (BMC). Without this said permission, construction cannot go on.

Since the BMC officials refuse to parlay with “north-Indians” and they are from the Shiv Sena party, guess who has to liaison between the organization and the BMC :)

When I went to the officials, I was made to wait indefinitely biding for my time to come. Fortunately, I knew someone higher up in their chain of command and not wanting to play the waiting game, I made the required calls, and got to meet the concerned person.

I do not know whether it was my fortune or misfortune, but the person with whom I had clout in the administration was also the source of my predicament! It was his department that had raised the issue and was waiting for my organization to respond.

So began the diplomatic dance. The dance where you avoid saying the obvious and stick to the unsaid protocol. All said and done, I was presented with two choices – one, the way of the right, wherein we would have to chase this permission across the city for 3-6 months. The other, the way of the corrupt, wherein we have to pay for silencing the officials.

The sum mentioned was in the right range … I don’t know how these officials do it, but someone needs to learn pricing from them. The amount was not too high for us to outright say no, it was lower than the opportunity cost of keeping our employees at their homes :), and yet it was high enough to grease the right palms and keep their pockets filled.

We are PWN’ed and most likely will give in to their demands. The price of sheer negligence on one senior partner’s part is a 2 lakh bribe. Talking about corruption is one thing, but when the efforts to fight the system means you will lose more than what you will save, then does it make sense to fight it? We would be writing it off this year.

Read More