"If you have some old HyperCard stacks lying around on floppy disks that you can't read because you either don't have a computer with a floppy drive, then we'll gladly do our best to import them on our vintage hardware here in CodeFlare labs."
...just send your floppies in appropriate packaging to...
Their mailing address is in the FAQ for anyone who wants to give it a shot.
It's been clear to me for years now that M$ is on a major b-line for the tank. For a perfect example of WHY, you just need to try and signup for the beta of Live Mesh. I'm not kidding when I'm telling you that I had to go through 10-15 web forms, including a click-through email confirmation... just to be given the privilege to get on the waiting list! And thats with already having an MSN / Live ID.
I'm not sure what Balmer and those guys are thinking with Live Mesh and a number of there other stupid moves lately *cough* Yahoo *cough*. But it's clear to me that they suffer from the classic issue of brand dilution. I mean seriously... they need to cut about 50% of the B.S. initiatives that they have and refocus on their core.... otherwise, they are as good as gone in the next 5yrs.
Well, there are a lot of reasons why Java Applets failed, but the main factor in my opinion was the lack of any sensible deployment methodology for the JVM. If you want to have any chance at getting a plug-in to be available ubiquitously, it has to install quickly and in a nearly seamless fashion. I'm sorry, but a 5MB download (now it's close to 15MB) in the days when 56K modems were just becoming the 'in' thing, is completely unreasonable. And to make matters worse, they required the end user to install the runtime environment on their own and to keep up to date on bug fixes and the like. Then after a user got the whole thing working right, they were confronted with a sub standard AWT user interface that offered hardly anything more then what a web page form offered.
Although focused on a somewhat different goal at the time, Flash succeeded in mass adoption because it handled most of those ugly details automatically and for around a half meg, you actually got something visually unique. Flash focused on a specific goal and they did it very well, whereas Java has always tried to be everything to everyone and as a result it's done many things no better than average. With that said, I think the language itself as a whole is still quite viable, especially in the server space like the prior poster mentions. It's just not considered to be the 'cool' language like it used to be.
I also agree with the prior posters statement that when you look at what powers the back-end of many web applications, especially enterprise applications, you'll find the Java platform running a large number of them... or it's evil clone *cough* C# +.NET *cough*;)
DISCLAIMER:I am the lead architect of the ThinWire RIA Ajax framework, therefore proceed with your filters on if you wish;-)
I think you have that backwards. For anything but the most trivial of Ajax programming, you should use an existing framework. Trivial examples fall into what the Gartner group classifies as "Ajax Snippets" http://www.adtmag.com/article.aspx?id=17953, which are simply quick hacks onto an existing web applications. And really, if you're adding a lot of snippets to your existing web application you should still use something like Prototype http://prototype.conio.net/.
Sure, the basics of XMLHttpRequest (XHR) are straight forward and can be mastered by anyone. And sure, you can hack the DOM or DHTML old school style... but you really should ask yourself one question... why? There are so many good Ajax toolkits and frameworks that you really shouldn't concern yourself with low-level stuff like that. Additionally, truely rich internet applications (RIA) require a lot more than just basic snippets. I'm not a big fan of Gartner one way or another, but I do find thier classification levels helpful. For those who aren't familiar with them, here they are:
Snippets - Enhancing existing web applications (Slashdot; other tech site that I shall not mention)
Widgets - Snippets + UI Components such as Tree & Grid (IBM Online Help; Yahoo UI Widgets; Backbase)
Specialized Framework - Single purpose, mostly client-side logic (Gmail; Google Maps; Yahoo Mail, Tibco GI)
RIA Framework - General purpose, tightly coupled client & server side architecture (ThinWire http://www.thinwire.com/, Echo2)
IMHO, category 1 & 2 should be used for enhancing existing applications that cannot be replaced outright. Category 3 should be reserved for those building a consumer portal that must have a totally unique look & feel, and even in that case using something lightweight like prototype should be your starting point. And category 4 frameworks should be used for all new enterprise application development.
Check out the following to get a feel of what an RIA application is like:
Actually they seem to be willing to help people out who don't have 3.5 floppies any more. Per their FAQ "Is there anything I can do with stacks I have on old floppy disks?"
...just send your floppies in appropriate packaging to...
"If you have some old HyperCard stacks lying around on floppy disks that you can't read because you either don't have a computer with a floppy drive, then we'll gladly do our best to import them on our vintage hardware here in CodeFlare labs."
Their mailing address is in the FAQ for anyone who wants to give it a shot.
It's been clear to me for years now that M$ is on a major b-line for the tank. For a perfect example of WHY, you just need to try and signup for the beta of Live Mesh. I'm not kidding when I'm telling you that I had to go through 10-15 web forms, including a click-through email confirmation... just to be given the privilege to get on the waiting list! And thats with already having an MSN / Live ID. I'm not sure what Balmer and those guys are thinking with Live Mesh and a number of there other stupid moves lately *cough* Yahoo *cough*. But it's clear to me that they suffer from the classic issue of brand dilution. I mean seriously... they need to cut about 50% of the B.S. initiatives that they have and refocus on their core.... otherwise, they are as good as gone in the next 5yrs.
Agreed... shameless plug here... but you might give ThinWire a try instead.
Well, there are a lot of reasons why Java Applets failed, but the main factor in my opinion was the lack of any sensible deployment methodology for the JVM. If you want to have any chance at getting a plug-in to be available ubiquitously, it has to install quickly and in a nearly seamless fashion. I'm sorry, but a 5MB download (now it's close to 15MB) in the days when 56K modems were just becoming the 'in' thing, is completely unreasonable. And to make matters worse, they required the end user to install the runtime environment on their own and to keep up to date on bug fixes and the like. Then after a user got the whole thing working right, they were confronted with a sub standard AWT user interface that offered hardly anything more then what a web page form offered.
.NET *cough* ;)
Although focused on a somewhat different goal at the time, Flash succeeded in mass adoption because it handled most of those ugly details automatically and for around a half meg, you actually got something visually unique. Flash focused on a specific goal and they did it very well, whereas Java has always tried to be everything to everyone and as a result it's done many things no better than average. With that said, I think the language itself as a whole is still quite viable, especially in the server space like the prior poster mentions. It's just not considered to be the 'cool' language like it used to be.
I also agree with the prior posters statement that when you look at what powers the back-end of many web applications, especially enterprise applications, you'll find the Java platform running a large number of them... or it's evil clone *cough* C# +
-Joshua Gertzen
ThinWire Ajax Framework: http://www.thinwire.com/
I think you have that backwards. For anything but the most trivial of Ajax programming, you should use an existing framework. Trivial examples fall into what the Gartner group classifies as "Ajax Snippets" http://www.adtmag.com/article.aspx?id=17953, which are simply quick hacks onto an existing web applications. And really, if you're adding a lot of snippets to your existing web application you should still use something like Prototype http://prototype.conio.net/.
Sure, the basics of XMLHttpRequest (XHR) are straight forward and can be mastered by anyone. And sure, you can hack the DOM or DHTML old school style... but you really should ask yourself one question... why? There are so many good Ajax toolkits and frameworks that you really shouldn't concern yourself with low-level stuff like that. Additionally, truely rich internet applications (RIA) require a lot more than just basic snippets. I'm not a big fan of Gartner one way or another, but I do find thier classification levels helpful. For those who aren't familiar with them, here they are:
- Snippets - Enhancing existing web applications (Slashdot; other tech site that I shall not mention)
- Widgets - Snippets + UI Components such as Tree & Grid (IBM Online Help; Yahoo UI Widgets; Backbase)
- Specialized Framework - Single purpose, mostly client-side logic (Gmail; Google Maps; Yahoo Mail, Tibco GI)
- RIA Framework - General purpose, tightly coupled client & server side architecture (ThinWire http://www.thinwire.com/, Echo2)
IMHO, category 1 & 2 should be used for enhancing existing applications that cannot be replaced outright. Category 3 should be reserved for those building a consumer portal that must have a totally unique look & feel, and even in that case using something lightweight like prototype should be your starting point. And category 4 frameworks should be used for all new enterprise application development.Check out the following to get a feel of what an RIA application is like:
- ThinWire Playground Demo http://207.200.22.70:8086/playground/
- ThinWire FormCreator Early Access http://207.200.22.70:8086/fc_beta/
- ThinWire Mail http://207.200.22.70:8086/mail/
-Josh <G>