Linked by tessmonsta on Tue 16th Mar 2010 08:55 UTC
GNU, GPL, Open Source Today's mobile space is owned by the likes of Nokia, RIM, Apple, and Google. While some of these corporations have embraced some open source components, a full FLOSS solution has yet to gain traction. Why? Blogger Bradley M. Kuhn posts thoughtful analysis of the current state of Open Source in the mobile space.
Order by: Score:
Design Thinking
by puelocesar on Tue 16th Mar 2010 12:16 UTC
puelocesar
Member since:
2008-10-30

I'm kind of disappointed with open source software these days.. It seems they stopped innovating, and are only creating technology for the sake of creating technology.. All we see now on open source communities is this run for "eye candy" and stuff that "bling", but that's not really design. They should start to think on the purpose of tech as a human empowerment, and on how to make human life better with tech, not on copying Apple's animations and transitions.

Other problem I see is that when there is actually a innovation, like that semantic desktop thing kde and gnome people are working, they are never conceptually resolved, I mean, there is a concept, but it seems that nobody get it the same way, and we end with a mess on the software that make it unusable.

I really hope people on open source communities get that the user experience involves much more than just usability and unpolished eye candy.

Reply Score: 2

RE: Design Thinking
by Laurence on Tue 16th Mar 2010 13:18 UTC in reply to "Design Thinking"
Laurence Member since:
2007-03-26

I'm kind of disappointed with open source software these days.. It seems they stopped innovating, and are only creating technology for the sake of creating technology..


Innovation born from creating technology for the sake of creating technology.

Every technological advancement that immediately springs to mind has been created because someone thought "that kind of works, but wouldn't it work better if we added a bit of technology here"

Also, I think you're not taking into account that we're somewhat at a plateau in terms of development.
There isn't much that can be innovated which isn't just an evolutionary step.
Add to that the fact that open source generates less funding than proprietary solutions and that we are currently in a global recession, and it's not all that surprising that many releases are all about the "spit and polish" instead of huge revolutionary break-throughs.


And finally, I do think you can find innovative open source if you look for it: ZFS, dtrace, zones, xen, etc.
I don't know if most of the innovation appears to happen away from desktop because I'm more aware of enterprise solutions or if there is actually just not that much innovation on the desktop because most desktop users care about user experience and fancy desktop effects and theres better funding in enterprise solutions. But there is definitely still innovation on open source.

I really hope people on open source communities get that the user experience involves much more than just usability and unpolished eye candy.


user experience /IS/ usability and eye candy.

Everything else resides under the hood and is something only developers for that platform and techies/geeks would notice and/or care.

You have to remember exactly what a 'user' is when defining a user experience.



It's a pity you got market down though as, while I disagreed with nearly every point you've made, you do still raise an interesting argument.

Reply Score: 3

RE[2]: Design Thinking
by puelocesar on Tue 16th Mar 2010 13:27 UTC in reply to "RE: Design Thinking"
puelocesar Member since:
2008-10-30

"user experience /IS/ usability and eye candy.

Everything else resides under the hood and is something only developers for that platform and techies/geeks would notice and/or care. "

I think you misunderstand me. User experience involves Information Architeture, Interaction Design, Visual Design, Behavior Studies, and heck, even Anthropological studies. Usability engineering is just a fraction of it.

Reply Score: 2

RE[3]: Design Thinking
by Laurence on Tue 16th Mar 2010 14:39 UTC in reply to "RE[2]: Design Thinking"
Laurence Member since:
2007-03-26

I think you misunderstand me. User experience involves Information Architeture,

That's got nothing to do with user experience.
Sure it's an important part of software design, but it's not a user interface.

Interaction Design,

that's covered in usability

Visual Design,

eye candy and usability

Behavior Studies,

usability again

and heck, even Anthropological studies.

usability again.

Usability engineering is just a fraction of it.

You're being too specific about just what usability amounts too.
'Usability' is in fact a very broad term.

Reply Score: 0

RE[2]: Design Thinking
by puelocesar on Tue 16th Mar 2010 13:36 UTC in reply to "RE: Design Thinking"
puelocesar Member since:
2008-10-30

"because most desktop users care about user experience and fancy desktop effects and theres better funding in enterprise solutions."

That's a unfunded affirmation. People want things to work. They want to work <strong>with</strong> technology, not work <strong>for</strong> techonology. Apple is loved not because of the desktop effects, it's because of simplicity, well defined goals and technology that helps people get their stuff done.

This mentality of users want eye candy must stop. Eye candy without purpose just get in people's way. But if used to improve familiarity and fluidness on interfaces they can bring great value.

Reply Score: 1

