Skip to main content

· 3 min read

Most people in operations use spreadsheets for smoothly run their processes, such as budget planning at the year end. They also deal with multiple teams or organizations and hence in order to maintain they need to have a separate spreadsheet for each organization. While this solves the security problem, it makes it difficult to get a consolidated view of the data across the teams.

Google sheets users with advanced skills tend to use the IMPORTRANGE feature which allows importing data from one spreadsheet into another. However, this can pose certain performance challenges.

· 6 min read

We recently announced a preview of Sheets BI a BI tool that works realtime with your Google Sheets, Excel and CSV files on Google Drive, public datasets and local files.

In this post I am going to talk about some of the technical journey of the process.

· 2 min read

Almost 10 months after releasing v1, we are now releasing SQL Frames v2. This version comes with some breaking changes. However those who rely on the provided main.mjs to load SQL Frames will not experience any disruption. Only those who have custom build may need to adjust their build scripts. If you run into any problem, reach out to us.

Apart from several quality fixes, the key breaking changes are related to improved security and interoperability. Here are the list of breaking changes from the release notes and what they mean.

  1. preact/jsx-runtime instead of htm The react markup was being done using javascript string tags feature. The good thing with this is it reduces additional build dependencies. But it also has some downsides like difficult to ensure valid markup, runtime parsing of the strings. By moving away from htm to preact/jsx-runtime we are now able to leverage standard typescript react compilation.
  2. Security of 3rd party libraries To avoid man-in-the-middle attacks, it is important to validate the integrity of imports javascripts within a page. SQL Frames has enabled this for all the libraries that provide such integrity guarantees.
  3. Isolated require context The OOTB main.mjs uses require.js to load several dependencies. Earlier these dependencies were all loaded into the global context. This can conflict with rest of the app. To avoid this starting from v2, all dependencies including SQL Frames are loaded within an isolated context.

We are glad to see the SQL Frames product being leveraged in multiple production deployments and are relentlessly working on improving all aspects of the product.

· 4 min read

Great customer experience (CX) is important for the success of any business. However, understanding the customer experience is hard and being able to quantitatively measure is even harder. Some of the reasons for this are

  1. Multiple channels - customers may interact across multiple channels of engagement
  2. Multiple systems - the sales information may be in Salesforce, service information might be in Zendesk or ServiceNow and financial information in Oracle Financials or SAP.
  3. Data Quality - Same account may have multiple records in the system for various reasons
  4. Data Staleness - The data that is being viewed by the agent at the time of interacting with the customer may not be the latest information.
  5. Data Volume - Unlike some business metrics that are only tracked for a few years, customer 360 needs to operate based on data that may be years and even decades old.

SQL Frames provides solutions to most of these problems to create a top class realtime Customer 360 dashboard to understand the customer.

· One min read

After multiple years of work, SQL Frames has finally reached version 1. We are celebrating this big milestone by releasing a free dashboard for the codeforces community.

The Codeforces Submissions Analyzer is available for anyone to analyze their codeforces data.

Some of the features of SQL Frames used in this dashboard are

  1. Dataframe Slicers (ability to slice data with ease)
  2. Array Fields (for tags of problems)
  3. Right-click to view data (to immediately get to the problems from the charts)