Case study
Maptable
A no-code tool that allows users to collect, organize, visualize and analyze spatial data. Users can collaborate in real-time.
role
Lead Product Designer
Platform
Web, Responsive
My Contribution
UI / UX Design
Design Research
Product Management
Background
“Spatial data science treats location, distance, and spatial interaction as core aspects of the data and employs specialized methods and software to store, retrieve, explore, analyze, visualize and learn from such data.” Luc Anselin Ph.D., Center for Spatial Data Science Senior Fellow, University of Chicago
QuantUrban has been focusing on developing spatial data products in the past few years, and has had several attempts in this field. I have also participated in the development of products from Mapmiao, Xiao Qu Luo Pan, City Map, to the Guangdong-Hong Kong-Macao Greater Bay Area Report. These products cover various processes of spatial data from collection, collaboration, visualization to data analysis.
However, these products also have problems to different degrees. They are not "standardization", for example, we didn’t find a good solution for different customers’ need to customize fields on demand, compatible with old data and other needs. In the previously developed Mapmiao product, we made a complex form system to meet the customization needs of customers.

Screenshot of Mapmiao: custom field

Screenshot of Mapmiao: custom field
The Problems
We have been communicating with our customers during developing products, collecting their feedback, and combining our own experience to conclude the problems we faced at that time.
In summary, there are the following problems:
Research
In order to find a solution, we researched both NoCode tools and spatial data products in the market before and during development. We also kept an eye on these products in the market. Overall and specific functional research was done for the table tool and the map product respectively.

Design research on NoCode tools.

Design research on spatial data products.
Goal & The Direction
The next step was to find a form for the requirements. We found that the popular Nocode tools, such as Notion and Airtable, had a flexible database that could be customized at will, and did a good job of compatibility with existing data, allowing free import and export of local data. The flexible database form of table can solve our problem exactly, so we decided to combine the table with our past accumulation in spatial data products. We decided to introduce a new standardized tool product to better handle spatial data and meet the needs of our customers for the whole process:
Lean Canvas
Once I had the initial idea, I started working on customer and product research, compiling the feedback I had collected from customers. Then I organized a Lean Canvas discussion with the team. I created a new Lean Canvas template in Google Docs, and then organized a meeting for the team to discuss and fill it out.
The purpose of the discussion was to analyze our competitive advantage, clarify the product with the team on the other hand, and synchronize the product idea to the team members in concrete terms, so that everyone could reach a consensus on the product to be developed. We have a preliminary understanding of the product's competitive advantages, target customers, and key indicators.

Lean Canvas
After defining the direction of the product, I started concept design, explore the design of core pages such as tables and maps, and designed several wireframes.
Design Exploration
After defining the direction of the product, I started concept design, explore the design of core pages such as tables and maps, and designed several wireframes.

Wireframe design of Maptable.
Design Challenge
The first problems encountered during the prototyping phase are: How to define the functional boundaries of tables and maps?
Both tables and maps are important features in our product planning, but the boundary between tables and maps in the spatial data product is still need to be further defined.
The next question that needs to be addressed is: How do we assemble the product with tables and maps?
The tables and maps can meet the needs of customers in different scenarios, but their forms are so different that if they cannot be assemble in a suitable way, they are just two independent modules in one product, and their value to users is greatly reduced.
Coordinate fieldWe observed the map products developed in the past and found that "coordinates" is the essential part for spatial data products, so we decided to add "coordinates" as a field type to the table. Users can enter coordinates and the map will be rendered on the map based on the coordinates of the table.
Organizing tables and mapsAccording to the feedback we received from our customers in previous products, they usually manage tasks and arrange people in "projects". Therefore, we also introduced the concept of "project" into the product. In addition, considering that collaboration is usually done between a company or department, we added the concept of "team" on top of the project, so that the overall information organization is basically sorted out clearly.

Design concept of Maptable.
While exploring the design, I made a list of functional modules of the product, prioritize features with co-founders, define features need to be done in MVP, alpha, and public beta versions.

Features of different versions of Maptable.
MVP version
The goal of the MVP version is to build out the basic framework of the product and complete the development of the basic core functionality. For Maptable, the core features are:
Design Challenge
From the design exploration, we chose a solution as the framework for the MVP version, on the basis of which the key pages were gradually improved.