RE[3]: Design Thinking
by lemur2 on Tue 16th Mar 2010 14:12 UTC in reply to "RE[2]: Design Thinking"
lemur2 Member since:
2007-02-17

"because most desktop users care about user experience and fancy desktop effects and theres better funding in enterprise solutions."

That's a unfunded affirmation. People want things to work. They want to work with technology, not work for techonology. Apple is loved not because of the desktop effects, it's because of simplicity, well defined goals and technology that helps people get their stuff done.

This mentality of users want eye candy must stop. Eye candy without purpose just get in people's way. But if used to improve familiarity and fluidness on interfaces they can bring great value.


Meh.

http://amarok.kde.org/en/releases/2.3.0
(play the clip, Apple has nothing to compare to this)

http://www.digikam.org/drupal/about?q=about/overview
http://www.digikam.org/drupal/about?q=about/features
(I have found better features for photo management here than anything that Apple has)

http://www.videolan.org/vlc/features.html
(Apples stuff doesn't have anywhere near this level of coverage of formats, nor platforms for that matter)

http://www.blender.org/features-gallery/
(power and features ... perhaps best of breed)

http://www.firebirdsql.org/
(often overlooked, but very powerful)

http://gcc.gnu.org/
(the compiler that produces more software for more platforms than any other)

http://www.beowulf.org/
(nothing if not innovative)

http://www.alfresco.com/
(not innovative, but the only competitor to Sharepoint)

http://www.eclipse.org/
(the original and best ide)

http://www.apache.org/
(the original and best web server)

http://www.cherokee-project.com/
(if you don't have a powerful machine, you can still have a web server)

http://www.puppylinux.org/
(blindingly fast because it runs from RAM)

http://en.wikipedia.org/wiki/Live_CD
(try before you install, check that everything works on a machine, only available for open source)

http://en.wikipedia.org/wiki/Software_repository
(still the only means of installing software with a guarantee of having no malware)

http://www.mozilla.com/en-US/firefox/features/
(the browser that broke the back of IE dominance, popular for a reason)

http://why.openoffice.org/
(not innovative, but it has got 20% market share where no other Office suite could make inroads into MS Office dominance)

http://opendocument.xml.org/
(open, interoperable formats are an innovation that benefit millions ... commercial office suites have never offered this)

http://en.wikipedia.org/wiki/Berkeley_Software_Distribution
(a very solid kernel that lesser commercial vendors have forked)

http://en.wikipedia.org/wiki/KHTML
(the origin of webkit)

http://meego.com/
(it will be alone in letting users decide what apps they want on their smartphone)

None of these were Apple's idea.

Edited 2010-03-16 14:16 UTC

Reply Score: 4

RE[3]: Design Thinking
by Laurence on Tue 16th Mar 2010 14:58 UTC in reply to "RE[2]: Design Thinking"
Laurence Member since:
2007-03-26

That's a unfunded affirmation. People want things to work. They want to work with technology, not work for techonology.


and that's where my point about usability comes into the equation.
The problem we have here is you have a too specific classification of just what 'usability' means'

Apple is loved not because of the desktop effects, it's because of simplicity, well defined goals and technology that helps people get their stuff done.

There's much much more to Apple's success than simplicity alone.
There's the fact that some people are fed up with Windows and Apple is the next biggest commertial platform.
There's the fact their their marketing is second to none.
The fact that to many people Apple are bordering on a religion.

But let's also not over state Apples success - they're still only a tiny fraction of the overall desktop market share.

Thus if you're point was as clear cut as you imply, then OS X would be out selling Win7 (despite Win7 also having desktop effects).


This mentality of users want eye candy must stop. Eye candy without purpose just get in people's way. But if used to improve familiarity and fluidness on interfaces they can bring great value.


I agree, but we are geeks.
At risk of stereotyping, You ask an average girl if she prefers an ugly phone that has 2x the battery life, 2x the processing speed and is easier to use, she'll usually go for the phone that's the same price but half the spec and usability because it is pretty and pink.

If "normal" people really cared more about intelligence over beauty then celebrity culture wouldn't be so big. Countdown would get more viewers than Britain's Next Top Model and so on.
Obviously I'm making somewhat extreme examples, but the point I'm making is most devices work "good enough" already that most normal people with money to burn will spend on the better looking products.

Heck, I bet even you have at least once thought "that looks sexy" at one piece of impractical hardware.

You can't change human desire. Rightly or wrongly most people only care about what they can see and touch. The rest is left for the geeks to discuss.

Reply Score: 2

RE[2]: Design Thinking
by strcpy on Tue 16th Mar 2010 14:16 UTC in reply to "RE: Design Thinking"
strcpy Member since:
2009-05-20


Everything else resides under the hood and is something only developers for that platform and techies/geeks would notice and/or care.


No disagreements. But did it occur to you that maybe he referred to things like Ubuntu? Whose only recent innovation has been to change the color palette? At least from judging from the press attention.

Edited 2010-03-16 14:18 UTC

Reply Score: 2

RE[3]: Design Thinking
by lemur2 on Tue 16th Mar 2010 14:23 UTC in reply to "RE[2]: Design Thinking"
lemur2 Member since:
2007-02-17

"
Everything else resides under the hood and is something only developers for that platform and techies/geeks would notice and/or care.


No disagreements. But did it occur to you that maybe he referred to things like Ubuntu? Whose only recent innovation has been to change the color palette? At least from judging from the press attention.
"

If the "no innovation" criticism was for Ubuntu, then the OP would have had a point.

The OP actually claimed, however, that "open source software" lacked innovation, which is a VERY easily debunked assertion.

Edited 2010-03-16 14:23 UTC

Reply Score: 2

RE[4]: Design Thinking
by danieldk on Tue 16th Mar 2010 16:23 UTC in reply to "RE[3]: Design Thinking"
danieldk Member since:
2005-11-18

The OP actually claimed, however, that "open source software" lacked innovation, which is a VERY easily debunked assertion.


Correct. There is plenty of innovation, especially if you consider that a fair share of academic CS work is made available as open source software.

The departments where open source software is clearly lacking is: usability, polish, uniformity, and marketing. The first three can make a random daily task of, say a Windows or OS X user, a hell on the average Linux desktop.

Android is doing so well compared to other FLOSS*- initiatives because Google took a cathedral approach and unilaterally decided on one API, mostly one user interface, and one bytecode to rule them all. The result is that Android is consistent and easy to use. A typical bazaar approach would give us 5 widget toolkit, 10 selectable 'surface managers', and at least as many ways to get and install software. Of course, this is totally uninteresting to the phone user that just wants to make phone calls, surf the web, and do occasional Twittering.

Open source systems can be viable, but they need to be rolled out in a controlled fashion. Or you will end up with the mess that is the Linux desktop (No, I can really not explain to family/friends/whatever that their sound stopped working because someone decided to rewrite the sound server.).

I used to be a big proponent of Linux on the desktop, but these days I just advise people to buy OS X if they want a usable UNIX desktop. Yes, it's evil, unethical, etc. But most friends rather care about doing their work and managing their holiday photos than to be pulled into philosophical discussion about why information should be free, and live with a broken system. That's how the world works, and Google understands it.

Reply Score: 3

RE[5]: Design Thinking
by lemur2 on Wed 17th Mar 2010 00:28 UTC in reply to "RE[4]: Design Thinking"
lemur2 Member since:
2007-02-17

Android is doing so well compared to other FLOSS*- initiatives because Google took a cathedral approach and unilaterally decided on one API, mostly one user interface, and one bytecode to rule them all. The result is that Android is consistent and easy to use. A typical bazaar approach would give us 5 widget toolkit, 10 selectable 'surface managers', and at least as many ways to get and install software. Of course, this is totally uninteresting to the phone user that just wants to make phone calls, surf the web, and do occasional Twittering.

Open source systems can be viable, but they need to be rolled out in a controlled fashion. Or you will end up with the mess that is the Linux desktop (No, I can really not explain to family/friends/whatever that their sound stopped working because someone decided to rewrite the sound server.).


Your mistake here is in thinking that "open source" is one product. It isn't. "Open source" is a vast array of software covering multiple things.

You need to compare Android to say Meego and to the iPhone OS. You need to compare an OSX or Windows 7 desktop to a Mandriva, Ubuntu, Fedora or OpenSuse desktop ... one at a time. Mandriva does not have "5 widget toolkits, 10 selectable 'surface managers', and at least as many ways to get and install software", it has just one of each. So too does Ubuntu, Fedora, Arch, Debian and OpenSuse ... each one has just one widget toolkit, one 'surface manager', and one way to get and install software.

When you have wrapped your head around that, then come back with a real comment. Until then, you are sprouting nonsense.

Edited 2010-03-17 00:38 UTC

Reply Score: 2

RE[6]: Design Thinking
by saynte on Wed 17th Mar 2010 05:41 UTC in reply to "RE[5]: Design Thinking"
saynte Member since:
2007-12-10

One of each?

My Ubuntu system at work has:

apt-get, aptitude, synaptic, Software Center, and dpkg (if you feel like counting the low-level stuff too). At least 3 of these are there by default (I think aptitude is as well, not sure about synaptic).

Also, since I have installed amarok on it, it also contains Qt, Gtk, and also the default X athena widgets. Even without amarok it has 2 widget toolkits.

It also contains 2 window managers by default (more if you want them), Gnome and TWM.

So I'm not sure why you were brow-beating your parent poster; he was using a slight hyperbole, but his point is vastly more correct than yours.

Reply Score: 2

RE[6]: Design Thinking
by danieldk on Wed 17th Mar 2010 16:26 UTC in reply to "RE[5]: Design Thinking"
danieldk Member since:
2005-11-18

When you have wrapped your head around that, then come back with a real comment. Until then, you are sprouting nonsense.


Well, except that (big fallacy follows) I was a co-developer for a commercial distribution, and know how much support load this multitude of options caused. And then we were even recommending users to restrict their use to our blessed environment. It is a real problem, and Linux (except for very restricted environments such as Android) is losing users because of this. Ask the man in the street who one tried Linux ;) .

Edited 2010-03-17 16:29 UTC

Reply Score: 2

RE[3]: Design Thinking
by Laurence on Tue 16th Mar 2010 14:42 UTC in reply to "RE[2]: Design Thinking"
Laurence Member since:
2007-03-26

No disagreements. But did it occur to you that maybe he referred to things like Ubuntu? Whose only recent innovation has been to change the color palette? At least from judging from the press attention.


It did - hense why I gave examples of open source that were innovating.

Edited 2010-03-16 14:59 UTC

Reply Score: 4

RE: Design Thinking
by strcpy on Tue 16th Mar 2010 14:15 UTC in reply to "Design Thinking"
strcpy Member since:
2009-05-20

e on open source communities get that the user experience involves much more than just usability and unpolished eye candy.


Don't worry. There are plenty of people who think similarly. Don't let the modding down upset you; it is relatively common when you say something critical about the Wonderland.

About the article: ok, but way too biased towards the "FLOSS" (like the other acronyms wouldn't be enough) and FSF/GPL generally, at least for me to take it seriously.

Reply Score: 2

RE[2]: Design Thinking
by lemur2 on Tue 16th Mar 2010 14:20 UTC in reply to "RE: Design Thinking"
lemur2 Member since:
2007-02-17

Don't let the modding down upset you; it is relatively common when you say something critical about the Wonderland.


Modded down for complete inaccuracy. Apple doesn't innovate, it merely polishes existing ideas.

FOSS is many times more innovative than Apple.

It is fair enough to criticise if it bears some semblance to truth, but I don't see the point of outright lies.

Reply Score: 3

RE[3]: Design Thinking
by puelocesar on Tue 16th Mar 2010 14:38 UTC in reply to "RE[2]: Design Thinking"
puelocesar Member since:
2008-10-30

Where the hell I talked about Apple on my original post? I cited Apple in a response because someone pointed that people wanted eye candy. That's totally not true.

When I'm talking about innovation, I'm talking about true innovation, the one's that change people life for good, not just a algorithm that performs better.

The heck, why everyone fu**in think that when we call for user experience we are talking about apple?

Here are the people that I'm talking about:
http://www.ideo.com
http://www.frogdesign.com

Reply Score: 2

RE[4]: Design Thinking
by testman on Tue 16th Mar 2010 22:47 UTC in reply to "RE[3]: Design Thinking"
testman Member since:
2007-10-15

Admitting Apple did something right amongst the hardcore geeks is as unpopular today as admitting the same of Microsoft in the earlier-years of this millennium.

No doubt it'll be Google's turn in a few years.

Reply Score: 3

RE[4]: Design Thinking
by cycoj on Wed 17th Mar 2010 10:22 UTC in reply to "RE[3]: Design Thinking"
cycoj Member since:
2007-11-04

I just looked at the two websites you posted. You're saying that innovation is not just eyecandy, but looking at those two websites, it seems to me that's what they're mainly doing. Come'on reinventing Vogue italy? How's that innovation?

Reply Score: 2

RE: Design Thinking
by Bill Shooter of Bul on Tue 16th Mar 2010 14:44 UTC in reply to "Design Thinking"
Bill Shooter of Bul Member since:
2006-07-14

Open source !== desktop software. That alone should get you modded into the hinterlands.

Reply Score: 3

Harsh comments
by puelocesar on Tue 16th Mar 2010 14:52 UTC
puelocesar
Member since:
2008-10-30

Yeah, here I am.. Fighting with my design friends to defend open source software, and fighting with the community to defend design..

I was not aware both things were enemies you know...

Reply Score: 1

RE: Harsh comments
by Laurence on Tue 16th Mar 2010 15:23 UTC in reply to "Harsh comments"
Laurence Member since:
2007-03-26

Yeah, here I am.. Fighting with my design friends to defend open source software, and fighting with the community to defend design..

I was not aware both things were enemies you know...


Nobody is arguing that proper thoughtful design shouldn't take place.

People disagreed with your statement that open source isn't innovating.
I disagreed with your statement that "usability and eye candy are only a tidy fraction of user experience"
A few of us disagreed when you said the average user cared about the internal design of software.

Perhaps the problem here is that despite us all have the same goals but choose to express our opinions differently?
Perhaps it's more a language barrier than a difference of opinion?

However, going by what was typed and posted on here, I (and a few others) disagreed with a number of specific points you raised as fact.


So I will apologise now if I've misunderstood what was written to be something other than what was intended to be expressed

Reply Score: 2

Neolander
Member since:
2010-03-08

I think that open source is a mixed bag.

Open source philosophy is pure genius. Anyone caring about hobby developers should open-source its code, in my opinion. I'm working on a little OS right now (will let you know if one day it's able to do a bit more than switching processes and allocating hardware resources), and having a huge load of documentation and low-level code around is just fantastic.

The idea of software development to which anyone may contribute is also great. The fast evolution of Linux and FOSS in the latter years shows that more than anything else. Gimp, VLC, Blender, Inkscape, OpenOffice.org, Code::Blocks, Firefox... They're more or less innovative, but they're all serious and very powerful software, and I'm glad I have them around.

But this approach has its drawbacks, too. Look at the mess of audio APIs in linux. Look at multimedia infrastructure globally while you're at it. And let's not look at the X11 and graphical toolkits mess.

Open source works great when a project is working on software made to address a specific problem, with a well-defined design and feature plan. It looks less good when people try to put that software together and make a complete desktop environment. Inconsistency and effort duplication occurs in the best case. Stability issues in the worst.

I think that open-source OSs needs some central management. The implementation of most parts of the OS can be made by the community, but design goals and feature requirements for each of those parts should be at least partly stated by a relatively small group of people which may meet around a large table every month and discuss it for 4 hours. Yes, that's the way proprietary software works, except once you get the scope statement, you can implement it the way you like.

Let's say you've got an OS that's fine at browsing the web, but now some guys want to play HTML5 videos on it. Modifying the web browser, the multimedia framework, or the UI alone is not possible, some cooperation is needed.

-The proprietary way of doing things is when you own anything from the browser to the kernel. You take some times to design things, modify the browser, modify the multimedia API of your system, modify the UI management part, and are able to read HTML5 videos.
-The Linux way of doing things is that somewhere in the wild, a guy in a garage introduces a brand new browser that, thanks to a multimedia framework developed by two Polish guys which doesn't support a single codec yet, may embed videos. If you're lucky, some people get excited about it, and a new browser and multimedia framework are added to the huge pack of those available on Linux. After months of duplicated work, it's finally usable.
-In my opinion, the best option is that the OS manufacturers think about it, and find out how software should be designed in order to allow HTML5 playback. Let's say it's about multimedia player embedding capability in the UI widgets. They describe on their wiki how the UI widgets should be modified to allow these embedding capabilities, then kindly notify the people working on the UI widgets that they've got some stuff for them (or do it themselves). They then notify the browser makers that the UI meets now all requirements for HTML5 playback.

This requires good public relation skills and cooperation between system managers and applications developers. But IMO, without minimum central management and standardization like that, FOSS cannot meet the interface consistency and reliability requirements of modern software.

Edited 2010-03-16 17:39 UTC

Reply Score: 0

lemur2 Member since:
2007-02-17

Look at the mess of audio APIs in linux. Look at multimedia infrastructure globally while you're at it. And let's not look at the X11 and graphical toolkits mess.


On any one Linux system, there is no mess. On my Arch Linux KDE 4.4 desktop install, there is no "mess of audio APIs", there is one. There is ALSA at a lower level and Phonon at the device-indepentdent level. There is also one GUI graphical toolkit ... which is Qt.

On a mobile device running Android or Meego, there would be a different set of audio APIs. Meego has the same graphical toolkit as KDE 4.4 desktop (which is Qt), but Android has GTK. However, Android is NOT the same system as Meego, and both are NOT the same system as a KDE 4.4 desktop. No machine would run two of these OSes, and the devices which would run the OSes have different uses.

Reply Score: 2

Neolander Member since:
2010-03-08

@lemur2:You may get this result, but only provided that you chose to use only <X>% of Linux software capabilities.

You talk about using only Qt, but then you have to give up on GIMP, Inkscape, Emesene, Ardour, Firefox...
Conversely, those who want a GTK-only desktop give up on Kile, Rosegarden, Qtractor, KTouch, Opera, QJackCtl...
You want to use only ALSA + Phonon ? Fine, then you drop almost all high-end audio software on linux, they rely on Jack.

Please correct me if part of this is outdated, I don't check package dependencies everyday. But I think most of it is still right as of today.

Basically, choosing to use Linux in a non-messy fashion is dropping, say, 75% of powerful linux software. One day, you might need this software. And then you'll have to make your system more messy or switch to another OS. That's my problem with Linux. I prefer it over other options*, but like OS X it definitely IS a mess when you try to do a little more with it than playing Minesweeper.

*Except sometimes, like when I find out that my distro have pushed forward that broken dmix duplicate called Pulseaudio again and that there's no more sound in the new release.

Edited 2010-03-17 06:24 UTC

Reply Score: 2

Laurence Member since:
2007-03-26

I agree with what you're saying in principle, but proprietary software doesn't always get it right either.

Take Windows for example:
* You have a range of APIs from .NET and Win32 through to DirectX. So you end up with half a dozen different APIs that can be used to do the same job.
* There's no standardisation of interfaces between the numerous Office versions, let alone Office, Visual Studio, and basic windows apps (Explorer, Notepad, etc).

And that's just Microsofts in house projects.

When you take the wider Windows platform you have:
* Java which looks and behaves hugely different to .NET / Win32.
* countless 3rd party projects that don't adhere to Microsofts UI (often creating their own widgets and toolkits)
* countless application duplication (from professional studio suites to freebie config toys).
* several different codecs for the same media (video / audio) file types
and so on.


The point is, sometimes duplication happens because users like to have a choice of application as different projects tackle the same problem differently. So what might be intuitive for one person might not be as intuitive for another.
Sometimes duplication happens because the existing tools available aren't up to scratch and it's easier to start from a clean slate than to fix something that's broken.
And sometimes duplication happens simply because developers just fancy a personal challenge.

But either way, I consider the variety available for Linux an asset rather than a draw back.
The problem is polishing enough products so there's alternatives to choose from if you want rather than alternatives users are forced to investigate because the defaults are buggy.
So users shouldn't need to know about the different GUI toolkits nor sound engines so long as there is themes / wrappers / etc bridging the differences to make applications and utilities use widgets or sound in the same seamless way regardless of the developers API preferences.

And that my friend is the problem with Linux. NOT the variety, but the lack of coherent compatibility between the different APIs.

Reply Score: 2

Neolander Member since:
2010-03-08

@Laurence : First, thank you for posting that excellent comment ;) I can't mod you up because of OSnews's unusual rules, but I may congratulate you this way.

