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



    Access your files securely from anywhere







                            Zoho Developer Community




                                                  • Desk Community Learning Series


                                                  • Digest


                                                  • Functions


                                                  • Meetups


                                                  • Kbase


                                                  • Resources


                                                  • Glossary


                                                  • Desk Marketplace


                                                  • MVP Corner


                                                  • Word of the Day


                                                  • Ask the Experts



                                                            • Sticky Posts

                                                            • Introducing Zoho Creator's 2025 Release Projection 2

                                                              Hello Creators! I'm Prakash, from the Creator product management team, and today I'm delighted to unveil our next set of features as part of Release Projection 2 for 2025. With thoughtful analysis and planning, we've curated powerful new capabilities
                                                            • 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


                                                            Manage your brands on social media



                                                                  Zoho TeamInbox Resources



                                                                      Zoho CRM Plus Resources

                                                                        Zoho Books Resources


                                                                          Zoho Subscriptions Resources

                                                                            Zoho Projects Resources


                                                                              Zoho Sprints Resources


                                                                                Qntrl Resources


                                                                                  Zoho Creator Resources



                                                                                      Zoho CRM Resources

                                                                                      • CRM Community Learning Series

                                                                                        CRM Community Learning Series


                                                                                      • Kaizen

                                                                                        Kaizen

                                                                                      • Functions

                                                                                        Functions

                                                                                      • Meetups

                                                                                        Meetups

                                                                                      • Kbase

                                                                                        Kbase

                                                                                      • Resources

                                                                                        Resources

                                                                                      • Digest

                                                                                        Digest

                                                                                      • CRM Marketplace

                                                                                        CRM Marketplace

                                                                                      • MVP Corner

                                                                                        MVP Corner









                                                                                          Design. Discuss. Deliver.

                                                                                          Create visually engaging stories with Zoho Show.

                                                                                          Get Started Now


                                                                                            Zoho Show Resources

                                                                                              Zoho Writer

                                                                                              Get Started. Write Away!

                                                                                              Writer is a powerful online word processor, designed for collaborative work.

                                                                                                Zoho CRM コンテンツ



                                                                                                  Nederlandse Hulpbronnen


                                                                                                      ご検討中の方




                                                                                                              • Recent Topics

                                                                                                              • Zoho Bookings form pre-filled with Zoho Forms in

                                                                                                                Hi, I've got a contact page on my website and I'd like to have the option to book an appointment (redirected to zoho bookings page) after an option is submitted on the contact form. how would I go about doing this? thanks
                                                                                                              • Support “Other” Option with Free Text in Dropdown Fields

                                                                                                                Hello Zoho Bookings Team, Greetings, We would like to request an enhancement to the registration form fields in Zoho Bookings, specifically for dropdown fields. Current Limitation: At the moment, dropdown fields do not support an “Other” option that allows
                                                                                                              • Sending automated messages that appear in the ticket's conversation thread

                                                                                                                Good morning, esteemed Zoho Desk community, warm greetings Today I am here to raise the following problem, seeking a solution that I can implement: I need to implement an automation that allows me to send reminder messages to customers when I am waiting
                                                                                                              • Introducing parent-child ticketing in Zoho Desk [Early access]

                                                                                                                Hello Zoho Desk users! We have introduced the parent-child ticketing system to help customer service teams ensure efficient resolution of issues involving multiple, related tickets. You can now combine repetitive and interconnected tickets into parent-child
                                                                                                              • Payment Card or Identity form-fill from Vault?

                                                                                                                Hello! I'm working on replacing Bitwarden with Vault and one issue I've run into is that I can't find any option to fill address and payment forms from Payment Card or Identity info that has been saved in Vault. Is there a way to do this? Is it a planned
                                                                                                              • Ability to add VAT to Retainer Invoices

                                                                                                                Hello, I've had a telephone conversation a month ago with Dinesh on this topic and my request to allow for the addition of VAT on Retainer Invoices.  It's currently not possible to add VAT to Retainer Invoices and it was mutually agreed that there is absolutely no reason why there shouldn't be, especially as TAX LAW makes VAT mandatory on each invoice in Europe!   So basically, what i'm saying is that if you don't allow us to add VAT to Retainer Invoices, than the whole Retainer Invoices becomes
                                                                                                              • Time Log Reminder

                                                                                                                Tracking the time spent on tasks and issues is one of the most important functions of a timesheet. However, users may forget to update the time logs because they have their own goals to achieve. But, time logs must be updated at regular intervals to keep
                                                                                                              • [Early-access] Introducing Zoho's CommandCenter - Cross-Zoho business process automation

                                                                                                                  Resources to help Webinar recording | Documentation  Feature Restrictions Currently available on early-access only for US data center accounts Features Role CommandCenter as a Service uses signals across Zoho services to propel the movement of records
                                                                                                              • Tip #58- Accessibility Controls in Zoho Assist: Learning- 'Insider Insights'

                                                                                                                Learning should be clear and interruption-free for everyone. Timely feedback plays an important role in helping users understand actions as they happen, without breaking their focus. In this post, we’ll explore the final section of Accessibility: Learning.
                                                                                                              • ZIA "Generate Content" action doesn't have contexual data from the ticket

                                                                                                                "Generate Content" action doesn't have contexual data from the ticket. I try to get AI to help me with this ticket but it doesn't seem to have any ticket information as context. Although the ticket has a lot of information in it.
                                                                                                              • Zoho Desk - Zoho FSM Integration issue on Mobile and iPad

                                                                                                                Hello Team, I am trying to create a Work Order (WO) using the Zoho FSM integration (Add-on Service) that is integrated with Zoho Desk. The issue is that the integration is not working on mobile devices and iPads. While I am able to create the WO, Request,
                                                                                                              • E-File Form 1099 Directly With the IRS From Zoho Books

                                                                                                                The Form 1099 filing season has begun, and businesses are required to e-file certain forms with the IRS to report payments made to vendors and contractors. If your business made qualifying payments during the year, you must e-file the appropriate Form
                                                                                                              • Can I hide empty Contact fields from view?

                                                                                                                Some contacts have a lot of empty fields, others are mostly filled. Is there a way I can hide/show empty fields without changing the actual Layout? I would like to de-clutter my view, and also be able to add information later as I am able. I would be willing to learn to code a button, but I am highly confused about it and thus worried it would be beyond me.  I've looked at a lot of the developer documents and I'm not able to make a lot of sense of them.  Thank you in advance to anyone who knows the
                                                                                                              • Suggestions for showing subscribed Topics in CRM (contact record)

                                                                                                                We have several Topics set up in ZMA. We also have a sync set up between ZMA and CRM. I'd like to display the subscribed topics on the CRM Contact record. This will allow the Sales team (who uses CRM) to see at a glance what topics a Contact is subscribed
                                                                                                              • Replies sometimes creating separate ticket

                                                                                                                Sometimes when a customer responds to an email coming from Zoho Desk, instead of adding a reply to the original ticket, a separate ticket is created. This happens even though the response subject line contained the ticket number, and the person responding
                                                                                                              • Re-hide fields when option is unselected

                                                                                                                Hi all Can anyone help me with this - when I create a 'show' field rule for when a dropdown option is selected, how to I make it so the 'show' option re-hides if that option is no longer selected?
                                                                                                              • Allow Attaching Quartz Recordings to Existing Zoho Support Tickets

                                                                                                                Hi Zoho Team, We would like to request an enhancement to how Zoho Quartz recordings integrate with Zoho Support tickets. Current Behavior: At the moment, each Quartz recording automatically creates a new support ticket. However, in many real-world scenarios:
                                                                                                              • Custom Fields

                                                                                                                There is no way to add a custom field in the "Timesheet" module. Honestly, the ability to add a custom field should be available in every module.
                                                                                                              • Consultant-Only Booking Page

                                                                                                                Zoho Bookings does not allow for Meeting Type OR Workspace-Wide booking pages to be turned off. This is detrimental to organizations that have territory-based or assigned accounts, because if prospects can go to these booking pages and either select the
                                                                                                              • All new Address Field in Zoho CRM: maintain structured and accurate address inputs

                                                                                                                The address field will be available exclusively for IN DC users. We'll keep you updated on the DC-specific rollout soon. It's currently available for all new sign-ups and for existing Zoho CRM orgs which are in the Professional edition. Latest update
                                                                                                              • Call result pop up on call when call ends

                                                                                                                I’d like to be able to create a pop up that appears after a call has finished that allows me to select the Call Result. I'm using RingCentral. I have seen from a previous, now locked, thread on Zoho Cares that this capability has been implemented, but
                                                                                                              • Custom Sorting based on other columns in table

                                                                                                                I need the ability to apply custom sorting to a text-based dimension in the X axis where the sorting is based on another column in the table. For example, I have a chart report where the X axis is a text label. I would like to be able to sort those text
                                                                                                              • Feature Request: Enable Custom PDF Layout Editor for All Modules (Including Package Slips)

                                                                                                                Hello Zoho Community and Product Team, I am writing to share a suggestion that would significantly enhance the customization capabilities within Zoho Books. We all appreciate the power of the Custom PDF Layouts (the "New" template engine) that allows
                                                                                                              • Is there a way to invoke deluge function from within a widget?

                                                                                                                Hi! I have custom functions in deluge and I was wondering whether there is any way to call this function through a widget? Something like on click of a button inside a widget, run the deluge custom function. Would this be possible?
                                                                                                              • Can a default task Priority be set?

                                                                                                                The "Priority" field in the Task layout does not allow a default to be set. Is there another way of doing it? Because the current default is "None" and the Zoho Kanban board design has selected this field as critical information to surface by including
                                                                                                              • Adding a threshold to a line chart based on date range

                                                                                                                I have a line chart that is tracking a percentage over time. It also has a filter for 50 different clients. I would like to create a threshold that is based on a portion of the date range. As I understand it, this would be done by adding a column to the
                                                                                                              • Resize Signature field dynamically

                                                                                                                On the tablet, it is perfect. But on smaller mobile devices and PCs, both web and application, it is too small for people to sign. Is there any plan to make the signature field size dynamically in the future update?
                                                                                                              • Super Admin Logging in as another User

                                                                                                                How can a Super Admin login as another user. For example, I have a sales rep that is having issues with their Accounts and I want to view their Zoho Account with out having to do a GTM and sharing screens. Moderation Update (8th Aug 2025): We are working
                                                                                                              • Zoho Creator Application - New User Not able to access the application

                                                                                                                In Zoho Creator, The newly added user not able to access the " Added Application" - User has received the Invitation Email, but while clicking "confirm Account" in the invitation Email, the following error message has appeared. "Sorry! you cannot accept
                                                                                                              • Deleting Salutation Field

                                                                                                                We have updated our lead input screen and 'Salutation' has appeared. This is not visible in the 'Edit Pgae Layout' screen so cannot be moved to 'List of Removed Fields'  Salutation is visible in the list in 'Customization - Fields' however I can only 'Edit' or 'Replace' I cannot delete and I do not need this field on my lead input screen.  Please can you advise how to get rid of this.  Screen shots can be provided if needed.  Thank you Tasha
                                                                                                              • Auto-Generate & Update Asset Serial Numbers using a custom function (Assets Module)

                                                                                                                Hello Team, I’ve been working on a script to automate one of our processes in Zoho FSM, and the core functionality has been successfully implemented. However, I’m encountering an issue related to serial number allocation, which is not working as expected.
                                                                                                              • Partner with HDFC And Sbi Bank.

                                                                                                                Hdfc and sbi both are very popular bank if zoho books become partner with this banks then many of the zoho books users will benefit premium features of partnered banks.
                                                                                                              • Zoho Mail iOS app update: Access Delegated Mailbox.

                                                                                                                Hello everyone! You can now access the delegated mailbox from within the iOS version of the Zoho Mail app. To access the delegated mailbox: Open the Zoho Mail app. Go on to the 'Email' module. Tap the profile picture. Choose the delegated mailbox Please
                                                                                                              • How to convert Lead's country field from Text to Pick List

                                                                                                                Hi, I would like to change the default country field in ZCRM from text to pick list. It looks like not I can't delete default country field and recreate it as pick list nor can i create an new custom field country because such a label belong to default field. So what do I have to do? Any ideas? L
                                                                                                              • How create a draft via workflow?

                                                                                                                I wish to create a workflow rule for specific emails that creates a draft response - not an automatic email reply, but just a draft with a set response ready to be verified by an agent who can then manually select recipients. Alternatively, the workflow
                                                                                                              • New feature: Invite additional guests for your bookings

                                                                                                                Hello everyone, Greetings from Zoho Bookings! We are happy to announce the much-awaited feature Guest Invite, which enhances your booking experience like never before. This feature allows additional participants to be invited for the bookings to make
                                                                                                              • Improved Contact Sync flow in Google Integration with Zoho CRM

                                                                                                                Hello Everyone, Your contact sync in Google integration just got revamped! We have redesigned the sync process to give users more control over what data flows into Google and ensure that this data flows effortlessly between Zoho CRM and Google. With this
                                                                                                              • Image field in custom module

                                                                                                                Hi guy, Is there any hope of adding a custom image field in the custom module? We created a custom module to keep track of assets, and it would be helpful if we could attach an image to the record. Thanks Rudy
                                                                                                              • Cannot reorder fields in Page Layout in Expenses and Purchase Requests

                                                                                                                It is very inconvenient that the custom fields in Page Layout cannot be re-ordered. The only way is to remove the fields and re-create them; however, it is impractical. This would affect the reports and dashboards we are having. Not able to re-order the
                                                                                                              • الخصم على مستوى فاتورة المبيعات

                                                                                                                السلام عليكم ورحمة الله وبركاته مطلوب في إنشاء خصم على مستوى فاتورة المبيعات وليس على مستوى البند أريد معرفة الطريقة؟
                                                                                                              • Next Page