Table view in MVP version.

Map view in MVP version.
Fields supported in MVP version:


Side panel in table and map page

The info window on the map page supports multiple simultaneous openings and configurable display content.
The MVP version defines the information architecture and interaction of the product. We also complete the basic functions of data tables and maps. In the MVP version, you can add, delete, and check the data in the tables and maps.
Alpha version
After the MVP version was completed, the team started a week of product experience and testing. In addition to overall testing of the completed features, we also each experimented with scenarios that customers might use, then we put together the feedback from team members and combined it with the previous project planning to determine the tasks need to be completed in the alpha version.
UI / UX improvements
Navigation bar
During the product testing process, one of the main issues that team members fed back was that it was difficult to understand the information structure of the product, especially the relationship between tables and maps. The default page was the table page after opening a project, which looked similar to other smart table products, the design lacked uniqueness. In addition, the entrance between table and map was difficult to find, which affected users' motivation to explore the product further. Therefore, we decided to optimize the navigation bar.

Before:design in MVP version

After:design in Alpha version
Team / personal desktop entrance adjustment
In the MVP version, the entrance of personal desktop and team is placed in the left menu of the project list page, which is not obvious and cannot be seen when switching to other pages. Therefore, the following adjustments were made to the team / personal desktop entrance in the alpha version.

Redesign the team / personal desktop entrance in Alpha version.
Notification
Notifications are always a complex feature in a product, especially when organizing the notification types, writing of the notification copy and testing of each notification type after launching.
The following process was used for organizing notifications:
I created a notification table on Maptable, so that we can collaborate with the dev team, and we can also have a chance to in-depth experience with the product's features and interactions (eat dog food).
The notification form contains the following fields.

The notification table organized in Maptable.
After sorting out the notification types, the design of notifications becomes simple, we use a notification window and a notification page to display notification.

The design of notification center.
Real-time collaboration
The positioning of the product is "spatial data collaboration tool", and real-time collaboration is one of the core features. Our real-time collaboration is more complex than other table products because the collaboration status needs to be reflected in the map view as well. The status of real-time collaboration display has the following parts.

Real-time collaboration users.

Real-time collaboration users on table page.

Real-time collaboration users on table page.
Permissions
Permissions are the most complex part of the entire product and need to deal with multiple levels of inheritance relationships. The organization type distinguishes between personal desktop / teams, projects that contain data / map settings, and each part needs to be reconsidered in terms of corresponding permissions.
In addition to the complete inheritance of user permissions from the previous level, the project, data table / map also needs to take into account that users in the team will further clarify the role. For example, several members of the team is responsible for a project, other members do not need to participate; or each member of a project is responsible for maintaining a data table, the members also need to do permission isolation. We, therefore, added two options for permissions on projects, data tables / maps (Level 2, Level 3).
In order to simplify the requirements, specifying members visible is only supported for internal members of the higher level, not for inviting external members of the team. For example, only a few members from the team in the project can be set as "specified members visible"; only a few members from the project in the data table can be set as "specified members visible".
So the arrangement of permissions is a combination of the above three parts. In order to organize more clearly and collaborate with my development colleagues, I built a table in Google Sheets to organize all the actions of each page under different permissions according to the functional module.

Maptable permission list on Google Sheets

Discussion about permission corner case.
After sorting out the actions under different permission types, I start the design of the permission section, there are two user types to be considered:

Permission setting windows.
Login page optimization
The MVP version is for testing inside the team, and the design time is rather tight, so the registration and login pages are designed simply, and only the process of cell phone number registration and login is implemented.

Login page in MVP version
We considered adding the invitation code in the alpha (internal test) version and the beta (public test) version, sending invitations to the target users, who could register to experience the product using the invitation code, and the login process also needed to be adjusted accordingly. In addition, considering the registration page is the first few pages that users will visit, adding the introduction of core functions on the registration page will help users understand the core functions and values of the product faster, and also make better use of the page space.