I agree with what you're saying in principle, but proprietary software doesn't always get it right either.

Totally true. I tried to install my beloved GIMP on Mac OS X and I can tell that being proprietary-oriented is not the solution to anything. I just say that when bits of proprietary management (not necessary proprietary softwares) are carefully introduced in strategic places, one may get way better results.

Take Windows for example:
* You have a range of APIs from .NET and Win32 through to DirectX. So you end up with half a dozen different APIs that can be used to do the same job.

I don't believe it's true, even though I accept proofs of the contrary. For a long time, Win32 did an excellent job at making applications that just work almost alike. There's a lot more free (as in free beer) software on windows than on linux, but I actually encounter a lot less usability and theming inconsistencies on windows.

It's logical when you think of it : programming Win32 was incredibly easy, thanks to simple yet efficient dev tools like Delphi, C++ Builder, and even VB somewhat.

.Net did indeed introduce some mess, but not until Windows XP. And its use remains quite limited, though slowly rising since the death of powerful Win32 dev environments (RIP Pascal object... Sigh...). Actually, Microsoft are more victims of their own success, now that they face Win32's limitations and try their best to make people move to a new platform when they don't want to.

About DirectX... Did you actually encountered applications which code their interface directly using DX, apart from games ? Games have traditionally non-standard interfaces, on every platform, and customers are used to it, so it's not such a big issue.

Sure, there's some shitty non-standard interfaces (noticeably flash-based ones) on autoruns (that are sentenced to die by microsoft anyway). And on installers too. But most software remains Win32/.Net-based and consistent with other software...

* There's no standardisation of interfaces between the numerous Office versions, let alone Office, Visual Studio, and basic windows apps (Explorer, Notepad, etc).

And that's just Microsofts in house projects.

Totally true that Microsoft, and Apple to a lesser extent, don't know how to apply their own interface guidelines to their softs and look like most software around. Again, proprietary guidelines can't do anything, people must actually use them.

When you take the wider Windows platform you have:
* Java which looks and behaves hugely different to .NET / Win32.

Desktop java applications aren't very common, except in corporate environments...

* countless 3rd party projects that don't adhere to Microsofts UI (often creating their own widgets and toolkits)

And infinitely more that do adhere to it, contrary to the Linux world where we get the reverse picture

* countless application duplication (from professional studio suites to freebie config toys).

Of course, but not at a core level. To say it in a different way, they don't depend on each other in an intricated way. You don't need VLC to mix audio with REAPER, and you don't need GIMP in order to use firefox. Duplication very rarely occurs in the API area on Windows, which is a blessing compared to the multimedia madness on linux.

* several different codecs for the same media (video / audio) file types
and so on.

