Slashdot Mirror


What is JSON, JSON-RPC and JSON-RPC-Java?

Michael Clark writes "Seen those funky remote scripting techniques employed by Orkut, Gmail and Google Suggests that avoid that oh so 80's page reloading (think IBM 3270 only slower). A fledgling standard is developing to allow this new breed of fast and highly dynamic web applications to flourish. JSON (JavaScript Object Notation) is a lightweight data-interchange format with language bindings for C, C++, C#, Java, JavaScript, Perl, TCL and others. It is derived from JavaScript and it has similar expresive capabilities to XML. Perfect for the web as doesn't suffer from XML's bloat and is custom made for our defacto browser language. JSON-RPC is a simple remote procedure call protocol similar to XML-RPC although it uses the lightweight JSON format instead of XML (so it is much faster). The XMLHttpRequest object (or MSXML ActiveX in the case of Internet Explorer) is used in the browser to call remote methods on the server without the need for reloading the page. JSON-RPC-Java is a Java implementation of the JSON-RPC protocol. JSON-RPC-Java combines these all together to create an amazingly and simple way of developing these highly interactive type of enterprise java applications with JavaScript DHTML web front-ends. " Click below to read more about it. "Now is the turning point. Forget that horid wait while 100K of HTML downloads when the application just wanted to update one field on the page. The XMLHttpRequest object has made it's way into all the main browsers with it's recent introduction into Opera and Konqueror (sans the Konqueror bug). This new form of web development now works on Internet Explorer 5, 5.5, 6, Mozilla, Firefox, Safari 1.2, Opera 8 Beta and Konqueror 3.3 (with a much needed patch). Appeal to Konqueror users - please log into the KDE bugzilla and vote on this bug so you to can experience this wonderful thing. More details here: http://oss.metaparadigm.com/jsonrpc/ "

