Only problem with that argument is that the Judge got it wrong. There ARE NO SECRET API's, get it?
The Windows API is more widely published than any other in the history of programming.
There are some UNSUPPORTED API's. Those that Microsoft reserves the right to change from version to version. These API's are unavailable to developers outside the OS division.
Judge Jackson didn't stay awake for the trial, he wasn't CAPABLE of making an informed decision, so he basically chose for the DOJ because they had more credible witnesses.
First of all DR-DOS was completely compatible with MS DOS. It was also a VAST improvenment over MS DOS 4.x. But was really no better than MS DOS 5 or 6. There were virtually no differences between them as far as consumers were concerned. DR-DOS needed to be MUCH better than MSDOS to win over an established product, they weren't, so they didn't.
Second of all. At the time, M$ was not a monopoly, and per-processor licenses were legal. The only became illegal AFTER M$ became a monopoly, and at that time M$ stopped allowing that as an option.
Also, M$ NEVER REQUIRED per-processor licenses of PC manufacturers, they merely gave a discount to those that choose that method. The discount is justifiable because the bookkeeping that M$ has to do to know what to charge is much simpler.
Per-processor licenses started after M$ discovered that IBM had under-reported and underpaid by SEVERAL MILLION DOLLARS for Licenses of MSDOS and Windows.
Finally, The incorrect error messages weren't on purpose. This is quite simply a lie. You belive it because you WANT to, not because there is any evidence to back it up.
My. arent WE superior? Let's just classify EVERYONE who writes code for ALL flavors of M$ OS's as ignorant savages.
After all, it's self evident that if you don't design single user apps for single user machines as if they were meant for multiple users on servers you MUST be a moron.
All I can say to that is: You flunked engineering economics, didn't you?
> Are you even remotely aware that Apple's upcoming OS is Unix-based?
Yep. But this is not the first time that Apple has promised a pre-emptive, multitasking OS. Remember Copeland? Rememember Pink? At one time Apple promised that OS 9 would be multitasking too. Same promise for 0S 8, Guess what....
OS X will be another disappointment. Don't hold your breath that it will ship this year or next.
Also only PARTS of quicktime are running on it now. The easy parts.
For a brief moment Apple opened up their architecture, but just TRY to buy a Mac from someone other than Apple today. At least M$ only has a monopoly on SOFTWARE. The Mac is 100% closed, hardware AND software. In the long run, that will kill Apple as a company.
You can ALREADY run Linix on a G4 Mac. The fact that Apple has has an OS based on MACH that runs on a G4 means absolutely nothing. That's the EASY part. Where they will fail is making a *nix clone run programs currently designed for earlier Mac OS's.
Call it bashing if you like. But I've been around for since the days of the LISA, I've seen them try and fail to make a modern OS for the last 10 years.
As for quicktime as a standard. I'll agree that quicktime is broadly supported on OS 9, WinX, etc. But I've looked at their their SDK for Windoze, and the code is crap. I havn't seen the *nix SDK, but I'll be willing to bet that it's even worse. If they were going to do a good job on any non-Mac OS, they would have spent their time on 90% of the market.
My point is that ALL modern OS's have things like protected memory, threads. These features are essential to writing good applications. (Read up on BeOS, they have a LOT of good info on why this is true). Apple's quicktime libraries aren't multithreaded. And they can't be fixed without an almost total re-write.
Quicktime, as popular is it may be today. Is a dead end architecturally (sp?). The design is just too old and full of bad assumptions to carry forward.
Within 2 years, Linix will have more market share on the desktop than Apple does. At that point, do you really want to be still carrying Apple's baggage around?
> It's not a native solution, and I doubt it > would do anyone any good to use something > inferior...from MicroSoft, no less.
Don't kid yourself. Not everything that M$ does is inferior. If they were TRUELY as incomptent as the/. crowd would like to believe then they would be no threat.
M$'s multimedia architecture is NOT the best possible one (BeOS is better), but it is head and shoulders above quicktime.
Getting Windows Media player running on WINE, gives you breathing space to develope a NATIVE solution.
Ultimately, you want to be able to play.qt files, but you do NOT want to use Apple's SDK.
Be aware that the quicktime libraries supplied by Apple for Windoze are crap. If you are writing your own to the standard, then this is not a issue.
But on platforms that have threads, the quicktime folks lame out and put their API inside a big critical section.
In other words, if you attempt to use their libraries in a multi-threaded application. You will almost certainly end up in a deadlock.
A little email to the Apple support people got a response. They feel that multi-threaded applications provide no benetfits to multimedia applications. AND they lectured us on some rules of thumb for creating multi-threaded applications. I almost tossed my cookies from laughing (and crying) too much.
Apple was an innovative company once, but they are WAY out of their league in todays environment.
The fact that they are moving BACK into a mode of being super-proprietary about their machines tells me that it's a mistake to expect ANY thing they do to end up as a standard.
And if the Linix community is going to DEFINE the streaming standard, they can do a LOT better than quicktime.
In the long run, it will be less work AND give better results to host the M$ streaming libraries on Linix via WINE, etc. Windoze at least has the byte ordering right.
Remember, Embrace and extend can work for us just as well as it work for M$.
Agreed. Java isn't meant for DAW or Video editing. But my thesis is bigger than that. After all, even assuming that Java speeds development. (I doubt that it does on larger projects). The whole notion that you are going to be able to IGNORE the platform that you are working on assumes that you will never want to take advantage of any of the features OR CONVENTIONS of a platform.
For instance, a well designed MAC application, looks and feels very different from a well designed Windows app. Even when they are solving the same problem, they still have to follow different conventions. Where and how to get help, for instance.
Something as simple as whether or not you put buttons on the left side of a dialog or along the bottom will play havoc with writing a GOOD application, that is also portable.
Even ignoring the speed issue. Portable applications end up being either trivial, or a bad fit for one or more of the plaforms they are supposedly designed for.
A classic example of this is the trend to use a web browser as the interface for some database or other.
Regardless of the skill of the web page designer, All of these applets are awful UI when compared to an even marginally well done Windows or MAC application that talks to the same database.
The problem is that you just have to give up too much usability to get portability.
That tradeoff works when you have a small number of clients for a given application. Then developer time is the key limiting factor, and so you trade off wasting the users time and getting good use for the developers time.
But for any application that is going to have a significant number of users, in the long run, the sum cost of wasting the users time so you can save developer time is a bad trade off.
This is the difference between being an amateur and a pro. The amateur is happy to spend a little time and make an app that a few dozen people will be happy with.
The pro will spend a lot MORE time, but make an application that is SO much better that he can grab a big part of the market for whatever it is you are doing.
This is why there are NO large commercial applications writen in Java, and there probably never will be.
> if this is true, sun acted poorly during the contract negotiations
Yep. Sun put their foot in it big time. This is why they sued M$ for COPYRIGHT violations rather than breach of contract. Because the contract gives them no leverage.
If I can always get 2x performance out of a given machine than you can, that's a competetive advantage that I'd be stupid not to exploit.
The 'buy a faster machine' argument is basically meaningless unless you can get a machine that is 'fast enough' for further improvements in speed to not be of value.
In the world I live in, I can ALWAYS use the extra CPU cycles to do additional work. No machine is EVER fast enough for the problems I'm trying to solve in my code.
-------------------------------------------------- micros~1 had no right to alter an industry standard. if they want to play in their own sandbox, great - more power to them. if they want to have win(n+1) speak to other boxes of same geneology in ultra-proprietary ways - fine. ------------------------------------------------ -
I agree with your point about standards needing to be standard. But if you read the contract that M$ had with Sun, it EXPLICITLY gives them the right to add extensions to the language. So your statement above is simply not true.
Also, extending Java is not quite the same as being incompatible. It is quite possible to write pure java apps using M$ tools. You just have to avoid using the extensions.
The rest of your argument falls apart for this reason. It is possible (even easy) to write pure Java using M$ tools, so the fact that the extensions EXIST is only a threat to Sun if the Java developers USE them. I.E. they have to find them MORE useful than they find the benefit of running anywhere.
About Java's promise of interoperability, It was never more than a promise; And an empty one at that.
We will never have a write-once-run-anywhere (WORA) as long as we have a competitive processor/OS market. The reason is pretty obvious if you think about it.
The easiest and most reliable way to get top performance out of a given piece of code is to tune the code to the target machine. Thus there will ALWAYS be a market for machine specific implementations of various tools until the processors get so fast that you can never find an application that doesn't take too long to run.
Given than NP Complete problems exist, that means NEVER.
Netscape was outmanuevered on a legal issue -- one can not modify the platform without permission.
--------------------------------------------
This is such bullshit. There are NO rules or laws that prohibit Netscape from modifying windows. In fact Adobe does exactly that when they install ATM on a Windows platform.
The only restriction is one between M$ and OEM's like Compaq. Compaq is not allowed to ship a PC from with IE has been REMOVED.
The ARE allowed to ship Netscape also, and Netscape IS allowed to be installed as the default browser.
Check your facts. This information IS in the trial transcripts of you care to do your homework.
-------------------------------------------------- The only reason that it doesn't work as well with 3rd-party browsers is that MS chose to implement something which only works with their product. Did it make good business sense? Certainly. But that does not make it ethically right. ------------------------------------------------- This is simply not true. I work for a small software company (NOT Microsoft) and I know for a FACT that the hooks are available to allow Netscape or other browsers to hook tie into Windows the same way the IE does. I know this because WE'VE DONE IT. IMHO Netscapes death was their own fault. After 3.0 they started shipping crap.
--------------------------------------------- If you dig a centimeter deeper, you'll find that (in my opinion) Microsoft did what it did not for customer benefit as they always say, but as a weapon to destroy netscape with. -------------------------------------------
I find it interesting that so many at/. claim to know what Microsoft's motivation is.
How do you manage that? Are you an employee? Or do you just have godlike powers?
There IS clear benefit to 3rd party programmers (like myself) in having IE integrated. That alone is enough to justify the work, so why assume malicious intent?
Um. I think this is rather obvious. IE for platforms OTHER than Windows is a completely different implementation that just happens to have the same general functionality.
I say general because IE for windows is actually far more capable than IE for other platforms. Presumably because of the tight integration.
Q: So to eject a floppy, you reboot your machine?
Surely there is an easier way?
A: yes In fact, there is. You drop it on the trashcan.
Q: But, um. wouldn't that DELETE ALL OF THE FILES?
A: No.
Q: Why not?
A: Because it doesn't.
Only problem with that argument is that the Judge got it wrong. There ARE NO SECRET API's, get it?
The Windows API is more widely published than any other in the history of programming.
There are some UNSUPPORTED API's. Those that Microsoft reserves the right to change from
version to version. These API's are unavailable to developers outside the OS division.
Judge Jackson didn't stay awake for the trial, he wasn't CAPABLE of making an informed decision, so he basically chose for the DOJ because they had more credible witnesses.
First of all DR-DOS was completely compatible with MS DOS. It was also a VAST improvenment over MS DOS 4.x. But was really no better than MS DOS 5 or 6. There were virtually no differences between them as far as consumers were concerned. DR-DOS needed to be MUCH better than MSDOS to win over an established product, they weren't, so they didn't.
Second of all. At the time, M$ was not a monopoly, and per-processor licenses were legal. The only became illegal AFTER M$ became a monopoly, and at that time M$ stopped allowing that as an option.
Also, M$ NEVER REQUIRED per-processor licenses of PC manufacturers, they merely gave a discount to those that choose that method. The discount is justifiable because the bookkeeping that M$ has to do to know what to charge is much simpler.
Per-processor licenses started after M$ discovered that IBM had under-reported and underpaid by SEVERAL MILLION DOLLARS for Licenses of MSDOS and Windows.
Finally, The incorrect error messages weren't on purpose. This is quite simply a lie. You belive it because you WANT to, not because there is any evidence to back it up.
tj
My. arent WE superior? Let's just classify
EVERYONE who writes code for ALL flavors of M$ OS's as ignorant savages.
After all, it's self evident that if you don't design single user apps for single user machines
as if they were meant for multiple users on servers you MUST be a moron.
All I can say to that is: You flunked engineering economics, didn't you?
tj
Actually, Amazon DID sue Barnes and Nobles over
the 1 click patent.
So you can have you $.02 back. Thank you for playing.
Ctrl+P or Alt f p
Alt+F4 or Alt f x
Ctrl+S or Alt f s
90% of games that I've seen ASK where to install themselves and default to Company Name\Game Name.
Do a random survey of 100 Window's apps and you will find 95% follow these rules.
Restrict yourself to applications written by MS or Lotus or Corel or other top developers of Windows app, and it will be more like 99% if not 100%.
In other words, you don't know what the fork you are talking about.
> Are you even remotely aware that Apple's upcoming OS is Unix-based?
/. crowd would like to believe then they would be no threat.
.qt files, but you do NOT want to use Apple's SDK.
Yep. But this is not the first time that Apple has promised a pre-emptive, multitasking OS. Remember Copeland? Rememember Pink? At one time Apple promised that OS 9 would be multitasking too. Same promise for 0S 8, Guess what....
OS X will be another disappointment. Don't hold your breath that it will ship this year or next.
Also only PARTS of quicktime are running on it now. The easy parts.
For a brief moment Apple opened up their architecture, but just TRY to buy a Mac from someone other than Apple today. At least M$ only has a monopoly on SOFTWARE. The Mac is 100% closed, hardware AND software. In the long run, that will kill Apple as a company.
You can ALREADY run Linix on a G4 Mac. The fact that Apple has has an OS based on MACH that runs on a G4 means absolutely nothing. That's the EASY part. Where they will fail is making a *nix clone run programs currently designed for earlier Mac OS's.
Call it bashing if you like. But I've been around for since the days of the LISA, I've seen them try and fail to make a modern OS for the last 10 years.
As for quicktime as a standard. I'll agree that quicktime is broadly supported on OS 9, WinX, etc. But I've looked at their their SDK for Windoze, and the code is crap. I havn't seen the *nix SDK, but I'll be willing to bet that it's even worse. If they were going to do a good job on any non-Mac OS, they would have spent their time on 90% of the market.
My point is that ALL modern OS's have things like protected memory, threads. These features are essential to writing good applications. (Read up on BeOS, they have a LOT of good info on why this is true). Apple's quicktime libraries aren't multithreaded. And they can't be fixed without an almost total re-write.
Quicktime, as popular is it may be today. Is a dead end architecturally (sp?). The design is just too old and full of bad assumptions to carry forward.
Within 2 years, Linix will have more market share on the desktop than Apple does. At that point, do you really want to be still carrying Apple's baggage around?
> It's not a native solution, and I doubt it
> would do anyone any good to use something
> inferior...from MicroSoft, no less.
Don't kid yourself. Not everything that M$ does is inferior. If they were TRUELY as incomptent as the
M$'s multimedia architecture is NOT the best possible one (BeOS is better), but it is head and shoulders above quicktime.
Getting Windows Media player running on WINE, gives you breathing space to develope a NATIVE
solution.
Ultimately, you want to be able to play
Be aware that the quicktime libraries supplied by Apple for Windoze are crap. If you are writing your own to the standard, then this is not a issue.
But on platforms that have threads, the quicktime folks lame out and put their API inside a big critical section.
In other words, if you attempt to use their libraries in a multi-threaded application. You will almost certainly end up in a deadlock.
A little email to the Apple support people got a response. They feel that multi-threaded applications provide no benetfits to multimedia applications. AND they lectured us on some rules of thumb for creating multi-threaded applications.
I almost tossed my cookies from laughing (and crying) too much.
Apple was an innovative company once, but they are WAY out of their league in todays environment.
The fact that they are moving BACK into a mode of being super-proprietary about their machines tells me that it's a mistake to expect ANY thing they do to end up as a standard.
And if the Linix community is going to DEFINE the streaming standard, they can do a LOT better than quicktime.
In the long run, it will be less work AND give better results to host the M$ streaming libraries
on Linix via WINE, etc. Windoze at least has the byte ordering right.
Remember, Embrace and extend can work for us just as well as it work for M$.
Agreed. Java isn't meant for DAW or Video editing. But my thesis is bigger than that. After all, even assuming that Java speeds development. (I doubt that it does on larger projects). The whole notion that you are going to be able to IGNORE the platform that you are working on assumes that you will never want to take advantage of any of the features OR CONVENTIONS of a platform.
For instance, a well designed MAC application, looks and feels very different from a well designed Windows app. Even when they are solving the same problem, they still have to follow different conventions. Where and how to get help, for instance.
Something as simple as whether or not you put buttons on the left side of a dialog or along the bottom will play havoc with writing a GOOD application, that is also portable.
Even ignoring the speed issue. Portable applications end up being either trivial, or a bad fit for one or more of the plaforms they are supposedly designed for.
A classic example of this is the trend to use a web browser as the interface for some database or other.
Regardless of the skill of the web page designer, All of these applets are awful UI when compared to an even marginally well done Windows or MAC application that talks to the same database.
The problem is that you just have to give up too much usability to get portability.
That tradeoff works when you have a small number of clients for a given application. Then developer time is the key limiting factor, and so you trade off wasting the users time and getting good use for the developers time.
But for any application that is going to have a significant number of users, in the long run, the sum cost of wasting the users time so you can save developer time is a bad trade off.
This is the difference between being an amateur and a pro. The amateur is happy to spend a little time and make an app that a few dozen people will be happy with.
The pro will spend a lot MORE time, but make an application that is SO much better that he can grab a big part of the market for whatever it is you are doing.
This is why there are NO large commercial applications writen in Java, and there probably never will be.
> if this is true, sun acted poorly during the contract negotiations
Yep. Sun put their foot in it big time. This is why they sued M$ for COPYRIGHT violations rather than breach of contract. Because the contract gives them no leverage.
News to you perhaps. But quite true. They patch GDI entry points to do some of their font rendering in their ATM (Adobe Type Manager) product.
> or, have enough power on the [host_cpu+JVM].
If I can always get 2x performance out of a given machine than you can, that's a competetive advantage that I'd be stupid not to exploit.
The 'buy a faster machine' argument is basically meaningless unless you can get a machine that is
'fast enough' for further improvements in speed to not be of value.
In the world I live in, I can ALWAYS use the extra CPU cycles to do additional work. No machine is EVER fast enough for the problems I'm trying to solve in my code.
(I do digitial audio and video editing software).
-------------------------------------------------- - -
micros~1 had no right to alter an industry standard. if they want to play in their own sandbox, great - more power to them. if they want to have win(n+1) speak to other boxes of same geneology in ultra-proprietary ways - fine.
-----------------------------------------------
I agree with your point about standards needing to be standard. But if you read the contract that M$ had with Sun, it EXPLICITLY gives them the right to add extensions to the language. So your statement above is simply not true.
Also, extending Java is not quite the same as being incompatible. It is quite possible to write pure java apps using M$ tools. You just have to avoid using the extensions.
The rest of your argument falls apart for this reason. It is possible (even easy) to write pure Java using M$ tools, so the fact that the extensions EXIST is only a threat to Sun if the Java developers USE them. I.E. they have to find them MORE useful than they find the benefit of running anywhere.
About Java's promise of interoperability, It was never more than a promise; And an empty one at that.
We will never have a write-once-run-anywhere (WORA) as long as we have a competitive processor/OS market. The reason is pretty obvious if you think about it.
The easiest and most reliable way to get top performance out of a given piece of code is to tune the code to the target machine. Thus there will ALWAYS be a market for machine specific implementations of various tools until the processors get so fast that you can never find an application that doesn't take too long to run.
Given than NP Complete problems exist, that means NEVER.
-------------------------------------------
Netscape was outmanuevered on a legal issue -- one can not modify the platform without permission.
--------------------------------------------
This is such bullshit. There are NO rules or laws that prohibit Netscape from modifying windows. In fact Adobe does exactly that when they install ATM on a Windows platform.
The only restriction is one between M$ and OEM's like Compaq. Compaq is not allowed to ship a PC from with IE has been REMOVED.
The ARE allowed to ship Netscape also, and Netscape IS allowed to be installed as the default browser.
Check your facts. This information IS in the trial transcripts of you care to do your homework.
-------------------------------------------------- The only reason that it doesn't work as well with 3rd-party browsers is that MS chose to implement something which only works with their product. Did it make good business sense? Certainly. But that does not make it ethically right. ------------------------------------------------- This is simply not true. I work for a small software company (NOT Microsoft) and I know for a FACT that the hooks are available to allow Netscape or other browsers to hook tie into Windows the same way the IE does. I know this because WE'VE DONE IT. IMHO Netscapes death was their own fault. After 3.0 they started shipping crap.
---------------------------------------------
/. claim to know what Microsoft's motivation is.
If you dig a centimeter deeper, you'll find
that (in my opinion) Microsoft did what it did
not for customer benefit as they always say,
but as a weapon to destroy netscape with.
-------------------------------------------
I find it interesting that so many at
How do you manage that? Are you an employee? Or do you just have godlike powers?
There IS clear benefit to 3rd party programmers (like myself) in having IE integrated. That alone is enough to justify the work, so why assume malicious intent?
Um. I think this is rather obvious. IE for platforms OTHER than Windows is a completely different implementation that just happens to have the same general functionality.
I say general because IE for windows is actually far more capable than IE for other platforms. Presumably because of the tight integration.