Raising the (table) stakes on tables in FigJam | Figma Blog (opens in new tab)
FigJam introduced native tables to make roadmapping, planning, and organizing information clearer and easier to edit collaboratively. The team deliberately focused on visual presentation rather than complex data manipulation, prioritizing simplicity for both table creators and viewers. Building the feature required extensive work on multiplayer conflict resolution, responsive editing controls, and visual clarity at different zoom levels. ## Why FigJam Needed Tables - Internal teams were already creating tables with stickies and shapes for: - Feature requirements and prioritization - Project tracking - Product marketing messaging - Design critique feedback - Brainstorming and vote counting - Native tables improve performance and reduce the effort of assembling makeshift grids. - The core requirements were to make tables: - Clear - Easy to create - Editable by everyone - FigJam intentionally avoided becoming a complex spreadsheet or data-manipulation tool. ## Designing for Creators and Users - The team treated table creation and table editing as equally important experiences. - A single toolbar click creates a pre-styled table, similar to other FigJam elements. - Users can choose from a limited style palette, while the entire table remains visually consistent. - Adding rows or columns derives styling from the neighboring row or column. - Changing a table’s color automatically adjusts its text for readability. - Programmatically drawn borders help separate cells without creating excessive visual noise. ## Multiplayer Editing Challenges - Tables may contain many cells edited simultaneously by users at different zoom levels. - Unlike ordinary elements, simultaneous table edits cannot simply use “last update wins” behavior. - Changes often need to be merged so multiple users’ contributions are preserved. - Multiplayer support consumed at least half of the engineering effort. - The team spent months addressing concurrency bugs and edge cases, including collaborative typing in the same cell. - Testing included simulated second users, such as a script that repeatedly typed “FigJam.” ## Interaction Design for Collaborative Tables - Standard FigJam selection-based editing became visually overwhelming when multiple people edited different cells. - The team changed table behavior in two important ways: - Editing controls appear on hover and follow the user’s cursor. - A prominent button lets users add a complete row or column. - Table functionality adapts to zoom level: - At distant zoom levels, users can move and arrange the table. - At closer zoom levels, they can resize it and add rows or columns. - This approach keeps the interface uncluttered while exposing more controls when they are useful. The resulting feature keeps tables intentionally simple and presentation-focused while making them native to FigJam’s collaborative, visual environment. For teams that need lightweight planning, tracking, or structured brainstorming, native tables are preferable to building grids manually from shapes or sticky notes.