As a participant in the Infusionsoft API Forums, I came across a forum post in which that someone wanted to show the Creation Date on the Contact Notes. As an Infusionsoft API Script developer, it would easy to write a script to show the information. But the person who wanted the Date to be present in Infusionsoft Interface. At the time, I would have suggested to raise a ticket and get Infusionsoft Developers to implement it. But, following that forum post, it got me curious, is it possible to modify the Interface via a Browser Extension (or Plugin).
On the 26th May 2013 I delved into the world of Google Chrome Web Browser Extension development. Reading the documentation, it was quite easy to create an Extension, in which I experimented in trying to add column into the Contact Notes table. I went further into creating a PHP API Script so that it could get the Contact Notes for the Contact, so that the Creation Date was available. From there, I could populate the Contact Notes table with the Creation Date, in which I was pleased to see.
From experimenting with that idea, it has lead to many other ideas, and hence the creation of “Extend My CRM”, or EMC for short.
Why so long in Development?
Before any main development work was started, a design document was written to explore the different architecture designs, features, etc. Decisions had to be made to see which is the best way forward for the Plugin. Should the design be kept simple as everything kept into one Extension, or should it be more complicated by hosting the scripts online. Although in the latter case, if the web server went offline the Extension would not work. This took a period of time to do, but was worth it, as I did not have to keep everything in my head!
Development work started in the latter part of 2013, but was paused several times due to on-going customer work. I came to a decision point in January 2014, in which should I carry on developing in Google Chrome because Infusionsoft did not support the browser fully. It made me laugh that 99% of the world websites work in Chrome, and Infusionsoft did not fully. It is usually the case of 99% of the world websites do not work in Internet Explorer properly, rather than Chrome! But Infusionsoft supported Firefox, in which I decided to develop EMC for that browser.
Developing in Firefox made things 10x worse, as it is not developer friendly at all. I was able to slowly get the features that I developed for EMC into the Firefox Extension, but there was a lot of hair pulling. EMC was slowly continually being developed, but at a much slower pace that I like. Customer work appeared again, and the development was put on pause.
In February 2014, I got to the point that I could show people internally what I was developing, by issuing out early Alpha copies of the Extension. The reception was positive, and I received various amount of feedback regarding if Infusionsoft could be extended in different ways. Although some ideas were a bit extreme as either it would take some time, or would require Infusionsoft Developers to make the necessary changes.
In March 2014, I attempted to do an OnSip Internet Phone Integration for someone using EMC. Code was available for Google Chrome Extensions, but none for Firefox. So I attempted to port the Chrome code over into Firefox. Although that became a nightmare, as Firefox had a fault in its browser, which prevented the Extension from accessing a key feature. But that work was quite draining, and more customer work appeared again!
In June 2014, Infusionsoft announced that their software is now compatible with Google Chrome! It was a miracle, Infusionsoft got into the 21st century! After seeing that, it meant I could revert back to making a Google Chrome Extension again. But it also meant I could go over what I have originally developed, and redo any parts that were not working as expected.
In July 2014, the rebuild of EMC had started in Google Chrome again. What I had written before was ported over to the new version of the Extension. So it was not a complete waste of time of what I originally developed. Most of the original architecture has been kept the same, apart from tweaking it in various places. Some features will be dropped for the time being, so that I do not spend several weeks developing them, as they need more thought and feedback.
In August 2014, I became confident in making a release in the month. The EMC Domain Name was registered for the first time, and the website was installed, which will need further tweaks as time goes on.
What about other Browsers?
Although the development work is concentrated in Google Chrome, I will make EMC support other web browsers in the future. I did make it work in Firefox, but I am not happy with Firefox developer tools, nor its stability, as some features may not 100% work if it was ported across. Opera could easily be supported as apparently it now uses the Chrome Engine, which means it may need a couple of tweaks to make it work. Safari could be supported, provided it is not a pain to develop in. And as for Internet Explorer, my answer would be never in a million years.