52 of 317 comments (clear)

  1. O...k..... by Anonymous Coward · · Score: 3, Funny

    *finishes reading summary*

    ok... so... huh?

    1. Re:O...k..... by rdc_uk · · Score: 3, Informative

      So...

      repopulate your product page for a new product WITHOUT reloading the whole page.

      Put a timer in, and have rotating feature products WITHOUT reloading the whole page on a timer.

      Update your totals in your chckout / shopping cart WITHOUT reloading the whole page.

      Write an RSS news ticker in html rather than flash...

      Basically anything that you might have used flash or an IFrame for, you could do with this, javascript and a DIV tag... Pretty important news (if you write commercial websites)

    2. Re:O...k..... by dorward · · Score: 3, Insightful

      repopulate your product page for a new product WITHOUT reloading the whole page.

      So now people can't bookmark specific products

      Put a timer in, and have rotating feature products WITHOUT reloading the whole page on a timer.

      Useful from a commercial point of view. Really rather distracting from a visitor point of view. If I can't block it, I'm likely to find another vendor.

      Update your totals in your chckout / shopping cart WITHOUT reloading the whole page.

      This sounds practical, but at some stage you need to send the user to a new page anyway, and you can calculate new totals without having to make server calls - so you might as well leave telling the server about it until they go to the next stage of the checkout process.

      Write an RSS news ticker in html rather than flash...

      Ummm... why would you want an RSS new ticker on a webpage in the first place?

      Basically anything that you might have used flash or an IFrame for, you could do with this, javascript and a DIV tag... Pretty important news (if you write commercial websites)

      Yes, lets just create something with no practical advantages over Flash/Iframe, but which requires a more recent browser to access.

    3. Re:O...k..... by rdc_uk · · Score: 4, Interesting

      "So now people can't bookmark specific products"

      Fair comment, though I can think of places where similar features are desirable -> changing product images is a better usage.

      "Useful from a commercial point of view. Really rather distracting from a visitor point of view. If I can't block it, I'm likely to find another vendor."

      Good luck; sites designed to sell tend to ADVERTISE their wares. You seem to be thinking 3-second rotation; I'm thinking more 1-minute rotation of current "specials". Put bluntly; I have clients that will pay me to do this if its possible.

      "This sounds practical, but at some stage you need to send the user to a new page anyway, and you can calculate new totals without having to make server calls."

      1; I don't want the mechanism for calculations at the client side, so the calculation would require a reload, therefore this will make the page more responsive; i.e. better. The reason for non-client side? First: javascript is a shit language for anything other than DOM manipulation. Second: clients don't want their business logic exposed in javascript. Third: we don't want to download all the data required for those calculations to the client (prices in a code-manipulatable form should NEVER get to the client side, or be sent via post/get, prices just get displayed to the client, not manipulated by them)

      Think about a checkout that calculates shipping costs globally; you need the location from the client. Depending on location the methods available for shipping will change. Depending on weight of goods (changes with quantity change) and location, the costs for each method change.

      Thats a LOT of information to download to the client's machine to make the totals update without a server-call. Its also a ton of information (including prices) that I don't want the client side to have access to, and that I don't want javascript responsible for calculations on.

      If I can pull down just the new value, rather than the whole page -> better!

      "Ummm... why would you want an RSS new ticker on a webpage in the first place?"

      Again; clients will pay for it. Just because YOU don't want it (or, in fact, that my client's clients don't want it), doesn't mean it has no value.

      "Yes, lets just create something with no practical advantages over Flash/Iframe, but which requires a more recent browser to access."

      There are plenty of advantages to not using flash. (reduce number of languages required to display 1 page and reduce number of external plugins required to display 1 page to name just 2 advantages)

      Iframes are never a good idea.

      And did you read the list of supported browsers? Only notable omission in the real world was safari...
      2;

    4. Re:O...k..... by dorward · · Score: 2, Interesting

      So (some) Vendors want it, and (some) Web Developers want it becuase the Vendors (their clients) want it - but does it bring any serious benefit to the end user?

      Changing product images is a reasonable thing to do - but all that needs is a change in the src of the <img> (Or you can take the thinkgeek approach and have nice, large images that show lots of details and that a full page reload doesn't add any significant bandwidth needs to)

      1-minute rotation? How long to people spend on a single page that they aren't reading carefully (and don't want to be distracted)? Just pick a special at random with each new page. Amazon has a "related produts" which works rather well IMO.

      I accept your point about the price calculations, for things where the postage et al isn't simple there could be some benefit. However, do people really fiddle the quantities up and down so much that the occasional reload is going to be a noticable detraction of service?

      I can't say that I'm really pro-Flash or pro-Iframes (OK, I'm very much against them), but you say "Iframes are never a good idea." without giving any reasons - I can think of quite a few reasons why Iframes are a bad idea - but this JavaScript solution has all of those problems too - but with worse browser support!

      And did you read the list of supported browsers? Only notable omission in the real world was safari...

      I would really love it if it weren't so - but not everybody upgrades to the latest and greatest version of their browser. Some people still use Netscape 4. (And Safari was on the list).

    5. Re:O...k..... by Zphbeeblbrox · · Score: 3, Insightful

      Uhmmm... Actually I've been doing this for a while now using iframes and javascript. It's not that hard and also avoids the xml bloat. This just gives a "standard" api to use when doing it. It still uses Iframes you just don't have to create them yourself. Most people who have been doing this already have a set of custom tools to help them do it. The functionality has been there for a while. This will help boost its use though and for that I'm grateful. Gmail makes excellent use of it in their UI making it hugely more useable than most other webmail clients. More people need to be recognizing the, already present, power for dynamic applications in the web.

      --
      If you see spelling or grammatical errors don't blame me. I tried to preview but IE here at work borked the CSS
    6. Re:O...k..... by ryepup · · Score: 3, Insightful

      So would you rather download <1K to get the new cost in your cart, or download 100K of HTML and images and have the screen flash to get the new cost? As a web host, would you rather serve 1K or 100K?

      The other side is responsiveness of the application. A lot of places use the web for more than shopping carts, and this is the sort of technique that makes a web app seem multithreaded. Don't you like the multithreaded applications you use? Wouldn't it be cool to offer similar speed easily via a web browser? Right now my main option is to have a lengthy process performed in a pop-up window, or post back and start a new thread on the server, which both involve more work than it should.

    7. Re:O...k..... by CurlyG · · Score: 3, Insightful

      Weren't Java applets designed to do all the things you mentioned?

      If applets failed, what reason is there to believe this technology will fare an better?


      Because client-side embedded Java applets are a drastically impractical, inconvenient, bloated and slow way to do trivial tasks like this. (NOTE: not a Java troll - it's an awesome language for server-side and standalone client-side apps).

      OTOH, ECMAScript/Javascript is built into every browser produced in (at least) the last 5 years, is fast, has zero startup overhead, and is widely understood by every web developer on the planet.

      I rarely see Java applets anymore, for the above reasons. I do, however, see many more Flash apps, which have their own set of problems, including that they require yet another set of 3rd-party software to be installed and configured on the client's computer, rendering it undesirable from the point of view of most shopping and ecommerce sites.

      This is an elegant solution to something developers have been forced to use ugly workarounds to achieve for years.

      --
      You know they call 'em fingers but I've never seen 'em fing. Oh, there they go.
  2. Pros and cons? by Sierpinski · · Score: 4, Interesting

    Two major issues that come to mind with this type of technology:

    1) How easy is it to learn for the average programmer

    2) What kind of security precautions can we expect to see?

    Otherwise it sounds like a great technology to use for web developers who wish to have dynamic content on their sites.

    1. Re:Pros and cons? by metaparadigm · · Score: 4, Informative

      A1. The idea is to make it transparent to the programmer. You can practically just call a Java method from your JavaScript web application. one line of code is required to export or allow access to a server-side object.

      A2. Yes, security is an interesting topic. The Java implementation refered to works on a deny all by default - allow specific objects to specific clients. It does require the programmer to think about what methods they are exposing. I have been using it over HTTPS with selective objects exported to authorized clients (using the existing JAAS Java authorization and Authentication framework), so I believe it can be used in a very secure way.

    2. Re:Pros and cons? by Jetifi · · Score: 4, Informative

      Well, JSON is a subset of JavaScript object notation, so people who know JavaScript already know this. It's basically a way of transfering structured data between browser and server that is less verbose than XML, and can be eval()ed straight into javacript itself.

      Of course, any server receiving this stuff via POST should do the same validity checks it does on anything else it gets from the wire. On the client, IIRC you can only use XMLHttpRequest with the server the document originated from, and neither should you be able to execute script across domains, even within iframes, so the existing browser security model should be sufficient to prevent additional security problems, bugs and exploits notwithstanding...

    3. Re:Pros and cons? by Jetifi · · Score: 2, Informative

      You're right, the expected client is JavaScript, inside a browser. The frontend UI is typically in HTML (or SVG), but the client-side logic is written in JavaScript. In this case, the request/response happens within a web-page, between the browser and the web server.

      HTML forms are one mechanism for client-server data transfer in a browser, but posting them necessitates reloading the entire web-page, or an iframe, which is not seamless for interfaces like Google Suggest, and may be overkill if you're only making small changes. In addition, a pure POST of form parameters can't transfer the same level of structural detail as XML or JSON without writing your own custom parser/serializer in JavaScript. Since JSON /is/ JavaScript to all intents and purposes, no extra parser is needed.

    4. Re:Pros and cons? by downwa · · Score: 2, Interesting

      I had seen this a few months ago, and had put together a system using a java-based JScript implementation on the server, so JSON could be evaluated both ways. It was pretty slick, being able to write a web app in entirely JScript (which is a pretty powerful language once you get to know it, naysayers notwithstanding). I had a generalized JScript library loaded client side which could produce menus and set form values from the server automatically.

      On the other hand, if your page is mostly data which will be changing (e.g. a database-backed web form), the vaunted performance isn't that much better than just slimming your HTML using CSS. And if you just use simple HTML (with CSS), you can have something which also works on lynx or older browsers, while still looking sharp on Firefox/IE/Safari/Opera/etc.

      --
      Life's a lot like money-- you spend it, then it's gone. Spend wisely.
  3. I have only one point to make. by Slash+Watch · · Score: 2, Insightful

    You know, guys, there's a reason that we have separate application programs instead of doing everything through Internet Explorer. Believe it or not, it's not necessarily the best interface for a lot of things.

    1. Re:I have only one point to make. by Anonymous Coward · · Score: 2, Interesting

      XUL and XAMAL are being developed so that all applications WILL run through the intarweb...

      Only computationally expensive programs will be relegated to the desktop, everything data orientated will live on the web

    2. Re:I have only one point to make. by MancDiceman · · Score: 4, Insightful

      Imagine yourself in 5 years time. The web browser has all this stuff on it which means it is as good an interface as any other GUI widget stack. Firefox or Safari or IE or whatever effectively is the window manager with tabbed browsing and links to your favourite 'applications'.

      The interface is fluid, keyboard shortcuts working fine and everything is as responsive as it is right now in your current desktop. Your applications are used over the web - you don't have to worry about software upgrades or fixing your parent's computer after some installation as everything is done by your ISP.

      Can you see that future? What is stopping it from happening?

      You're right, the browser is a crap interface. If you actually understood the technology being described, you would realise that it is an improvement to the interface to make all those things happen.

      The browser is a bad interface right now. JSON helps to make it a more suitable interface. Go figure.

    3. Re:I have only one point to make. by ceeam · · Score: 4, Insightful

      IE besides - "Web app" is a darn appropriate interface for a lot of things and definitely the single most widely spread and portable one. The inability to request a "callback" value from the server from the JS code is a huge PITA if you've ever tried programming those.

    4. Re:I have only one point to make. by Malc · · Score: 5, Interesting

      Web interfaces have two massive advantages: no need to install anything. They also work just about anywhere.

      You're right: a web page for a complicated will rarely match the UI of a dedicated application. Take Outlook's Web Access UI: it's pretty amazing, especially if you're using IE. It can be used almost anywhere without having the latest version of Office installed. It's still damned clunky compared with real Outlook, but sometimes it's better than nothing.

    5. Re:I have only one point to make. by hey! · · Score: 3, Insightful

      Well, I think you're missing the point.

      These applications areng going to use a browser interface. The are going to use the browser as a platform on which non-browserish presentation layers can be constructed.

      This is exactly the future that caused Microsoft to go bezerk over Netscape all those years ago.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    6. Re:I have only one point to make. by uradu · · Score: 3, Insightful

      > You're right, the browser is a crap interface. If you actually
      > understood the technology being described, you would realise
      > that it is an improvement to the interface to make all those
      > things happen.

      No, a real improvement to the interface would be to move away from any technologies that mix (D)HTML and executable code. It's a recipe for unmaintainability and for driving self-respecting desktop developers to despair. True advances in distributed apps are approaches such as Mozilla's XUL. Alas, they're a step away from the quasi-declarative "programming" of (D)HTML back to the procedural programming of C and its descendants, not something artsy web "developers" like to hear.

    7. Re:I have only one point to make. by maxwell+demon · · Score: 2, Insightful
      Your applications are used over the web - you don't have to worry about software upgrades or fixing your parent's computer after some installation as everything is done by your ISP.

      Exactly that is something to worry about! Imagine you are writing something important with a web-based word processor. You are close to deadline, and all you have to do now is to print out that stuff (or to convert it to PDF and mail it). Nobody would be so insane to update his word processor at exactly this point. But with web applications, it's your app provider who decides when to update. Since at every time there's likely someone who is close to deadline with sonething, so the provider cannot avoid that. And the new version may have a slight bug or incompatibility which doesn't affect 99.9% of all users but completely breaks your file. Now remember you are close to deadline. Sucks, eh?

      Of course, I guess MS would dream of web applications: Don't charge for the program, charge for the time you use it! You are slow in writing? Well, too bad for you, you'll pay more! Of course in addition to paying for your internet access (with normal apps I don't need to be online unless I want to explicitly get data from the net or send data to the net; with web apps, you'll have to be online even for writing a simple text!) I don't think they (as well as many other companies) could withstand the temption.

      I guess in the world you envision (all apps are web based), paper and pen would get a revival (because writing with pen on paper is just cheaper). The text program would likely be started up only for typing in the final text.

      Also, web applications are very volnerable to DoS attacks. Imagine Word would be replaced by a hypothetical WebWord. Now you have just to make a DoS attack on the WebWord server, and suddenly nobody could edit his WebWord documents!

      No thanks, I prefer to have my software on disk.
      --
      The Tao of math: The numbers you can count are not the real numbers.
    8. Re:I have only one point to make. by arkanes · · Score: 3, Insightful
      What's stopping it from happening is that the features that make a good browser for hypertext are not the same features that make a good client for, say, a business or data entry application. As a quick test, go hit the back button in any web application that uses this sort of technology. Does it do what you expect? Does the "back button" even make sense in the context of what you're doing?

      Hypertext is a lousy way of writing applications - in fact, most "web apps" have roughly zero relationship with hypertext. Network-transparent thin clients are interesting, but HTML/DHTML/current browsers are the wrong way to implement these things. Part of the problem is the issue of control - client applications need to be able to control the user interface to a degree that a general purpose browser simply can't allow. Something as simple as "Save changes at exit" is impossible in a browser - and you wouldn't want it to be. Same thing with control of the back button, or spawning new windows (or even dialogs, which you can do with IE).

      In short - the browser is a fundamentally poor platform for most applications. More to the point, we have and have had the technology for network-based application suites for years. ASP (application service providers, not the MS web platform) is gaining some mindshare, but it's not taking off like gangbusters.

    9. Re:I have only one point to make. by phutureboy · · Score: 2, Interesting

      Hell, check out Oddpost

    10. Re:I have only one point to make. by chris_mahan · · Score: 2, Interesting

      One solution i have come up with that works ok is this:
      *use xhtml only
      *use extremely light html (under 10k if I can help it)
      *no graphics
      *no fancy nothing
      *javascript sparingly (and yes I use xml-rpc to do no-refresh data submits) (Apple, fix Safari's DomParser stuff. See http://developer.apple.com/internet/safari/safari_ faq.html#anchor19.)

      As far as server technology, remember to load the minimum (files, class libs, etc), optimize db queries, split pages logically for the USER, pool db connections, and return the page in 0.4 seconds (my intranet pages average .4, with .3 as common)

      And yes, I do do this for a living.

      Last but not least: do not, I repeat, do not write code that depends on IE. I'm not saying Firefox or Opera are taking over, I'm saying IE7 on Longhorn will break just enough of your IE 5.01 apps to propel you into howling fits of deranged rage.

      --

      "Piter, too, is dead."

  4. Click below to read more about it. by Threni · · Score: 5, Funny

    With all that stuff going on it's a wonder it didn't click itself!

  5. Fix HTML instead? by Spiked_Three · · Score: 3, Insightful

    I've had to resort to all sorts of tricks to avoid postbacks in my current (aspx) development efforts. First we used a thrid party soap-xml RPC like this thing. Then we switched to an IFrame for the postback portion. Then I noticed that MS is including their own new and improved soap-xml RPC thing in .Net 2. Now I read about this.
    Seems it is a problem a lot of people need/want to solve - but to be honest, I am tired of having so many different solutions to a problem I should not have to begin with. Isn't there something that can be done with the HTML standard to elliminate the need? Life would be so much better down that path.

    --
    slashdot troll = you make a compelling argument I do not like the implications of.
    1. Re:Fix HTML instead? by Malc · · Score: 2, Insightful

      HTML was designed as a markup language for text. All these things you're complaining about result from trying to shoe-horn HTML in to an application it was never designed for. It still works pretty well though, all things considered.

    2. Re:Fix HTML instead? by TheRaven64 · · Score: 3, Interesting

      I don't think HTML is to blame so much as HTTP. The integration of something like XMPP into the browser would be a huge improvement, since it would allow arbitrary XML to be pushed to the client without the need for polling (which is ugly, and no less ugly if it's done in the background without the need for full page refreshes.

      --
      I am TheRaven on Soylent News
  6. And what about php? by Anonymous Coward · · Score: 2, Interesting

    If you want to interoperate with PHP, I'd suggest Harry Fuecks JPSPAN as it is quite nice at hooking javascript up with serverside php

    As for xmlhttprequest, it's rather easy to make neato web applications with it. Here's something I coded up the other night (only seems to work in firefox at the moment though): http://www.james-carr.org/index.php?p=8



    Cheers,
    James Carr
  7. Perfect for the web? I don't think so by Anonymous+Cowherd+X · · Score: 5, Interesting

    Example in JSON:

    {"menu": {
    "id": "file",
    "value": "File:",
    "popup": {
    "menuitem": [
    {"value": "New", "onclick": "CreateNewDoc()"},
    {"value": "Open", "onclick": "OpenDoc()"},
    {"value": "Close", "onclick": "CloseDoc()"}]}}}

    The same thing in XML:

    <menu id="file" value="File" >
    <popup>
    <menuitem value="New" onclick="CreateNewDoc()" />
    <menuitem value="Open" onclick="OpenDoc()" />
    <menuitem value="Close" onclick="CloseDoc()" />
    </popup>
    </menu>

    Perfect for the web as doesn't suffer from XML's bloat and is custom made for our defacto browser language.

    Take a look at those examples and try to explain how is JSON free from bloat when in fact it is even more bloated and slightly more difficult to read and write by humans? It's just another notation with no obvious advantages.

    1. Re:Perfect for the web? I don't think so by metaparadigm · · Score: 5, Informative

      Yes, although this is an XML DTD discussion. Most DTDs including the XML-RPC and SOAP DTDs don't encode using attribute values but instead using child elements with character data (apparently this is the XML best practice). Much Much bigger.

      Also, the JSON takes one line of code to parse and access natively in our defacto web browser language 'JavaScript'.

      The second requires a bloated JavaScript XML parser (as this is not built in to many browsers) and CPU intensive processing and a cumbersome API to get the data out. Also try doing 100 RPC calls a second with SOAP in a browser (this can be done with JSON-RPC on a local network - 10ms round trip on simple methods).

    2. Re:Perfect for the web? I don't think so by EvilJohn · · Score: 2, Informative

      I think you're the missing the point. It's not the fact there's those little simple CreateNewDoc() functions, it's the binding to the Java objects on the backend that's simple to create, and that's the part the 'free from bloat'.

      --

      Less Talk, More Beer.
    3. Re:Perfect for the web? I don't think so by ivec · · Score: 2, Interesting
      The previous does choose a best-case format for XML, relying on attributes instead of elements whenever possible. To be honest, what would be the actual SOAP encoding for the equivalent JavaScript data structure?

      Now what would you think of (dropping quotes and spaces when unnecessary for parsing):
      {menu:{id:file;value:"File:";
      popup:{menuitem:({v alue:New;onclick:"CreateNewDoc()"}
      {value:Open;on click:"OpenDoc()"}
      {value:Close;onclick:"CloseDoc ()"})}}}
      Now what if built-in filter allowed you to generate either this compact blurb, or a neatly auto-formatted and indented form?

      The JSON format (which I just discovered) is nearly identical to a format I have been using for 10+ years - with which this sample is compatible. The i/o implementation I use internally is in C++, and supports a binary, compressed, and encrypted formats as well. An incomplete rewrite of it in C is available at http://ivan.vecerina.com/code/datatree/.

      I like JSON more than XML - because it offers a natural representation of hierarchical data structures seen most languages: a tree of records(/objects), arrays(/collections), and leaf values(/simple data fields).

      XML has many qualities, but it is not the natural solution/format for such data structures. When should text data be used in XML? When should you use an element rather than an attribute in XML?
      XML forces you to either select a standardized mapping that introduces redundant clutter (SOAP), or accept the complexity of an application-specific mapping.
    4. Re:Perfect for the web? I don't think so by Bazzargh · · Score: 2, Insightful

      It strikes me the JSON version would be *much* larger for non-western languages. It can only include non-ascii characters in the data via the use of unicode escapes, which are 6 bytes long (\uXXXX), as compared to 2 in XML using an appropriate charset. It also lacks object references, so can't be made as compact as an arbitrary JS program.

      JSON-RPC doesn't seem to be intended for use in interchange, but for websites, since it relies on browser security for the 'efficiency' of being able to use eval() in its JS implementation. That being the case, I can't see why you'd choose to use this rather than return arbitrary javascript to the browser.

  8. double edged boon to users by willCode4Beer.com · · Score: 2, Insightful

    and slow torutring pain for developers.

    The user benefit will come from more usable dynamic web applications when this is applied well. The users will suffer when everbody decides their pages need this even when they don't. Kiss that CPU goodbye. The users will get to suffer when they decide to use a platform that didn't rank high enough for the sites QA team to bother checking.

    When used and tested well, this can provide some awesome benefits. Hopefully, we'll see more than simple ad/news/stock tickers. Imagine a wiki where several people can edit the same page at the same time, a list of users editing on the side, and a diff color cursor for each user. We could get live spell checking on a web based email client, in a wiki edit window.

    Developers, our lives have just become hell. Now PHB's will want this technology to be used everywhere. And its gonna have to work the same on every platform. Browser bugs, browser inconsistencies, oh my....

    --
    ----- If communism is a system where the government owns business, what do you call a system where business owns govern
  9. I dare to disagree. by hummassa · · Score: 2, Insightful

    It may even not be the better interface for some things, but it *is* the better way to deploy the things. It is specially better if you have to deploy thousands of copies.

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
    1. Re:I dare to disagree. by arkanes · · Score: 3, Insightful
      Eh. Not really. Auto-updating isn't especially difficult, especially in the close environments most web applications are written for. Java Web Start, for example, is a cinch. It's not too hard to roll your own mechanism either. Web applications are trendy now, though, despite there being no objective advantage in most circumstances.

      Refresh-less updating isn't new, either - I've been doing it for at least 3 years, without the XML stuff. Even with it there's only so much you can do on the client, by design. The web is a decent platform for reporting. It's a good place for universal access (see gmail, for example). It's a lousy place to put your data-entry heavy business applications.

  10. Another language, another standard by drgonzo59 · · Score: 2, Funny

    When will the average programmer be able to keep up? I am sure in India they are already teaching classes on this ;-)

  11. ICBW but: Re:Perfect for the web? I don't think so by StandardDeviant · · Score: 2, Informative

    Because XML requires a parser, and this JSON thing looks (at least to my very rusty eyes, it's been ages and ages since I touched front-end stuff like javascript) like it could be evaled into a jscript array, which is a *much* quicker operation and requries no external libraries to operate. I've done something like this before, working at a startup back in 2000, with an invisible iframe (we were targeting IE only) that was running jscript which would poll the server api for various things and eval the jscript-formatted output to display stuff (kind of like proto-web-services before such a thing was popular). It sounds kludgy as hell, and parts of it were, but it did work suprisingly well for most of the things we asked it to do. The front-end people had written, I swear to god, a complete windowing/GUI library in dhtml with draggable, resizeable windows (not popups) and everything that our (suite of) ASP-paradigmed applications were flown into.

  12. Want to see a fantastic example? by stanhawkins · · Score: 2, Interesting

    We've written a client for the Remedy Action Request System using JS and the XMLHttpRequest object, with a Java based back end. The client is faster than we ever imagined, and is twice as fast as Remedy's own client. So if you fancy seeing some Shockwave movies of a overly complex web client, which demonstrates exactly what can be achieved with the XMLHttpRequest object, visit: http://www.symbiontsolutions.com/tour Stan

  13. New exploit techniques ? by Homology · · Score: 2
    "Seen those funky remote scripting techniques employed by Orkut, Gmail and Google Suggests that avoid that oh so 80's page reloading (think IBM 3270 only slower)....."

    I hope I wasn't the only one that shuddered when I read "remote scripting techniques".

  14. Just what we need.... by Adrian.Challlinor · · Score: 2, Insightful

    ... Yet another standard that can confuse just about everyone. "You have a problem on the server, wait thats written in JSON, we only do XML. The JSON developer is on vacation."

  15. Pushlets by tezza · · Score: 3, Informative
    http://www.pushlets.com

    This is a server side push framework based on the same idea. It preceded GMail et alia.

    --
    [% slash_sig_val.text %]
  16. Or instead... by koehn · · Score: 2, Informative
    Why not just replace some of your HTML instead?

    All JSON does is make it easier to have your JavaScript call in to your application and parse the results. If you're just interested in presentation, just have your JS call up, get some HTML, and replace the affected HTML. This decreases the amount of JS and increases your re-use (since you don't need to build your UI twice: once is (PHP|Java|.Net|Ruby|.*), and once in JS). You just call your (\1) code on the server from the JS and have it generate the HTML.

    I understand that sometimes there are advantages to the programmatic approach that JSON (and XML-RPC, which the browsers support) extoll, but I don't think many developers even realize the UI-based alternative.

  17. 3270s by Alrescha · · Score: 2, Informative

    "think IBM 3270 only slower"

    Hey, 3270s were coax-connected to a channel-attached controller with a 4.5MB/sec path to the CPU. You could do video on them (if you didn't mind the fact that your pixels were the size of a tic-tac.

    A.
    (who lusts for the feel of a 3270 keyboard under his fingers)

    --
    ...bringing you cynical quips since 1998
  18. Re:XML-RPC did this *years* ago by togofspookware · · Score: 2, Informative

    You missed the part that "XML-RPC sucks".

    --
    Duct tape, XML, democracy: Not doing the job? Use more.
  19. Re:ICBW but: Re:Perfect for the web? I don't think by Anonymous Coward · · Score: 2, Insightful

    Because XML requires a parser, and this JSON thing looks like it could be evaled into a jscript array,

    Which magical browser do you use that doesn't need to parse the code that it eval()s?

    which is a *much* quicker operation

    I think that you have forgotten that eval() needs to parse too, I'm not convinced that it is much quicker. Even if it was, it doesn't follow the Principle of Least Power. XML doesn't execute. Javascript does. There's a reason why JSSS was rejected by the W3C and CSS wasn't. Using a fully-fledged scripting language to represent data is insane, especially when you are working with untrusted data off the web.

    and requries no external libraries to operate.

    An XML parser is built into every web browser that JSON targets.

  20. Back to the future: Web = CICS? by Bozdune · · Score: 2, Informative

    Yes, mainframes are really, really good at I/O, which is a concept that many people didn't get (DEC for one, when they fell flat on their faces trying to leverage the VAX into mainframe land) and still don't get. The CDC 7600 was surrounded by 6600's to spoon feed it, just as IBM mainframes have channel controllers (real processors) separate from the CPU to do the same thing.

    However, your memory of 3270's is a lot different than mine. How about when that nifty wifty 3270 cluster controller went south, as it did at our shop multiple times per day? And maybe you could pump bits at it pretty fast, but under TSO your Q1 response time was 10 to 20 seconds during peak times, so it didn't really matter how high-speed the intrinsic channel was.

    3270's were designed for forms entry with CICS apps, basically. It's a record-oriented device (like all IBM devices) which just doesn't add up to a very good user experience. You need character interrupts, and you need fast service for those interrupts. The mainframe secret is to let the CPU compute uninterrupted by batching up terminal I/O, screw the user.

    Which is exactly the Web experience today. Fill in a form, press a button, wait. Back to the future! In the limit, it doesn't matter whether you're connecting back to get a whole new page, or whether you're doing some socket hackery under the covers to return a response to some jscript code. Either way, you're waiting for a server that's servicing a bazillion other people, so conceptually you might as well be running CICS thirty years ago.

    Yeah, yeah, the screens are prettier now, you can download jscript and java applets, yadda yadda. You could program the 3270, too, with sufficient pain. Wake me up when this jscript shit actually works reasonably well. Just coming up for air after writing a few pages of it, and boy am I pissed. Standards all over the place. IE style.backgroundColor is "#ffffff", FF's is "rgb(255, 255, 255)". There are religious wars over "document.all", with some w3c fanatics claiming the world should have to write hideous tree-walkers to iterate over the DOM (so prove me wrong, post a code frag to show how easy it is). It never ends.

    (that 3270 keyboard was GREAT. Nothing like it today. Typing on spongebob squarekeys at the moment).

  21. S-expressions by imbaczek · · Score: 3, Funny

    It looks like the technology is finally converging towards Lisp. Maybe 40 years isn't THAT much, after all...

    (If you think about it, it started quite a time ago, since xml is isomorphic to sexps.)

  22. Different than ASP.NET script callbacks? by dioscaido · · Score: 2, Interesting

    Is this different from script callbacks in ASP.NET? It allows you to hit the server on an already loaded page and selectively update its contents. While the full abstracted implementation will be available in ASP.NET 2.0, you can easily implement it in the current ASP.NET 1.x.

    http://msdn.microsoft.com/msdnmag/issues/04/08/Cut tingEdge/

  23. Advantages to hidden iframe by fforw · · Score: 2, Informative
    That's what I've been wondering about too. Does this newer tech have some inherent advantage over the hidden iframe method? Is it just more structured?
    The XMLHttpRequest has the advantage to be a little less of a hack and to support HTTP-POST.

    You could use the JSON as message format with hidden iframes, too.

    --
    while (!asleep()) sheep++
  24. Look to Google for the future by SuperKendall · · Score: 2, Insightful

    Google is currently one of the masters of Javascript.

    Look at what they have done, and what they have not done - GMail has a very good interface. But even Google has released some real applications, like desktop search and Picassa.

    I really believe the browser model can only be taken so far. As someone else noted, your browser becomes your window manager and pretty soon you develop a little cosmos in there. But that cosmos will always be a subset of the richer cosmos the OS itself offers, and so web apps will be convienent but probably never dominant. There is too much to be gained by going to a desktop app.

    What I think will happen instead is that hybrid desktop apps, where part of the UI is essentially JavaScript will emerge and the desktop part is able to do what it does well.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley