photons be free! · • document store (json documents) ... - backbonejs to reactjs

31

Upload: dokhuong

Post on 30-Jul-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Photons Be Free!The State of Fauxton

2015

Photons Be Free!The State of Fauxton

2015

ApacheCon: Core Corinthia Hotel Budapest, Hungary

October 2015

Michelle PhungApache Software Foundation Committer

[email protected]

CouchDB Fauxton (Admin Console UI)

IBM Cloudant (Dashboard UX Engineer)

Originally from San Francisco, California

What do I do for the ASF?• Daily:

• I fix bugs and build features using Javascript, BackboneJS, ReactJS, for CouchDB (Fauxton)

• Meta:

• I study Data Visualization and UI interactions

• Moderator for [email protected]

[email protected]• NEW!!!

• To subscribe to the list, send a message to:

  <[email protected]

• Mailing list for Designers & design enthusiasts!

• Coming soon: space to showcase design

Intentions for design@couchdb

• In engineering school, I always loved how we shared our ideas with one another

• One engineer would have an idea, share it with the group, then another engineer would suggest improvements, and another, and another. The seed of an idea would proliferate.

• We became better engineers through openness and sharing

• I wanted to bring this type of camaraderie to the design community

• warning: “but designing by consensus takes forever!”

• good news: software takes forever!!

CouchDB

• NoSQL database system

• Document store (JSON documents)

• HTTP RESTful API to access database

• Replications

Fauxton

Fauxton, a database UI

• Tool for interacting with CouchDB

• Provides insight - used as debugging tool

• A visualization of your databases

• Clarifies database actions through UI design

• Teaches new people the structure of CouchDB

How does an administrative console help people learn CouchDB?

• API, clear concept (GET/POST/PUT/DELETE)

• Creates a mental model for information hierarchy

• Visual Information is universal

• UX is inviting

The State of Fauxton, 2015

• Currently gearing up for eminent release of CouchDB 2.0!!

• Conversion of code base from

- BackboneJS to ReactJS

• NightwatchJS, automated UI browser testing

The Code, Dev Stack• Grunt

• Newer Libraries:

ReactJS

• Older Libraries:

Backbone , jQuery , Bootstrap

• Always:

Javascript , Less (CSS) , UnderscoreJS

The Code, testing

• How we test

• Travis - Continous Integration

• Sinon/Mocha - Unit tests

• NightwatchJS - automated browser testing

NightwatchJS + Fauxton

Other Fauxtons

PouchDB - Chrome Debugging Console

IBM Cloudant UI - Primary Admin UI

Fauxton

PouchDB

Cloudant

Part 2: UX, UI and Designing for Engineers

• Visual Communications

• people grasp concepts faster when data is presented visually

• working with large amounts of data:

• what if you could visualize it? test it?

• preview changes? “what happens when …” ?

Recommendations for UX Improvement

• Responsive Design - http://mediaqueri.es/

• End-User programmable UI

• Keyboard Shortcuts

Responsive Design http://mediaqueri.es/

What do engineers want from UI?

• Clear what controls are input and output

• Clear how to achieve desired output

• Robust / fine-grained controls

• Bulk of information presented at once

• Overview monitoring

• Ability to quickly scan is important

Fauxton

Futon

How to Contribute github repo: apache/couchdb-fauxton

Thank You!