User Profile
Add Friend
Add Note
Track User
Send V-Gift
Benzene Application Framework Development Journal
coming closer to a useful separation of concerns in productivity applications
Created on 2004-01-09 05:25:26 (#1832533), last updated 2005-11-27
7 comments received, 12 comments posted
Basic Account [Gift]
5 Journal Entries, 0 Tags, 0 Memories, 0 Virtual Gifts, 1 Userpic
| Name: | Benzene Application Framework |
|---|---|
| Website: | Framework Manifesto and Documentation |

Benzene is an application framework which I started writing in 2002. The project is roughly guided by the question: How we might change the state-of-the art for designing productivity applications, as computers approach being "infinitely fast"? This journal is a companion to my fledgling online book, and I'm using it to keep track of my notes and thoughts on the system.
What I seek to do is different from frameworks which mainly help programmers with pushbuttons and other "widgets" (such as wxWidgets and Qt). Benzene is more like Carnegie Mellon's more radical Amulet project, which focuses on making sure that your application can't leave out certain critical features (intentionally or accidentally). These include things like undo and redo, or progress dialogs during commands which take a long time to execute.
Though I wish I could write code that solved the ills that plague software design, there is "no silver bullet". So honestly chronicling my thought process publicly—for the benefit of those who are facing similar issues—is probably my most important work in the long run. Please feel free to add comments if you like, and if you add this journal as a "friend" then I will friend you back.
Note: a system failure with lost code halted development in 2003 and I decided to work on other projects for a time. To learn Mac OS/X programming, I rewrote the missing parts in late 2004, and named the project "benzene" as a way of hinting that it's a higher-order structure than Apple's Carbon API (or its Windows/Linux equivalents). Development since then has been sporadic as I pursued another line of work, but I often return to it when I have a particularly frustrating experience with a piece of "bad software".
Interests (7):
Friends [View Entries]
Communities [View Entries]
Feeds [View Entries]