I'm sorry, but whenever I read comments like this I have to ask – how much AJAX web development have you really done? It's easy to build a couple pop-up menus and accordion controls and then decide that DHTML + CSS is all-powerful. But, frankly, it's not even close yet.
I spent years doing bleeding-edge AJAX development, and DHTML is by far the shabbiest development "platform" I have ever used. Frameworks like Dojo help, some. HTML5 will help, some. But it's all wallpaper overtop one core flaw: HTML was fundamentally never designed as an interactive-content development platform. Its programming language is embarrassing. It lacks any mechanism for reusing markup code (componentization). It lacks declarative data binding. It makes animated transitions far too hard. Its layout model is absurdly complex. And that's not even getting into the issues with browser and API fragmentation, backwards-compatibility, etc.
One other question for you: have you ever tried using Adobe Flex? Don't knock it till you try it. It is imperfect, for sure, but it positively screams maturity when you try it after years of banging your head on AJAX development. And sorry, but I just don't see HTML5 turning that around any time soon.
Sorry, but that's really disingenuous. Flash is stateful for the same reason that Google Gears and HTML5 add stronger persistence functionality to browsers – web developers are demanding it as they write increasingly complex apps and more user data moves into the cloud. Flash is increasingly being positioned as a serious development platform, so web developers are the true customers here.
To some degree, the C->AS bytecode is faster than regular AS for the same reasons that C is faster than C++ (or JITed Java). A non-object-oriented language tends to have more efficient in-memory representation for small data structures, and has less overhead creating & destroying objects.
The code is running inside the ActionScript virtual machine's sandbox, so an array out-of-bounds bug is no more dangerous than it would be in a language like Java.
Lately Adobe has been labeling many of their products, especially frameworks related to web development as "open source" when in reality they open source a small part of it and leave the critical portions under an extremely restrictive proprietary license.
As I understand it they have claimed they will open source parts of the flex sdk...
The push to support Linux is real. Flash and Flex are intended to be a first-class software development platform, and Adobe realizes that many developers prefer to use Linux.
proprietary binaries that are difficult to index and likely impossible for many to use a few years down the road Flash has been around for 10 years, and backwards compatibility is so good that most of the 10-year-old content from the early versions still runs in the newest one.
if you create a flash plugin completely independently or with the use of clean room techniques Adobe has the option of claiming that you must have looked at their specs and take you to court in an attempt to kill your project. This is just an aside, but I think you're being silly. Any company can sue a competitor they dislike and make up claims about reading their source code, etc. But if they can't prove it, they will lose and likely pay the other company's attorneys' fees. And the whole point of clean room techniques is to form an affirmative defense in lawsuits like that.
Adobe seems like a big heavy software company that still operates primarily in a 1980's mentality, trying to make the transition to something more modern and web-centric
Hmm, Adobe might be big(ish), but they sure do seem to "get" the web. You couldn't make Dreamweaver or Flash or ColdFusion if you didn't get it. The whole "YouTube revolution" stems partially from Flash video coming to maturity.
Caveat lector: I do work for these people. But I also mean it.
Disclaimer: I work for Adobe.
So I can assume that this application generates 100% valid HTML and XHTML constructs, with their own proprietary Flash being an additional extension to that baseline, riiiiiight?
Flex is not intended for writing average websites; it is a tool for writing rich web applications. If you've ever tried to build an RIA like Yahoo Mail in traditional DHTML, I think you can appreciate that there is more than a little room for improvement. That's where Flex comes in -- for this breed of application, it is simply more practical than the alternatives.
Not going to get into a religious debate here, but I think some of your criticisms of Flash as a platform are unfair:
2. Not easily indexed by search engines You can attach metatext that is indexed by major search engines. Some search engines can index more, and I believe there are people working on expanding that. Flex 3 also supports deep linking, so there can be more than one entry point into your application.
3. Does not work consistently in all browsers I don't think you'll find any other way of writing applications across browsers and across platforms that is more consistent than Flash. And yes, I certainly include HTML in that comparison!
4. Does not work in text-mode browsers Does AJAX? Virtually any RIA would be crippled in a text-only browser.
5. Does not work with text-to-speech browsers for the blind/disabled Sure it does, if you follow the right practices. Flex appliations might actually be easier to make accessible than AJAX applications because screenreaders do such a poor job with asynchronous DHTML updates to a page's content.
6. Does not have cross-version compatibility with its own plugins All versions of the Flash player are fully backwards-compatible with all previous versions. I think this is broken occasionally on security grounds, but in general a ton of work goes into compatibility. The next release of Flash is a lot less likely to break your existing content than the next release of IE.
7. Buggy and inconsistent I'm not about to claim Adobe's software is bug-free. But you sound like you either (a) have never done AJAX/DHTML development, or (b) have never done Flex development. I have done both, and it is pretty clear which side deserves the "buggy and inconsistent" label.
Flex Data Services isn't required to use Flex. You can talk to any standard web service using all your favorite acronyms like SOAP, WSDL, REST, CRUD, etc... If you're happy with what you have and don't feel the need for FDS, then it's completely free.
you have maybe 1000 at minimum developers who want to do some rich internet application development, but don't have the money for flash and media servers.
What do you mean, don't have the money? If you can afford Visual Studio, then you can certainly afford Flash or Flex Builder. More important, you don't need Flash Media Server -- you can exchange data with any backend you please.
Wellll.. on IE it does use an ActiveX control. It supports other browsers sans ActiveX, but only at a stripped-down level of functionality that is much closer to Hotmail.
But I think the new Hotmail will use AJAX to create a cross-browser, Outlook-esque feel -- the other "Windows Live" sites are going that route.
I think what makes many people uncomfortable with this is that parents would be able to "spy" on their kids. Restricting what sites, TV channels, etc. your children can see is perfectly understandable; secretly monitoring their social lives is harder to justify.
I'd guess this is aimed more at large-scale commercial usage. Adobe probably doesn't care about your hacked Xbox. But if Nokia wants to put Flash in all their cellphones, they'd probably need to negotiate a separate license.
I don't know what you're smoking - most of what you said is completely untrue today. You can connect to anything that an AJAX app can, and then some. There is E4X support for drilling down into SOAP responses, etc. And you store your source code in a package tree just like Java - no binaries needed.
For anyone who has doubts, take a look at Flex. It is a mature, free, flexible platform for developing RIAs on Flash.
The real problem here is that everyone assumes it's a "police brutality" thing, including many onlookers, because they felt/feel justified in making judgments without enough information.
Uh, I'd say the first-hand witnesses had more information to go on than you do. And most of them seemed pretty pissed/horrified by the end of the thing.
It's an economic term, though I first heard it used by Lawrence Lessig. Something is nonrivalrous if I can use it without diminishing anyone else's ability to also do so.
Hollywood really doesn't want film quality coppies running around
That might be true, but it's utterly silly since the average consumer is perfectly pleased with DVD-quality movies. No one who's not already illegally downloading is going to be inspired to do so by HD-quality rips suddenly becoming available...
You seem to have misunderstood some of the IP law debate. IANAL, but let me just point out:
The poster you replied to isn't arguing that IP should be abolished -- just that it's wrong to think of it in the same terms as physical "property." It's ok to own physical property and sit on it for as long as you like. But it's bad for society if one can do this with ideas.
The GP believes that NTP's patents are invalid even under today's system. They're either too obvious, or too vague.
Your phone example is nonsense. Changing the color of something does not change the underlying implementation. It's not enough to circumvent a patent or a copyright. I can't change the font of a recent novel and then claim it as my own, can I?
Patents are NOT supposed to cover abstract ideas; they are intended to cover the implementation of an idea. That's why you can't patent a mathematical formula, for example. It's also why patents supposedly require an example of a working implementation (in the form of diagrams, schematics, etc.).
As the other reply points out, contract law can help protect your ideas when you need to show them to third parties in confidence. The busted system that spawned the RIM-NTP lawsuit is the real reason VCs want everyone to hold reams of patents. Without patents, you're defenseless against predators like NTP.
I think you'd be hard pressed to find such a "convention" among any experts. Reputable peddlers of quotes such as newspapers, research papers, and legal filings don't dare paraphrase something and still put quotation marks of any kind around it. The OED and, more importantly, grammar style guides don't endorse this idea.
Also, it could quite definitely get you sued for libel -- that's maybe the best reason not to get in this bad habit.
He used single quotes, which are what you would use if you slightly paraphrased a sentence.
That's a common misconception. In fact, quotes and paraphrasing don't mix. Anything you enclose in quotes must be completely unaltered (unless you use square brackets). Single quotes are used only for nesting one quotation within another.
See Wikipedia, for example: "It is generally considered incorrect to use quotation marks for paraphrased speech" (and that is a real direct quote).
Good points... and I was too hasty in summarizing the article. A more accurate statement would be "they rely on a sizable number of peers being honest." Because honesty is determined by clustering peers whose votes are similar to yours, a majority is not at all necessary.
Also, it sounds like you need actual active nodes, not just registered users, to get your votes seen. Given that P2P networks boast 1.5-2.5 million simultaneous users, even a grid the size of Google's wouldn't put a dent in the voter pool.
Flooding with "98% honest" peers has been brought up by others here, but I'm guessing the Cornell people were careful to take that into account. E.g., for a given 'evil' node:
If the 98 honest votes go against your evil buddies, you more than cancel them out.
If you never contradict your buddies, you get clustered closer to them and farther from the honest nodes that do contradict them.
That being said, if this works it'll be kinda a shame. Making P2P inconvenient for infringers is exactly what the **AA should be doing more of, instead of reflexively suing the crap out of everybody. Well, that and offering a decent alternative....
For most people opera is crap and IE is better. Sorry to tell you the obvious. Most people feel that way. I think firefox is better but your grandma disagrees.
Well then this is where we differ. IMO, just because someone uses product X doesn't mean they consider it better than competitors Y or Z.
Case in point: grandma is happy with IE merely because that's all she knows of. Show her Firefox and she may well say "wow, that's better!" There is plenty of anecdotal evidence to that effect, and little to the contrary. To me, the conclusion isn't that Firefox is "crap," but that (a) maybe it needs better marketing, and (b) Microsoft has an unfair advantage in this market. Vendor lock-in is another example where someone may prefer X, but uses Y instead---since the cost of switching is too high.
One final point. If the market alone always chooses the "best" product, why do virtually all modern societies regulate their markets?
The strategy worked great at Xerox. They pioneered half of what is cool in modern computing. Ok, I'm exaggerating, but: object-oriented programming, the mouse, WYSIWYG, Ethernet, bitmapped graphics... it's a long list.
But you're right in that it didn't help them much. They wound up with awesome stuff to sell, they just didn't sell it very well (or at all). Whether you consider this a success or not is a little more subjective...
That statement has been pretty widely discredited by now.
(note: first link includes NSFW illustration)
I'm sorry, but whenever I read comments like this I have to ask – how much AJAX web development have you really done? It's easy to build a couple pop-up menus and accordion controls and then decide that DHTML + CSS is all-powerful. But, frankly, it's not even close yet.
I spent years doing bleeding-edge AJAX development, and DHTML is by far the shabbiest development "platform" I have ever used. Frameworks like Dojo help, some. HTML5 will help, some. But it's all wallpaper overtop one core flaw: HTML was fundamentally never designed as an interactive-content development platform. Its programming language is embarrassing. It lacks any mechanism for reusing markup code (componentization). It lacks declarative data binding. It makes animated transitions far too hard. Its layout model is absurdly complex. And that's not even getting into the issues with browser and API fragmentation, backwards-compatibility, etc.
One other question for you: have you ever tried using Adobe Flex? Don't knock it till you try it. It is imperfect, for sure, but it positively screams maturity when you try it after years of banging your head on AJAX development. And sorry, but I just don't see HTML5 turning that around any time soon.
Shared objects actually provide a bunch of stuff that the bare-bones browser APIs don't. See here: http://livedocs.adobe.com/flex/3/langref/flash/net/SharedObject.html
Also, shared objects can store far more than 100k of data if the user grants permission to the app. Storage limits are set on a per-domain basis.
Sorry, but that's really disingenuous. Flash is stateful for the same reason that Google Gears and HTML5 add stronger persistence functionality to browsers – web developers are demanding it as they write increasingly complex apps and more user data moves into the cloud. Flash is increasingly being positioned as a serious development platform, so web developers are the true customers here.
To some degree, the C->AS bytecode is faster than regular AS for the same reasons that C is faster than C++ (or JITed Java). A non-object-oriented language tends to have more efficient in-memory representation for small data structures, and has less overhead creating & destroying objects.
But since this is using the C -> Flash compiler, it's not actually an "NES emulator in Flash." It's probably just some C open-source NES emulator.
The code is running inside the ActionScript virtual machine's sandbox, so an array out-of-bounds bug is no more dangerous than it would be in a language like Java.
The entire Flex SDK is open-sourced under the MPL: http://www.adobe.com/go/opensourceflex
The push to support Linux is real. Flash and Flex are intended to be a first-class software development platform, and Adobe realizes that many developers prefer to use Linux.
proprietary binaries that are difficult to index and likely impossible for many to use a few years down the road Flash has been around for 10 years, and backwards compatibility is so good that most of the 10-year-old content from the early versions still runs in the newest one. if you create a flash plugin completely independently or with the use of clean room techniques Adobe has the option of claiming that you must have looked at their specs and take you to court in an attempt to kill your project. This is just an aside, but I think you're being silly. Any company can sue a competitor they dislike and make up claims about reading their source code, etc. But if they can't prove it, they will lose and likely pay the other company's attorneys' fees. And the whole point of clean room techniques is to form an affirmative defense in lawsuits like that. Adobe seems like a big heavy software company that still operates primarily in a 1980's mentality, trying to make the transition to something more modern and web-centricHmm, Adobe might be big(ish), but they sure do seem to "get" the web. You couldn't make Dreamweaver or Flash or ColdFusion if you didn't get it. The whole "YouTube revolution" stems partially from Flash video coming to maturity.
Caveat lector: I do work for these people. But I also mean it.
Flex is not intended for writing average websites; it is a tool for writing rich web applications. If you've ever tried to build an RIA like Yahoo Mail in traditional DHTML, I think you can appreciate that there is more than a little room for improvement. That's where Flex comes in -- for this breed of application, it is simply more practical than the alternatives.
Not going to get into a religious debate here, but I think some of your criticisms of Flash as a platform are unfair:
2. Not easily indexed by search engines You can attach metatext that is indexed by major search engines. Some search engines can index more, and I believe there are people working on expanding that. Flex 3 also supports deep linking, so there can be more than one entry point into your application. 3. Does not work consistently in all browsers I don't think you'll find any other way of writing applications across browsers and across platforms that is more consistent than Flash. And yes, I certainly include HTML in that comparison! 4. Does not work in text-mode browsers Does AJAX? Virtually any RIA would be crippled in a text-only browser. 5. Does not work with text-to-speech browsers for the blind/disabled Sure it does, if you follow the right practices. Flex appliations might actually be easier to make accessible than AJAX applications because screenreaders do such a poor job with asynchronous DHTML updates to a page's content. 6. Does not have cross-version compatibility with its own plugins All versions of the Flash player are fully backwards-compatible with all previous versions. I think this is broken occasionally on security grounds, but in general a ton of work goes into compatibility. The next release of Flash is a lot less likely to break your existing content than the next release of IE. 7. Buggy and inconsistent I'm not about to claim Adobe's software is bug-free. But you sound like you either (a) have never done AJAX/DHTML development, or (b) have never done Flex development. I have done both, and it is pretty clear which side deserves the "buggy and inconsistent" label.Flex Data Services isn't required to use Flex. You can talk to any standard web service using all your favorite acronyms like SOAP, WSDL, REST, CRUD, etc... If you're happy with what you have and don't feel the need for FDS, then it's completely free.
you have maybe 1000 at minimum developers who want to do some rich internet application development, but don't have the money for flash and media servers.
What do you mean, don't have the money? If you can afford Visual Studio, then you can certainly afford Flash or Flex Builder. More important, you don't need Flash Media Server -- you can exchange data with any backend you please.
Disclaimer: I work at Adobe.
Wellll.. on IE it does use an ActiveX control. It supports other browsers sans ActiveX, but only at a stripped-down level of functionality that is much closer to Hotmail.
But I think the new Hotmail will use AJAX to create a cross-browser, Outlook-esque feel -- the other "Windows Live" sites are going that route.
But it easily could preclude this part of the bill: (quoted from the summary)
"[and require] parents or guardians to have access to their children's Web pages at all times"
I think what makes many people uncomfortable with this is that parents would be able to "spy" on their kids. Restricting what sites, TV channels, etc. your children can see is perfectly understandable; secretly monitoring their social lives is harder to justify.
I'd guess this is aimed more at large-scale commercial usage. Adobe probably doesn't care about your hacked Xbox. But if Nokia wants to put Flash in all their cellphones, they'd probably need to negotiate a separate license.
I don't know what you're smoking - most of what you said is completely untrue today. You can connect to anything that an AJAX app can, and then some. There is E4X support for drilling down into SOAP responses, etc. And you store your source code in a package tree just like Java - no binaries needed.
For anyone who has doubts, take a look at Flex. It is a mature, free, flexible platform for developing RIAs on Flash.
The real problem here is that everyone assumes it's a "police brutality" thing, including many onlookers, because they felt/feel justified in making judgments without enough information.
Uh, I'd say the first-hand witnesses had more information to go on than you do. And most of them seemed pretty pissed/horrified by the end of the thing.
Nonrivalrous.
It's an economic term, though I first heard it used by Lawrence Lessig. Something is nonrivalrous if I can use it without diminishing anyone else's ability to also do so.
That might be true, but it's utterly silly since the average consumer is perfectly pleased with DVD-quality movies. No one who's not already illegally downloading is going to be inspired to do so by HD-quality rips suddenly becoming available...
Also, it could quite definitely get you sued for libel -- that's maybe the best reason not to get in this bad habit.
That's a common misconception. In fact, quotes and paraphrasing don't mix. Anything you enclose in quotes must be completely unaltered (unless you use square brackets). Single quotes are used only for nesting one quotation within another.
See Wikipedia, for example: "It is generally considered incorrect to use quotation marks for paraphrased speech" (and that is a real direct quote).
Also, it sounds like you need actual active nodes, not just registered users, to get your votes seen. Given that P2P networks boast 1.5-2.5 million simultaneous users, even a grid the size of Google's wouldn't put a dent in the voter pool.
Flooding with "98% honest" peers has been brought up by others here, but I'm guessing the Cornell people were careful to take that into account. E.g., for a given 'evil' node:
That being said, if this works it'll be kinda a shame. Making P2P inconvenient for infringers is exactly what the **AA should be doing more of, instead of reflexively suing the crap out of everybody. Well, that and offering a decent alternative....
Well then this is where we differ. IMO, just because someone uses product X doesn't mean they consider it better than competitors Y or Z.
Case in point: grandma is happy with IE merely because that's all she knows of. Show her Firefox and she may well say "wow, that's better!" There is plenty of anecdotal evidence to that effect, and little to the contrary. To me, the conclusion isn't that Firefox is "crap," but that (a) maybe it needs better marketing, and (b) Microsoft has an unfair advantage in this market. Vendor lock-in is another example where someone may prefer X, but uses Y instead---since the cost of switching is too high.
One final point. If the market alone always chooses the "best" product, why do virtually all modern societies regulate their markets?
But you're right in that it didn't help them much. They wound up with awesome stuff to sell, they just didn't sell it very well (or at all). Whether you consider this a success or not is a little more subjective...