Linked by David Adams on Fri 18th Jun 2010 19:17 UTC
Linux Linux Magazine has a profile of Daniel Fore and the Elementary project. Elementary is a Linux distro that's committed to a clean and simple user experience, but it's more than a distro - it's actually a multi-pronged effort to make improvements to the user experience for a whole ecosystem of components, including icons, a GTK theme, Midori improvements, Nautilus, and even Firefox. The work that elementary is doing isn't limited to their own distro, and some of their work is available in current, and perhaps future, Ubuntu releases. The results are really striking, and I think it's probably the handsomest Linux UI I've ever seen.
Thread beginning with comment 430758
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[4]: rip-off Mac OS X!
by cycoj on Sun 20th Jun 2010 02:30 UTC in reply to "RE[3]: rip-off Mac OS X!"
cycoj
Member since:
2007-11-04

"I think a better strategy for the Linux desktop would be to build around a cross development platform (Qt) to attract developers. People turn on a computer to use applications, not screw with the UI. Distros need to work to make life easier for cross-platform, proprietary developers. Stallman's plan of having the people's army code everything has been a failure.

I wouldn't go as far as saying that, since most of the software I use on a daily basis was coded by the people's army and works fairly well. I'd rather say that we don't need proprietary software for everything, but that we should not bar it access either.

Two tasks of a linux distro that are often ignored, in my opinion, is to reach API consistency (instead of GTK here, pulseaudio there, QT up above, and VDPAU somewhere in the wild) and to heavily documentate said API in an easily accessible way.

As an example, for scientific calculations, the combination of Python and some science-oriented APIs is astonishingly getting widespread, but most people still prefer Matlab over Python. (I chose Matlab because contrary to other scientific software like Mathematica and Maple, its syntax is in par with that of Python in terms of awfulness and being inadapted to the job in my opinion)
"

I don't quite understand that sentence, do you mean you use Matlab, because it is not quite as awful as
Maple and Mathematica and on par with Python?

I have to disagree, Matlab syntax is pretty awful compared to Python. I actually switched to Python because Matlab syntax was annoying the crap out of me. 90% of errors are find the missing dot. Also I guess you never had to write a GUI for your Matlab code. Python is so far ahead of Matlab in that respect (Matlab GUI code makes my eyes bleed).


What are the two top differences, before anything else ? Matlab has got a huge and helpful help system, and its various commands are tightly integrated with each other. To the contrary, with things like Numpy and Scipy, all you get is a bunch of HTML pages (which already feels clunky and unprofessional to start with),


Why are HTML pages unprofessional? That's what pretty much every software manufacturer uses for the help pages AFAIK. Also I actually never use the HTML pages or the Matlab help system. I just type "help command"
in the prompt (I do the same in Matlab whenever I have to use it). That said numpy/scipy still do need to work on their documentation (actually numpy made huge strides last year in their summer of documentation).

Another thing, if I compare the documentation of the Matlab language (not the commands) to the documentation of the Python language, the Python documentation is way better.



