On 15 Dec 2003 at 6:14, Philip Aker wrote:

> On Sunday, December 14, 2003, at 12:07 PM, David W. Fenton wrote:
> 
> > The one thing about OS X that I don't really understand is why a .x
> > upgrade would break programs that ran well on the previous release.
> > What's that about?
> 
> I'd have to have a specific example to comment.

Well, the question was over testing by Coda of a new version. If it 
ran without a hitch on Jaguar why wouldn't it also run without a 
hitch on Panther?

> > Is Apple removing functionality that existed in the previous
> > release? Surely they are not adjusting the base APIs with every
> > release? Or, if they are, they're doing it in a way that wouldn't
> > break applications written to the earlier API? Obviously, that can't
> > be it -- would it be the window manager that is causing the problem
> > (Aqua/Quartz)? Or? I simply don't know enough about it to understand
> > what level is causing existing software to fail in the new releases.
> 
> Perhaps we're encountering the same kind of issue you mentioned 
> previously: "The smart ones programmed for the Win32 API". Generally,
> if programmers follow the recommended migration path, there aren't any
> problems. Stands to reason this is true for any platform. In the case
> of Carbon, this is very clear. In the case of Objective-C (i.e.
> Cocoa), similar things can be very tricky. I don't know if I can
> explain them that well but: In Obj-C it's possible to do some things
> unheard of in the C/C++/Pascal worlds. Like to tell an object to
> perform some method not known at compile time with some parameter(s)
> not known at compile time. This would be a call something like:
> 
>  objc_msgSend( theButton, @selector( setHidden: ), NO );

Late binding (i.e., runtime), we call it in VB.

> Here 'theButton' is a real and known object type, but the selector and
> it's accompanying data value are only determined during runtime and
> won't actually error until theButton receives the message. A
> programmer could write anything there:
> 
>  objc_msgSend( theButton, @selector( steakAndLobster: ), salad:YES,
> dressing:@"1000 Islands", potato:@"baked" ).
> 
> Now, because the existence of 'steakAndLobster' doesn't error at
> compile time you can probably see that unless the developer keeps
> abreast of OS changes diligently, things will slip through.
> Technically, it's not an OS error, it's a developer error.

Er, wouldn't you have appropriate error handlers that would catch it 
so that it wouldn't be a fatal error?

And exactly how would the API being written to be changed in a way 
that would break code that works in .1 and then breaks in .2 of that 
API? Is Apple still tweaking API functionality so extensively that 
the APIs don't work the same?

If so, that's a pretty big indictment of Apple at this late date.

Of course, there's an API and then there's an API. Microsoft's 
"official" APIs are only a small part of what real application 
programmers depend on to build applications. Most people use shared 
components provided by MS development tools, and when different 
applications try to install different versions, it causes problems. 
Win2K added "file protection," that attempts to prevent this kind of 
thing, but what it means is that files which are not really a part of 
Windows, but libraries provided with MS development tools, end up as 
de facto parts of the OS. And if MS decides to change them, it can 
potentially break other people's apps (this is what happened with 
MS's comctl32.dll in c. 1996-98 -- MS started releasing apps built 
with a version of this library from their development tools that was 
somewhat incompatible with the earlier versions, but was not yet 
shipping it with their development tools and prohibited other 
developers from using it).

If that's the case, then Apple is using practices that will cost its 
development community lots of money and trust.

> >> I think the fairer assessment of MS vs Apple's backward
> >> compatibility handling will come about whenever MS can get the
> >> Longhorn edition out the door. Let's see how F2K2/F2K3 does on that
> >> system because it's supposed to be Gate's rip-off of MacOS X
> >> features.
> 
> > Oh? Exactly how is the new file system (which is really what
> > Longhorn is about) a ripoff of of OS X? It's a lot more than
> > journalling (and journalling file systems are not new on UNIXesn, in
> > any case, just something that OS X recently got).
> 
> I didn't mention file systems specifically, but it's been possible to
> turn on journalling in OS X for quite some time. In fact, interpreting
> "file system" as the only significant thing in Longhorn might belittle
> it. . . .

It would? The whole OS, from top to bottom, is being re-architected 
around the idea of a database-type file system.

> But I guess that's why one can feel sorry for Microsoft users. I
> mean it seems you're relegated to talking about nuts and bolts like
> file systems whereas with Macintosh, the emphasis is abstracted
> several levels up and in the area of facilities for creative
> expression.

Changing to a file system that is stored in a database (it's going to 
be SQL Server, so far as I understand it) really is a change that 
trickles up to every level of the OS, for it provides functionality 
of a type that a non-database file system can simply not provide as 
efficiently.

