December 17, 2018 § Leave a comment
- Disrupting Programming
- Can we enable people who don’t know programming to build applications?
- Is there a way to structure, pipe, and manage data better?
- Disrupting Education
- Can we educate humans in interesting ways so that they learn to think in multi-disciplinary ways?
- Can we educate people in small, continuous ways so they keep learning throughout their lives?
- Disrupting Urban Transport
- Can we build new transportation methods that enable us to take someone form point A->B faster?
- Is there a way to build better, cleaner cities?
August 17, 2018 § Leave a comment
- Own a big problem.
- Make measurable progress.
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.
July 29, 2018 § Leave a comment
- The Security of unconditional love
- Service to those outside
- The Struggle to create something worthwhile
August 7, 2015 § 1 Comment
A Bibliography, mostly discussing UX Design but a little on the related issue of Architectural Design.
- A List Apart: Getting Real about Agile Design
- The uneasy relationships between design and agile
- SPARC: What an Agile Design Process looks like
- Thought Works: Just Enough Design
- Martin Fowler: Is Design Dead?
- Design Spikes
- Enough Design Up Front
- Overcoming Why Designers Resist Agile
- Agile Web Design Manifesto
- Agile Modeling: Agile Design Practices (architecture-focused)
- How does Design get done on an Agile Project?
- The Last Responsible Moment for Design
- Stack Exchange: How is architectural design done in an agile environment?
- Full Day Training: Lean UX and Agile
- 12 emerging best practices for adding UX work to Agile development
- Atlasssian: Collaborative design in agile teams (video)
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.
- Concrete States
- Clear Interfaces
- Consistent Data
- Concise Algorithms
- Presentation of Views
- Controlling of Actions
- 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?
September 15, 2011 § 2 Comments
[UPDATE: This post has been obsoleted by SIDA: Moving Object-Oriented Design beyond Model-View-Controller]
I recently read about The DCI Architecture: A New Vision of Object-Oriented Programming, a successor/complement to the original Model–View–Controller design pattern, by one of the original authors. The DCI stand for: