Solutions to Three of the World’s Hardest Problems

December 17, 2018 § Leave a comment

The Problems

(Drawn from the list identified by Social Capital on December 15, 2018)

  1. Disrupting Programming
    1. Can we enable people who don’t know programming to build applications?
    2. Is there a way to structure, pipe, and manage data better?
  1. Disrupting Education
    1. Can we educate humans in interesting ways so that they learn to think in multi-disciplinary ways?
    2. Can we educate people in small, continuous ways so they keep learning throughout their lives?
  2. Disrupting Urban Transport
    1. Can we build new transportation methods that enable us to take someone form point A->B faster?
    2. Is there a way to build better, cleaner cities?

The Solutions

« Read the rest of this entry »

Three Steps to Startup Success (in 15 syllables)

August 17, 2018 § Leave a comment

  1. Own a big problem.
  2. Make measurable progress.
  3. Together.

 

References

« Read the rest of this entry »

How to Print Mac Scientific Posters onto Multiple Sheets of Paper

August 7, 2018 § Leave a comment

There are many ways to create scientific or other large-format posters on the Mac, but printing them out on similar-sized paper at FedEx can cost $100.  If you’re not going for tenure or selling expensive jewelry, here is a low-cost alternative using an ordinary home printer, a few dollars of posterboard.  and the $5 Mindcad Tiler from the Mac App Store.

« Read the rest of this entry »

Sunday School 2.0: Shark Tank for Spiritual Growth

July 29, 2018 § Leave a comment

The purpose of Sunday School 2.0 is to create an adaptive architecture of participation where everyone can experience what it feels like to be children of God, including:

  1. The Security of unconditional love
  2. Service to those outside
  3. The Struggle to create something worthwhile

« Read the rest of this entry »

MissionalTrails.app: Pokémon GO Into All The Nations

June 27, 2018 § Leave a comment

“Where there is no vision, the people perish” — Proverbs 29:18a (KJV)

In our breakout session at the “hope” Kingdom Networking event, Tim Svboda of YWAM SF taught us that “Information creates Vision creates Mobilization creates Transformation.”  In particular, it is incredibly helpful to know the the ratio and distribution of:

  •  ethne: people groups, cultural touch points
  • evangel: churches, seminaries, ministries, etc.

Both at the aggregate “macro” city level for strategic planning, and at the “micro” street level for personal presence and ministry.

« Read the rest of this entry »

Best Practices for Design in Agile

August 7, 2015 § 1 Comment

A Bibliography, mostly discussing UX Design but a little on the related issue of Architectural Design.

SIDA: Moving Object-Oriented Design beyond Model-View-Controller

September 16, 2011 § 2 Comments

[Update: this post has been obsoleted by RIBS: Marrying the REST and MVC Design Patterns « iHack, therefore iBlog]

SIDA stands for “State • Interface • Data • Algorithm“, and is a refinement of my earlier “DIDA” model (where the “D” stood for Design).  DIDA in turn was an expansion of the well-known Model–View–Controller design pattern based on insights from the Data-Context-Interactions architecture.

State • Interface • Data • AlgorithmThe key premise of SIDA is that there are four primary artifacts that need to be designed, from the most important on down:

  1. Concrete States
  2. Clear Interfaces
  3. Consistent Data
  4. Concise Algorithms
These in turn are related in a particular system via the:
  1. Presentation of Views
  2. Controlling of Actions
  3. Binding of Roles

as shown in the accompanying diagram.

In a simple system, the state is implicit and the relations are absorbed into one of the artifacts, reducing SIDA to the traditional View, Model, and Controller, respectively.  For more complex systems, however, it may make sense to design explicit objects for each relation, e.g., traits for roles, presenters for views, and strategies for actions.

In addition, SIDA is intended as a general architecture, describing the internal structure of everything from databases to web services to GUI applications.  An interface as defined from inside the system may appear as data or an algorithm from outside the system.

The most interesting (and perhaps unusual) aspect of this diagram is how it makes state a central features, something developers never use. If state really is so central to the design process, perhaps it deserves explicit language support, as provided by UnrealScript or typestates (as in Rust).

This is all still merely a hypothesis on my part, as I haven’t actually put any of this into practice yet.  Anyone with more experience care to comment?

Where Am I?

You are currently browsing entries tagged with design at iHack, therefore iBlog.