...and codec packs that install all of them definitely, without needing to get through gstreamer here, xine there, and ffmpeg somewhere else.

The point is, sometimes duplication happens because users like to have a choice of application as different projects tackle the same problem differently. So what might be intuitive for one person might not be as intuitive for another.

Yup ! But again, that's true at a user application level. At a core level, a lot of thing are well-defined and don't need to change everyday. If multimedia and basic UI APIs are well-made, like DirectShow and Win32 used to be, there's no need for a new codec set and massive effort duplication, nor for multiple inconsistencies due to use of several widget toolkits.
Which leads us to your next point...

Sometimes duplication happens because the existing tools available aren't up to scratch and it's easier to start from a clean slate than to fix something that's broken.

I can't agree more ! In order to work, the proprietary development model must offer excellent dev tools to begin with, that devs would want to use instead of reinventing the wheel. This means that :
-Design must be carefully discussed and well-thought the first time.
-Communication is a very important issue, as I told before. The system devs must be constantly talking with the user application devs in order to stay informed about their needs and introduce changes in the API as soon as it is needed, before someone decides to make a duplicate of a system library and make the OS enter a Linux-like hell. Contacting them should be very easy, too.
-Good IDEs and encapsulation in APIs are critical. If you make your own dev tools, you can tweak your OS without the devs even knowing, which gives you extreme freedom compared to other options available.

