After an organization has been using Iguana for a while with many interfaces then the same sets of questions come up:
- How do we effectively monitor our interfaces? How do we make sure we not snowed under with notifications that no one reads? How do make sure we don’t get woken up at 2am for a problem on Sunday that only can be fixed by our customer on Monday morning? How do we monitor dozens of Iguana instances through firewalls? How do we do custom dashboards?
- How should we back up our Iguana code? What’s the best way to get our Lua code into an external enterprise repository like say GIT? As we expand our team how do we on board new people and make them productive? How should we handle upgrades of Iguana? How do we validate the quality of the code people write? How do we consolidate things so that we don’t end up with spaghetti code where people solve the same problem many times over?
- How do we set up things for high availability – with proxies and active-active configurations? How can we stage things so that we move them from development, to test and production? How do we get visibility over the quality of the interfacing code being written? Can we unit test our Lua code?
- How do we stop interface engineers from unwittingly making upgrades hard because they exploit back doors in our own product that make it hard to upgrade our product for clients? What are the best ways to structure web service code?
- Can I stop and start channels programmatically? Can I resubmit messages using an API? Can I do custom workflow in Iguana? Can I programmatically access the logs of Iguana and put them into a different view?
- What’s coming down the pipe at iNTERFACEWARE? Is there an iPhone App? What technologies are coming that we could leverage to be more efficient and deliver our integration with less cost? What are techniques to handle customizations for Z segments other than using vmd files? Can we use Iguana to handle exotic things like canonical signed encrypted XML, how do we do SOAP with Iguana? How do we handle things like X12 and DICOM?
These are all questions which any customer of any substantial scale starts to ask. Historically we’ve done our best to give clients good advice on handling these issues. A lot of clients ended up implementing very similar utilities to address these types of problems. Many of these things aren’t easily address at a product level because some parts are very specific to each organization.
The trouble is that clients never have enough time and money to do a really outstanding job on these internal solutions – they always to version 0.99 status before there is some more pressing customer facing priority that takes resources away from solving these problems.
So this is where the whole idea of Iguana Apps came about. We have economies of scale that our users individually do not. At this stage we have well over 700 direct clients and it’s continuing to grow even faster. There are literally thousands of engineers in healthcare that are familiar with using Iguana for integration in healthcare.
The idea is that we provide a set of miniature applications along with discussion and documentation which addresses these problems. By building out these applications in an open manner with open MIT licensed code it makes it very accessible. We use a set of non proprietary, easily accessible technologies – jQuery and Javascript in the front end and Lua in the backend to make it easy for our user base to begin and tweak these things to solve interesting problems. Nothing fancy here – goal is not to show our brilliance but to make things easy to understand and solve practical problems.
We make these tools accessible to as wide of an audience as possible. Everything is out there – documentation, the code – and discussions on it. We’re getting on the road and doing free workshops to educate our users. Iguana apps are going to be a huge part of our next up and coming user conference.
The masters training sessions we are doing are a big part of this. We lose money on these events. The whole dev team stops working for the day. We cater the events well. It’s definitely not a profit center. But the intangibles make it worth it. It gives us better face to face relationships with our user community. It increases the value our customers get from Iguana. My development team gains invaluable insight from getting down and working with real customers facing real production environments. All this makes it really worthwhile for everyone. High tech is more than just products and code – people and communication are key to making technology matter.
In the masters training sessions the format we’ve found works well is to spend half the time giving people an overview of what available and then the other half getting people into groups mixed in with our development team and getting their hands dirty with the code. People learn so much more meeting other people that are facing the similar problems to what they have. No one has ever come to one of these events feeling they didn’t get a lot of value out of it. It’s beneficial for the organizations and people that participate. And it’s also fun. Good food, it’s social and our office environment is a beautiful place to learn and hack away at these things.
So hopefully that gives a good overview about what masters training and Iguana Apps are about – do feel free to reach out and ask more questions about these events – if integration is important for your organization then you should be part of this.