Automating Architecture

Protofit is a generative floorplan app that enables real estate professionals to plan and visualize office space. It leverages a number of automated routines that optimize spatial layouts.

Screenshot of a floorplan generated by Protofit.

Protofit started as a product for creating "test fits" for prospective office tenants. These are floor plans that a broker may use to demonstrate to that tenants' companies can fit in a given office suite given some requirements (the kind of office they want, their current headcount, future growth plans, and so on).

Usually these plans are only drawn for tenants of larger office spaces and require an architect a few days to a week to turn around. By automating the details, Protofit puts this power in the hands of brokers, either during space tours or typical negotiations, so they can give tenants feedback they want in realtime.

The product's goal is to help tenants balance density with livability. For the users, the product ultimately operates under the fundamental assumption that they don't particularly care about the tiny details, just about the headcount and whether the plan itself is plausible.

Protofit's Interaction Model

In an effort to provide the simplest possible interaction, all brokers have to do is select a space on the plan and express what they want to "fill" the space with. This requires chunking the plan into selectable "parcels," units about one window wide and a single office deep, just like letters are selectable units of text. The system then figures out how to fill those spaces properly.

Protofit works on touchscreen and leverages a simple discrete selection model.

From a UX standpoint, Protofit encourages an editing mindset in lieu of authoring. During the onboarding, we provide users with office "templates" that contain generic layouts for various tenant types (media, creative, tech, finance, etc.). That way, brokers are never asked to start from scratch. They're not space planners after all, but they do know what to change in a test fit to meet a tenant's needs.

The Rules

Protofit shows how aspects of architectural design, namely simple space planning, can be automated. This can take these rote and boring tasks away from space planners and can also serve to put those capabilities into the hands of non-architects. It pulls away from the drawing-based CAD model that's essentially a digitized 19th-Century way of working and makes space planning operate at a higher level of thinking.

Luckily, office space takes advantage of patterns, which are fairly easy to describe as geometric rules, especially benching and workstation layouts. Other spaces, like conference rooms and offices, are more sophisticated. The sets of rules that Protofit uses, in order of increasing complexity, are the following:

  1. simple search for fit,
  2. grid patterns with object removal,
  3. packing, and
  4. constraint/cost search.

Simple Fit Search

Ruleset #1, simple fit search, just takes a vocabulary of predefined furniture layouts and searches from largest to smallest until one fits.

The simplest Protofit filling logic searches for the first furniture combination that fits a given space.

Object Removal

With grid pattern/object removal, the algorithm starts with objects arrayed on a regular grid, like benching desks, and then moves the entire grid. It removes a desk if it intersects an immovable obstacle like a column or wall or if the desk's presence violates some rules of circulation. The configuration that wins is the one that yields the greatest number of desks and also fits some aesthetic rules about preferred layout.

Protofit moves benching grids to find the optimal layout, removing desks that intersect architectural elements.

Packing

Packing attempts to fit a set of objects (like tables) into a space by slowly modifying their positions. The algorithm starts with some initial guess, like a hexagonal grid, and works from there to maximize the number of objects while working around obstacles.

Protofit's packing algorithms start with an initial grid and move objects individually to avoid obstacles.

Constraint/Cost Search

Constraint/cost search is powered by an optimization routine that looks for the least-cost solution of a set of equations governing the parametric relationships between furniture, obstacles, and other objects. This is how offices are laid out, where given a description of the wall conditions, the algorithm attempts to place a door, desk, and conference table. The "constraints" describe inviolable rules, and "costs" describe layout preferences.

Protofit carefully balances costs and constraints to place objects in more complex rooms like offices.

The Future of Protofit

The next steps for Protofit in terms of layout capabilities are to leverage similar means of automation for more use cases that shouldn't require CAD-like dexterity and detail.

This may first come in the form of enabling an experience similar to what brokers already do, which is enter numbers into the app, then get a test fit customized to their desires, without the need for pre-authored templates. My latest Floored hackathon project serves as the proof-of-concept.

Another step could be automating the creation of the interactive harness that's currently manually authored before the filling algorithms can operate, things like the common circulation path throughout an office. If we achieve that, an entire office building could be programmed and even optimized in a few seconds while it's being conceived and planned.

The more natural next step may be to establish a deeper level of user-driven customization, thus tackling the actual responsibilities of space planning, instead of just seeking a viable head count. This would mean exposing many more choices to the user, which is always a user experience conundrum. More choices may degrade the experience, unless the increased control afforded by them provides enough benefit to offset the mental load. Assuming the latter a priori is the root of many terrible user experiences.

Protofit in 3D

Floored just released a version of Protofit that creates walkable 3D experience, delivered via Floored's WebGL graphics engine, Luma. Now a user can pick an interior style and the engine creates a virtual model with all the specified furniture and finishes. Interior design becomes the next realm to automate and place in brokers' hands. This also opens the door for low-cost content creation for augmented or virtual reality experiences.

Protofit 3D now turns a two-dimensional floorplan into a walkable 3D experience.