And sometimes duplication happens simply because developers just fancy a personal challenge.

I don't think OS devs can do something about this one, except using a "recommendation" system like default repositories which make installing software preferred by the OS devs easier (without forbidding use of non-preferred software or making installing it a nightmare though, we're not Apple)

But either way, I consider the variety available for Linux an asset rather than a draw back.

Variety is a double-edged blade. On user apps it serves you. On core APIs, it makes life of OS builders, users, and maintainers close to hell.

The problem is polishing enough products so there's alternatives to choose from if you want rather than alternatives users are forced to investigate because the defaults are buggy.

Yes. Defaults must be good enough so that the vast majority of software uses it, for reasons that should be obvious. And slightly pushed forward to make sure most people will use them. But jailing the user is infantile and inefficient.

So users shouldn't need to know about the different GUI toolkits nor sound engines so long as there is themes / wrappers / etc bridging the differences to make applications and utilities use widgets or sound in the same seamless way regardless of the developers API preferences.

That's my point about standards, proprietary design and feature requests but free implementation. OS builders don't have to do anything all by themselves, and they can't anyway. But if something is likely to be often used, and shared between applications, they should better tell developers how it should look and work. And maintain it themselves if use of it is really extremely common (typical example : basic GUI widgets like windows, buttons, pointers, labels, edits, and so on).

