QueryPie: a fresh design for SQL IDE

QueryPie Development #2: Target and Core Requirements

Brant Hwang
QueryPie
Published in
6 min readJan 16, 2019

--

한국어-https://medium.com/p/6757cf2ec18/

In my last post, I compared various Integrated Development Environments (IDE) available for Mac OS. I also introduced the background of QueryPie, a new cross-platform database IDE capable of improving the experience of all developers.

Today, I would like to introduce how we defined our target customers and constructed our core technical requirements before even beginning the development of QueryPie.

The origin of the QueryPie name:

Before we dive into the deep end, I’d like to tell you how we settled on the name QueryPie. The name of a service or product being developed is often determined after some development unfolds. But as Confucius said, “The beginning of wisdom is to call things by their proper name.” I like to name a project before it starts. It helps me grow a deeper attachment to the project from the very beginning.

Since working with the usual database already has many difficulties, I wanted to create this new product that would make data work plain and easy. I knew there were many people out there that we could help. So with the help of the design team we decided that the expressions Piece of Cake and Easy As Pie, both referring to tasks that are very easy to do, go well with the philosophy behind what we were trying to accomplish.

We had countless name candidates for our new product, ranging from CakeDB and Cakery to Querify and QueryPy. Among the hundreds of names we went through, QueryPie really stood out to me. I liked keeping the word ‘query’ in the title, because with it the message was clear that our product focused on SQL IDE. By also adding the ‘pie’ element, we could create some fun designs for branding by utilizing this familiar and delicious food.

So it was decided. We would name this new service QueryPie.

QueryPie’s Target Customers:

Data is becoming more important and data-based collaboration is increasing (source: pixabay)

Database users all have very different backgrounds: from DBAs, developers, and SQL Engineers to Planners connected directly to the databases, Marketers, and Data Scientists. But they are all accessing a database and directly dealing with data.

Our team defined the target customer for QueryPie, reflecting new trends in the database industry and the user population using the following:

(1) Common Factors

  • Multiple members use a variety of Operating Systems (Mac, Linux, Windows, etc)
  • Collaborate dynamically on data and and make critical decisions together
  • Members in different departments extract, edit, and analyze data with direct database access information
  • Cloud-based Databases

(2) Development Organization

  • Developers creating and managing database objects (table, view, functions, etc)
  • Web/Application developers who write and execute SQL syntax for data extraction and the majority of database tasks

(3) Non-development Organization (planning, marketing, data science)

  • Non-development organizations that access and utilize data across multiple databases within the organization
  • Members extracting and analyzing required data using SQL, without the help of development department

※ Article on trends requiring marketers to utilize data: The Rise Of The Data-Driven Marketer: Why It’s Beneficial And How To Hire One

QueryPie‘s Core Requirement Configuration:

Based on the above target customers, the core requirements of QueryPie are organized into two main categories:

(1) Core capabilities as Database IDE

In addition to the built-in capabilities of many IDEs, we want to have extensions that make it easier for users to work with their data and increase their productivity.

  • Powerful SQL Auto-Complete Function
  • Multi-line SQL Execution
  • Simple Export/Import of Data (multi-format support)
  • Simple and intuitive UI
  • Fast application execution and stability

(2) Security and Management for Database Collaboration

The number of non-development organizations and members who utilize data directly is constantly increasing. In turn, the number of people who own database access information and permissions is also increasing. So in addition to the features of Database IDE, we want to add new capabilities for database security and account management to help ensure data collaboration between multiple users.

  • Manage database access information on QueryPie.com account
  • Database access control levels set by user/object (Read-Only access, allow access to only certain tables, etc)
  • Track Database access and SQL Execution history
  • Share cloud-based SQL and SQL Execution results

The last three bullet points are services that are not provided by a typical Database IDE. But it was a prominent problem that I struggled with when using database tools, and I was sure to include it as a core service for QueryPie.

Typically startups or small-to-medium sized businesses have two to three database servers, while large companies usually have hundreds to thousands of database servers. To use these servers, a user must enter the Host, Port number, ID and Password every time they connect. Even if the information is saved, it will not be maintained if computers are changed or formatted.

In the case of startup companies, it is important for marketers or planners to access the database and view the data directly. In general, this process not only exposes all database access information but it can also cause service-wide failures through incorrect SQL execution or unskilled table manipulation.

QueryPie & QueryPie Protocol

To tackle this problem, QueryPie is designed to work with a product called QueryPie Protocol, which allows users to encrypt database access information for their organization, control permissions (Read-Only access, etc) and track when, where, and which SQL they have run.

Thus the database administrator can access the database via the QueryPie account securely. As long as the database information is entered by the database administrator at QueryPie.com, the rest of the members can access the database securely without requirements for access information.

Example of registering database access information in QueryPie Protocol

Future Roadmap of QueryPie Development:

My goal is to promote QueryPie as essential software for all startups and small businesses that work with databases. Development organizations can configure and manage databases and run SQL faster than any other tool using QueryPie. Non-development organizations can securely access databases, analyze and visualize data they want, and organize as well as share dashboards with QueryPie.

Additionally, all actions (connections, executed queries, etc) passed to the database through QueryPie are transparently recorded in a blockchain. This enables high level database security audits, and also provides a database Fraud Detection System (FDS) that lets users learn usual database access patterns. Users can also track SQL execution patterns and send alerts to the administrator in advance if abnormal activity is detected. With this method, companies can easily meet the legal regulations for various required privacy measures.

Facebook caused a lot of controversy in the last year due to a large number of personal information leaks.

QueryPie is created by leading software engineers and is being designed to become a top global product. Along with my development team, we will continue to document the many technologies used to develop QueryPie in upcoming development logs.

So stay tuned!

- Brant Hwang, CEO of CHEQUER

In the second quarter of 2019, you’ll be able to experience QueryPie: a new, lightweight, fast database tool that delivers the same experience on Mac, Windows, and Linux.

--

--