Login page modified in Alpha version
Map style configuration
After importing the data, visualization in map is also an important step in spatial data analysis. Maptable's layer style configuration is to translate the experience accumulated from previous products into concrete functions.
The initial idea of map layers was to correspond with data tables one by one, and a data table would have both table and map views by default. The team discussed that the advantage of this solution is that it is clear and intuitive, and the user can easily understand the relationship between the data table and the two views; however, the disadvantage is also obvious, only one data table layer can be seen at a time, which is not conducive to viewing the global POI data, and sometimes the analysis needs to be based on the global data to reach a conclusion. It is also not conducive to expansion, and it is difficult to add views later.

Prototype before MVP version: tables and maps as different views of a data table.
Therefore, we decided to adopt a more flexible layer scheme, borrowing from the concept of layers in the design tool, users can create any number of layers in the map page according to their needs, each map layer is only individually set to show/hide state, the map shows the effect of multiple layers stacked on top of each other, each layer supports individual layer style settings, users can complete the visualization and analysis needs in a highly flexible manner.
We provide the following settings in the layer configuration.

Map layer style configuration
Things I learned
Create something small to start with
When thinking about a very big project, you are sure to make a lot of assumptions, which means you have a lot of possibilities to be wrong. The smaller the point you start from, the higher the likelihood of getting it right. In the initial product positioning we avoided thinking of ourselves as another table product, tables are just a suitable set of solutions to achieve our users' needs at this stage, and we positioned ourselves as a "spatial data collaboration tool", not a new product of Airtable. Only after we have done well enough in the niche area, it makes sense to consider expanding to more scenarios.
The market is the best test for the authenticity of a product's demand
Maptable is a product based on our understanding of customer needs in previous products, but the development process lacks interaction with real customers, and only after the completion of the beta version of the features with some customer participation, resulting in many features and the actual needs of customers and the use of the way different. If customers could be involved from the beginning, our understanding of the needs and market could be better, and there would be less detours.
Fail fast and learn fast
The MVP and alpha versions actually had the basic features, but we kept "pursuing perfection" to launch a better version, but the "better" version should come from customer feedback, not from our assumptions.
The value of SaaS products
The essence of SaaS is renewal, and the premise of customer renewal is that the product itself solves problems for the user and brings new value, so customers will only be willing to renew if they are guaranteed success. Customer success, similar to user experience, is not just the job of product design; different departments throughout the company need to align with the goal of "customer success".
Generic Product SaaS Product Conundrum
There has been a long-standing debate about which is more promising, a generic SaaS product or a vertical SaaS, and the process of making Maptable has deepened our understanding of both directions. What we do is a general product that can meet the needs of different industries and different scenarios, but it also brings the problem of not being "professional" enough, customers will instinctively want to have a "customized" solution for themselves, especially some traditional industry customers, this part of the face of general-purpose products will have some threshold to accept. Airtable and Notion both focus on user guidance in their products, providing many scenario templates and often releasing actual user usage, which are lowering the threshold of user acceptance for general-purpose products. Only when customers decide that the product is close enough to their own usage scenarios, customers will take the step to try it.
Case study
Maptable
A no-code tool that allows users to collect, organize, visualize and analyze spatial data. Users can collaborate in real-time.
role
Lead Product Designer
Platform
Web, Responsive
My Contribution
UI / UX Design
Design Research
Product Management
Background
“Spatial data science treats location, distance, and spatial interaction as core aspects of the data and employs specialized methods and software to store, retrieve, explore, analyze, visualize and learn from such data.” Luc Anselin Ph.D., Center for Spatial Data Science Senior Fellow, University of Chicago
QuantUrban has been focusing on developing spatial data products in the past few years, and has had several attempts in this field. I have also participated in the development of products from Mapmiao, Xiao Qu Luo Pan, City Map, to the Guangdong-Hong Kong-Macao Greater Bay Area Report. These products cover various processes of spatial data from collection, collaboration, visualization to data analysis.
However, these products also have problems to different degrees. They are not "standardization", for example, we didn’t find a good solution for different customers’ need to customize fields on demand, compatible with old data and other needs. In the previously developed Mapmiao product, we made a complex form system to meet the customization needs of customers.

Screenshot of Mapmiao: custom field

Screenshot of Mapmiao: custom field
The Problems
We have been communicating with our customers during developing products, collecting their feedback, and combining our own experience to conclude the problems we faced at that time.
In summary, there are the following problems:
Research
In order to find a solution, we researched both NoCode tools and spatial data products in the market before and during development. We also kept an eye on these products in the market. Overall and specific functional research was done for the table tool and the map product respectively.

