Slashdot Mirror


Ajax Is the Buzz of Silicon Valley

Carl Bialik from the WSJ writes "Ajax, or 'Asynchronous JavaScript and XML,' is allowing webpages to update as quickly as desktop software, powering applications like Google Maps and attracting money from Silicon Valley investors, including for a collaboration-software company called Zimbra. The Wall Street Journal reports: 'Zimbra's chief executive, Satish Dhamaraj, says that when he started his company in December 2003, "I really thought that Ajax was just a bathroom cleaner." Now his San Mateo, Calif., business has amassed $16 million in funding from venture-capital firms including Accel Partners, Redpoint Ventures and Benchmark Capital, the firm that famously funded eBay Inc. Peter Fenton, an Accel partner, says Ajax "has the chance to change the face of how we look at Web applications" and could boost technology spending by corporations, because Ajax is also being used to develop software for big companies, not just for consumers.'"

36 of 336 comments (clear)

  1. Thought that Ajax was just a bathroom cleaner by Anonymous Coward · · Score: 5, Funny

    No, Ajax is also an excuse for ad placement.

  2. So, nitpicking... by Dirtside · · Score: 4, Informative

    Shouldn't it be AJAX, not Ajax? Ajax is the Greek warrior.

    --
    "Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
    1. Re:So, nitpicking... by phalse+phace · · Score: 4, Interesting
      "Ajax is the Greek warrior"

      Hmm... That's pretty interesting

    2. Re:So, nitpicking... by Overly+Critical+Guy · · Score: 4, Insightful

      It should be DHTML. DHTML, goddammit! Dynamic HTML! Just call it a dynamic web page!

      "AJAX" is so irritating and non-descriptive. It should be clumped with other turds of terminology, like "blog," and ceremoniously flushed down the toilet bowl of language integrity to rid of us these awful, awful buzzwords that make people think they're suddenly technology masters. "OMG I'M USING AJAX D00D BECAUSE OF MY LITTLE SCRIPT TAG SNIPPET, LETS START AN AJAX COMPANY."

      No, why don't you shut the fuck up and get out of my Internet!

      Sorry...it's been a shitty day, and seeing the word "AJAX" on the front page of Slashdot yet again was the final straw. Rawr.

      --
      "Sufferin' succotash."
    3. Re:So, nitpicking... by pete6677 · · Score: 4, Insightful

      I never thought DHTML was a very descriptive term either. Web pages can be made dynamic in several different ways. It seems like DHTML is usually used to describe JavaScript combined with CSS, but some people used it to describe server side stuff too. The problem with technical jargon is that it gets bastardized by marketing-speak.

    4. Re:So, nitpicking... by LDoggg_ · · Score: 3, Informative

      I've never used XML. Rather, we should just be referring to the general sense of using either XMLHttpRequest/Iframes as "Ajax" to keep things simple for consumers.

      IFrames are not required for AJAX.

      All you need to do is have an xmlhttprequest object called by whatever event you like, it can then take the response and then somehow (usally div tag) change the contents of a web page. That's it.
      The use of Iframes is 100% optional.

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    5. Re:So, nitpicking... by LDoggg_ · · Score: 3, Informative

      The phrase "Dynamic HTML" pretty much sums up what AJAX is, which is nothing more than using Javascript to make server requests and modify the DOM. It's so annoying that for some reason, the press is acting like this is a new technology.

      The interesting part is the first "A" in AJAX, its asynchronus meaning it doesn't require a comlete page refresh to retrieve data not already contained in a web page.
      This isn't new, its been around since IE 5.0. What's new is that browsers other than IE support xmlhttprequest object now. This has enabled companies like google to use the technology, thus creating a buzz.

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    6. Re:So, nitpicking... by ergo98 · · Score: 3, Interesting

      With most of the tasks that I've found a use for "AJAX" I've never used XML. Rather, we should just be referring to the general sense of using either XMLHttpRequest/Iframes as "Ajax" to keep things simple for consumers.

      Which is why the term is meaningless drivel.

    7. Re:So, nitpicking... by LDoggg_ · · Score: 3, Insightful

      Why is it taking off where Java applets attempted similar things 10 years ago with great hooplah, and never really caught on?

      Simple.
      Its taking off because firefox can do it without any extra plugins.

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
    8. Re:So, nitpicking... by kin_korn_karn · · Score: 3, Informative

      and no system-killing JVM startup. That's what I hated about applets.

    9. Re:So, nitpicking... by ergo98 · · Score: 3, Informative

      The use of Iframes is 100% optional.

      ? The parent poster was giving those two options as alternatives, not as a combination. e.g. if you can't use xmlhttprequest, then you use a hidden iframe to do the background transfers.

    10. Re:So, nitpicking... by LDoggg_ · · Score: 3, Informative

      When I first started using it I tried out several different helper libraries, but found that it all basically just came down to something really easy like this (with better formatting, of course):

      var xmlHttpRequest;
      function xmlRequest(url)
      {
      if (window.XMLHttpRequest) {
      xmlHttpRequest = new XMLHttpRequest(); } else {
      xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
      }
      if (xmlHttpRequest) {
      xmlHttpRequest.onreadystatechange = _processXmlResponse;
      xmlHttpRequest.open("GET", url, true);
      if (window.XMLHttpRequest) {
      xmlHttpRequest.send(null);
      } else {
      xmlHttpRequest.send();
      }
      }
      }

      Do the work with the results something like this:

      function _processXmlResponse()
      {
      if (xmlHttpRequest.readyState == 4) {
      if (xmlHttpRequest.status == 200) {
      //do stuff with xmlHttpRequest.responseXML.documentElement
      } else {
      // do error handling
      }
      }
      }


      YMMV but this generally worked on my target browsers.

      BTW, nice site.
      One suggestion when you hit the (+) to open an item it should turn into a (-) to close it from the same place.

      --

      "If they have both, tell them we use Linux. And if they have that, tell them the computers are down." -Dave Chapelle
  3. Obligatory Link by frostman · · Score: 5, Funny

    Web Two Point Oh

    Get your AJAX-enabled startup right there!

    --

    This Like That - fun with words!

  4. JIT by El_Muerte_TDS · · Score: 5, Funny

    It has been almost a week without an AJAX story on the frontpage, it almost became something only old people in Korea use.

  5. AJAX is just an acculmulation of failures by Anonymous Coward · · Score: 4, Insightful

    Seriously you build upon the failures that DHTML, HTML, Javascript, XML, XMLHTTRequest and you form a system which requires at least a 1 ghz processor just run a very simple GUI.

    There is nothing special about this other than the incredible amount of sheer dependencies that exist. You cross browser incompatibilities you have inexact everything. This is not a good solution people.

    This is also a good example of how bad Java and Sun has failed. If Sun would've opened up Java, let people distribute it, as well as from day 1 enabled easy RMI over HTTP we wouldn't be up to our necks in a horrible mixture of presentation logic and business logic.

    So here we are, requiring gargantuan browser which are brought to a halt with this AJAX technology when we had many other technologies which did so much better but failed for various other reasons.

    JUST BECAUSE AJAX NOW FINALLY WORKS DOESN'T MEAN IT IS A GOOD SOLUTION.

  6. So what? by pestilence669 · · Score: 5, Insightful

    I've been doing AJAX for three years... before that we called it "remote scripting."

    This is nothing new. Calling AJAX "new" is like calling email "new", when it's over 25 years old... AJAX-like techniques being about eight years old.

    I'd have written more cool "AJAX" interfaces if only my damn managers knew what in the hell I was talking about back then.

    1. Re:So what? by chris_mahan · · Score: 4, Interesting

      Same here. I've had "ajax" apps out there since 2001. Almost all sites I work on I put that in. I also almost always either return an xhtml fragment and do the innerHTML dance or use js xmlrpc to connect to the server's api and use js to update the ui. But it's a kludge, really.

      I use it as little as possible, and only when I absoluly have no other choice.

      I never tell the managers I use this. They think using replacing nulls with zeros on integer fields is acceptable in a data warehouse environment. Eh, the hackish workaround I've had to implement!!!

      In any case, if you really want to go crazy, then build a light xmlrp server in python to act as a bridge, then py2exe it (if you so desire) and run it on the client. Then have a local html+js call it via localhost:someport and it will go out and get the data out on the intarweb. Presto. You've just eliminated the central server. Expose everything as a xmlrpc services, and have only a static web server, with ONE html file. Save to desktop, run, and get the full intarweb, with no cross-domain limit.

      And the python bridge can be custmized to do whatever (use Twisted? SOAP, encryption, whatever) and make it generic enough to be completely reuseable.

      Beyond Ajax!

      --

      "Piter, too, is dead."

  7. Desktop.com by _flan · · Score: 3, Informative

    Desktop.com had this stuff in 1999, but unfortunately the browsers of the day (IE4 and Netscape 4) weren't really capable of staying up long enough to make it worthwhile. There was even a company that had a nice little web-based spreahsheet app.

    Still, I haven't seen a good, platform-independant, integrated sever- and client-side solution yet. Back at Desktop in was *all* client side except the actual persistence of objects so it wasn't really an issue.

    Ah, well.

  8. Tired of hearing of it by Mancat · · Score: 5, Funny

    Ajax has got to be the biggest buzzword of the year. Thank god nobody has figured out how to use Ajax to enable the community and synergize their collaborative efforts towards successification.

    --
    hello dear sirs my name is jamesh i are india (bihar) can u guide me install red had linux 9?
  9. AJAX: Beyond The Hype by WombatControl · · Score: 5, Insightful

    AJAX is just buzz. Yes, it's a great tool for making better use of the web. Yes, it's relatively simple. Yes, it's flashy.

    But it's still just a tool - and it can be used for good (see any of 37signal's apps) or evil (sites that use AJAX for navigation and break the back/forwards buttons). It won't make a badly designed web app better - in fact, incorrectly used, it can make things worse.

    The Web 2.0 is about more than just flashy technologies like AJAX: it's about open architectures, semantic code, separation of content, presentation, and now behavior, and better user experiences. AJAX can enable any of those, but it can also destroy any of those. In fact, it's probably made web designers lives harder: now designers need to be familiar with separating not only content from presentation, but behavior from content and presentation as well. That can be very tricky, and it's tempting just to slap on some onclick handlers to your links rather than using the DOM and separating behavior from content. Furthermore, it's very tempting to have AJAX-enabled sites to that don't gracefully degrade in browsers without JavaScript - which defeats the point of the accessible web.

    AJAX is a great technique, but it's not a panacea, and it's not a replacement for sound design and UI architecture.

  10. OMFG! by TrappedByMyself · · Score: 4, Funny

    Ajax, or 'Asynchronous JavaScript and XML,' is allowing webpages to update as quickly as desktop software

    Wow, and with the XML you can make it automatically talk to any system!!!!
    e-Business has reached a new plateau! Synergy abounds! Am I e-dreaming or what! Woohoo!!

    --

    Help me take back Slashdot. When did 'News for Nerds' become 'FUD and Conspiracy Theories for Extremist Nutjobs'?
  11. I should be working on an AJAX app right now by amichalo · · Score: 4, Interesting

    Though I'm reading /. I should be working on my AJAX app for medical billing. AJAX allows us to send the structure of a complex billing system to the client, then update the data at the speed of clientside Javascript. Even allows us to pull scanned medical images ina fraction of the time it used to take because we are only loading the image selected, not all the thumbnails and other wrapper data.

    But I don't get why Google Maps gets the credit for this. Microsoft (yuck!) developed this concept for web based Outlook years ago, and it has been implemented by many smaller developers since then.

    Perhaps all this press will get Javascript behaving between browsers and platforms. That is the worst part of AJAX coding!!!

    --
    I only came here to do two things; kick some ass, and drink some beer...looks like we're almost out of beer.
  12. IP? by TopSpin · · Score: 3, Insightful

    This will be a case study in IP law. How many patents will appear covering each and every aspect of Ajax as developers reinvent techniques long since commonplace in pre-web software? I'm usually not pessimistic but given recent evidence (Blackberry, Eolas, etc) it's pretty clear that patenting trivial techniques, regardless of prior art, is effective.

    How will a new platform emerge when its components are owned by multiple licensors? The answer is obvious; Microsoft (or Google, Canopy, etc) will buy them all and own the whole enchilada. Don't count on any Open Source implementations escaping the IP lawyers this time around.

    --
    Lurking at the bottom of the gravity well, getting old
  13. Clean-sweeps the competition by wynterwynd · · Score: 5, Funny

    Soon to be met by stiff competition from

    Content Oriented Markup Elements: Traditional
     
      and

    Server Oriented Funneling Transmission
    Streaming Concurrent Rational Units Bidirectionally
     

    --
    "Not all who wander are lost" -- JRR Tolkien
    1. Re:Clean-sweeps the competition by mooingyak · · Score: 3, Informative

      Well this sounds like fun...

      Hows about

      Decoupled Agile Web Networking

      Wow that doesn't make any sense.

      --
      William of Ockham had no beard. The most likely explanation is that it was chewed off by squirrels every morning.
  14. WELCOME by zephc · · Score: 3, Funny

    WELCOME to Zimbra-com. This is... Zimbra-com!

    --
    "I would say that 99 per cent of what my father has written about his own life is false." - L. Ron Hubbard Jr.
  15. AJAX is creative glue by joelsanda · · Score: 4, Informative

    Seriously you build upon the failures that DHTML, HTML, Javascript, XML, XMLHTTRequest and you form a system which requires at least a 1 ghz processor just run a very simple GUI.

    AJAX-enabled applications like Google Maps and GMail run fine on my G3 iBook with Safari and OS X 10.4. I don't think they necessarily have to have additional processor requirements on the client side.

    Saying DHTML, HTML, Javascript, XML, and XMLHTTRequest are all failures is a little extreme. Saying each fails at being everything is 100% correct and 200% redundant - nothing is everything. I applaud the use of XML and Javascript to place more processing on the client side. It's not without its problems, but then nothing is everything.

    This is also a good example of how bad Java and Sun has failed. If Sun would've opened up Java, let people distribute it, as well as from day 1 enabled easy RMI over HTTP we wouldn't be up to our necks in a horrible mixture of presentation logic and business logic.

    I agree with this - this was Sun's sweetspot about 10 years ago, wasn't it? Client's connecting to applications so our experience was built upon thin clients instead of desktop applications.

    So here we are, requiring gargantuan browser which are brought to a halt with this AJAX technology when we had many other technologies which did so much better but failed for various other reasons.

    Again - this is just not true, at least in my experience. If my 800 mhz iBook with OS 10.4 and Safari can run Gmail as fast as Mail.app then I'm sold on the usability of quality engineered AJAX-enabled applications.

    --
    The Luddites were ahead of their time.
  16. Ajax breaks the web by mboedick · · Score: 5, Insightful

    My complaint with Ajax is that it makes scripting the web much more difficult. I write scripts that grab content from the web and do things with it as well as scripts that post content to the web. I was trying to write one of these the other day for a site that used Ajax for the login form. If I still felt like it was worth writing, my script just became ten times more complex.

    How do you link to content that is behind or otherwise encrusted with Ajax? How do crawlers find it? Without Ajax, you can look at the source of a page and get a good idea of what it's doing. With Ajax, you basically have to reverse engineer it (for an example, go look at the Gmail code).

    The web should continue to stay one URL leads to one document which is a self-contained chunk of plain text containing everything you need to view its contents.

    Ajax breaks the transparency and simplicity of the web for no good reason. It offers only increased responsiveness, which unless you are on a modem or something is minimal and mostly imagined by the user.

    1. Re:Ajax breaks the web by esme · · Score: 3, Insightful
      The web should continue to stay one URL leads to one document

      you hit the nail on the head here -- one URL, one document. but web applications aren't documents. you could just as easily say that POST breaks bookmarks or something similar.

      in fact, most AJAX is used for stuff that shouldn't be crawled or scraped anyway. it would be much better if people published their APIs so you could just fetch the XML and process it directly, if there was a need to accommodate non-browser UAs.

      -esme

    2. Re:Ajax breaks the web by FATRanger · · Score: 3, Insightful

      AJAX only breaks the web (data-access wise) because most of the time it is being used for interactive pages, and providing pure data is an afterthought (e.g. how often does one read their e-mail with headers and all).

      When you simply need to pull data, AJAX, and more specifically the "X" in it, means that most of the data presented is available in XML form. You'll find that most AJAX scripts still require server side handlers/interfaces written in PHP/ASP/etc. which return "text/xml". It would be very easy for developers to include an XML link or allow it to be saved directly from the page. While I can't speak for all developers, for the intranet application I am building, most users do not need or want raw data, they would like it nicely formatted and understandable; otherwise it'd save me lots of time and just have people all use phpMyAdmin.

      On your point about having page content easily readable, I feel that it is true, however it depends on the nature of the content. AJAX is currently used for user-specific tasks: your e-mail, your to-do list, your etc. Those types of pages do not need to be indexed, and most of the time users do not need to access them by viewing page source. With things such as e-mail, calendars, etc. the content will constantly change. Your bookmark should only point you to the page of a calendar or a particular date, the page data can still be dynamic.

      While some may attempt to fit different views for applications (e.g. month/week/day view of a calendar) into a single page, from experience I can tell you it is far easier to do the opposite, as AJAX pages are still heavily reliant on CSS and (X)HTML for the presentation layer, and those do not easily adapt to the large package/dll structure well.

      To me the strength of AJAX is not that it will replace existing web standards, but it will help make doing things online much easier. Best AJAX implementations I have seen do not focus on AJAX for page rendering, etc. But use it as a non-abrasive way to allow users to perform small actions (send some data, refresh small section of site, etc.), just look at Blinklist or Backpack to see what I mean.

      As other posters have noted Sun has failed miserably to get Java adopted, the web browser is a tool everyone has and wants, thus it is the easiest way to ensure your application can be used by the highest number of people. For me, as a developer, that single point will always make AJAX applications a serious contender for programs that use a remote data source.

  17. Can we get off the Ajax name issue, please? by Paradox · · Score: 5, Insightful
    It should be DHTML. DHTML, goddammit! Dynamic HTML! Just call it a dynamic web page!

    Look, I know some people are unhappy with the name Ajax. I understand that. I am not a huge fan of the word as used, myself.

    But we need to get over it. That's the name we're using. There is no other word for it now. We can rant and rave all we want about how it should be called DHTML or DXHTML, or Dynamic Web Pages, or whatever. Truth be told, the word we use is almost entirely irrelevant so long as we are on the same page as everyone else.

    In any case, we did need a need a new word. DHTML has been used for a long time, and describes such a huge variety of techniques that it's not terribly useful when we want to talk about the use of XMLHttpRequest usage and the recent movement towards more complex Javascript effects that abandon the dark-age IE5.5 and other early browsers.

    Ajax is as good a word as any, and it's better that web developers have an identifiable term for that kind of tech, so that customers can refer to that general level of interactivity easily. Even if you don't use the exact "AJAX" model as described, when someone says "Ajax" we all know that we think about Prototype, Dojo, Google Maps and other apps along that vein.

    Seriously, if you have enough spare energy to rant and rave about the terminology used in the web hype, then you need to find a better outlet for your energy.

    --
    Slashdot. It's Not For Common Sense
  18. except that by circletimessquare · · Score: 4, Informative

    no one cares about what you care about

    i'm being serious here: 99.9999% of web users don't really care if your screen scraper program is harder to write now

    you are speaking from an idealistic point of view that doesn't really drive the web

    the web is all about, and i mean all about as in the first issue and last issue under consideration, end user experience

    everything else is trivial

    i'm not in any way joking or trying to be flippant

    if web users go "cool, you can drag the google map around, that's so much easier to use than mapquest" then every single thing you just said goes right out the window

    end users rule with an iron fist for all development efforts, period, end of story

    never forget that

    realism trumps idealism

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
  19. What's wrong with you guys?? by teutonic_leech · · Score: 5, Insightful

    I just skimmed through most of the irate postings to this thread and can't help but shake my head... seriously, I'm not being facitious. When are geeks going to learn that it is 'hype' that is partly responsible for a healthy chunk of a company's profit margins. Hype is also what drove the dotcom gold rush, but the reasons for the final bursting of the bubble in 2000/2001 are a lot more complicated (read some of Paul Graham's musings on the subject matter) and should not be simply attributed to 'irrational exuberance.'
    The same people lamenting about this 'undeserved' hype are the first ones complaining that we're all being outsourced and that it's almost impossible to raise funding for an IT startup these days. So, here's a company that somehow coaxed a VC out of $16 Million (which in turn will create jobs for people like YOU!) and you're bitching and moaning acrimoniously about how you guys did that 4 years ago. If you are really sooooo smart, then go out there and grab a piece of the action! VCs are sitting on huge portfolio funds right now and have no clue what to do with them (well, almost ;-) - no wonder we're all getting outsourced, we're simply too clever for our own good! I personally prefer to lose a few IQ points for a mansion on a lake, a bitch red Ferrari, and some more digits in my bank account...

  20. Re:AJAX is just an acculmulation of failures by KidSock · · Score: 3, Insightful

    Exactly! Counldn't have said it better myself. As someone who works with network protocols a lot HTTP is a BAD protocol. It was fine back in 1993 when we had simple static pages with some text a few links. But for real applications with tables and list controls the stateless model is horrible. We need a cross platform application that provides sophisticated UIs that can be represented using a simple definition language but can hold state and only need to communicate with the server when the UI needs to load or store that state. I was hoping Java would effectively do this but it's UI is pathetically simple (AWT) or pathetically slow (Swing), it doesn't have very good control over the document and just getting the plugin to run in all browsers is a crap shoot.

  21. Re:AJAX is just an acculmulation of failures by dasil003 · · Score: 5, Insightful
    I gotta hand it to you for a brilliant troll. You pass this off as some kind of revelation about AJAX, when in fact this is the truth about every technology. There was always a better technology that never caught on (or never made it past the drawing board) for any given need. There are also always cynics who criticize anything popular by pointing out its flaws. Of course any alternate technology also has its flaws, but they aren't as easy to point out because no one uses it.

    Seriously you build upon the failures DHTML, HTML, Javascript, XML, XMLHTTRequest and you form a system which requires at least a 1 ghz processor just run a very simple GUI.


    First of all HTML, JavaScript and XML are not failures. They may not be ideal for whatever it is you think they should be doing, but as technologies they are incredibly successful. Secondly, AJAX requiring a 1 ghz processor is complete bullshit. I use google maps on my 400mhz G4 all the time, and I'll tell you that the operating system slowness itself is more of a source of frustration than javascript.

    There is nothing special about this other than the incredible amount of sheer dependencies that exist. You cross browser incompatibilities you have inexact everything. This is not a good solution people.


    Oh wait, except if you use a decent toolkit you can write AJAX apps that work in 99.99% of new computers running any operating system, right out of the box. Shit, I guess we better go write some Java Applets or DirectX because AJAX is so horrible.

    This is also a good example of how bad Java and Sun has failed. If Sun would've opened up Java, let people distribute it, as well as from day 1 enabled easy RMI over HTTP we wouldn't be up to our necks in a horrible mixture of presentation logic and business logic.


    Okay, that's just outta left field. There's a huge market in between monolithic business applications and pure content documents. Using something like Java to do lightweight web development might satisfy your pedantic idea of proper coding practices, but it wouldn't make anybody more productive. Not to mention assuming that a specific language would somehow make people better software engineers.

    So here we are, requiring gargantuan browser which are brought to a halt with this AJAX technology when we had many other technologies which did so much better but failed for various other reasons.


    Oh boohoo! You didn't perchance work on one of these superior technologies did you?

    JUST BECAUSE AJAX NOW FINALLY WORKS DOESN'T MEAN IT IS A GOOD SOLUTION.


    Well it makes it a good solution if you want to:

    • Get something done
    • Satisfy bosses/clients
    • Make something available on any computer with an Internet connection
    • Distribute it to the masses


    Unfortunately it doesn't do anything to:

    • Satisfy idealistic software theorists who never actually created a popular website
  22. Re:AJAX is just an acculmulation of failures by Anonymous Coward · · Score: 3, Interesting

    It works and it is far easier than you suggest. Also, the code is VERY VERY small compared to any other type of language. In my case 200KB for everything HTML,JS,PHP (goes into mysql). Compare that to our 28MB of vb src.

    I'm just finishing deployment of a web based app that does some complex data rule enforcement and rating calculation server side, the gui is client side, the server handles logic and stores the application. By designing your apps the correct way, you minimize data transition, data changes up... only changes down (enforced by counters), leave the GUI code as exposed JS. My project is for private company with 600 agent groups, in 8 states, providing 5 different insurance applications. So realisitically 1800 daily users.

    The code to provide the same functioning application with JS is a fraction of all other languages we have and do write apps in. JS contains the data -> through JS code logic -> updates the DOM. Yes it's almost that simple. For most business apps, it doesn't get much more difficult for any traditional data processing.

    Plus, no more distribution, to 8 states.... no more making sure that the software they use is up to date, and has the latest fixes/corrections/rate adjustments. It's lightweight, fast, and centralized, not to mention, easy to code/maintain and the only tricky part is handling js client side bugs, but you keep that code very siple and well tested, and have it try to communicate with you if it gets errors that it is able to report, so you can fix them sooner rather than later.