A Behind the Scenes Look at Zoho Creator

A Behind the Scenes Look at Zoho Creator

In this post, I want to provide a behind-the-scenes look at Zoho Creator, a sense of what all of our engineers are doing.

First, to step back, Zoho Creator was born of an idea I had way back in 2002. I sketched out the underpinning of a programming language, with some strongly held convictions born of my own experience. In the beginning, that language had no syntax at all - it was living purely as a set of database tables. In programming language parlance, I had defined the "abstract syntax" of the language, without bothering to define a concrete syntax. In a way, the Deluge language had soul, but no body yet.  I started an experimental project some time around 2003-2004. Zoho Creator itself was launched in 2006. 

Unlike competing systems born at that time, Zoho Creator was not simply a form/view builder. It always had more power than that, as expressed by Deluge, which is why it has endured and thrived. 

The most important aspect of evolution over the years has been in the runtime environment. Deluge has evolved from an interpreter to a just-in-time compiler, which was essential in achieving decent runtime performance. This took a fairly substantial effort, many many staff-years of R&D. We still want to speed it up much more, and there is ongoing R&D work in caching, scheduling and so on to speed things up further.

Scalability is another major area where we have spent a substantial amount of effort, consuming the majority of our team's time. Originally Deluge ran only on an SQL database. Today, it uses many different kinds of storage systems underneath, using each for what it does best. Distributed file systems, NoSQL systems, caching systems and of course SQL databases all play a role. We have also done integration with Zoho Reports, which uses is own engine underneath.

Now consider these two big items: moving from an interpreter to a just-in-time environment, and expanding beyond SQL database to multiple forms of storage. Normally these would have been highly disruptive to application developers, because we are basically doing brain surgery on the core system. The changes are essential because that was the only way we could keep the environment scaling and offering acceptable performance, while keeping our infrastructure costs reasonable so we can continue to be affordable to our growing user base.

We have pulled these off without major disruptions. I acknowledge we have had disruptions but I think the vast majority of our users, certainly any fair-minded observer, would agree they have been minor, and they were fixed fairly quickly.  While any disruption is painful to our user community, and we take our responsibility of running this platform seriously, I want to emphasize that this whole cloud platform technology is still evolving rapidly, and a lot of R&D effort is going into it to make it really bullet-proof.  This is true not just in Zoho, but across the industry. 

Now what is ahead over the next few years? I am personally working on what I call Deluge NG - the next generation of Deluge that I hope would offer much more expressive power, while at the same time being as accessible as Deluge today. My goal is to empower the "casual programmer" or even power user to get a lot more done, without having to get a Computer Science degree. It is still early days on Deluge NG, but as it matures, I will post a series of articles on it. We will offer an experimental version of it online, running on a separate instance from the present Creator, so people can get a taste of what is coming. 

For those technically inclined, the driving theme of Deluge, present in an underlying, unexposed form in the present version, but fully brought to the surface in Deluge NG, is the idea of a fully queryable type system. Basically every type, every piece of data, in your program is fully queryable in Deluge, using a very expressive query syntax. The vision behind this queryable type system is that most of what you express in loops should really be queries on your data, and it is the lack of query power in languages that forces you to build explicit loops. For a variety of reasons that I won't get into here, explicit loops are a major design smell in my world, and I want our Deluge developers to be able to avoid them as much as possible. 

I will conclude this post with one thing: Zoho Creator is the most important, most challenging piece of technology developed by Zoho. I have personally spent a decade of my technical life on it. It still has a long way to go to fulfill my original vision, but programming language platforms are hard. We have taken up this challenge because we have deeply held convictions on this subject, a near-religious belief that we can redefine the way we create world-class business applications. As with any religious belief, faith is needed; without that faith, nothing worthwhile is possible.