Design research on NoCode tools.

Design research on spatial data products.
Goal & The Direction
The next step was to find a form for the requirements. We found that the popular Nocode tools, such as Notion and Airtable, had a flexible database that could be customized at will, and did a good job of compatibility with existing data, allowing free import and export of local data. The flexible database form of table can solve our problem exactly, so we decided to combine the table with our past accumulation in spatial data products. We decided to introduce a new standardized tool product to better handle spatial data and meet the needs of our customers for the whole process:
Lean Canvas
Once I had the initial idea, I started working on customer and product research, compiling the feedback I had collected from customers. Then I organized a Lean Canvas discussion with the team. I created a new Lean Canvas template in Google Docs, and then organized a meeting for the team to discuss and fill it out.
The purpose of the discussion was to analyze our competitive advantage, clarify the product with the team on the other hand, and synchronize the product idea to the team members in concrete terms, so that everyone could reach a consensus on the product to be developed. We have a preliminary understanding of the product's competitive advantages, target customers, and key indicators.

Lean Canvas
After defining the direction of the product, I started concept design, explore the design of core pages such as tables and maps, and designed several wireframes.
Design Exploration
After defining the direction of the product, I started concept design, explore the design of core pages such as tables and maps, and designed several wireframes.

Wireframe design of Maptable.
Design Challenge
The first problems encountered during the prototyping phase are: How to define the functional boundaries of tables and maps?
Both tables and maps are important features in our product planning, but the boundary between tables and maps in the spatial data product is still need to be further defined.
The next question that needs to be addressed is: How do we assemble the product with tables and maps?
The tables and maps can meet the needs of customers in different scenarios, but their forms are so different that if they cannot be assemble in a suitable way, they are just two independent modules in one product, and their value to users is greatly reduced.
Coordinate fieldWe observed the map products developed in the past and found that "coordinates" is the essential part for spatial data products, so we decided to add "coordinates" as a field type to the table. Users can enter coordinates and the map will be rendered on the map based on the coordinates of the table.
Organizing tables and mapsAccording to the feedback we received from our customers in previous products, they usually manage tasks and arrange people in "projects". Therefore, we also introduced the concept of "project" into the product. In addition, considering that collaboration is usually done between a company or department, we added the concept of "team" on top of the project, so that the overall information organization is basically sorted out clearly.

Design concept of Maptable.
While exploring the design, I made a list of functional modules of the product, prioritize features with co-founders, define features need to be done in MVP, alpha, and public beta versions.

Features of different versions of Maptable.
MVP version
The goal of the MVP version is to build out the basic framework of the product and complete the development of the basic core functionality. For Maptable, the core features are:
Design Challenge
From the design exploration, we chose a solution as the framework for the MVP version, on the basis of which the key pages were gradually improved.

Table view in MVP version.

Map view in MVP version.
Fields supported in MVP version:


Side panel in table and map page

The info window on the map page supports multiple simultaneous openings and configurable display content.
The MVP version defines the information architecture and interaction of the product. We also complete the basic functions of data tables and maps. In the MVP version, you can add, delete, and check the data in the tables and maps.
Alpha version
After the MVP version was completed, the team started a week of product experience and testing. In addition to overall testing of the completed features, we also each experimented with scenarios that customers might use, then we put together the feedback from team members and combined it with the previous project planning to determine the tasks need to be completed in the alpha version.
UI / UX improvements
Navigation bar
During the product testing process, one of the main issues that team members fed back was that it was difficult to understand the information structure of the product, especially the relationship between tables and maps. The default page was the table page after opening a project, which looked similar to other smart table products, the design lacked uniqueness. In addition, the entrance between table and map was difficult to find, which affected users' motivation to explore the product further. Therefore, we decided to optimize the navigation bar.

Before:design in MVP version

After:design in Alpha version
Team / personal desktop entrance adjustment
In the MVP version, the entrance of personal desktop and team is placed in the left menu of the project list page, which is not obvious and cannot be seen when switching to other pages. Therefore, the following adjustments were made to the team / personal desktop entrance in the alpha version.