> ###
> 
> A casual google for "Longhorn features" shows me the M$ equivalent of
> desktop presentation stuff that is already done in Panther. OS X
> features which will surely be more advanced by the time Longhorn makes
> it out of the starting gate.

And these are UI features and don't really mean much, though many of 
them may very well be enabled by the change in file system.

> From: <http://www.technewsworld.com/perl/story/32027.html>
> 
> > The Longhorn spec, which will be fluid until the product is released
> > to manufacturing, is covered in detail in other articles. But, in
> > general, the operating system will have a user interface not unlike
> > Apple OS X...

UI is not everything. 

In any event, at this stage in the development process, Microsoft 
*never* commits to final UI design. 

In any event, that article doesn't go into any detail of what is 
meant by "not unlike OS X" (which is not the same as "like OS X," of 
course), but seems to imply that it has something to do with 
graphics. Ooh, ah, Windows will have a Quartz knock-off, so we, too, 
can see massive performance degradation just so that we can have user-
unfriendly transparent dialogs. I can't wait!

An article that actually examines Longhorn in detail can be found 
here:

  http://www.pcmag.com/article2/0,4149,1356731,00.asp

The overview of that article lists these things as differences in 
Longhorn:

1. a list of the-same-but-better items (security, communications, 
collaboration, stability, UI, etc.)

2. .NET in the OS (not an add-on), and managed code (which is more 
secure and more portable), and all the "benefits" that brings.

3. Next-Generation Secure Computing Base, which is described as 
"splitting the OS in half," with one hardware layer and one software 
layer. Of course, this is just marketing, as this has been the 
architecture of Windows since the release of the first version of 
Windows NT, back in 1991 or so. Later in the article I find that this 
is a renamed version of Palladium, which was just Passport on 
steroids, and really has little to do with "splitting the OS in 
half," after all.

4. WinFS (built on Yukon, the upcoming release of SQL Server), the 
new file system.

I don't see anything here that is even vaguely copied from OS X.

The second page of the article briefly describes the Aero shell, 
which sounds like a cheap knock-off of Aqua, perhaps a little better 
copy than the Luna interface of WinXP (which is only very 
superficially copied from Aqua). Transparency and 3D effects are what 
are described as the new "innovations" in Aero. To which I say Who 
cares? This isn't something that is significant -- it's only 
appearance. Now, if MS implemented a true analog to the Finder, 
*that* would be significant. I'm sure MS will also implement a copy 
of Exposé, since it's such a good idea (and it's a pretty simple 
thing to do, as WinXP already has quick user switching, just not with 
the impressive and intuitive animation).

It looks like there will be OS-level support of wide displays 
(something that already exists in the Windows world). Perhaps Apple 
was first to offer wide displays, but it's not clear that this is 
copying from Apple so much as it is supporting hardware vendors that 
copied from Apple.

Then there's talk of "task-based UI" design, which gives me the 
willies. I hate wizard-based UIs, as they almost always restrict your 
flexibilityto get the job done. What would be nice is if MS would 
allow an "expert mode" of operation that would skip the wizards by 
default. In Win2K and WinXP, for example, security and user 
management requires extra clicks because you can't really do the job 
until you've clicked from the default dialog to the Advanced dialog. 
If MS would allow me to set a flag that says "always go direct to the 
Advanced dialogs), I'd be happy. As it is, I just have to do extra 
work to get there. 

The examples described in the article sound more like another case of 
Microsoft putting application functionality in the OS (their example 
is photo editing), which is just part of MS's longterm monopoly 
strategy, of course.

MS is also apparently going to try to breathe new life into the 
completely un-needed Active Desktop that was so breathlessly 
introduced in Win98 and then promptly ignored by everyone because it 
provided no useful functionality, but simply sapped performance 
(everyone who knows anything turns it off on first boot). MS has 
continued to slip it into various components in ways that provide no 
real functionality yet tend to eat up screen real estate (like the 
middle pane in Windows Explorer, which displays the details of what 
you have selected in the right pane, and is completely useless when 
you've got nothing selected there; and doesn't do anything but take 
up space in some circumstances).

The rest of it looks like expanded hardware and technology support, 
which is just part of creating an updated OS, not something you copy.

There's more on the NGSCB (Palladium redux), with a chart that 
basically shows that it's a trust-based system. I hardly see how this 
truly improves security, as it just moves the problem into a 
different space (how do you know to authorize the OS to trust an app 
or process?). The one difference is that there is a hardware 
component of the whole thing, so that it will be built into the CPU. 
This is, of course, how the DMCA will be enforced, as the OS won't 
allow you to break the rules set by the content owners.

This is probably a bigger change in architecture than the Yukon-based 
file system, now that I think about it. And it's much more worrisome 
to me (not that I had any plans to use Longhorn, in any event).

