Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] How the HAL are you supposed to use these files?
Date: Thu, 11 Feb 2010 08:10:31
Message-Id: 201002111005.46531.alan.mckinnon@gmail.com
In Reply to: Re: [gentoo-user] How the HAL are you supposed to use these files? by Walter Dnes
1 On Thursday 11 February 2010 09:31:21 Walter Dnes wrote:
2 > On Wed, Feb 10, 2010 at 02:18:43PM +0000, Neil Bothwick wrote
3 >
4 > > On Wed, 10 Feb 2010 07:57:57 -0500, Walter Dnes wrote:
5 > > > > but D-Bus provides a standard way for applications to communicate
6 > > > > with one another and removing it can stop your desktop working as
7 > > > > it should.
8 > > > >
9 > > > Then how did things manage to work on my systems for the past 9
10 > > > years,
11 > > >
12 > > > pray tell?
13 > >
14 > > Because nine years ago, Linux desktop software didn't use interprocess
15 > > communication. Of course things will still work, but not necessarily
16 > > everything. For example, Network Manager uses D-Bus to tell programs when
17 > > your Internet connection is available and not, so your mail client goes
18 > > into offline mode rather than pointlessly trying to access your mailbox.
19 > > KDE4 uses it quite extensively, ust as KDE3 used DCOP.
20 >
21 > There is too much solution-in-search-of-a-problem here. XMMS followed
22 > the original Unix philosophy... it did one thing did it right, namely
23 > playing audio. Unfortunately, XMMS was hard-coded to use a now obsolete
24 > GTK library.
25
26 Unfortunately, that's analogous to a business employing 5 people, all of whom
27 do their own thing all the time with no inter-person communication and no co-
28 ordination. Perhaps they might scribble a note on a white board once a day,
29 but that's about it.
30
31 > The "successor" to XMMS is Audacious. It seems to subscribe to the
32 > Microsoft philosophy, and tries to do everything under the sun, and
33 > pretends it's a server, which requires dbus. Is it *REALLY* necessary?
34 > I used XMMS to play mp3's and Live365.com. I ended up switching to
35 > mpg123 for both functions when XMMS was dropped, and then to the Flash
36 > player for Live365. I emerged Audacious, but unmerged it when I saw the
37 > post-install warning that said not to submit any Audacious bug reports
38 > if I don't have dbus installed.
39
40 Modern desktops are integrated, because that's what users want. Any two apps
41 should be able to inter-communicate wherever that communication makes sense.
42
43 Example: You have any old arbitrary email client. A mail contains a URL. Click
44 it. The URL should open in your preferred browser, whatever that should be.
45 Please note that any email client should support launching any browser,
46 whether the dev built in support for it or not. Yes, I know there are the xdg*
47 scripts, but tally up the number of things a user would want to work like
48 this, tally up the number of scripts in the infinite number of locations this
49 will take, and then ask the user to "pick one".
50
51 Example: Notifications. I have 3 (yes, three!!) kinds of popups that show up
52 here daily. There's KDE's system which is the majority of them, some GTK apps
53 throw popups in the top right corner where I don't want them and them then
54 there's Skype which does it's own thing. God, you gotta love proprietary
55 sekrit apps </sarcasm>. The solution is a notification service, apps send
56 their notifications to it and the service does whatever the user configured it
57 to do with the notification. Note that the user is in control here, the user
58 says what happens with popups and does it in one central place and the apps
59 does one thing and one thing only with it's notifications: sends them. It's
60 like syslogger, letting the app concentrate on it's real purpose (which is not
61 logging, and definitely is not making sure it doesn't clobber log files from
62 any other apps that might be running).
63
64 See where this is going? Do you need a hundred more examples?
65
66 When you have arbitrary, unknown (at install time) sources of data that may
67 interoperate with other arbitrary, unknown (at install time) sinks of data,
68 good data modelling says that a known broker of data should sit in the middle,
69 which is generic enough for anything to be able to use it.
70
71 And the transport for that is dbus.
72
73 Just to bring this back to your original statement of Unix philosophy. IPC on
74 modern desktops conforms exactly to the Unix philosophy. Apps were moving away
75 from that and were becoming IM clients cum custom loggers cum notifiers cum
76 <insert any other crap here>.
77
78 Standardized IPC is moving back TOWARDS the Unix philosophy, not away from it.
79 Apps can now concentrate on their core function, and hand over the integration
80 aspects to something else dedicated to IPC and nothing else. The apps now
81 merely does the minimum required to hand over data to the service via a
82 messaging bus.
83
84 Which if you look at it in that light, is EXACTLY the same rationale as a
85 syslogger. Do you use a syslogger? Why?
86
87 If you don;t like all this integration stuff, and you have every right to not
88 like it, then you should uninstall KDE and use Openbox (or similar lightweight
89 WM). These WMs exist for users that do not want desktop integration. One thing
90 you cannot have is the latest KDE without it's integration features.
91
92
93 --
94 alan dot mckinnon at gmail dot com

Replies

Subject Author
Re: [gentoo-user] How the HAL are you supposed to use these files? Zeerak Waseem <zeerak.w@×××××.com>
Re: [gentoo-user] How the HAL are you supposed to use these files? Enrico Weigelt <weigelt@×××××.de>