On 2009-08-13, at 19:40, a b wrote:

> > For me, as a developer, it's not eye candy. I don't care much about
> > the "look" of the interface. What's important to me is consistent
> > shortcut, nice font antialiasing to read faster, drag&drop... It  
> makes
> > my work faster. There are "tons" of feature unique to MacOS, for
> > example, you have ANY document open (word, pages, pdf, ANYTHING),  
> you
> > can click the title bar to locate the document in the finder (file
> > browser). This is the kind of features I can't work without.
>
> What kind of software are you developing then?

Right now I work on iPhone apps and some embedded software for a  
medical device (ARM micro linux board) and on my multimedia library.

>
> I'm used to working in LOM (lights out environments), xterm and vi,
> and to me OS X just feels incredibly *clunky* to use. Looks real nice,
> but with all the shortcuts, and clicky-clicky in OS X, I'm just 10x  
> faster
> in xterm and vi.

I use vi too (actually vim) and the command line all the time, and to  
drive the OS, I use launch bar, which makes my use of the mouse very  
rare.

>
> Even browsing the web using Safari is painful, for example, for the  
> longest
> time, Safari didn't even have a "Print" icon, and no way to make one  
> appear
> either (I wasn't a fan of that symbol-P combo, either, because it's  
> a weird
> non-standard key).

Just use command instead of control and most shortcut become standard,  
but yea, I agree they could have used ctrl.


>
> The problem with GUIs is inherent to architectural cleanliness of  
> the design:
> separation of engine (the CLI workhorse program) and the GUI. That's  
> good,
> clean architecture. But it also means that a GUI always lag behind  
> the tool
> itself, and will never be as powerful as the underlying program  
> which it is
> attempting to drive.

I think this is the most interesting point of the discussion.

I've noticed I pass 90% of my time on the command line (or vim), the  
10% being web browsing (mostly documentation) and communication  
(email, chat...). For those last 10%, I've always found MacOS to be  
the best choice. But it's a matter of taste, and I think we should not  
argue about this, it's pointless, it's like picking a care. Let's  
focus on the car engine.

But what's interesting, is how guis drive the programs. I'm working on  
a multimedia library (you might see it like SDL+cairo+pango, but  
lighter with only the essential features (it's designed to help build  
full screen (or single window) games or programs). The core library  
itself is written in ANSI C for the "work", in some OS specific way  
for input (POSIX/Win32 for threads, events...) and OpenGL + OpenAl for  
the output. And I've been working (thinking) hard on how to provide  
API to the "user" to write a program. I've finally decided to use lua  
as a high level language with API entry points into my library and it  
works like a charm.

 From this experience (most current, but I've had other too), I came  
to the conclusion that the best programs should be composed of a  
"kernel" and a gui (if the latter is needed). This approach completely  
separates the two, and they can communicate by direct API, process  
forking, UNIX socket or even TCP socket (for the medical appliance I'm  
working on, I have a ruby on rails web application serving as a GUI  
for a C kernel which drives the medical device). And only the features  
that are vital to the user should be exposed.

Which means I totally agree with you.

I'm sorry if I don't make sense, but hey, it's 1 past midnight, my  
brain been sleeping for 3 hours now.



-- 
Nicolas Goy
Crazy Programmer and Optimization Bear

http://goyman.com
http://kuon.goyman.com


Reply via email to