Towards a Resource Oriented Framework
One of the core ideas behind web design has always been mixing content and semantic markup into a unified document that defines how to render content.
One of the ideas I found most profitable from Phos was separating the Resource objects:
From the layout and style entirely. Since browsers rely upon a combination of HTML and CSS to determine the behavior of their box model, and most of the display characteristics are not intrinsic to the Resource itself, this clean separation provides a useful point to introduce new abstractions
A Box defines a set of behaviors that:
- contains 0 or more resources (items)
- defines bounding box for display (left,top,right,bottom)
A Button defines a set of behaviors that:
- implements Box
- responds to 0 or more events (click,tap,down,up,move, etc)
A Player defines a set of behavior that:
- implements Button
- changes with respect to time (responds to time events)
With these 3 abstract behavior types, you can build every interface on the web today.