Redesign the team / personal desktop entrance in Alpha version.
Notification
Notifications are always a complex feature in a product, especially when organizing the notification types, writing of the notification copy and testing of each notification type after launching.
The following process was used for organizing notifications:
I created a notification table on Maptable, so that we can collaborate with the dev team, and we can also have a chance to in-depth experience with the product's features and interactions (eat dog food).
The notification form contains the following fields.

The notification table organized in Maptable.
After sorting out the notification types, the design of notifications becomes simple, we use a notification window and a notification page to display notification.

The design of notification center.
Real-time collaboration
The positioning of the product is "spatial data collaboration tool", and real-time collaboration is one of the core features. Our real-time collaboration is more complex than other table products because the collaboration status needs to be reflected in the map view as well. The status of real-time collaboration display has the following parts.

Real-time collaboration users.

Real-time collaboration users on table page.

Real-time collaboration users on table page.
Permissions
Permissions are the most complex part of the entire product and need to deal with multiple levels of inheritance relationships. The organization type distinguishes between personal desktop / teams, projects that contain data / map settings, and each part needs to be reconsidered in terms of corresponding permissions.
In addition to the complete inheritance of user permissions from the previous level, the project, data table / map also needs to take into account that users in the team will further clarify the role. For example, several members of the team is responsible for a project, other members do not need to participate; or each member of a project is responsible for maintaining a data table, the members also need to do permission isolation. We, therefore, added two options for permissions on projects, data tables / maps (Level 2, Level 3).
In order to simplify the requirements, specifying members visible is only supported for internal members of the higher level, not for inviting external members of the team. For example, only a few members from the team in the project can be set as "specified members visible"; only a few members from the project in the data table can be set as "specified members visible".
So the arrangement of permissions is a combination of the above three parts. In order to organize more clearly and collaborate with my development colleagues, I built a table in Google Sheets to organize all the actions of each page under different permissions according to the functional module.

Maptable permission list on Google Sheets

Discussion about permission corner case.
After sorting out the actions under different permission types, I start the design of the permission section, there are two user types to be considered:

Permission setting windows.
Login page optimization
The MVP version is for testing inside the team, and the design time is rather tight, so the registration and login pages are designed simply, and only the process of cell phone number registration and login is implemented.

Login page in MVP version
We considered adding the invitation code in the alpha (internal test) version and the beta (public test) version, sending invitations to the target users, who could register to experience the product using the invitation code, and the login process also needed to be adjusted accordingly. In addition, considering the registration page is the first few pages that users will visit, adding the introduction of core functions on the registration page will help users understand the core functions and values of the product faster, and also make better use of the page space.

Login page modified in Alpha version
Map style configuration
After importing the data, visualization in map is also an important step in spatial data analysis. Maptable's layer style configuration is to translate the experience accumulated from previous products into concrete functions.
The initial idea of map layers was to correspond with data tables one by one, and a data table would have both table and map views by default. The team discussed that the advantage of this solution is that it is clear and intuitive, and the user can easily understand the relationship between the data table and the two views; however, the disadvantage is also obvious, only one data table layer can be seen at a time, which is not conducive to viewing the global POI data, and sometimes the analysis needs to be based on the global data to reach a conclusion. It is also not conducive to expansion, and it is difficult to add views later.

Prototype before MVP version: tables and maps as different views of a data table.
Therefore, we decided to adopt a more flexible layer scheme, borrowing from the concept of layers in the design tool, users can create any number of layers in the map page according to their needs, each map layer is only individually set to show/hide state, the map shows the effect of multiple layers stacked on top of each other, each layer supports individual layer style settings, users can complete the visualization and analysis needs in a highly flexible manner.
We provide the following settings in the layer configuration.

Map layer style configuration
Things I learned
Create something small to start with
When thinking about a very big project, you are sure to make a lot of assumptions, which means you have a lot of possibilities to be wrong. The smaller the point you start from, the higher the likelihood of getting it right. In the initial product positioning we avoided thinking of ourselves as another table product, tables are just a suitable set of solutions to achieve our users' needs at this stage, and we positioned ourselves as a "spatial data collaboration tool", not a new product of Airtable. Only after we have done well enough in the niche area, it makes sense to consider expanding to more scenarios.
The market is the best test for the authenticity of a product's demand
Maptable is a product based on our understanding of customer needs in previous products, but the development process lacks interaction with real customers, and only after the completion of the beta version of the features with some customer participation, resulting in many features and the actual needs of customers and the use of the way different. If customers could be involved from the beginning, our understanding of the needs and market could be better, and there would be less detours.
Fail fast and learn fast
The MVP and alpha versions actually had the basic features, but we kept "pursuing perfection" to launch a better version, but the "better" version should come from customer feedback, not from our assumptions.
The value of SaaS products
The essence of SaaS is renewal, and the premise of customer renewal is that the product itself solves problems for the user and brings new value, so customers will only be willing to renew if they are guaranteed success. Customer success, similar to user experience, is not just the job of product design; different departments throughout the company need to align with the goal of "customer success".
Generic Product SaaS Product Conundrum
There has been a long-standing debate about which is more promising, a generic SaaS product or a vertical SaaS, and the process of making Maptable has deepened our understanding of both directions. What we do is a general product that can meet the needs of different industries and different scenarios, but it also brings the problem of not being "professional" enough, customers will instinctively want to have a "customized" solution for themselves, especially some traditional industry customers, this part of the face of general-purpose products will have some threshold to accept. Airtable and Notion both focus on user guidance in their products, providing many scenario templates and often releasing actual user usage, which are lowering the threshold of user acceptance for general-purpose products. Only when customers decide that the product is close enough to their own usage scenarios, customers will take the step to try it.
Navigation
Case study
Maptable
A no-code tool that allows users to collect, organize, visualize and analyze spatial data. Users can collaborate in real-time.
role
Lead Product Designer
Platform
Web, Responsive
My Contribution
UI / UX Design
Design Research
Product Management
Background
“Spatial data science treats location, distance, and spatial interaction as core aspects of the data and employs specialized methods and software to store, retrieve, explore, analyze, visualize and learn from such data.” Luc Anselin Ph.D., Center for Spatial Data Science Senior Fellow, University of Chicago
QuantUrban has been focusing on developing spatial data products in the past few years, and has had several attempts in this field. I have also participated in the development of products from Mapmiao, Xiao Qu Luo Pan, City Map, to the Guangdong-Hong Kong-Macao Greater Bay Area Report. These products cover various processes of spatial data from collection, collaboration, visualization to data analysis.
However, these products also have problems to different degrees. They are not "standardization", for example, we didn’t find a good solution for different customers’ need to customize fields on demand, compatible with old data and other needs. In the previously developed Mapmiao product, we made a complex form system to meet the customization needs of customers.

Screenshot of Mapmiao: custom field

Screenshot of Mapmiao: custom field
The Problems
We have been communicating with our customers during developing products, collecting their feedback, and combining our own experience to conclude the problems we faced at that time.
In summary, there are the following problems:
Research
In order to find a solution, we researched both NoCode tools and spatial data products in the market before and during development. We also kept an eye on these products in the market. Overall and specific functional research was done for the table tool and the map product respectively.

Design research on NoCode tools.

Design research on spatial data products.
Goal & The Direction
The next step was to find a form for the requirements. We found that the popular Nocode tools, such as Notion and Airtable, had a flexible database that could be customized at will, and did a good job of compatibility with existing data, allowing free import and export of local data. The flexible database form of table can solve our problem exactly, so we decided to combine the table with our past accumulation in spatial data products. We decided to introduce a new standardized tool product to better handle spatial data and meet the needs of our customers for the whole process:
Lean Canvas
Once I had the initial idea, I started working on customer and product research, compiling the feedback I had collected from customers. Then I organized a Lean Canvas discussion with the team. I created a new Lean Canvas template in Google Docs, and then organized a meeting for the team to discuss and fill it out.
The purpose of the discussion was to analyze our competitive advantage, clarify the product with the team on the other hand, and synchronize the product idea to the team members in concrete terms, so that everyone could reach a consensus on the product to be developed. We have a preliminary understanding of the product's competitive advantages, target customers, and key indicators.

Lean Canvas
After defining the direction of the product, I started concept design, explore the design of core pages such as tables and maps, and designed several wireframes.
Design Exploration
After defining the direction of the product, I started concept design, explore the design of core pages such as tables and maps, and designed several wireframes.