And that my friend is the problem with Linux. NOT the variety, but the lack of coherent compatibility between the different APIs.

Right. But do you know a way to reach that coherent compatibility without a shared underlying proprietary design ? I don't know that myself, that's why I'm all for proprietary design of all core and/or often used components.

Thank you for reading ! Looking forward for any further discussion on the subject, it is fascinating.

Edited 2010-03-17 18:26 UTC

Reply Score: 1

Laurence Member since:
2007-03-26

About DirectX... Did you actually encountered applications which code their interface directly using DX, apart from games ? Games have traditionally non-standard interfaces, on every platform, and customers are used to it, so it's not such a big issue.


Sorry, I should have stated that my comments about directX was about audio.

While I appreciate Win7 has a more unified sound architecture, XP had several different sound toolkits available.

Though this is usually irrelevant to the average user, it becomes very obvious when using audio sequencers and trackers (eg FL Studio, Ableton, etc).

Of course, but not [much duplication] at a core level. To say it in a different way, they don't depend on each other in an intricated way. You don't need VLC to mix audio with REAPER, and you don't need GIMP in order to use firefox. Duplication very rarely occurs in the API area on Windows, which is a blessing compared to the multimedia madness on linux.


As I said above, multimedia is (or was) Window's worst area for internal duplication.

