Havoc is talking about platforms and what he thinks defines a
platform. Talking about "silos." That is, stacks of platforms
where things work well together, but don't work well outside of
that silo. i.e. windows, vs. linux vs. qt vs. gnome, etc.
Platforms define technology and policy. Not just mechanisms.
Platforms aren't complete. They don't abstract everything yet.
Don't define UI guidelines enough, high level design issues, types
of data storage and the exchange of data between applications.
Web is a different kind of platform. Pushes a lot of the platform
to the server. Simplifies everything for everyone but the user.
No UI guidelines, applications (backend) don't interact well.
Can't share data.
What defines platforms - could be plugins, could be other things.
X has a pretty low set of constraints, text editor plugin would be
pretty constrained. GNOME and KDE both have a pretty big set of
contraints. The line is blurry.
Trying to define platforms vs. plugins. Modular interaction
design sucks. GNOME control center, X Window System apps.
Windows mess of tray icons, menu items, desktop shortcuts,
etc. Plugins rarely use the latest platform features because they
only use the ABI that's most recent. ABIs take a while to get out
there and then other parts of the platform lag.
Talking about implementation vs. interaction. User interfaces
should be monolithic and hard coded, even though programmers
rarely think that way.
Interaction designers are interested in "user-interesting
first-class objects." Email, people, conversations, documents,
appointments, etc. How will these be exported? How will apps
share that information? WinFS enables this, but unclear how it
will be exported to users.
Improving the desktop: focus on internet storange and internet
use. Saving people from becoming system administrators. Include
more functionality in the platform.
Two visions for the desktop: one is to copy the windows platform
and just make it open source. Linspire, etc. Create an alternate
platform on its own terms. We can do both or either. Odds are we
will do both, because it's open source and people are going to do
whatever they want.
Asking why users would reject longhorn? Like what they have
already. Don't want to change. Longhorn's improvements doesn't
offer the improvements that they need.
Havoc's Final Thoughts: Easier to win on user value than it is to
match technical castles of unbounded size. Open source manages to
both at the same time.
freesktop.org and X.org are building a platform substrate for
beneath toolkits. Tends to be similar to the windows style
platform. Any platform has to be able to run windows-style
platform.
freedesktop.org doesn't show any signs of moving beyond the
substrate layer. i.e. tried to make a UI guideline list. Didn't
go anywhere.
freesktop.org seems good for mechanism, not policy. "Substrate
not platform." However, mechanisms do contstrain policies.
However not the same as some ambiguious policy.
Making incremental gains. Sharing more than one item does add
value. Sharing an item with one more silo adds value. Have to be
pragmatic and improve what we can.
Code sharing can be done via opportunistic refactoring. Create
opportunities. Write things to be shared. Don't rely on your own
silo. Sometimes a little work gets a large refactor off the
ground.
Holy grail would allow object sharing with wild abandon. Design:
if we could bring together some of the silos in terms of design,
it would help a lot. Requires a single point of decision-making.
May also require a unified release cycle and willingness to depend
on latest and greatest.
Platforms are designed together, not stuff that shares code.
Merging desktops means merging design, not implementation. The
OS, including the kernel, currently counts as a seperate platform.
A lot of the rhat desktop team is currently working on "base OS"
issues because a lot of the user-visible problems are in that part
of the platform, not in the "desktop."
Distributions or upstream? We can wedge patches at the distro
level (rhat), because we have The Power. Upstream components
still look broken out of the box. Distributions and desktop
fragments. Need to move some of this upstream. One unpopular way
is to pick a silo. This happens, but it's not good.
The Future! Building an official freedesktop.org platform
substrate should be acheivable and valuable.
Design divergence isn't going away. We'll loose our windows-like
look, even if just because windows keeps changing. Contains
backwards compatibility, but it looks different and new apps will
use the new look. Each silo will probably try to suck in more and
more apps to enhance user experience via centalized design.
Parting shots. Diverge on goals, not implementation details.
Don't implement font rendering twice. Divergence is solved
through natural selection. We hope that goals-level discussions
bring silots together. Innovation has to start in a single silo,
but can trickle into others.