Sridhar



    • Sticky Posts

    • Zoho Creator - 2023 Release Projection 1

      Hello everyone! A very Happy New Year to you and your family. Hope you're all good and having a great time using Zoho Creator to make your lives easier and your businesses prosper. 2022 was an action-packed year for us at Creator, and we hope to continue
    • Zoho Creator User Group meetups in a city near you! - Oct - Nov, 2023

      Greetings from the Zoho Creator team! We're hosting a series of Zoho Creator meetups in various cities across the globe, and we'd love to meet you there! Our meetups are a great opportunity to network with industry peers, exchange ideas and best practices,
    • Zoho Creator - 2023 Release Projection 2

      Hello everyone! Time truly flies when you're having an incredible journey, and today we mark the completion of an eventful and action-packed six months. It feels like just yesterday when we embarked on this adventure together with the launch of our new
    • Upcoming Updates - August 2022

      Hi all, Greetings from the Zoho Creator team! Today we've got news for you on some exciting updates. And rest assured— there’s more to come! In this post, we'll be going over the upcoming features and improvements for this month as mentioned below. A
    • Introducing Zoho Creator's v2 APIs

      Hello App Creators, Welcome to Zoho Creator's v2 APIs! This post will serve as the central point for migrating implementations of Creator's current APIs (v1) to v2. Improvements that v2 brings OAuth-based authentication, which is more secure than the
    • Recent Topics

    • Create Project while winning potentials - Projects v3 api updated code

      Hi all, I've been using the built in function to create a project while a deal is closed won and noticed it had some missing fields when trying to reference the zoho projects v3 api documentation. Specifically the project group had some issues when adding
    • [Free Webinar] Zoho RPA - OCR, PDF Automation, & More

      Hello Everyone! Greetings from the Zoho RPA Training Team! We’re excited to invite you to our upcoming webinar on the latest release updates for Zoho RPA, where we’ll unveil powerful new capabilities designed to make your automation journey smarter, faster,
    • Merge feature parity with writer

      Hello Zoho team, I have run into a workflow limitation with Zoho Contracts and the lack of merge feature parity with what Writer can do. We have created a fairly complex merge process to create a statement of work based on several fields in our CRM which
    • Export option in Contacts is missing

      Hello - I've been clicking around Zoho all morning trying to find the export option. It formerly was in the right hand corner, above the search box, but now I don't see it. I've looked everywhere - Am I missing it somehow? I've attached a screenshot.
    • Formatting of cells changing by itself and formulas not always calculating automatically

      I'm new to Sheets and have been setting up a budgeting template that has many linked tabs. It's going fairly well except certain quirky things have been happening from time to time. 1- sometimes when I scroll up or down I lose formatting from a random
    • Unable to open iOS Zoho CRM app

      i am unable to open Zoho CRM iOS App in iPhone 14 Pro Max v18.5 and it is crashing immediately after i click to open
    • Whatsapp BOT with CRM

      Hello, how do you use Whatsapp integrations in zoho CRM?
    • sync two zoho crm

      Hello everyone. Is it possible to sync 2 zoho crm? what would be the easiest way? I am thinking of Flow. I have a Custom Module that I would like to share with my client. We both use zoho crm. Regards.
    • Side-by-Side view on Windows 11

      Is there a way to open two notes in a side-by-side view? I'm running Notebook on a Desktop running Windows 11. If this feature doesn't exist, do you have plans for it?
    • Value shows in balance sheet for Goods in Transit

      We have transferred goods from one warehouse to another warehouse and accepted the same at another warehouse. Although my balance sheet shows X amount as goods in transit value. I don't understand, how to clear that  Can anyone guide us please?
    • Resolution Time Report

      From data to decisions: A deep dive into ticketing system reports What are time-based reports? Time-based reports are valuable tools that help us understand how well things are going by breaking down key metrics over specific periods. By tracking, measuring,
    • Ask for a quote to multple vendors

      We are able to send a Purchase order, but How can we Send a quote request to our vendor, once the value changes every time? I didn't see any feature like this in Zoho Books/ Inventory. Send this request with the Items that we want to know the cost, to
    • Bigin merge field in email template for subject line to match lead name

      Hello We Are using email in to automatically create leads in our pipelines. When we want to reply from conversations, and apply an email template, it’s not matching the original subject line. It should be lead name to match. But it’s not working. Even
    • How to create auto-link between Invoice and Quote in CRM

      It's strange that when you 'convert' a quote into an invoice, it doesn't auto-link the two. How can we develop an auto sync so we don't need to manually link each invoice to their respective quote?
    • Why Are Columns Reset When Deleting Entry

      Hello, this is quite annoying. We use forms as a questionnaire for candidates, we filter entries by removing columns, when we delete an entry the columns reset. Every "delete" the columns reset, why!? Thank you
    • Pi or Pie? A slice of infinity in customer service

      Hey everyone! While Pi Day is on March 14 (3.14), July 22 marks another special occasion: Pi Approximation Day! On this day, we recognize the mathematical constant π (pi ≈ 22/7); a number that's infinite, irrational, and never-ending. Pi is essential
    • Configuración

      Hola acabo de instalar Zoho CRM y quiero configurarlo correctamente. Al respecto me surgen algunas dudas tales como la diferencia entre: Cuentas, posibles Clientes y Contactos. ¿Conceptualmente que son cada uno? ¿Como se se relacionan entre ellos? Si
    • Why Can't I add unicode emoji's to my signature?

      Why would Zoho Mail prevent me from adding unicode emojis to my email signature? Every time I try to save the signature, Zoho Mail erases the emoji and any nearby content. Every time I setup something with Zoho, I know I'm going to run into some incredibly
    • GL account associated to each supplier for new bill

      Hello I'm facing problem for all items of my bills that are not inventoried. The need is each time I enter new bill and after I select supplier the GL account section is autopopulated with default GL account (that I would like to add in supplier settings)
    • LinkedIn verification link and otp not receiving

      For the last 2 to 3 weeks I'm trying to verify my LinkedIn account to access my company's LinkedIn page, Linkedin is sending verification links and codes to this email address but I have not received any codes or links. Please help me here. Looking forward
    • Zoho reply to not working. just reply to my self

      Hello. i using on my wordpress website a contact form from Wsform. i can set the reply to email there. normally it works. but since i am using your wordpress plugin zoho mail it doesn`t work. its not using the reply to (email from customer). I just can
    • Mail Merge Stuck in Queue

      I am trying to send Mail Merge's and it never sends out to the full list. It always hits a portion and the rest remain in the "Queue" - the emails I am sending are time sensitive, so I need this to be resolved or have a way to push the emails through
    • SMTP Email Sending Not Working for My Domains and Apps

      Hello Zoho Support Team, I am experiencing a critical issue with sending emails via Zoho SMTP for my domain humanhup.com. Both of my applications, HumanHup and CheapUI, are unable to send emails using Zoho SMTP, even though the same setup was working
    • Receiving too many Spam Leads. Why?

      I am receiving so many junk leads from web forms created by zoho's platform. The junk queries are increasing day by day and are affecting our business. I am continuously following up with zoho team from the past one year but not getting any satisfactory
    • Why is Zoho supporting the Proud Boys?

      Hello. This is the only way I can find to contact your company. There is someone in Maine posing as a law enforcement officer, attempting to kidnap immigrants. They are also recruiting for a known hate group. They have an email address hosted by Zoho.com.
    • Composite Item - Associated/Component Items

      I am trying to find the Associated Item/Component Item field in the Composite Item Table in Analytics. Has anyone been able to find and utilize this field in Analytics?
    • What is a a valid JavaScript Domain URI when creating a client-based application using the Zoho API console?

      No idea what this is. Can't see what it is explained anywhere.
    • 🚀 WorkDrive 5.0: Evolving from a file sharing app to an intelligent content management platform: Phase 2

      Hello everyone, WorkDrive's primary focus has always been to provide an intelligent and secure content management platform, simplify collaboration, and be the central repository of files for all Zoho apps. In our previous announcement, we unveiled the
    • Use openUrl() to edit a specific record

      I am working on a queue app for my organization. I have a master queue that is a report of meetings with workflow buttons to manipulate the records. One of these buttons I would like to open the record and edit for the purpose of changing the queue lookup
    • why i cant access my web without the www

      please help me
    • Send Whatsapp with API including custom placeholders

      Is is possible to initiate a session on whatsapp IM channel with a template that includes params (placeholders) that are passed on the API call? This is very usefull to send a Utility message for a transactional notification including an order number
    • Help Centre Articles in Desk, Zia and iframe

      Hi, We embed SOP documents into articles from Scribe into using iframe. We are looking at zia indexing articles to present to agents to aid their work. Please advise if zia can view and learn from the content within the iframe?
    • Rich Text/WYSIWYG Input Area

      I'd like to have an option on ZoHo creator to create an input text area for HTML/rich text formatting. :)
    • How to create a directory report from one-to-many relationship

      Hi all, Newbie here. I'm converting an Access DB to Creator. I've learned Forms are tables and Reports are used to edit table rows, not Forms. I've got the data loaded and can maintain it with the Reports already done. I've done filtering and sorting,
    • Change Default Selection for Lookup field

      I have a Lookup field that I have locked, when I unlock it - the user can select the proper Zone but I need it locked, since this may change based on user selection of another field. Example. There are 3 potential zones. User A selects the Hospital Account
    • Restrict visibility and user permissions Creator 5

      I don't understand how restrict visibility for reports interacts with the already established role permissions. It seems that the default on restrict visibility has everything checked for all users, but I cannot set up different levels of permission for different individuals.  Right now I have three different ways to manage users and their access and it's confusing because everything has not migrated to Creator 5. Don't the role permissions extend to the reports as well? Are the selections under
    • LMS - Why do Trainers have to be Users?

      I'm not sure why the software is set up where trainers must be users (i.e., employees). This should really be changed, as there are many cases (the majority of cases for some companies) where classroom trainers are external or contractors. If this is
    • ZOho mail not stopped working with my domain.

      i have changed my name server settings in my domain sigmasquaretec.in . After that my emails are not working with ZOHO.
    • Request to Cancel Zoho Mail Subscription

      Hello Zoho Team, I have migrated to Google Workspace and would like to cancel my Zoho Mail subscription for my organization. Organization Name: AR Creators Media Admin Email: roman@arcreatorsmedia.com Subscription ID: RPUS2005901960812 Please cancel the
    • zoho smtp limit for free users

      What is Zoho SMTP limit for free users?
    • Next Page