It also did things that have still really to be replicated for web developers in a joined-up way; things like proper developer tools (including Interface Builder for the web), a seriously nifty ORM, and the ability to write the back-end once and produce both a web app and a desktop app.
(I know Interface Builder doesn't appeal to the hardcore set, but at least it is an attempt at a different way of working. Our never-ending focus on creating interfaces programmatically makes me wonder what would have happened to desktop publishing if we'd said "what? We made you a postscript mode for emacs -- what more do you need?" and left it at that.)
Yes, I agree. That's why I think we should do better. Dreamweaver really doesn't come close to what we should be doing in terms of visual and coding tools to let designers and developers work together.
I’m not smart enough to think of a solution. Interface builder in Xcode works because everything’s based on cartesian coordinates, but other than pages starting from top-left, HTML is really based around flowing and cascading.
Maybe it’s possible, CSSEdit works great, but requires the HTML to be set up. Espresso’s node layout works well to show hierarchy, but still requires manual HTML editing. One solution would be similar to creating nested NSViews, but turning off {position:absolute} by default. This would force the designer to think in a way that’s similar to how web pages flow in the real world, instead of throwing absolutely positioned elements into a static frame.
I’d have to say some sort of blob state file would be the best bet. The designer works in a vector environment that emphasizes mutable viewports, elements and element amounts. Basically dashcode with vector built in.
(I know Interface Builder doesn't appeal to the hardcore set, but at least it is an attempt at a different way of working. Our never-ending focus on creating interfaces programmatically makes me wonder what would have happened to desktop publishing if we'd said "what? We made you a postscript mode for emacs -- what more do you need?" and left it at that.)