

From Win32 to Cocoa  - lyime
http://arstechnica.com/articles/culture/microsoft-learn-from-apple-II.ars

======
smhinsey
this is a little confusing to me, because i've been working with .net since it
came out and i always thought of it was an example of the type of good
products microsoft was capable of releasing if they tried. there are certainly
bad portions of the API, but i don't think it's nearly as bad as the author
makes it out to be. an obscure threading bug in windows forms is not really
that damning. assuming you couldn't find an equally stupid problem in swing
(if even java is good enough) it's not even a relevant issue if you're not
using winforms, and not everyone is.

------
jrnewton
Great definition of enterprise software:

 _With "enterprise" software, you can often get away with a clunky program,
because the people who are using it have all been trained on what to do. If
doing X makes the application crash, that's okay—they can just be taught not
to do X any more._

------
jksmith
These articles always end up discussing the UI api. After having been in the
shrinkwrapped industry since DOS, and thanks to MSFT using the UI as a cheap
gimmick to keep programmers hooked, I can tell you from experience that the
latest and greatest UI controls now yield diminishing returns that de-sparkle
in about two weeks of heavy use.

Apple is finally getting some market traction, but MSFT has already devalued
the UI angle badly enough that Apple can't be guaranteed that users will see
Cocoa as superior to whatever MSFT has already pissed on.

My takeaway from this experience is the following:

0) Computing is becoming a necessary part of modern daily life, which is a lot
more compressed than it was at the introduction of the pc. There's nothing
novel about having a computer sitting on your desk.

1) Single commercial vendor control of UI standards is bad.

2) Other metrics, such as reliability, user flow, convenience, and by ext good
use of user's time are of more enduring importance than cool looking UI
controls.

3) HTML w/js is increasingly good enough, until something else much better
grows out of that experience.

~~~
bdfh42
Good points, A great percentage of the development work I am doing only uses a
browser at the client end with all processing being managed at the server.
HTML (backed up by JavaSript/Ajax is becoming the business client end platform
of choice.

------
bdfh42
If I get the theme of this right -

Your only a proper developer if you are writing code for yourself - those
getting paid for it "suck".

.NET 2002 was aimed at programmers who suck and did not support the C++ "gods"
of programming who were well served by the Win32 API. Oh no - now Win32 and
Win64 are broken as well.

I rather gave up then on this "Oh I'm great post" at about that point. Surely,
our task is to write excellent software that will be used - we target the
platforms our customers have selected (good or bad) because that's where they
are. Professionals are entitled to be critical of specific (or even all)
platforms but critical or not we have to live in the real world.

Say what you like about Microsoft operating systems (all down hill since Win
2000 if you ask me but...) the guys at MS who build the programming tools and
Visual Studio are second to none.

------
tlrobinson
Nice overview of why Microsoft's development environments suck, but not a
whole lot about Apple and Cocoa. Maybe in part 3?

------
rantfoil
The last page regarding the jumbledness of UI I think is symptomatic of a) a
lack of a single strong design leader and b) too many fiefdoms all wanting to
be unique within Microsoft. Windows Media Player wants to be different -- but
there needs to be a design-oriented leader who says NO, you're sticking with
our Vista guidelines because we don't want to look like a slapdash collection
of malware.

