....Give away development tools, Wait until it is a eb de-facto standard..... Flash works, Flash movies work, Flash is ubiquitous, Linux/OSX support it, Everybody knows it. So why do we need anything else?
Apart from the obvious point that competition is good, Flash is yet another lock-in that is waiting to happen. From the Flash Specification: "This license does not permit the usage of the specification to create software which supports SWF file playback."
Why would you want to protect a format/specification, if not for a lock-in? Even MS-Word formats are becoming more open.
Everything you said is more applicable to Adobe than to Microsoft. Microsoft is in no position to shove SilverLight down unsuspecting throats. They don't have the trust, the respect or the distribution of Flash to be able to do that.
More important than the source code is an Open Format, which IMO is a key advantage over Flex/Flash. Silverlight's Markup Language, XAML is pure XML and easier to decode. Flash is a proprietary, binary format and the Specification forbids you from building an alternative player.
The Flex Plan 1. Open Source Flex, and Flash Runtime 2. Drive a strong adoption wave, since its "Open Source" 3. Alternate Tools spring up, Flash becomes the "*.doc" of RIA 4. Flash format remains proprietary, all RIA belongs to Adobe 5. Profit!
I can't imagine any other reason why anyone would want to open source the tools, while protecting the format.
Anyway competition is good, and might actually result in Adobe opening the Flash Specification.
It has been a while since I've heard anything about the Itanic. About a year back, Microsoft, Intel and HP had been talking about serious long term plans for the high-end Itanium, while AMD64 will be mostly among the mid-range offerings.
But looking at the way the Core architecture processors are scaling (in number of cores), where does that leave the Itanium? If the future is n^x core processors and parallelism, the Itanium is really dead.
Still if it worked it would be very interesting for the wine project.
And totally illegal as well. All Microsoft EULAs for their free stuff (or stuff which is not sold, like DirectX) forbid installation on non-Windows platforms. I don't see how this is different from pirating Windows in the first place.
Here it is, from the EULA for DirectX: NOTE: IF YOU DO NOT HAVE A VALIDLY LICENSED COPY OF ANY VERSION OR EDITION OF MICROSOFT WINDOWS XP MEDIA CENTER EDITION, MICROSOFT WINDOWS 95, WINDOWS 98, WINDOWS NT 4.0 WINDOWS 2000 OPERATING SYSTEM OR ANY MICROSOFT OPERATING SYSTEM THAT IS A SUCCESSOR TO ANY OF THOSE OPERATING SYSTEMS (each an "OS Product"), YOU ARE NOT AUTHORIZED TO INSTALL, COPY OR OTHERWISE USE THE OS COMPONENTS AND YOU HAVE NO RIGHTS UNDER THIS SUPPLEMENTAL EULA.
You can be identified from the queries you make, and proxies cannot help here. When AOL (I think it was AOL) leaked last year, that is what happened. If you have access to hundreds of queries, you can be identified based on what you like, movies, your company, favorite programming language, or maybe you searched for your own name!
Here is a simple POC: Search 1: You might search your own name, just curiosity: 'John Believer' Search 2: 'How to build an atomic bomb.'
This is ironical, since one of the provisions of the NPT was assistance and technology transfer to non-nuclear states for peaceful purposes in return for their undertaking not acquiring nukes. Iran should not have to obtain such data clandestinely (That too, and operation manual!). The reality is that nuclear weapon states (P5) has done little to transfer technology , and even less on their commitment to reduce nuclear stockpiles.
Btw, the NPT is flawed and fundamentally flawed. Discriminatory to the naivest, I am not sure how anyone could even suggest something like - 'I CAN, but you sire, CANNOT'. Justice and equality.
What is needed is complete disarmament, or transfer of nukes to common control against possibly an asteroid or comet. Until then, I refuse to say that some nukes are good and some are bad.
Here is some interesting code, using C# and the pixel shader which draws fractals 60 times a second using the XBox GPU. Initially I was skeptical about coding games with managed code (like C#), but it looks like we will see some games written in.Net. The drawing underneath still gets done natively, but you will be insulated to some extent.
Interestingly, Mono is planning to bring XNA to other platforms. Hopefully we will see PS3 running XNA sometime soon (quite possible, since PS3 already runs Mono).
Not only C#, it could be just about any language which has a.Net compiler. Iron Python 1.0 just got released, which works with Mono as well. There are many others too, including Boo, Nemerle, an experimental Ruby.Net.
Mono+Gnome might eventually be the reason for mainstream Linux desktop acceptance (with applications being compatible on Windows and Linux), as.Net apps get more popular. In the MS world, the.Net Framework is now the sole platform to build new apps.
Wonder how long it will take for compilers and languages to catch up with the concurrency challenges. Till then, applications will run slower than ever.
[On the desktop, multimedia players, browsers, compilers, IDEs, how many of them will use those cores? Servers seem to be ready though.]
1. In the application space, there are much more productive languages and tools. Think Ruby, Python. And extreme performance has never been a Java forte either.
2. Core language capabilities are obsolete now. Bruce Eckel's famous piece The departure of the hyper-enthusiasts captures this nicely. And looking at the C# 3.0 spec, with lambdas, automatic type inference, monadic comprehensions and lots of functional programming goodness, Java is left way behind. MS is also way ahead in adding dynamic languages support to the platform (Microsoft supported IronPython v1 for.Net Fx due out this month.)
3. I think Gosling needs to move on. After he said Ruby/PHP are just scripting languages, and they just generate web pages, and lack the "power" of Java. [Which "power"?]
4. With Vista MS would have finally killed Java's Run Anywhere promise. It will still run, but it will look totally out of place. The new eye candy, and the good communication foundation (WCF) is better and easier accessed through.Net.
The only reason to have Java is for compatibility in a "Legacy" Java environment. Kind of the same reason why we still have mainframes. These days I cannot think of a single reason why someone would go with Java, other than interop.
The patent FUD concerning Mono is now dead, and Mono is included in Fedora are Suse distributions. I am sure Novell would have invested considerable effort in analyzing potential issues. Mono is a from scratch implementation. And no surprise, Miguel appeared in the Microsoft Technet Video explaining Mono last week and it was on slashdot.
Here is a nice article by Paul Graham on SW Patents, which was Slashdotted earlier. What he says makes a lot of sense: But I doubt Microsoft would ever be so stupid. They'd face the mother of all boycotts. And not just from the technical community in general; a lot of their own people would rebel.
If they had done this right 5 years ago,.NET would have been stillborn and Sun would be the worlds leading application platform vendor.
There is a truth in what you are saying. The real problem with Java is the lack of pace, and the locked Java Community process, which locks the platform and language. Also, since Sun was keen to hold on to the Enterprise space, the platform became too focused on Enterprise applications, while the language was stagnating. It took C#, Python and Ruby to finally get some new language additions.
Had it been Open Source, a lot more (free)wisdom would have gone into the core language.
Here is a point many Slashdotters are missing, when they see the word "Closed Source".
Closed source should not be defined as anything packaged in disks or as installable on the local machines. The majority of closed source is now disguised as Web Applications. When we raise arms against Microsoft, we are supportive or at best silent about the dozens of useful web applications that spring up. Google Maps, Spreadsheets, BaseCamp and the rest are as closed source as Microsoft are. And so are the algorithms that power things like search engines.
As Google and others bring newer applications on the Web, and as the desktop applications get replaced by Web Applications we will have "Closed Source 2.0".
Actually they might be worse that the current breed of closed source. - When Web Applications shut down you have nothing! - You dont have code to reverse engineer - Hell, you don't even have the data with you - You have no idea what they do with your data! - Can we depend on their security?
Well, the fact is the virtualization is a work-around poorly written and designed OSes and applications. Virtualization is succeeding because we cannot build OSes that:
1. Prevent applications from littering and destroying public space
2. Do a decent migration without re-installs
3. Can scale without re-installing and re-configuration
4. Do better throttling and pooling
And we cannot build applications that:
1. Know how to co-operate with other applications, atleast be aware that the system cannot be monopolized.
2. Install in a private space
Some time back I had written a blog about Virtualization, isn't it a Diversion?
Summary: Virtualization looks like necessary evil, because we are incompetent to write better OSes and Application. Virtualization is the easier route. And, you wait till it reaches critical mass, gets everywhere and brings its share of problems.
I would have preferred a better, from the ground-up OS any day. Hurd, or ever better Singularity!
Meanwhile the Mac lovers will call it a cheap ripoff of Mac OS X (which it probably is) and the Linux users will say you can get that stuff for free (watch the demo of Novell Linux 10 with xgl, it demonstrates all the cool windows effects MS is saying will be in Vista, and then some).
The difference between Xgl and Avalon in Vista is not its performance, or rollerdex Windows or transparent Windows. The difference is in how easily these are accessible to application developers. Avalon apps run all that graphics goodness with a simple XML derivative called XAML, and well supported by a Photoshop like designer (Called Expression) to actually design the UI. This tool again generates XAML layouts and eye-candy, which is fully compatible with the Visual Studio IDE.
Conveniently forget this difference, and there lies one reason why Windows is so popular.
Comparison between Vista and OSX are pretty subjective. Here are some counters:
1. 64-bit support in OS X is still an after thought. While it is Vista's primary target.
2. The new audio and video driver system in Vista ahead of any other OS.
3..Net platform is now driven into the heart of the OS. If you have written code in a "managed" environment, you already know why this is better. Of course Java exists, but the depth of the integration with the OS varies. You will never write Photoshop in Java, while.Net aims to there eventually (Paint.Net?).
4. OS X sucks in developer support. The stuff they are doing with Windows Presentation Foundation (WPF), Communication Foundation and Workflow are amazing, although I have strong reservations about platform dependency. Unless...
5. Performance?
After writing this, I guess we were both trolling.:)) The discussion was about next generation Operating Systems. That is not Vista, and it is not OSX, too. Singularity might be.
For those of you who are new to.Net, Rico Mariani used to be the performance architect in the.Net team. His blog Performance Tidbits, will give you tons of insight into making that.Net application run faster. For the naive, it also tells you when performance matters (which is not all the time).
This feed sits right at the top of my subscription list.
Why?
Because drivers run inside Ring 0, which is the privileged mode of the processor. They can do pretty much anything they want to. This is good for performance, bad for stability. Or you can go with the Mach kernel, which tried your approach and has not succeeded. Yet.
When I read the post, the first thing that occured to me was Mark Lucovsky Post, about Shipping Software. It was one of the reasons why he quit Microsoft.
Shipping Software. That's what its about now. Anyway, it does not mean Microsoft is standing still though. It is just that they have chosen to do it another way. Google looks at AJAX powered, HTML based applications. Firefox downloads help too, it isnt surprising they are offering $1 for every Firefox referral. Microsoft will depend on.Net, XAML and IE for application delivery. No doubt they will be more capable, compared to HTML. But only if you overlook the lockin.
Ahh.. i dont know. But yes, online Word will not be far off.
....Give away development tools, Wait until it is a eb de-facto standard.....
Flash works, Flash movies work, Flash is ubiquitous, Linux/OSX support it, Everybody knows it. So why do we need anything else?
Apart from the obvious point that competition is good, Flash is yet another lock-in that is waiting to happen. From the Flash Specification:
"This license does not permit the usage of the specification to create software which supports SWF file playback."
Why would you want to protect a format/specification, if not for a lock-in? Even MS-Word formats are becoming more open.
Everything you said is more applicable to Adobe than to Microsoft. Microsoft is in no position to shove SilverLight down unsuspecting throats. They don't have the trust, the respect or the distribution of Flash to be able to do that.
More important than the source code is an Open Format, which IMO is a key advantage over Flex/Flash. Silverlight's Markup Language, XAML is pure XML and easier to decode. Flash is a proprietary, binary format and the Specification forbids you from building an alternative player.
The Flex Plan
1. Open Source Flex, and Flash Runtime
2. Drive a strong adoption wave, since its "Open Source"
3. Alternate Tools spring up, Flash becomes the "*.doc" of RIA
4. Flash format remains proprietary, all RIA belongs to Adobe
5. Profit!
I can't imagine any other reason why anyone would want to open source the tools, while protecting the format.
Anyway competition is good, and might actually result in Adobe opening the Flash Specification.
It has been a while since I've heard anything about the Itanic. About a year back, Microsoft, Intel and HP had been talking about serious long term plans for the high-end Itanium, while AMD64 will be mostly among the mid-range offerings.
But looking at the way the Core architecture processors are scaling (in number of cores), where does that leave the Itanium? If the future is n^x core processors and parallelism, the Itanium is really dead.
Long live the Itanic!
Still if it worked it would be very interesting for the wine project.
And totally illegal as well. All Microsoft EULAs for their free stuff (or stuff which is not sold, like DirectX) forbid installation on non-Windows platforms. I don't see how this is different from pirating Windows in the first place.
Here it is, from the EULA for DirectX:
NOTE: IF YOU DO NOT HAVE A VALIDLY LICENSED COPY OF ANY VERSION OR EDITION OF MICROSOFT WINDOWS XP MEDIA CENTER EDITION, MICROSOFT WINDOWS 95, WINDOWS 98, WINDOWS NT 4.0 WINDOWS 2000 OPERATING SYSTEM OR ANY MICROSOFT OPERATING SYSTEM THAT IS A SUCCESSOR TO ANY OF THOSE OPERATING SYSTEMS (each an "OS Product"), YOU ARE NOT AUTHORIZED TO INSTALL, COPY OR OTHERWISE USE THE OS COMPONENTS AND YOU HAVE NO RIGHTS UNDER THIS SUPPLEMENTAL EULA.
You can be identified from the queries you make, and proxies cannot help here. When AOL (I think it was AOL) leaked last year, that is what happened. If you have access to hundreds of queries, you can be identified based on what you like, movies, your company, favorite programming language, or maybe you searched for your own name!
Here is a simple POC:
Search 1: You might search your own name, just curiosity: 'John Believer'
Search 2: 'How to build an atomic bomb.'
There, Terrorist!
This is ironical, since one of the provisions of the NPT was assistance and technology transfer to non-nuclear states for peaceful purposes in return for their undertaking not acquiring nukes. Iran should not have to obtain such data clandestinely (That too, and operation manual!). The reality is that nuclear weapon states (P5) has done little to transfer technology , and even less on their commitment to reduce nuclear stockpiles.
Btw, the NPT is flawed and fundamentally flawed. Discriminatory to the naivest, I am not sure how anyone could even suggest something like - 'I CAN, but you sire, CANNOT'. Justice and equality.
What is needed is complete disarmament, or transfer of nukes to common control against possibly an asteroid or comet. Until then, I refuse to say that some nukes are good and some are bad.
Here is some interesting code, using C# and the pixel shader which draws fractals 60 times a second using the XBox GPU. Initially I was skeptical about coding games with managed code (like C#), but it looks like we will see some games written in .Net. The drawing underneath still gets done natively, but you will be insulated to some extent.
Interestingly, Mono is planning to bring XNA to other platforms. Hopefully we will see PS3 running XNA sometime soon (quite possible, since PS3 already runs Mono).
Not only C#, it could be just about any language which has a .Net compiler. Iron Python 1.0 just got released, which works with Mono as well. There are many others too, including Boo, Nemerle, an experimental Ruby.Net.
Mono+Gnome might eventually be the reason for mainstream Linux desktop acceptance (with applications being compatible on Windows and Linux), as .Net apps get more popular. In the MS world, the .Net Framework is now the sole platform to build new apps.
Wonder how long it will take for compilers and languages to catch up with the concurrency challenges. Till then, applications will run slower than ever.
[On the desktop, multimedia players, browsers, compilers, IDEs, how many of them will use those cores? Servers seem to be ready though.]
I doubt if this will change anything:
.Net Fx due out this month.)
.Net.
1. In the application space, there are much more productive languages and tools. Think Ruby, Python. And extreme performance has never been a Java forte either.
2. Core language capabilities are obsolete now. Bruce Eckel's famous piece The departure of the hyper-enthusiasts captures this nicely. And looking at the C# 3.0 spec, with lambdas, automatic type inference, monadic comprehensions and lots of functional programming goodness, Java is left way behind. MS is also way ahead in adding dynamic languages support to the platform (Microsoft supported IronPython v1 for
3. I think Gosling needs to move on. After he said Ruby/PHP are just scripting languages, and they just generate web pages, and lack the "power" of Java. [Which "power"?]
4. With Vista MS would have finally killed Java's Run Anywhere promise. It will still run, but it will look totally out of place. The new eye candy, and the good communication foundation (WCF) is better and easier accessed through
The only reason to have Java is for compatibility in a "Legacy" Java environment. Kind of the same reason why we still have mainframes. These days I cannot think of a single reason why someone would go with Java, other than interop.
Mod parent up.
The patent FUD concerning Mono is now dead, and Mono is included in Fedora are Suse distributions. I am sure Novell would have invested considerable effort in analyzing potential issues. Mono is a from scratch implementation. And no surprise, Miguel appeared in the Microsoft Technet Video explaining Mono last week and it was on slashdot.
Here is a nice article by Paul Graham on SW Patents, which was Slashdotted earlier. What he says makes a lot of sense: But I doubt Microsoft would ever be so stupid. They'd face the mother of all boycotts. And not just from the technical community in general; a lot of their own people would rebel.
If they had done this right 5 years ago, .NET would have been stillborn and Sun would be the worlds leading application platform vendor.
There is a truth in what you are saying. The real problem with Java is the lack of pace, and the locked Java Community process, which locks the platform and language. Also, since Sun was keen to hold on to the Enterprise space, the platform became too focused on Enterprise applications, while the language was stagnating. It took C#, Python and Ruby to finally get some new language additions.
Had it been Open Source, a lot more (free)wisdom would have gone into the core language.
Here is a point many Slashdotters are missing, when they see the word "Closed Source".
Closed source should not be defined as anything packaged in disks or as installable on the local machines. The majority of closed source is now disguised as Web Applications. When we raise arms against Microsoft, we are supportive or at best silent about the dozens of useful web applications that spring up. Google Maps, Spreadsheets, BaseCamp and the rest are as closed source as Microsoft are. And so are the algorithms that power things like search engines.
As Google and others bring newer applications on the Web, and as the desktop applications get replaced by Web Applications we will have "Closed Source 2.0".
Actually they might be worse that the current breed of closed source.
- When Web Applications shut down you have nothing!
- You dont have code to reverse engineer
- Hell, you don't even have the data with you
- You have no idea what they do with your data!
- Can we depend on their security?
Well, the fact is the virtualization is a work-around poorly written and designed OSes and applications. Virtualization is succeeding because we cannot build OSes that: 1. Prevent applications from littering and destroying public space 2. Do a decent migration without re-installs 3. Can scale without re-installing and re-configuration 4. Do better throttling and pooling And we cannot build applications that: 1. Know how to co-operate with other applications, atleast be aware that the system cannot be monopolized. 2. Install in a private space Some time back I had written a blog about Virtualization, isn't it a Diversion? Summary: Virtualization looks like necessary evil, because we are incompetent to write better OSes and Application. Virtualization is the easier route. And, you wait till it reaches critical mass, gets everywhere and brings its share of problems. I would have preferred a better, from the ground-up OS any day. Hurd, or ever better Singularity!
Meanwhile the Mac lovers will call it a cheap ripoff of Mac OS X (which it probably is) and the Linux users will say you can get that stuff for free (watch the demo of Novell Linux 10 with xgl, it demonstrates all the cool windows effects MS is saying will be in Vista, and then some). The difference between Xgl and Avalon in Vista is not its performance, or rollerdex Windows or transparent Windows. The difference is in how easily these are accessible to application developers. Avalon apps run all that graphics goodness with a simple XML derivative called XAML, and well supported by a Photoshop like designer (Called Expression) to actually design the UI. This tool again generates XAML layouts and eye-candy, which is fully compatible with the Visual Studio IDE. Conveniently forget this difference, and there lies one reason why Windows is so popular.
Comparison between Vista and OSX are pretty subjective. Here are some counters: 1. 64-bit support in OS X is still an after thought. While it is Vista's primary target. 2. The new audio and video driver system in Vista ahead of any other OS. 3. .Net platform is now driven into the heart of the OS. If you have written code in a "managed" environment, you already know why this is better. Of course Java exists, but the depth of the integration with the OS varies. You will never write Photoshop in Java, while .Net aims to there eventually (Paint.Net?).
4. OS X sucks in developer support. The stuff they are doing with Windows Presentation Foundation (WPF), Communication Foundation and Workflow are amazing, although I have strong reservations about platform dependency. Unless...
5. Performance?
After writing this, I guess we were both trolling. :)) The discussion was about next generation Operating Systems. That is not Vista, and it is not OSX, too. Singularity might be.
For those of you who are new to .Net, Rico Mariani used to be the performance architect in the .Net team. His blog Performance Tidbits, will give you tons of insight into making that .Net application run faster. For the naive, it also tells you when performance matters (which is not all the time).
This feed sits right at the top of my subscription list.
Why? Because drivers run inside Ring 0, which is the privileged mode of the processor. They can do pretty much anything they want to. This is good for performance, bad for stability. Or you can go with the Mach kernel, which tried your approach and has not succeeded. Yet.
When I read the post, the first thing that occured to me was Mark Lucovsky Post, about Shipping Software. It was one of the reasons why he quit Microsoft.
Shipping Software. That's what its about now. Anyway, it does not mean Microsoft is standing still though. It is just that they have chosen to do it another way. Google looks at AJAX powered, HTML based applications. Firefox downloads help too, it isnt surprising they are offering $1 for every Firefox referral. Microsoft will depend on .Net, XAML and IE for application delivery. No doubt they will be more capable, compared to HTML. But only if you overlook the lockin.
Ahh.. i dont know. But yes, online Word will not be far off.