Wireframe design of Maptable.
Design Challenge
The first problems encountered during the prototyping phase are: How to define the functional boundaries of tables and maps?
Both tables and maps are important features in our product planning, but the boundary between tables and maps in the spatial data product is still need to be further defined.
The next question that needs to be addressed is: How do we assemble the product with tables and maps?
The tables and maps can meet the needs of customers in different scenarios, but their forms are so different that if they cannot be assemble in a suitable way, they are just two independent modules in one product, and their value to users is greatly reduced.
Coordinate fieldWe observed the map products developed in the past and found that "coordinates" is the essential part for spatial data products, so we decided to add "coordinates" as a field type to the table. Users can enter coordinates and the map will be rendered on the map based on the coordinates of the table.
Organizing tables and mapsAccording to the feedback we received from our customers in previous products, they usually manage tasks and arrange people in "projects". Therefore, we also introduced the concept of "project" into the product. In addition, considering that collaboration is usually done between a company or department, we added the concept of "team" on top of the project, so that the overall information organization is basically sorted out clearly.

Design concept of Maptable.
While exploring the design, I made a list of functional modules of the product, prioritize features with co-founders, define features need to be done in MVP, alpha, and public beta versions.

Features of different versions of Maptable.
MVP version
The goal of the MVP version is to build out the basic framework of the product and complete the development of the basic core functionality. For Maptable, the core features are:
Design Challenge
From the design exploration, we chose a solution as the framework for the MVP version, on the basis of which the key pages were gradually improved.

Table view in MVP version.

Map view in MVP version.
Fields supported in MVP version:


Side panel in table and map page

The info window on the map page supports multiple simultaneous openings and configurable display content.
The MVP version defines the information architecture and interaction of the product. We also complete the basic functions of data tables and maps. In the MVP version, you can add, delete, and check the data in the tables and maps.
Alpha version
After the MVP version was completed, the team started a week of product experience and testing. In addition to overall testing of the completed features, we also each experimented with scenarios that customers might use, then we put together the feedback from team members and combined it with the previous project planning to determine the tasks need to be completed in the alpha version.
UI / UX improvements
Navigation bar
During the product testing process, one of the main issues that team members fed back was that it was difficult to understand the information structure of the product, especially the relationship between tables and maps. The default page was the table page after opening a project, which looked similar to other smart table products, the design lacked uniqueness. In addition, the entrance between table and map was difficult to find, which affected users' motivation to explore the product further. Therefore, we decided to optimize the navigation bar.

Before:design in MVP version

After:design in Alpha version
Team / personal desktop entrance adjustment
In the MVP version, the entrance of personal desktop and team is placed in the left menu of the project list page, which is not obvious and cannot be seen when switching to other pages. Therefore, the following adjustments were made to the team / personal desktop entrance in the alpha version.

Redesign the team / personal desktop entrance in Alpha version.
Notification
Notifications are always a complex feature in a product, especially when organizing the notification types, writing of the notification copy and testing of each notification type after launching.
The following process was used for organizing notifications:
I created a notification table on Maptable, so that we can collaborate with the dev team, and we can also have a chance to in-depth experience with the product's features and interactions (eat dog food).
The notification form contains the following fields.

The notification table organized in Maptable.
After sorting out the notification types, the design of notifications becomes simple, we use a notification window and a notification page to display notification.

The design of notification center.
Real-time collaboration
The positioning of the product is "spatial data collaboration tool", and real-time collaboration is one of the core features. Our real-time collaboration is more complex than other table products because the collaboration status needs to be reflected in the map view as well. The status of real-time collaboration display has the following parts.

Real-time collaboration users.

Real-time collaboration users on table page.

Real-time collaboration users on table page.
Permissions
Permissions are the most complex part of the entire product and need to deal with multiple levels of inheritance relationships. The organization type distinguishes between personal desktop / teams, projects that contain data / map settings, and each part needs to be reconsidered in terms of corresponding permissions.
In addition to the complete inheritance of user permissions from the previous level, the project, data table / map also needs to take into account that users in the team will further clarify the role. For example, several members of the team is responsible for a project, other members do not need to participate; or each member of a project is responsible for maintaining a data table, the members also need to do permission isolation. We, therefore, added two options for permissions on projects, data tables / maps (Level 2, Level 3).
In order to simplify the requirements, specifying members visible is only supported for internal members of the higher level, not for inviting external members of the team. For example, only a few members from the team in the project can be set as "specified members visible"; only a few members from the project in the data table can be set as "specified members visible".
So the arrangement of permissions is a combination of the above three parts. In order to organize more clearly and collaborate with my development colleagues, I built a table in Google Sheets to organize all the actions of each page under different permissions according to the functional module.