and the commands do not feel integrated with each other (as an example, when you want to introduce a formal parameter in python, you can't just use a variable without attributing a value to it, it will get you an "undefined symbol"-like error).

I don't quite get what you mean, something like
def fct(x, *args) ??



Today, on Linux, when Adobe wants to decode an H.264 stream using the hardware in Flash Player and ask the community which APIs are available, the answer is something like "xv, VA-API, VDPAU, (and some others)".
On OSX, the answer is like "Use api X in the latest safari or fallback to software rendering". Guess which platform gets the most polished release in the end...

In my opinion, by using a single coherent set of APIs and a good documentation that's fully available at a single place, the Linux world would ease the life of both proprietary software developers and amateurs. Better software availability would ensue.

Reply Parent Score: 2

RE[5]: rip-off Mac OS X!
by Neolander on Sun 20th Jun 2010 06:56 in reply to "RE[4]: rip-off Mac OS X!"
Neolander Member since:
2010-03-08

I don't quite understand that sentence, do you mean you use Matlab, because it is not quite as awful as
Maple and Mathematica and on par with Python?

No, I chose Matlab because its syntax is on par with Python in terms of awfulness in my opinion. Python is a good programming language for prototyping and low-performance software, and insane people can even use it for other use cases and get cursed by their users. Just like C#, ActionScript, and Java. But its syntax is just inadapted to scientific calculation. You can use it for that, but it is painful. Matlab has an incredibly crappy syntax which manages to be on par with that of Python in terms of inadaptation, even though it is theoretically suited for the job.

I have to disagree, Matlab syntax is pretty awful compared to Python. I actually switched to Python because Matlab syntax was annoying the crap out of me. 90% of errors are find the missing dot. Also I guess you never had to write a GUI for your Matlab code. Python is so far ahead of Matlab in that respect (Matlab GUI code makes my eyes bleed).

You're preaching a convinced people, though for me GUI programming and calculation should be left to separate languages. I HATE Matlab's syntax. Every time I have to use it, I try my best to remember the commands used to launch the GUI tools and never, ever, use its command line, except when being forced to do so.

Seriously, should any sane people have to use tf([1],[1,1]) or some other trick like s = tf([1, 0]) in order to input 1/(1+s) ? I don't care if transfer functions are treated separately by the software, for me it is just a rational function and should be treated as such.

Why are HTML pages unprofessional? That's what pretty much every software manufacturer uses for the help pages AFAIK.

No, they aren't that widespread, except maybe for the content. People often use Windows' CHM or some in-house solution, be it only for one good reason : searching. In a good help system like that of Maple, Mathematica, and Matlab, you search for keywords like "polynomial", "linear algebra" or "inequation plot", and you get all the related functions, sorted by relevance order if the guys took some time to polish it. In HTML help, you get a web browser, a tool made for something else which doesn't provide indexed search facilities, and you have to use full-text search in the index, which requires you to know the exact name of the command or the category it's put in, and parse through loads of irrelevant answers.

Also I actually never use the HTML pages or the Matlab help system. I just type "help command"
in the prompt (I do the same in Matlab whenever I have to use it).

1/Is python able to provide in such a case an extensive help page describing command use, options, and examples with results, with links to related topics, in a non-cluttered way like that of Mathematica and Maple ? (the "click-to-expand" way)
2/Again, this only fits one use case of the help system, namely checking syntax of an already known command. Command discovery is not poor with this help system.

Another thing, if I compare the documentation of the Matlab language (not the commands) to the documentation of the Python language, the Python documentation is way better.

I was talking about the help system shape and use cases, the contents are another thing ;) (And that Python's core syntax is better documented is logical, since it is that of a general-purpose programming language, more complex than a specialized one, and generally not teached in courses contrary to Matlab which is alas common).

I don't quite get what you mean, something like
def fct(x, *args) ??

Mathematica :
a = 3*x
Result : 3x. Plot(a, {x,0,4}) will work.
Python :
a = 3*x
Result : Undefined symbol "x". Plot will not work.
Things like that make a general-purpose language a pain to use for everything that's mathematics-related.

Edited 2010-06-20 07:13 UTC

Reply Parent Score: 2

RE[6]: rip-off Mac OS X!
by siride on Sun 20th Jun 2010 15:08 in reply to "RE[5]: rip-off Mac OS X!"
siride Member since:
2006-01-02

Just one thing. Whether or not existing HTML help systems do this, I want to say that there's no reason an HTML-based system can't have a kickass search feature, if it's running on a server somewhere. Actually, I think some systems will do it in JavaScript, so you don't need a server.

What I really take issue with is your statement that a web-browser is not meant to display documentation. That is bollocks. A web-browser is designed and has been from the beginning, to show interlinked content, mainly of a textual variety, in a formatted way. Displaying documentation pages is probably closest to the basic principles of HTML and the web than many other uses that web-browsers now serve.

Reply Parent Score: 2

RE[6]: rip-off Mac OS X!
by cycoj on Sun 20th Jun 2010 21:40 in reply to "RE[5]: rip-off Mac OS X!"
cycoj Member since:
2007-11-04

"I don't quite understand that sentence, do you mean you use Matlab, because it is not quite as awful as
Maple and Mathematica and on par with Python?

No, I chose Matlab because its syntax is on par with Python in terms of awfulness in my opinion. Python is a good programming language for prototyping and low-performance software, and insane people can even use it for other use cases and get cursed by their users. Just like C#, ActionScript, and Java. But its syntax is just inadapted to scientific calculation. You can use it for that, but it is painful. Matlab has an incredibly crappy syntax which manages to be on par with that of Python in terms of inadaptation, even though it is theoretically suited for the job.

I have to disagree, Matlab syntax is pretty awful compared to Python. I actually switched to Python because Matlab syntax was annoying the crap out of me. 90% of errors are find the missing dot. Also I guess you never had to write a GUI for your Matlab code. Python is so far ahead of Matlab in that respect (Matlab GUI code makes my eyes bleed).

You're preaching a convinced people, though for me GUI programming and calculation should be left to separate languages. I HATE Matlab's syntax. Every time I have to use it, I try my best to remember the commands used to launch the GUI tools and never, ever, use its command line, except when being forced to do so.
"
Why do you separate calculation and GUI? That sounds awfully complicated to me, suddenly you have to learn 2 languages + the glue between them.


Seriously, should any sane people have to use tf([1],[1,1]) or some other trick like s = tf([1, 0]) in order to input 1/(1+s) ? I don't care if transfer functions are treated separately by the software, for me it is just a rational function and should be treated as such.


It seems to me you want symbolic math manipulation not really scientific computing. So something like Mathematica or Sage on the Python side would be more suited to your needs.

"Why are HTML pages unprofessional? That's what pretty much every software manufacturer uses for the help pages AFAIK.

No, they aren't that widespread, except maybe for the content.
"
Actually, that was my point the content is very often HTML, they just write a specific help browser for the html pages

People often use Windows' CHM or some in-house solution, be it only for one good reason : searching. In a good help system like that of Maple, Mathematica, and Matlab, you search for keywords like "polynomial", "linear algebra" or "inequation plot", and you get all the related functions, sorted by relevance order if the guys took some time to polish it. In HTML help, you get a web browser, a tool made for something else which doesn't provide indexed search facilities, and you have to use full-text search in the index, which requires you to know the exact name of the command or the category it's put in, and parse through loads of irrelevant answers.

Agreed a specific documentation search at docs.scipy.org would be great. I disagree however that a webbrowser is the wrong tool, if the HTML pages are well structured and written a browser is just as good a specific help system.


"Also I actually never use the HTML pages or the Matlab help system. I just type "help command"
in the prompt (I do the same in Matlab whenever I have to use it).

1/Is python able to provide in such a case an extensive help page describing command use, options, and examples with results, with links to related topics, in a non-cluttered way like that of Mathematica and Maple ? (the "click-to-expand" way)
"
I can't comment on Mathematica and Maple, but they do provide a rather extensive help, which describes all options etc. There's also the short help which provides you with a short usage string if you use ipython ?<command>


2/Again, this only fits one use case of the help system, namely checking syntax of an already known command. Command discovery is not poor with this help system.

Agreed but in my experience that's not really that much better in matlabs system either, e.g. the last I recall was searching for writing to a text file in an arbitrary format. If I hadn't known fprintf from C I don't think I'd ever found out using the Matlab help system.


"Another thing, if I compare the documentation of the Matlab language (not the commands) to the documentation of the Python language, the Python documentation is way better.

I was talking about the help system shape and use cases, the contents are another thing ;) (And that Python's core syntax is better documented is logical, since it is that of a general-purpose programming language, more complex than a specialized one, and generally not teached in courses contrary to Matlab which is alas common).
"
Well especially if it is taught in courses I'd expect the syntax would be well documented.


"I don't quite get what you mean, something like
def fct(x, *args) ??

Mathematica :
a = 3*x
Result : 3x. Plot(a, {x,0,4}) will work.
Python :
a = 3*x
Result : Undefined symbol "x". Plot will not work.
Things like that make a general-purpose language a pain to use for everything that's mathematics-related.
"

Well I can only repeat what I've said above, you really want a symbolic math manipulation, that cannot be provided by a programming language like python and matlab alone. I'd argue that this is another use case entirely, and although there are some packages for python and I think matlab as well. They will never perform as well as a language specifically build for that purpose. However if you want to to numeric simulations (like I do), that often does not fit into systems like Mathematica and I find using a proper language like Python is a lot more comfortable for me than using matlab.

Reply Parent Score: 2