Emanuel Rumpf wrote:
2011/8/11 david <gnome(a)hawaii.rr.com>om>:
Emanuel Rumpf wrote:
An
application that doesn't attend to the GUI may create
the impression that internals might be equally messed up.
An application that has
a slick, polished GUI full of 'eye candy' always
makes me wonder that they put all their effort into the GUI,
and the internals are all messed up.
That's the other extreme.
In my experience less spread, at least in the open software world.
In closed, commercial applications OTOH ...
Yah, sometimes the eye candy (AKA Windows Vista) is what it's all about.
You need a
balance. And the smaller the development team, the less is
available to achieve that balance. So I'd rather have the team put its
effort into making the engine run well rather than putting a custom paint
job on it.
Agreed.
We need more developers!
My opinion
about software architecture: every app should be written in two
parts. The first is the back end that does all the real work, and comes
complete with a documented API usable from as many other languages as
possible. (If the API was usable from Java or Javascript, you could even
have a web UI for the app.)
The second is the front end, the UI. If the two
parts are properly separated, you can have as many different UIs for the
application as there are people who care to program a UI for it. So you can
have a complex advanced UI for the experienced user with great domain
knowledge, you can have a simple "Beginniners" UI (such as a 'Wizard"
style
UI) for the casual for first time user, you can have a text UI for blind or
visually-challenged users, etc. You can even have the back end run on a
completely different machine such as a server, and have the UI running on a
client workstation; quite useful for such situations as a smartphone UI
client that can tap the hardware of the backend for the heavy lifting.
SuperCollider works like that. Seems like good futureproofing to me, without
locking things into a particular language for the UI.
Sounds like a good approach :)
What may be the best cross-platform approach for UI <--> Backend communication ?
Sockets ? Shared mem. ? Which protocols ? D-bus ? Any recommendable C-libs ?
Haven't a clue. I don't know how that kind of thing is done, but somehow
it's done.
--
David
gnome(a)hawaii.rr.com
authenticity, honesty, community