My name is Ronen Babayoff and I’m a veteran Israeli high-tech entrepreneur and have been the CTO of multiple startups. I moved to the Dominican Republic in 2010 in order to enjoy an endless summer of surfing which in recent years changed back to tech related web surfing, researching and endless programming. I’m currently the sole founder and CEO (what was I thinking???) of 2 Latin American startups, LaVaina.com, an eCommerce startup, and Excenite, a restaurant tablet menuapp SaaS.

In LaVaina.com we use meteor for our custom shopify checkout app, our admin app, and for running all of our Amazon, Shopify and mongodb related synchronizations, using our mcli package.

In Excenite, we use meteor and famo.us for our tablet menu app, which, with the help of the wkwebview package we created, is surprisingly performant on iOS.

This blog is where I sometimes share my and my team’s experiences with the wonderful meteor web application framework, things we learned about it, and discuss the open source meteor packages and tools we created. Some useful links:

I hope you will find this blog useful, and if you do, spread the word :)

Enjoy,

Ronen

My Fully Uncensored Tech Bio

Warning, rated M for mature :)

Pelephone

Straight out of university I was hired by Pelephone, the biggest Israeli mobile operator at the time, to lead the architecture and development of their next generation real-time provisioning system, written in object oriented C (I didn’t get permission to write it in C++) and running on Oracle & HP-UX.

It replaced the archaic DOS based systems (using CSV files as DBs!), that took up to 24 hours to provision new subscribers or update existing ones.

In addition, the new provisioning system exposed an API used by an internal web application to directly provision subscribers in the app, bypassing the billing system.

The API also exposed an engine that captured all the internal know-how of provisioning problems, identified them in realtime, and provided instructions on how to resolve them.

Cahoots

In Cahoots, we created a chat and VOIP client allowing people that visited the same website or webpage to talk to each other or leave posts to each other, disqus style.

The idea was to create communities for people that shared the same interests by using the content of the web as their meeting places.

I was responsible mainly for IT, wasting WAY too much time on creating an infrastructure that was supposed to support up to one million online users (this is how things were done the .com bubble days ways, MVP was still a sports only term :-) ). I was also responsible for all the server side development.

Yoomba

Yoomba tried to bring to the world the concept of “email calling”. It allowed people to chat and talk to each other directly from their email clients / webmails, similar to Gmail and Google talk, but with support for all major email clients and webmails.

If you already had Yoomba and tried to call someone who was offline or didn’t have Yoomba, the person got an email with a link to call you back, and once he/she clicked it, Yoomba installed itself and at the end of the install, the callback was automatically initiated (I own a patent related to that mechanism).

In Yoomba I was back in full-on development mode, and there, I developed:

  • A Skype like P2P VOIP and IM network, but based on standards: SIP, RTP, and ICE (Interactive Connectivity Establishment)

  • Greasemonkey like Internet Explorer and Firefox extensions that allowed us to use JavaScript to inject our call and chat buttons directly into the webmails, next to email addresses and contacts in a manner that made it look like they are part of the webmail interface itself. On The JavaScript side I developed a framework that allowed us to support new webmails in a matter of 1-2 days mainly by specifying xpaths to the button injection points.

  • Since this was the pre web apis / oauth era, the same technology above was used to import the user’s contacts from webmails, by screen scraping the contacts in a hidden browser window we opened, after the user logged in.

  • An extensive C++ framework that was the basis of our development. It included logging, error handling, support for many design patterns, runtime configuration, automatic log file shipping, unit testing, local storage, etc., etc., etc.

  • Distributed network testing with support for all different types of UDP and TCP based NATs (symmetric and asymmetric)

  • Continuous integration and delivery infrastructure based on CruiseControl.

  • An Adobe AIR like framework that allowed us to develop our Client UI in HTML and Google Web Toolkit using Internet Explorer’s web browser control, with support for injecting light weight COM objects that exposed different types of OS and other services in JavaScript.

Babitech

Babitech was built on top of Yoomba‘s technology. It created a platform that enabled writing Microsoft Outlook add-ons in HTML and JavaScript. The idea was to use this technology to create an Outlook App Store, allowing any online meeting, file sharing or other app to easily integrate with Outlook, using standard web technologies. There I developed:

  • An Outlook extension framework based on an Internet Explorer Web Browser Control to which the entire Outlook object model was injected, including support for all of the object model’s events.

  • In addition to the very limited UI extension API provided by Outlook, the ability to extend and modify the Outlook UI in whatever way you saw fit, HTML DOM style.

It was implemented by positioning a transparent browser on top of Outlook windows. This browser had access to a JavaScript API to manipulate and move around WIN32 window controls in Outlook forms in order to create space for new HTML controls, and then “injecting” / unhiding those controls in the transparent browser sitting on top of the Outlook window.

All the HTML in the transparent browser moved and resized perfectly with the Outlook window. It was beautiful, and totally looked like it’s part of Outlook. But, before hitting the market, I arrived to the Dominican Republic…