Maptable permission list on Google Sheets

Discussion about permission corner case.
After sorting out the actions under different permission types, I start the design of the permission section, there are two user types to be considered:

Permission setting windows.
Login page optimization
The MVP version is for testing inside the team, and the design time is rather tight, so the registration and login pages are designed simply, and only the process of cell phone number registration and login is implemented.

Login page in MVP version
We considered adding the invitation code in the alpha (internal test) version and the beta (public test) version, sending invitations to the target users, who could register to experience the product using the invitation code, and the login process also needed to be adjusted accordingly. In addition, considering the registration page is the first few pages that users will visit, adding the introduction of core functions on the registration page will help users understand the core functions and values of the product faster, and also make better use of the page space.

Login page modified in Alpha version
Map style configuration
After importing the data, visualization in map is also an important step in spatial data analysis. Maptable's layer style configuration is to translate the experience accumulated from previous products into concrete functions.
The initial idea of map layers was to correspond with data tables one by one, and a data table would have both table and map views by default. The team discussed that the advantage of this solution is that it is clear and intuitive, and the user can easily understand the relationship between the data table and the two views; however, the disadvantage is also obvious, only one data table layer can be seen at a time, which is not conducive to viewing the global POI data, and sometimes the analysis needs to be based on the global data to reach a conclusion. It is also not conducive to expansion, and it is difficult to add views later.

Prototype before MVP version: tables and maps as different views of a data table.
Therefore, we decided to adopt a more flexible layer scheme, borrowing from the concept of layers in the design tool, users can create any number of layers in the map page according to their needs, each map layer is only individually set to show/hide state, the map shows the effect of multiple layers stacked on top of each other, each layer supports individual layer style settings, users can complete the visualization and analysis needs in a highly flexible manner.
We provide the following settings in the layer configuration.

Map layer style configuration
Things I learned
Create something small to start with
When thinking about a very big project, you are sure to make a lot of assumptions, which means you have a lot of possibilities to be wrong. The smaller the point you start from, the higher the likelihood of getting it right. In the initial product positioning we avoided thinking of ourselves as another table product, tables are just a suitable set of solutions to achieve our users' needs at this stage, and we positioned ourselves as a "spatial data collaboration tool", not a new product of Airtable. Only after we have done well enough in the niche area, it makes sense to consider expanding to more scenarios.
The market is the best test for the authenticity of a product's demand
Maptable is a product based on our understanding of customer needs in previous products, but the development process lacks interaction with real customers, and only after the completion of the beta version of the features with some customer participation, resulting in many features and the actual needs of customers and the use of the way different. If customers could be involved from the beginning, our understanding of the needs and market could be better, and there would be less detours.
Fail fast and learn fast
The MVP and alpha versions actually had the basic features, but we kept "pursuing perfection" to launch a better version, but the "better" version should come from customer feedback, not from our assumptions.
The value of SaaS products
The essence of SaaS is renewal, and the premise of customer renewal is that the product itself solves problems for the user and brings new value, so customers will only be willing to renew if they are guaranteed success. Customer success, similar to user experience, is not just the job of product design; different departments throughout the company need to align with the goal of "customer success".
Generic Product SaaS Product Conundrum
There has been a long-standing debate about which is more promising, a generic SaaS product or a vertical SaaS, and the process of making Maptable has deepened our understanding of both directions. What we do is a general product that can meet the needs of different industries and different scenarios, but it also brings the problem of not being "professional" enough, customers will instinctively want to have a "customized" solution for themselves, especially some traditional industry customers, this part of the face of general-purpose products will have some threshold to accept. Airtable and Notion both focus on user guidance in their products, providing many scenario templates and often releasing actual user usage, which are lowering the threshold of user acceptance for general-purpose products. Only when customers decide that the product is close enough to their own usage scenarios, customers will take the step to try it.
Navigation