Here is the definition of "Vendor lock-in" from wikipedia:
In economics, vendor lock-in, also known as proprietary lock-in, lock-in, or the Pottersville pattern, is a situation in which a customer is so dependent on a vendor for products and services that he cannot move to another vendor without substantial switching costs, real and/or perceived.
These costs to the customer create a situation which favors the vendor at the expense of the consumer. Monopolies tend to result when lock-in costs create a market barrier to entry, which may result in antitrust actions from the relevant authorities (the FTC in the US).
Vendor lock-in is often used in the computer industry to describe the effects of a lack of compatibility between different systems.
Different companies, or a single company, may create different versions of the same system architecture that cannot interoperate. Manufacturers may design their products so that replacement parts or add-on enhancements must be purchased from the same manufacturer, rather than from a third party (connector conspiracy). The purpose is to make it difficult for users to switch to competing systems. Examples include the several slightly different implementations of various open standards, the many variations of Unix, Microsoft Office's file formats, and also Microsoft's software in general.
Now, please explain how FLEX is not a classic textbook case of vendor lock-in. Do you have a substantially different definition of it than wikipedia? If so, please share your definition, and tell us what you think it would take to qualify as vendor lock-in, why you think FLEX doesn't qualify, and name a better example that does qualify. Your first post in this thread claimed that it was not, but offered absolutely no support for that statement. Here's what you said:
As a last point, Flex doesn't "lock you in Flash". It's just a environment and framework for taking advantage of the Flash runtime. If you don't like using Flash, you don't have to use it.
The sentence you wrote following your denial does not support your false denial of the obvious fact that FLEX certainly does lock you into Flash.
If you can tell me which other platforms FLEX supports besides Flash, then that will support your argument, but as far as I have ever heard, FLEX is Flash-only. But I'd love to be surprized by something you know that Adobe hasn't announced, so please enlighten me!
You can also call me a troll if you like, but if you can't answer this simple question, then you're the troll, and you're just running away from an argument you know you can't win.
You haven't addressed ("killed") the point about FLEX locking you into Flash. Your first post just said it didn't, but that doesn't mean it does, because you couldn't support that point. If FLEX doesn't lock you into Flash, then what other runtimes does FLEX support than Flash? In what way is it indepent of Flash? That's a simple enough question to answer, isn't it?
Cooqy is an OpenLaszlo eBay interface, which make efficient use of bandwidth, so you can use eBay over a 56k modem. They report that it reduces network traffic by 50x, and it's 2x to 10x faster to use than the html based eBay interface:
http://www.prweb.com/releases/2006/3/prweb356237.h tm
It's got a lot of other nice features like mapping, a photo magnifier, tagging, and an advanced search interface, with a trippy lava-lite-esque color selection interface (in case you want to search for purple lava lites).
Actually, several of the people who work on OpenLaszlo used to work on Director, Flash and FLEX, and have quite a lot of insight into those technologies. But they like OpenLaszlo better, so now they work for Laszlo Systems instead of Adobe. That's voting with your feet! I like OpenLaszlo because it's a tastefully well designed, full featured, modern programming language, since some of the OpenLaszlo architects used to work on real programming languages like Dylan and Common Lisp, and have lots of perspective and experience designing and implementing programming languages.
FYI, FLEX is actually a proprietary knock-off of OpenLaszlo, which was designed and published before FLEX. OpenLaszlo inspired FLEX, and FLEX is a reaction to OpenLaszlo, not the other way around.
But FLEX completely (and purposefully) misses one of the most important points of OpenLaszlo, which is to provide INDEPENDENCE from Flash, and to target other runtimes than Flash, like DHTML/AJAX and Avalon.
Apparently, some Adobe employees and their loyal customers are having a hard time getting their heads around that essential point: FLEX is designed from the ground up to lock you into Flash, and OpenLaszlo is designed from the ground up to be independent of Flash.
What's Adobe's story about supporting DHTML, Avalon, XUL or SVG with FLEX? There is none. They won't.
Sorry -- I misinterpreted what Brendan was saying: he thought it would be a good idea to modify the Eclipse OpenLaszlo IDE to support XUL directly. Although I don't think he'd have any objections to the idea of OpenLaszlo targetting XUL. But right now, XUL and SVG aren't as widely supported as Flash and DHTML.
Personally, I wish SVG had a chance at becoming as popular as Flash. It would have made a wonderful runtime for OpenLaszlo. But now that Adobe, the main commercial supporter of SVG, has bought Macromedia, I doubt that will ever happen. Anyone from Adobe want to chime in and reiterate their commitment and support for SVG, outline their roadmap for the next version, explain how it's going to be reconciled with Flash, etc? Or is SVG just another bastard stepchild, now that Adobe's main reason to support it (to fight against Flash) is gone?
OpenLaszlo certainly could target XUL eventually, but the demand for and installed base of Flash and DHTML is much larger, so Laszlo Systems decided to put their resources into targeting those platforms first.
Brendan Eich thinks OpenLaszlo supporting XUL would be a great idea, too.
The recent developments for supporting multiple runtimes are intended to make it easier to target XUL and other platforms, and since OpenLaszlo is open source, your contributions towards supporting XUL would certainly be appreciated!
Adobe has unbundled parts of FLEX (in reaction to OpenLaszlo), but it's still not all free, and parts of it are quite expensive, their prices not even announced. How can you claim something's free when Adobe hasn't even announce the price (but we all know it's greater than zero)? Microsoft's.NET Framework SDK is also "free", but not their web server and programming environment, and the source code isn't available.
All parts of OpenLaszlo, including complete source code for the compiler and server, is totally free. The FLEX server isn't. How much does the complete source code to the Flex server and compiler cost to license? What do you have to do, to get svn commit access?
And please address the question you dismissed before, about FLEX locking you into Flash. What other runtimes besides Flash does FLEX support, if it doesn't lock you into Flash? Of course FLEX locks you into Flash.
As long as people on the FLEX team are fact-checking, could you people please correct the mis-impression that FLEX is "*FREE*"? Surely Adobe doesn't want to encourage software piracy of their products. Unbundling the SDK and giving that away under certain conditions, doesn't make the whole system free, like the entire OpenLaszlo system really and totally is. I can download and install the Microsoft.NET Framework SDK for free too, but that doesn't mean I can pirate the entire source code of the Microsoft web server and programming environment without forking over any cash to Microsoft.
Please tell us how much a developer license will cost, and how much a server license will cost? Or are you allowed to disclose just how non-free it really is, at this time?
Also, while I have your attention: Does Adobe have any plans for FLEX to target alternate runtimes than Flash, like DHTML or Avalon?
It's not silly at all -- you're just not thinking out of "Flash -vs- AJAX" box.
The new version of OpenLaszlo IS an AJAX frameword that gives you independence from XMLHTTPRequest, because you can compile your OpenLaszlo programs for DHTML (using XMLHTTPRequest) or Flash (using a different Flash based mechanism to download and process XML). It provides a higher level (and more powerful, easier to use) abstraction than XMLHTTPRequest, instead of exposing the low level implementation details directly.
OpenLaszlo targets multiple runtimes. One of them is Flash. Another of them is DHTML. It will target other runtimes in the future, like Avalon, as they mature. It does not lock you into any of them. It give you independence from them all.
FLEX only targets Flash. The code you write won't be portable to any other runtime platform. FLEX locks you into Flash. It's a simple as that. That limits your choices, and ties you to being dependent on Adobe.
Since the new version of FLEX takes advantage of the latest version of Flash, then why can't I download the latest version of the Flash player for Linux or a Pocket PC or a cell phone? Because Adobe hasn't gotten around to updating those obsolete bastard stepchild versions yet. We're all at their mercy. That's why it's crucial to be able to develop code for open platforms like DHTML, that don't depend on Adobe's release schedule.
"*FREE*" does not mean "free (for non-commercial use only) (sub $1000) (plus an unannounced but high per-server licensing fee)". How much will Adobe charge for the server license? Have they told you, and are you under NDA? Please answer the price question, before claiming it's "*FREE*".
FLEX certainly does lock you into Flash. Why is this so hard for some people to understand? OpenLaszlo will support DHTML as well as other runtimes. OpenLaszlo's runtime-independence is quite an important point. Not everybody wants to run the Flash player, and DHTML is NOT going away, and even Avalon will be rolled out eventually. When will FLEX support DHTML, Avalon, or any other runtime than Flash? Please answer the runtime question, before claiming that FLEX doesn't lock you into Flash.
The immediate goal of the swf9 porting project is to take advantage of the performance improvements in swf9 (AVM2). The swf9 vm is 10x faster for low-level stuff, with types another 2x or so. A secondary goal is to enable access to new features of AVM2, especially where these features are or will also be supported by other runtimes (e.g., regular expressions, E4X support deferred from intial release). It is not a goal of this project to add these new features. For example, it is outside the scope of this project to add regular expressions or E4X to the OpenLaszlo platform. However, this project should leave the platform in a state where it is easier to add these features in a way that has support on at least one swf and one non-swf target.
The OpenLaszlo server is a Java servlet that compiles LZX applications into executable binaries for targeted run-time environments. OpenLaszlo currently targets the Flash Player, versions SWF6, SWF7 and SWF8. The version now in development, code-named "Legals", will also target SWF9 and traditional DHTML as deployment targets by end of 2006.
But of course Flex locks you into Flash! If not, then please tell me what other runtimes does Flex support, besides Flash? Can you compile Flex programs into DHTML that runs in the browser without Flash, the way you can do with the new version of OpenLaszlo? Will Flash ever support Microsoft Avalon, the way Laszlo plans to? Or will it ALWAYS require the Flash player, and directly expose many Flash specific features instead of abstracting them the way OpenLaszlo does?
And how did you make the conceptual leap from "more affordable pricing" to "*FREE*"? There's a world of difference between Adobe offering a free non-commercial evaluation for a product they charge a steep per-developer and per-server license for, and true Free Open Source Software like OpenLaszlo. Can you please tell me what the "big per-CPU price tag" will be, or did Adobe make you sign an NDA before telling you that?
http://labs.adobe.com/technologies/flexbuilder2/
How much will Flex Builder 2.0 cost?
Flex Builder 2.0, which includes a license for the Flex framework, will be licensed on a per seat basis, similar to other integrated development environments. Final pricing is not yet available, but Flex Builder 2.0 will be sold for less than $1000 per developer.
http://www.sitepoint.com/blogs/2005/10/06/flex-20- announced-with-more-affordable-pricing/
While the current version of Flex costs some US$12,000, Flex 2 will cost less than US$1,000 for the basic components described above. Although you're constrained to communicating with the server via XML data transfer and SOAP Web Services, you can certainly implement anything you can do with AJAX and DHTML, only with a richer GUI. What's missing from the package is the server-side component of the Flex framework, which has been split into a separate product for Flex 2: Flex Enterprise Services 2.
Flex Enterprise Services 2 will come with the big per-CPU price tag, but will be significantly upgraded from the server-side facilities provided by Flex 1. The main focus of the enhanced package is the transparent availability of server-side resources (such as database records and enterprise services) within Flex applications.
Oh yeah that's the ticket. I was confused about the XMLHTTPRequest allowing that. Apparently it doesn't let you load XML from different domains, while you CAN load and execute JavaScript from any domain. That's one of the reasons JSON is practical (or subversive).
Isn't it weird that web browsers let you load and execute JavaScript from any domain, but you can't do the same with XML? What's up with that?
There's a major and important difference between Flex and OpenLaszlo: Flex is designed to lock you into Flash, and OpenLaszlo is designed to free you from Flash and enable you to deploy your application on other runtimes like DHTML. Also, OpenLaszlo is true Open Source Software, and FLEX is not. FLEX has some strict licensing restrictions about how you can use it, how you can modify it, and what you can the source code.
Why do you say that Flex 2 applications run much faster? They're both running on the same Flash player. The main overhead is rendering graphics on the screen, followed by interpreting the SWF byte codes. Why should FLEX applications be any faster then OpenLaszlo applications? What do you mean by "the programming model is better"?
Are there any application as complex as Laszlo Mail implemented FLEX? Can you point us to any FLEX applications of similar complexity that we can test drive, and compare the speed for ourselves?
Owch! I restarted apache and mysql, made a static text mirror of the drupal page, and RewriteRuled it into place at the original url: http://www.donhopkins.com/drupal/124
Now maybe you can fetch the article, I hope.
Programming OpenLaszlo compared to writing raw DHTML/JavaScript/AJAX is like the difference between writing assembly language, and writing in a high level language like Python or Lisp.
It saves you a lot of time, and enables you to write and configure reusable components instead of re-inventing the wheel each time.
The "reason" is just "that's the way Flash is, and Macromedia says it has something to do with security". I'm not claiming that it's a good excuse or a well thought out security model. Most browsers will let you fetch XML from other sites with XMLHTTPRequest, and Flash lets you fetch images from other sites but not XML. I can understand restricting executable SWF files, but Flash never actually executes the XML as code, so I never understood why Flash restricts XML but not images.
Of course OpenLaszlo applications compiled for DHTML won't be restricted by Flash's bizarre half-baked security model. Just the browser's bizarre half-baked security model.
Someone wrote: "a lot of the related literature seems to use MVC as the canonical
example of a design pattern"
MVC is the canonical example of the "Cargo Cult" design pattern of
blindly aping Smalltalk without understanding it or considering if there
are any more appropriate design patterns.
I've never heard a good explanation of what a "controller" is really
supposed to do (other than entangle brittle dependencies between the
view and the model, and allow programmers to bill for more hours
maintaining the code). But people always throw in that extra
"controller" class and its requisite complexity, just because Smalltalk
uses them, and it doesn't feel right imitating Smalltalk without the
whole MVC trifecta.
Just because MVC is a commonly used and cited "pattern" doesn't mean
it's the best one to use in all cases. It's better to have a "purpose"
than a "pattern".
If all the messages between the model and the view have to go through
the controller, then it sounds like a bunch of middleware glue to me.
Maybe somebody should write a SWIG-like tool that automatically writes
all your controllers for you, since it sounds like a horrible mess to
have to write and maintain by hand. I prefer the KISS approach of not
using controllers at all.
Given any piece of software, there's always going to be a bunch of
miscellaneous functionality and glue code that doesn't fit into the nice
little boxes envisioned by the designers. With MVC cargo-cult designs,
all that miscellaneous stuff gets thrown into the "Controller" class, so
it's more appropriately called "Model/View/Etcetera".
MVC was originally designed for Smalltalk, which is a dynamic language
with closures, so it just doesn't work as well with static languages
like Java (which eventually had to fake closures with inner classes).
Java programmers end up abusing controllers to make up for deficiencies
in the language that aren't such a big deal in other languages (like
dynamically dispatching named events to methods, persistence, scripting,
and customizing methods and properties of individual objects, etc). They
end up re-inventing little pieces of other languages like Smalltalk,
Lisp and Python, and the poor Controller (Etcetera) ends up being where
they dump all that glue code that would otherwise be built into the
programming language and framework.
-Don
Smalltalk was successful for the same reason the Lisp Machines
(including MIT's CADR, Symbolics' Genera, TI's Exploder, Xerox's
Interlisp-D) were successful: they had a rich, wonderful, interactive
programming environments, which supported exploratory programming, and
let you examine, modify and debug the entire state of the system, from
the user interface all the way down to the file system and networking.
Smalltalk was also successful in that it inspired and influenced a lot
of other important languages like Self, which led to the Java hotspot
compiler:
http://research.sun.com/features/tenyears/volcd/pa pers/ungar.htm
The Eclipse platform was heavily influenced by IBM's extensive work on
Smalltalk, and it shows. Sun's doing themselves a lot of self-inflicted
damage by boycotting Eclipse, not because it sucks or they have anything
that can touch it, but simply because they can't take the joke about its
name. (But that's how IBM planned it -- who said a big blue corporation
couldn't have a sense of humor?)
If you don't want your daughter to expect people to take care of her, buy her anything she wants, come to her rescue so she doesn't have to take care of her own problems, and give in to her every demand, then why are you raising her as a pink Disney princess? She's going to have some harsh reality to face when she gets out in the real world, pumped up full of the unrealistic expectations and bullshit that you're buying her at the Disney store. Or are you just raising her as a princess to look beautiful and act in a demure manner, in the hopes that some rich old fart marries her and gives her everything she needs, so she doesn't have to work?
This from the guy who's raising his little girl to be a pink princess.
Loving your child doesn't just mean buying her everything she demands. That's the way to raise a little spoiled brat, who's going to have a hard time in later life finding a good job as a princess.
Speaking of Flash, I'm still waiting for you to answer the question about why you claim FLEX does not lock you into Flash. What's your definition of "vendor lock-in", and why do you claim that FLEX isn't a textbook example?
-Don
Here is the definition of "Vendor lock-in" from wikipedia:
Now, please explain how FLEX is not a classic textbook case of vendor lock-in. Do you have a substantially different definition of it than wikipedia? If so, please share your definition, and tell us what you think it would take to qualify as vendor lock-in, why you think FLEX doesn't qualify, and name a better example that does qualify. Your first post in this thread claimed that it was not, but offered absolutely no support for that statement. Here's what you said:
The sentence you wrote following your denial does not support your false denial of the obvious fact that FLEX certainly does lock you into Flash.
If you can tell me which other platforms FLEX supports besides Flash, then that will support your argument, but as far as I have ever heard, FLEX is Flash-only. But I'd love to be surprized by something you know that Adobe hasn't announced, so please enlighten me!
You can also call me a troll if you like, but if you can't answer this simple question, then you're the troll, and you're just running away from an argument you know you can't win.
-Don
You haven't addressed ("killed") the point about FLEX locking you into Flash. Your first post just said it didn't, but that doesn't mean it does, because you couldn't support that point. If FLEX doesn't lock you into Flash, then what other runtimes does FLEX support than Flash? In what way is it indepent of Flash? That's a simple enough question to answer, isn't it?
-Don
Cooqy is an OpenLaszlo eBay interface, which make efficient use of bandwidth, so you can use eBay over a 56k modem. They report that it reduces network traffic by 50x, and it's 2x to 10x faster to use than the html based eBay interface:h tm
http://www.prweb.com/releases/2006/3/prweb356237.
It's got a lot of other nice features like mapping, a photo magnifier, tagging, and an advanced search interface, with a trippy lava-lite-esque color selection interface (in case you want to search for purple lava lites).
-Don
Actually, several of the people who work on OpenLaszlo used to work on Director, Flash and FLEX, and have quite a lot of insight into those technologies. But they like OpenLaszlo better, so now they work for Laszlo Systems instead of Adobe. That's voting with your feet! I like OpenLaszlo because it's a tastefully well designed, full featured, modern programming language, since some of the OpenLaszlo architects used to work on real programming languages like Dylan and Common Lisp, and have lots of perspective and experience designing and implementing programming languages.
-Don
FYI, FLEX is actually a proprietary knock-off of OpenLaszlo, which was designed and published before FLEX. OpenLaszlo inspired FLEX, and FLEX is a reaction to OpenLaszlo, not the other way around. But FLEX completely (and purposefully) misses one of the most important points of OpenLaszlo, which is to provide INDEPENDENCE from Flash, and to target other runtimes than Flash, like DHTML/AJAX and Avalon.
Apparently, some Adobe employees and their loyal customers are having a hard time getting their heads around that essential point: FLEX is designed from the ground up to lock you into Flash, and OpenLaszlo is designed from the ground up to be independent of Flash.
What's Adobe's story about supporting DHTML, Avalon, XUL or SVG with FLEX? There is none. They won't.
-Don
Sorry -- I misinterpreted what Brendan was saying: he thought it would be a good idea to modify the Eclipse OpenLaszlo IDE to support XUL directly. Although I don't think he'd have any objections to the idea of OpenLaszlo targetting XUL. But right now, XUL and SVG aren't as widely supported as Flash and DHTML.
Personally, I wish SVG had a chance at becoming as popular as Flash. It would have made a wonderful runtime for OpenLaszlo. But now that Adobe, the main commercial supporter of SVG, has bought Macromedia, I doubt that will ever happen. Anyone from Adobe want to chime in and reiterate their commitment and support for SVG, outline their roadmap for the next version, explain how it's going to be reconciled with Flash, etc? Or is SVG just another bastard stepchild, now that Adobe's main reason to support it (to fight against Flash) is gone?
-Don
OpenLaszlo certainly could target XUL eventually, but the demand for and installed base of Flash and DHTML is much larger, so Laszlo Systems decided to put their resources into targeting those platforms first.
Brendan Eich thinks OpenLaszlo supporting XUL would be a great idea, too. The recent developments for supporting multiple runtimes are intended to make it easier to target XUL and other platforms, and since OpenLaszlo is open source, your contributions towards supporting XUL would certainly be appreciated!
-Don
And I suppose you prefer the almost-but-not-quite-entirely-unlike-XML based syntax of Cold Fusion?
-Don
Adobe has unbundled parts of FLEX (in reaction to OpenLaszlo), but it's still not all free, and parts of it are quite expensive, their prices not even announced. How can you claim something's free when Adobe hasn't even announce the price (but we all know it's greater than zero)? Microsoft's .NET Framework SDK is also "free", but not their web server and programming environment, and the source code isn't available.
All parts of OpenLaszlo, including complete source code for the compiler and server, is totally free. The FLEX server isn't. How much does the complete source code to the Flex server and compiler cost to license? What do you have to do, to get svn commit access?
And please address the question you dismissed before, about FLEX locking you into Flash. What other runtimes besides Flash does FLEX support, if it doesn't lock you into Flash? Of course FLEX locks you into Flash.
-Don
As long as people on the FLEX team are fact-checking, could you people please correct the mis-impression that FLEX is "*FREE*"? Surely Adobe doesn't want to encourage software piracy of their products. Unbundling the SDK and giving that away under certain conditions, doesn't make the whole system free, like the entire OpenLaszlo system really and totally is. I can download and install the Microsoft .NET Framework SDK for free too, but that doesn't mean I can pirate the entire source code of the Microsoft web server and programming environment without forking over any cash to Microsoft.
Please tell us how much a developer license will cost, and how much a server license will cost? Or are you allowed to disclose just how non-free it really is, at this time?
Also, while I have your attention: Does Adobe have any plans for FLEX to target alternate runtimes than Flash, like DHTML or Avalon?
-Don
It's not silly at all -- you're just not thinking out of "Flash -vs- AJAX" box. The new version of OpenLaszlo IS an AJAX frameword that gives you independence from XMLHTTPRequest, because you can compile your OpenLaszlo programs for DHTML (using XMLHTTPRequest) or Flash (using a different Flash based mechanism to download and process XML). It provides a higher level (and more powerful, easier to use) abstraction than XMLHTTPRequest, instead of exposing the low level implementation details directly.
OpenLaszlo targets multiple runtimes. One of them is Flash. Another of them is DHTML. It will target other runtimes in the future, like Avalon, as they mature. It does not lock you into any of them. It give you independence from them all.
FLEX only targets Flash. The code you write won't be portable to any other runtime platform. FLEX locks you into Flash. It's a simple as that. That limits your choices, and ties you to being dependent on Adobe.
Since the new version of FLEX takes advantage of the latest version of Flash, then why can't I download the latest version of the Flash player for Linux or a Pocket PC or a cell phone? Because Adobe hasn't gotten around to updating those obsolete bastard stepchild versions yet. We're all at their mercy. That's why it's crucial to be able to develop code for open platforms like DHTML, that don't depend on Adobe's release schedule.
-Don
"*FREE*" does not mean "free (for non-commercial use only) (sub $1000) (plus an unannounced but high per-server licensing fee)". How much will Adobe charge for the server license? Have they told you, and are you under NDA? Please answer the price question, before claiming it's "*FREE*".
FLEX certainly does lock you into Flash. Why is this so hard for some people to understand? OpenLaszlo will support DHTML as well as other runtimes. OpenLaszlo's runtime-independence is quite an important point. Not everybody wants to run the Flash player, and DHTML is NOT going away, and even Avalon will be rolled out eventually. When will FLEX support DHTML, Avalon, or any other runtime than Flash? Please answer the runtime question, before claiming that FLEX doesn't lock you into Flash.
-Don
The OpenLaszlo compiler is being rewritten to support the more efficient Flash 9 runtime, as well as other runtimes like DHTML/AJAX:
http://en.wikipedia.org/wiki/OpenLaszlohttp://wiki.openlaszlo.org/Legals_Project
http://wiki.openlaszlo.org/Legals_Project_Plan
But of course Flex locks you into Flash! If not, then please tell me what other runtimes does Flex support, besides Flash? Can you compile Flex programs into DHTML that runs in the browser without Flash, the way you can do with the new version of OpenLaszlo? Will Flash ever support Microsoft Avalon, the way Laszlo plans to? Or will it ALWAYS require the Flash player, and directly expose many Flash specific features instead of abstracting them the way OpenLaszlo does?
And how did you make the conceptual leap from "more affordable pricing" to "*FREE*"? There's a world of difference between Adobe offering a free non-commercial evaluation for a product they charge a steep per-developer and per-server license for, and true Free Open Source Software like OpenLaszlo. Can you please tell me what the "big per-CPU price tag" will be, or did Adobe make you sign an NDA before telling you that?
http://labs.adobe.com/technologies/flexbuilder2/
How much will Flex Builder 2.0 cost?
Flex Builder 2.0, which includes a license for the Flex framework, will be licensed on a per seat basis, similar to other integrated development environments. Final pricing is not yet available, but Flex Builder 2.0 will be sold for less than $1000 per developer.
http://www.sitepoint.com/blogs/2005/10/06/flex-20- announced-with-more-affordable-pricing/
While the current version of Flex costs some US$12,000, Flex 2 will cost less than US$1,000 for the basic components described above. Although you're constrained to communicating with the server via XML data transfer and SOAP Web Services, you can certainly implement anything you can do with AJAX and DHTML, only with a richer GUI. What's missing from the package is the server-side component of the Flex framework, which has been split into a separate product for Flex 2: Flex Enterprise Services 2.
Flex Enterprise Services 2 will come with the big per-CPU price tag, but will be significantly upgraded from the server-side facilities provided by Flex 1. The main focus of the enhanced package is the transparent availability of server-side resources (such as database records and enterprise services) within Flex applications.
-Don
Oh yeah that's the ticket. I was confused about the XMLHTTPRequest allowing that. Apparently it doesn't let you load XML from different domains, while you CAN load and execute JavaScript from any domain. That's one of the reasons JSON is practical (or subversive).
Isn't it weird that web browsers let you load and execute JavaScript from any domain, but you can't do the same with XML? What's up with that?
-Don
There's a major and important difference between Flex and OpenLaszlo: Flex is designed to lock you into Flash, and OpenLaszlo is designed to free you from Flash and enable you to deploy your application on other runtimes like DHTML. Also, OpenLaszlo is true Open Source Software, and FLEX is not. FLEX has some strict licensing restrictions about how you can use it, how you can modify it, and what you can the source code.
Why do you say that Flex 2 applications run much faster? They're both running on the same Flash player. The main overhead is rendering graphics on the screen, followed by interpreting the SWF byte codes. Why should FLEX applications be any faster then OpenLaszlo applications? What do you mean by "the programming model is better"?
Are there any application as complex as Laszlo Mail implemented FLEX? Can you point us to any FLEX applications of similar complexity that we can test drive, and compare the speed for ourselves?
-Don
Owch! I restarted apache and mysql, made a static text mirror of the drupal page, and RewriteRuled it into place at the original url: http://www.donhopkins.com/drupal/124 Now maybe you can fetch the article, I hope.
Sorry about the embarassing Dru Paux.
-Don
Sorry for the backwards metaphore. I meant OpenLaszlo is to raw DHTML/JavaScript/AJAX as Lisp/Python/etc are to Assembly Language.
-Don
Programming OpenLaszlo compared to writing raw DHTML/JavaScript/AJAX is like the difference between writing assembly language, and writing in a high level language like Python or Lisp.
It saves you a lot of time, and enables you to write and configure reusable components instead of re-inventing the wheel each time.
-Don
The "reason" is just "that's the way Flash is, and Macromedia says it has something to do with security". I'm not claiming that it's a good excuse or a well thought out security model. Most browsers will let you fetch XML from other sites with XMLHTTPRequest, and Flash lets you fetch images from other sites but not XML. I can understand restricting executable SWF files, but Flash never actually executes the XML as code, so I never understood why Flash restricts XML but not images.
Of course OpenLaszlo applications compiled for DHTML won't be restricted by Flash's bizarre half-baked security model. Just the browser's bizarre half-baked security model.
-Don
From a discussion on BayPiggies about MVC:
Someone wrote: "a lot of the related literature seems to use MVC as the canonical example of a design pattern"
MVC is the canonical example of the "Cargo Cult" design pattern of blindly aping Smalltalk without understanding it or considering if there are any more appropriate design patterns.
http://en.wikipedia.org/wiki/Cargo_cult
I've never heard a good explanation of what a "controller" is really supposed to do (other than entangle brittle dependencies between the view and the model, and allow programmers to bill for more hours maintaining the code). But people always throw in that extra "controller" class and its requisite complexity, just because Smalltalk uses them, and it doesn't feel right imitating Smalltalk without the whole MVC trifecta.
Just because MVC is a commonly used and cited "pattern" doesn't mean it's the best one to use in all cases. It's better to have a "purpose" than a "pattern".
http://osteele.com/archives/2003/08/rethinking-mvc
-Don
If all the messages between the model and the view have to go through the controller, then it sounds like a bunch of middleware glue to me. Maybe somebody should write a SWIG-like tool that automatically writes all your controllers for you, since it sounds like a horrible mess to have to write and maintain by hand. I prefer the KISS approach of not using controllers at all. Given any piece of software, there's always going to be a bunch of miscellaneous functionality and glue code that doesn't fit into the nice little boxes envisioned by the designers. With MVC cargo-cult designs, all that miscellaneous stuff gets thrown into the "Controller" class, so it's more appropriately called "Model/View/Etcetera".
MVC was originally designed for Smalltalk, which is a dynamic language with closures, so it just doesn't work as well with static languages like Java (which eventually had to fake closures with inner classes). Java programmers end up abusing controllers to make up for deficiencies in the language that aren't such a big deal in other languages (like dynamically dispatching named events to methods, persistence, scripting, and customizing methods and properties of individual objects, etc). They end up re-inventing little pieces of other languages like Smalltalk, Lisp and Python, and the poor Controller (Etcetera) ends up being where they dump all that glue code that would otherwise be built into the programming language and framework.
-Don
Smalltalk was successful for the same reason the Lisp Machines (including MIT's CADR, Symbolics' Genera, TI's Exploder, Xerox's Interlisp-D) were successful: they had a rich, wonderful, interactive programming environments, which supported exploratory programming, and let you examine, modify and debug the entire state of the system, from the user interface all the way down to the file system and networking. Smalltalk was also successful in that it inspired and influenced a lot of other important languages like Self, which led to the Java hotspot compiler: http://research.sun.com/features/tenyears/volcd/pa pers/ungar.htm
The Eclipse platform was heavily influenced by IBM's extensive work on Smalltalk, and it shows. Sun's doing themselves a lot of self-inflicted damage by boycotting Eclipse, not because it sucks or they have anything that can touch it, but simply because they can't take the joke about its name. (But that's how IBM planned it -- who said a big blue corporation couldn't have a sense of humor?)
More on the "Cargo Cult" design pattern: http://www.softpanorama.org/SE/anti_oo.shtml
-Don
The complexity comes from King Solomon's solution of dissecting the input ha
Congress just passed a law that makes it illegal to get brain tumors from cell phones. Problem solved.
-Don
Definitely John Lithgow as Lord John Whorfin aka Dr. Emilio Lizardo! It takes a dedicated mad scientist to attack aligator clips to his own tongue.
http://www.fortunecity.com/tattooine/gernsback/207 /front5a.jpg
-Don
If you don't want your daughter to expect people to take care of her, buy her anything she wants, come to her rescue so she doesn't have to take care of her own problems, and give in to her every demand, then why are you raising her as a pink Disney princess? She's going to have some harsh reality to face when she gets out in the real world, pumped up full of the unrealistic expectations and bullshit that you're buying her at the Disney store. Or are you just raising her as a princess to look beautiful and act in a demure manner, in the hopes that some rich old fart marries her and gives her everything she needs, so she doesn't have to work?
-Don
This from the guy who's raising his little girl to be a pink princess. Loving your child doesn't just mean buying her everything she demands. That's the way to raise a little spoiled brat, who's going to have a hard time in later life finding a good job as a princess.
-Don