The difference is Windows is better at packaging the duplication (either with including the shared APIs with the application installer or -in the case of Microsoft's own APIs- Windows having all of the expected dependencies in the default install).

To use your examples:
VLC doesn't use Windows' codecs, it uses it's own (same goes for Winamp too)
Firefox doesn't Windows' rendering engine (Trident), it uses Gecko (and you have added duplication if you install other web browsers).

Variety is a double-edged blade. On user apps it serves you. On core APIs, it makes life of OS builders, users, and maintainers close to hell.

Very true.

Right. But do you know a way to reach that coherent compatibility without a shared underlying proprietary design ? I don't know that myself, that's why I'm all for proprietary design of all core and/or often used components.

Easily if wrappers are built.
For example, using a GTK+ wrapper for QT4 so KDE4 applications look like native GTK+ apps in GNOME.

Granted building wrappers is easier said than done. But if developers can't agree on a single toolkit, then the toolkits should become inter-compatible so the underlying technologies become completely transparent to the user experience.

Thank you for reading ! Looking forward for any further discussion on the subject, it is fascinating.

Likewise. It's refreshing to have a discussion about the merits or open source vs propitiatory that doesn't descend into a flamewar hehehe
While I'm not agreeing with all of your points, there is a lot of sense being said

Edited 2010-03-18 01:21 UTC

Reply Score: 2

Neolander Member since:
2010-03-08

Sorry, I should have stated that my comments about directX was about audio.

While I appreciate Win7 has a more unified sound architecture, XP had several different sound toolkits available.

Though this is usually irrelevant to the average user, it becomes very obvious when using audio sequencers and trackers (eg FL Studio, Ableton, etc).

You make a point here. I've not been using windows for a while, and had forgotten, but now that I remember, it really was a mess. If I remember correctly, there was...
-The system audio API (PCM playback)
-DirectSound (More advanced multimedia features)
-ASIO/WDM (Low-latency)

If it was me that would have to design that, I'd have asked Microsoft to merge ASIO-related work into the system API, and made DirectSound work on top of it, but well... The problem with the microsoft way of things is that there's only little room for third-party ideas.

But apart when using audio apps, I didn't have to care about that mess in the end because everything worked (except ASIO which needed some tweaks) and was mixed together in the end. That's when you're right : it's maybe not needed to go into "one api" strategy if they've got a common compatibility base in the end.

As I said above, multimedia is (or was) Window's worst area for internal duplication.

The difference is Windows is better at packaging the duplication (either with including the shared APIs with the application installer or -in the case of Microsoft's own APIs- Windows having all of the expected dependencies in the default install).

To use your examples:
VLC doesn't use Windows' codecs, it uses it's own (same goes for Winamp too)
Firefox doesn't Windows' rendering engine (Trident), it uses Gecko (and you have added duplication if you install other web browsers).

I agree that it's a bit ankward that VLC doesn't use DirectShow (or the vista/7 trick) for video decoding. I'm glad it works, but I'd have preferred to see DirectShow improved by VLC devs in order to fit their needs, but in a fully proprietary environment that's not likely to happen, so let's say that at least they managed to make everything work together.

About web engines, I think duplication is acceptable for the following reasons :
-They are quickly evolving technology and hence are not ready for full standardization yet.
-They are not shared by many applications, so inconsistencies between them will not cause much damage as non-geek people generally only use one browser at a time.
-They are not at the core of the system (except on windows). On clean OSs, it's unlikely that system builders would need changes in the web engine, so that can be made by third parties.
-IE is a technically unsatisfactory browser with poor innovation capabilities and that's not open to third-party patches in order to address its lacks. Hence duplication, although generally a bad solution, is needed there.

Easily if wrappers are built.
For example, using a GTK+ wrapper for QT4 so KDE4 applications look like native GTK+ apps in GNOME.

Yes, but can they solve ALL ergonomic inconsistencies ?

As an example, "save" dialogs are very different depending on if you use GTK or KDE/QT dialogs. I can make most GTK and QT widgets look the same thanks to some QTcurve blessing, but how do I get around that kind of problems, that depend on the way those widgets are put together ?

Granted building wrappers is easier said than done. But if developers can't agree on a single toolkit, then the toolkits should become inter-compatible so the underlying technologies become completely transparent to the user experience.

Fine, but how do you achieve that result without some common management on top ? The toolkit mess in linux went somewhat better (more efficient drag and drop, DBUS...) lately due to Freedesktop's standardization work, but technically, it means that devs from GTK+, QT, and desktop environments had to accept that some parts of their design must be made in a specific way for compatibility purposes.

If that part of the design is done in a proprietary way but with openness to third-party ideas, don't the benefits (ability to introduce global consistency in system APIs instead of introducing only consistency at a local scale) overcome the drawbacks (need to take some time to discuss with system manufacturers when they don't accept your changes right away, explain them your point and learn more about their) ?

Edited 2010-03-18 07:02 UTC

Reply Score: 1