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