But, of course, the new file system is designed to allow you to 
navigate non-hierarchically, and that would be a major UI switch:

  http://www.pcmag.com/article2/0,4149,1357941,00.asp

I've been saying for years and years that Windows needed a modern 
file system, one that worked at least as well as the Mac's file 
system (since abandoned in OS X). My one disappointment in what this 
article says is that there's no clear indication that Longhorn's new 
file system will get away from the limitation of name-based file 
association. That is, it's just bloody stupid to determine which app 
to load data into based on the name of the data file. Given MS's wild-
eyed emphasis on XML everywhere, it would seem to me doubly stupid to 
maintain that one-file-extension-to-one-application connection, as an 
XML file is the ideal multi-use data storage format, one that is 
perfect for loading into different applications for different uses.

Other than superficial UI appearance and Quartz copying, I see 
nothing at all that is copied from OS X.

Do you?

> ###
> 
> One item which more than illustrates how behind-the-times Microsoft is
> in software concepts is the touted 'msh' -- which claims it can script
> objects: <http://www.zefhemel.com/299.php>.
>
> Pshaw! Guffaw!
> 
> Macintosh has had object oriented scripting since 1987 
> (HyperTalk->AppleScript). . . .

Er, the Windows knockoff of AppleScript functionality was the Windows 
Scripting Host, implemented in Windows98, and installed by default 
with IE5, and part of WinME, Win2K and WinXP.

Unfortunately, MS implemented it in an insecure fashion, so it is 
basically totally useless. It was the WSH that allowed the ILOVEYOU 
vbScript trojan to propagate.

> . . . As of OS X, we also have built-in support
> for tclsh, python, ruby, java, tcsh, bash, zsh, and sh, and 100s of
> traditional unix tools. All of these are accessible from AppleScript.
> You can pipe from shell calls to AppleScript. Furthermore, 10.2.3 and
> up supports scripting UI objects.

That's a wonderful benefit that OS X users get as a result of being 
built on top of a UNIX kernel.

But I'd hardly say that is something copied from OS X, so much as it 
is copied from UNIXen in general.

But, on the actual point, Windows has been deficient in GUI 
scripting. But Windows users don't seem to have missed this 
deficiency.

And, of course, the MSH really isn't about GUI scripting so much as 
it is trying to port to the command prompt a powerful model of 
functionality found in UNIXen. DOS has always provided a teeny-tiny 
bit of that functionality. 

Until OS X, the Mac didn't provide any commandline interface at all. 
Did Apple copy Windows by providing it in OS X? Of course not!

And the existing of the MSH beta (it is only a beta -- it won't 
necessarily end up in the shipping product) is not by any stretch of 
the imagination evidence of copying from OS X. It *is* evidence of 
copying from UNIXen, though, of which OS X is one variety.

> ###
> 
> Backwards compatible?
> 
> From: <http://news.com.com/2009-1016_3-5103226.html>
> 
> > The next operating system, code-named Longhorn, promises... But
> > those features come at a price: Most can be used only through client
> > software that's designed specifically for the new system.

I can't speak about backward compatibility in an OS that is not going 
to be released until 2005 or 2006. Indeed, there were prerelease 
rumors that WinXP would not run any DOS programs, but that turned out 
to be demonstrably untrue -- WinXP runs even ancient DOS programs 
extremely well.

The biggest obstacle to backward compatibility would be, of course, 
the new security model. But that shouldn't be any big deal to run the 
non-trusted apps in a sandbox that allows them to work but prevents 
them from doing anything dangerous (insofar as preventing that would 
still allow them to work).

But let's see the shipping version before we judge it poor in 
backwards compatibility.

In any event, I think users are happy to sacrifice backward 
compatibility for really enhanced functionality. Mac users managed it 
with the switch from the original Motorola chip to PowerPC, and it 
didn't seem like such a terrible hardship. Of course, during the 
transition period, everybody provided dual binaries. But eventually 
that stopped, right?

Some people are not happy with Apple's decision to no longer ship 
hardware that boots OS 9. I don't see any analogous behavior by 
Microsoft at any point.

Microsoft *has* been good with backwards compatibility.

That doesn't mean they will continue to be, but I can't see any way 
that they could ever sacrifice their vast user community by forcing 
them to purchase all-new software in order to run their new version 
of Windows.

But I could be wrong.

As to any copying from OS X in Longhorn, I see no evidence of 
anything but very superficial copying. In terms of UI design and 
underlying OS structure, there is very little in common, except what 
is going to be in common between any two modern OS's.

-- 
David W. Fenton                        http://www.bway.net/~dfenton
David Fenton Associates                http://www.bway.net/~dfassoc


_______________________________________________
Finale mailing list
[EMAIL PROTECTED]
http://lists.shsu.edu/mailman/listinfo/finale

Reply via email to