BEHIND SEATTLEWATERFRONT.ORG

A website that doesn't have to own the information it publishes.

SeattleWaterfront.org is being built around a different relationship between information and websites. Restaurants, parking, activities, public art and events can exist as structured entities that are maintained independently of the pages where visitors encounter them.

GW Framework connects that information to Waterfront-specific applications and presentation, while contribution and editorial workflows provide ways to maintain the information without rebuilding pages.

Canonical data GW Framework Parking Finder Public contribution Editorial workflow Shared event infrastructure
THE IMPORTANT DISTINCTION

The interesting part isn't displaying the data. It's separating the data, workflow and presentation.

Almost every modern website displays data. The architectural question is whether the information belongs to a particular page, or whether the page is simply one way of presenting information that exists independently.

PAGE-CENTERED

The page owns the information

Restaurant page
    └── restaurant information

Parking page
    └── parking information

Things to Do page
    └── activity information

Calendar
    └── event information

Content and presentation are closely coupled. Reusing information usually means copying, synchronizing or rebuilding it somewhere else.

GW FRAMEWORK

The information exists independently

Restaurants ─┐
Activities  ──┤
Public Art  ──┤
Parking     ──┼── GW Framework
Events      ──┤        ↓
Locations   ──┤   presentation
Organizations─┘   applications

The data can be maintained separately from the interface and then transformed into the experience needed by the site.

THREE SEPARATE CONCERNS

Data. Workflow. Presentation.

Treating these as separate layers creates more flexibility than treating the WordPress page as the fundamental unit of information.

01

Data

Canonical records describe the actual entities: a restaurant, artwork, activity, parking facility or destination.

{
  "id": "facility-example",
  "type": "parking",
  "name": "...",
  "entrance": "...",
  "hours": "...",
  "rates": "...",
  "clearance": "...",
  "location": {...}
}
02

Workflow

Information can be submitted, edited, reviewed and approved without making the public-facing page the editing environment.

submit
   ↓
normalize
   ↓
review
   ↓
approve
   ↓
canonical record
03

Presentation

GW Framework turns approved information into interfaces designed around what Waterfront visitors need to do.

listing cards
directories
finders
maps
event calendars
edit controls
future interfaces
EXAMPLE: PARKING FINDER

A useful application starts by modeling the problem correctly.

Parking is a good example because the information is more complicated than a list of garages.

A parking facility has entrances, hours, rates, clearance, options and geographic information. A Waterfront destination has a different identity, location and relationship to parking.

GW Data models those as different kinds of records. GW Framework can then use the relationships between them to build a Parking Finder for visitors.

The important work happens before the card is displayed: the real-world problem has been converted into entities, fields and relationships that software can use.

PARKING FACILITY

Bell Street Pier Garage
    ├── primary entrance
    ├── additional entrances
    ├── entrance notes
    ├── hours
    ├── rates
    ├── clearance
    ├── parking options
    └── coordinates


PARKING DESTINATION

Waterfront destination
    ├── location
    ├── parking zone
    └── facility relationships


              ↓

        GW FRAMEWORK

              ↓

        PARKING FINDER
DISTRIBUTED MAINTENANCE

The people who know the information can help maintain it.

A destination website has a basic maintenance problem: businesses and organizations often know when their own information has changed before the website administrator does.

01 Encounter A visitor, business or organization sees an existing listing.
02 Contribute New information or a correction can be submitted through a purpose-built form.
03 Review The proposed change is reviewed rather than being published directly to the live dataset.
04 Publish Approved information becomes part of the canonical record used by the public interface.
ROLE-AWARE INTERFACES

One record can have different editing experiences.

The public does not need the same interface as a professional editor. Public contributors can receive a simple way to add or correct information without being given access to WordPress administration.

Authorized editors can see additional controls and direct editing tools that remain hidden from ordinary visitors.

Both workflows ultimately operate on the same structured information. The interface changes according to the user's role.

PUBLIC
Contribution interface Add information Suggest an edit Provide contact information Submit for review
EDITOR
Management interface Edit Listing controls Additional editorial fields Direct record access Review and approval tools
INFORMATION WITHOUT OWNERSHIP

The Waterfront can publish an event without owning the event record.

The calendar provides one of the clearest examples of the architecture. The canonical event repository lives at events.iloveseattle.org, not on SeattleWaterfront.org.

SeattleWaterfront.org consumes appropriate event information through an API. GW Framework then filters and presents those records as a Waterfront-specific calendar.

Another website can consume the same underlying event and present it differently. The event does not need to be copied into every website that wants to use it.

events.iloveseattle.org

Canonical EventON repository
             │
             │ API
             ↓
       GW Framework
             │
     Waterfront rules
     Waterfront filters
     Waterfront design
             │
             ↓
 SeattleWaterfront.org


Same event record
Different presentation
GW FRAMEWORK

The reusable asset is the layer between information and experience.

GW Framework is not the Waterfront database and it is not the Waterfront design. It is the reusable application layer that helps structured information become a working website or application.

Data adapters Connect structured datasets and external systems to a consistent presentation layer.
Reusable components Generate cards, directories, controls and applications without rebuilding the underlying machinery.
Role-aware tools Present different controls to visitors, contributors and editors.
Site-specific skins Reuse technical architecture while allowing each project to retain its own identity and design.
Cross-system publishing Use information maintained in one system inside applications operated by another site.
Structured outputs The same architecture can support websites now and other feeds, search, maps and AI interfaces later.
WHY A FRAMEWORK?

SeattleWaterfront.org is one implementation, not the definition of the system.

The best evidence that GW Framework is reusable is that the same development approach is already being used for applications with very different content and purposes.

DESTINATION INFORMATION

SeattleWaterfront.org

restaurants
activities
public art
parking
events
public contribution
editorial workflows
COMMUNITY INFORMATION

iLoveSeattle.org

organizations
events
calendars
relationships
directories
cross-site publishing
STRUCTURED PUBLISHING

Swing Again

structured manuscript
custom Reader
custom Editor
change sets
validation
publishing workflow

The data model changes. The interface changes. The audience changes. The reusable architecture underneath does not have to start over.

DESIGN PRINCIPLE
Model the information.
Design the workflow.
Generate the experience.

The website becomes one interface to the information, rather than the place where the information has to live.

DEVELOPMENT

Custom architecture developed for Seattle's Waterfront.

The structured-data architecture, custom interfaces and GW Framework implementation used on SeattleWaterfront.org were developed by Gerard Wirz.

GW Framework is also being used in other projects with very different information models. Similar custom systems can be developed for destinations, organizations and projects whose information or workflows have outgrown conventional web pages.