Slashdot Mirror


Best Browser For Using Complex Web Applications?

yanyan writes "I'm fairly new to the field of web application development. Currently I'm working on a big online ticketing system for passage and freight for a local shipping company. It's a one-man show and the system is written in Ruby and uses Rails. Aside from the requisite functionality of creating bookings the system must also print reports and tickets, and this is where I've discovered (the hard way) that most, if not all, browsers fall short. I've had to switch from Firefox 3.6.3 to Opera 10.53 because of a major printing bug in Firefox, but the latest stable Opera is also giving me its own share of problems. To complicate things, an earlier version of Opera (10.10) doesn't appear to have 10.53's printing problems, but I'm wary. What browsers and specific versions do you end up deploying for use with big, complex web apps that include printing? Also consider CSS accuracy and consistency."

59 of 347 comments (clear)

  1. but I thought HTML was supposed to fix all that? by FuckingNickName · · Score: 4, Insightful

    Hahaha, I kid, I kid. If your interface is complex, why are you using HTML/CSS/Javascript/etc? Why not take advantage of a more advanced and mature UI widget set, such as that provided by Java or *shock* the native environment?

    The web is about where MacOS was 20 years ago in terms of ability to deliver a rich application UI experience. Google are excellent at marketing it as some sort of advance, but it really isn't. Don't shoehorn.

  2. IE or Firefox by ageoffri · · Score: 4, Insightful
    Given that IE and Firefox pretty much set the standard, if you aren't developing for both of them then you are setting yourself up for failure. Sure you may be trying to do things the right way, i.e. fully standard compliant, but it isn't the real world answer.

    Figure out what you need to do with your application to make it work in IE and Firefox is the only real solution.

    --
    -- Slashdot, making the Left look conservative since 1997.
    1. Re:IE or Firefox by X0563511 · · Score: 2, Insightful

      The real world answer is go ignore IE and let all the people still using it go cry.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    2. Re:IE or Firefox by Anonymous Coward · · Score: 2, Insightful

      Actually, the real world answer is design it for IE. If it works in IE then it will work in everything else. Besides, the JavaScript debugger in IE (Visual Studio) is vastly superior to Firebug, and yes, I've used both... I just don't suck the open source/free software ****.

    3. Re:IE or Firefox by blincoln · · Score: 2, Informative

      Sure you may be trying to do things the right way, i.e. fully standard compliant, but it isn't the real world answer.

      I managed to write a web application a couple of years ago that not only displayed consistently in IE and Firefox, but also printed consistently from both of them, while remaining standards-compliant and not using HTML or CSS hacks. The printing was by far the harder part - the browsers initially returned very different printed results even though they rendered the page on-screen almost identically. Changes to the CSS would frequently fix the printing of one while breaking the other, yet not affecting the on-screen rendering of either.
      I can see why people who do a lot of printing lean towards PDF.

      --
      "...always new atoms but always doing the same dance, remembering what the dance was yesterday." -Richard Feynman
    4. Re:IE or Firefox by Anonymous+Psychopath · · Score: 2, Insightful

      The real world answer is go ignore IE and let all the people still using it go cry.

      That's not a "real world answer". That's an absurd geek fantasy. Love it or hate it, most people still use IE.

      If you're a web developer, you cannot afford to ignore that your users will make choices about which browser they use that may be different than your own.

      --

      Eagles may soar, but weasels don't get sucked into jet engines.

    5. Re:IE or Firefox by powerspike · · Score: 2, Insightful

      The real world answer is go ignore IE and let all the people still using it go cry.

      .
      No that is not the real world answer. If you don't get your application working in IE, the people will go find one that does. You might get away with not working in IE if your only designing for the tech crowd, but if your designing for business or the public, then your killing your own business before it's started.

    6. Re:IE or Firefox by Hurricane78 · · Score: 2, Insightful

      I’m a long-term professional, and if you are developing for any specific browser, you are a failure, and not a professional.
      The goal is to know the W3C standards by heart in every minute detail (yes, it can be done, since I did it for years without problems), and design to it. In a way that allows you to spot things where not you are wrong, but the browser is!
      You only add browser-specific quirks after you’re done. Separated from the main code wherever possible.

      Otherwise you end up with a huge non-working mess as soon as you notice that your nice giant backbone of your webapp only works because of a quirk/bug/weirdness of that specific browser.

      Things like http://code.google.com/p/ie7-js/ greatly help with this. :)

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    7. Re:IE or Firefox by X0563511 · · Score: 2, Informative

      You are assuming it's for mass-consumption. Take a look at the actual post, and you'll see it's an internal application.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
  3. My experience: by Roadmaster · · Score: 5, Informative

    In my experience, the easiest way to get a consistent and stable printing experience is by generating PDF. I have yet to have stability problems if this is done properly. As you're working with Ruby on Rails, using Prawn and Prawnto might be useful. However, if you absolutely positively must NOT use PDF for printing, then this probably won't help you.

    1. Re:My experience: by Jah-Wren+Ryel · · Score: 4, Insightful

      PDF gets used for all kinds of wrong reasons - I freaking loathe web designers who think a PDF is an appropriate substitute for a web page - but printing is the one place that PDF shines. Just make sure the user can easily and intuitively specify the paper size and you should be good to go.

      --
      When information is power, privacy is freedom.
    2. Re:My experience: by afidel · · Score: 2, Interesting

      The only problems I've had is how in relationship to certain HP printers using Postscript drivers, they'll occasionally run into problems with certain PDF's containing values that are valid in later PDF specs but not valid for PS. If we hadn't done a huge amount of form design around PS I'd switch em to PCL and be done with it.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    3. Re:My experience: by FranTaylor · · Score: 2, Insightful

      If the user is printing out standard forms to be used in shipping the last thing you want to do is let the user change the paper size.

    4. Re:My experience: by Vellmont · · Score: 5, Insightful

      Absolutely agreed.

      Anything mission-critical like printing a ticket should absolutely NOT use something that could cause the whole system to break down when a single trivial update happens. HTML wasn't designed for printing, and it never will be. The browser is just a band aid put on top of a fundamental disconnect in technology and application.

      I'd even go so far as to say that unless you're outputting and printing from PDF or some other well defined and standardized print format, don't proceed any farther. You'll pay more for the problems down the road when the whole she-bang doesn't work for some dumb reason.

      --
      AccountKiller
    5. Re:My experience: by mikael_j · · Score: 4, Insightful

      He should at least make sure the form works with both A4 and Letter size papers, otherwise the company will be in for quite a shock when they decide to expand their business outside the US and find that the most common reaction to mentions of letter size paper is "Letter size? Is that what you call A4?".

      --
      Greylisting is to SMTP as NAT is to IPv4
    6. Re:My experience: by DiegoBravo · · Score: 2, Informative

      Just please give the Windows users a link/suggestion to download a good PDF viewer, or at least anything less evil than Acrobat Reader.

    7. Re:My experience: by drinkypoo · · Score: 2, Informative

      If we hadn't done a huge amount of form design around PS I'd switch em to PCL and be done with it.

      I've had pretty good luck printing postscript to non-postscript printers using ghostscript as a filter. These days it's not even that computationally intensive, all things considered.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    8. Re:My experience: by Pieroxy · · Score: 2

      You never target foreign customers, until you do. Then it's too late.

  4. Stop using the browser for print by Simmeh · · Score: 5, Insightful

    Export your data to XML or PDF on the fly and have something sensible print it.

    1. Re:Stop using the browser for print by Simmeh · · Score: 2, Insightful

      no, as in XML-FO which is designed for publishing.

    2. Re:Stop using the browser for print by Simmeh · · Score: 2, Informative

      And you apparently don't know user agents very well, they suck for printing. OPs options increase by printing as PDF, or by using XSL-FO to convert to *any number* of other formats, even SWG or PNG.

  5. Chrome, PDF by amicusNYCL · · Score: 5, Insightful

    Even though I don't use it for development, I've got several of my clients using Chrome to take advantage of the Javascript engine. My applications use a lot of Javascript for the interfaces, and Chrome speeds up the rendering of large data sets compared to IE or Firefox.

    For printing, the only solution to keep you sane is to export reports as PDF and let them print through their reader. That's specifically what PDF is for (consistency in displaying and printing). Depending on the report, they may also appreciate a CSV version that they can do their own filtering and sorting on.

    --
    "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
  6. Lynx! by turtleAJ · · Score: 2, Funny

    All the way!

  7. Writing to a specific browser... by John+Hasler · · Score: 5, Insightful

    ...is a much more serious bug than any possible printing problem.

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    1. Re:Writing to a specific browser... by Anonymous+Psychopath · · Score: 2

      ...is a much more serious bug than any possible printing problem.

      I'd say mod parent up, but other people recognize the wisdom and have done so already.

      Do not write a web application tied to a particular browser, or even two particular browsers. You will repeat mistakes made 15 years ago when people used to do the same thing for Internet Explorer or Netscape. Those who come after will curse your name forever.

      Remember all those sites that used to say "Best viewed in IE5" or "Best viewed in Netscape"? You don't want that.

      --

      Eagles may soar, but weasels don't get sucked into jet engines.

  8. Punch in the eyeball by EmperorOfCanada · · Score: 5, Insightful

    If you forced me to use Opera to use your system I would demand that they find a new developer. Or as a customer I would find a new system.

    This is a classic example of a developer trying to tailor the user to the system instead of the system to the user.

    Stop your whining and just make it work in one or more of the common browsers. I have been forced to bend crap environments to my will and I suspect that most developers around slashdot have bent bad systems until they cried; but made them work in the end.

    1. Re:Punch in the eyeball by Qzukk · · Score: 4, Interesting

      I have been forced to bend crap environments to my will and I suspect that most developers around slashdot have bent bad systems until they cried; but made them work in the end.

      I bent and bent, then cried and gave up and I had to tell my users to use IE. There's a table printing bug from 2005 that is still open, though fortunately my specific flavor of printing problems (entire rows of data going missing at page breaks) eventually went away several versions after firefox 2.

      Nowadays I use PDF, though several PDF generation libraries I've tried had serious deficiencies like being unable to tell me how much space a block of text will take before it places it on the page, or being unable to override Acrobat Reader's default printing settings, which fuck up anything you're trying to print onto an existing form. (I hacked it into fpdf once, but it was essentially a copy-and-paste of a command from another pdf that was able to force me to print with auto-fuckup-and-center turned off. It worked for me and my version of reader, but I didn't dare put it into production since I had to change the spec version fpdf inserts into the header (1.3) to one that supported overriding the printer options).

      If your reports don't need anything too fancy and they already pop out in HTML, you can use html2ps | ps2pdf to get something kinda resembling the original webpage. You can't make it look pretty and I'm fairly certain it's text only, but it'll print out exactly as it appears no matter what browser you are using.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
  9. Re:but I thought HTML was supposed to fix all that by amicusNYCL · · Score: 4, Informative

    Why not take advantage of a more advanced and mature UI widget set, such as that provided by Java

    Java is 20 years old, Javascript is 15 years old, and Java is mature while Javascript is not? Does that extra 5 years really make that much of a difference? Was Java considered not mature in 2005? There are plenty of mature Javascript UI libraries around that developers can take advantage of (ExtJS/Sencha, jQuery, Mootools, etc). There are several use cases where Java is a pain in the ass and an offline application is not an option. A rich internet application implemented in Javascript is perfectly fine for many situations. There's no shoehorn involved when it's the best tool for the job.

    --
    "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
  10. Re:but I thought HTML was supposed to fix all that by Anpheus · · Score: 4, Insightful

    For recent programming languages, 5 years is a lifetime. Compare Java now to Java five years ago, or Javascript now to Javascript five years ago.

  11. PDF if at all possible. Otherwise coughFlashCough by Zadaz · · Score: 2, Informative

    The only way that anyone does proper printing of web documents is as PDFs, and to hell with the browser. This is for very good reason.

    If your system absolutely must print from a web page, use Flash. Yes, I know. But it will print from within the page, it produces identical prints in all browsers/platforms, and everyone already has it installed.

  12. Re:Civility abounds by Narcocide · · Score: 2, Funny

    How about this then? What fucking printing bug?

  13. Re:but I thought HTML was supposed to fix all that by betterunixthanunix · · Score: 2, Insightful

    "rich internet application"

    Can you define that term? I have seen it used to refer to half a dozen vaguely related concepts so far, so it would be nice to know which one you are referring to.

    "There's no shoehorn involved when it's the best tool for the job."

    The web is not the best tool for every job though, which I think was OP's point.

    --
    Palm trees and 8
  14. Re:but I thought HTML was supposed to fix all that by FuckingNickName · · Score: 5, Interesting

    Maturity isn't defined by the number of years since conception, but by its origins and the development and engineering which has gone into it since. HTML/Javascript has only comparatively recently been considered as a serious app development platform to contend with native apps, still building on the hypertext + scripting language paradigm. Even Google knows what a pain it is to work with HTML/Javascript directly and has developed a translator from Java to implement their web apps.

    What's more, there are very few use cases where an offline application (I assume by that you mean "not HTML/Javascript" - I'm not sure what's "offline" about Java) isn't an option. The basic selling point with HTML apps is that you don't have to spend 30 seconds downloading and installing a small binary. When you're writing for a corporation, that's reduced to insignificance because it'd be installed as part of the deployment procedure.

  15. Re:but I thought HTML was supposed to fix all that by betterunixthanunix · · Score: 2, Informative

    "I'm not sure what's "offline" about Java"

    Not that I disagree with you, but there are plenty of offline applications written in Java, using Swing. Java is not limited to applets and application servers, there is a mature library for standalone/offline application development. As I remember things, the reason we do not see more desktop applications written in Java is the bad reputation Java had in the 90s for taking a long time to loa, and to some degree the fact that Swing does not integrate with the desktop look and feel (or at least it did not the last time I checked, which was admittedly years ago).

    --
    Palm trees and 8
  16. Re:but I thought HTML was supposed to fix all that by linebackn · · Score: 2, Insightful

    >The web is about where MacOS was 20 years ago in terms of ability to deliver a rich application UI experience.

    Don't insult the mac like that. There were Mac apps back in 1984 that you can still only badly mimic via a web "application."

    The fact is that a web browser is an application that retrieves and renders hypertext documents over a network, and nothing more. Just because it has scripting and the web can make available documents to huge numbers of people, too many people think they can shoehorn any kind of application in to it.

    There is a huge demand for data entry and reporting (both viewing and printing) that web browser just aren't up to. If web browser ever get to the point where they have drag-and-drop form/report creation with a user interface that can be reliably delivered to client computers then great. Until then there needs to be something else to fill this void, and there just isn't. There used to be some very nice client/server GUI form and reporting tools back in the 90s, but most of those have devolved in to half-assed web tools with insane setup, configuration, and support requirements (and usually exorbitant enterprise pricing to boot).

    Heck, the last time I checked no web browser could even reliably be told automatically to print a page landscape!

  17. Re:but I thought HTML was supposed to fix all that by DaveV1.0 · · Score: 3, Insightful

    I'm sorry but you have confused HTTP/HTML/Javascript with the internet.

    The fact is that this trend of using the browser as an interface is nothing less than having a hammer and treating everything as a nail.

    --
    There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  18. Re:but I thought HTML was supposed to fix all that by FuckingNickName · · Score: 2, Interesting

    Don't insult the mac like that. There were Mac apps back in 1984 that you can still only badly mimic via a web "application."

    You're right. I'm forgetting the beauty, simplicity and consistency of the 1984 Mac. I've been using the comparative UI mess that is OS X for too long.

    There used to be some very nice client/server GUI form and reporting tools back in the 90s

    The whole display / presentation / business client / business server / database multi-tier thing seems to have been broken horribly, so now presentation, business client and business server are merged on some cloud and delivered to a dumb graphical display. Why? Well, to take away control, of course.

  19. You've got it backwards. by poor_boi · · Score: 5, Insightful

    You've got it backwards. You don't write a web application and then go around installing 9 different browsers at 20 different patch levels in a search to find one which finally doesn't break while using your app. Rather, you write an application and install 9 different browsers at 20 different patch levels to make sure none of them break while using your app. Fix the app, not the browser. And if the problem is intractable in the most popular versions of the most popular browsers, change your framework.

    1. Re:You've got it backwards. by Anonymous Coward · · Score: 2, Insightful

      Thank you for that insightful comment. I can't believe some of the answers here. Please mod up the parent!

      To rephrase the parental answer: Your app has to work with all popular, modern browsers, and your app should be expected to change as new browsers, technologies, and browser quirks emerge. Not doing so is to build obsolescence into your app.

      The moment you choose a specific browser for your app is the moment other products choose different browsers for their apps. Then the user is screwed.

      New browser versions emerge, screwing you. Oh, the popular screenreader app is broken because you failed to consider it? That's YOUR problem. What, you don't support IE8 under SP4? That's your problem too. That's why web developers make good money - they do it right.

      Alternatively, one can step backwards to a "client/server" app in VB or whatever and to hell with the web. Yeah, you got a huge deployment burden in front of you then, but it seems like you're going in that direction anyway.

    2. Re:You've got it backwards. by leptons · · Score: 2, Interesting

      This is why the web industry is starting to wake up to 'Front-end engineer' as a job title. The days of 'web developer' are coming to an end and specialization is starting to take hold in the minds of the people designing websites more complex than craigslist. The idea that a 'Web Developer' should know all of the back-end technologies as well as being highly skilled at HTML/Javascript/CSS is coming to an end. There are now many jobs for 'Front-End Engineer' positions paying 100K+, because people have finally recognized the complexity of building front-end code to work across 5 different browsers and many revisions of those 5 browsers, on multiple operating systems. The back-end is typically much more predictable as the hardware and software platforms can be chosen well in advance, and that never really changes during development. And with the Flash wars going on between Apple and Adobe, HTML/Javascript/CSS is becoming even more important.

  20. Re:or just learn to use css by Dr+Herbert+West · · Score: 2, Funny

    Sure... because CSS always formats uniformly across different browsers and platforms. And browser detection never fails or degrades over time.

    These kinds of issues are what Flash excels at-- uniform output. Why dont'cha push your final, scrubbed and parsed user data to a Flash widget to print? I believe there are all kinds of native PDF and print controls in the Flash API anyway.

    To alll you HTML5 kool-aid drinkers, flame away. Tell me how the canvas tag will fix all the OP's woes.

  21. For printing use PDF via LaTeX by corsec67 · · Score: 5, Interesting

    I also develop for Ruby on Rails, and we have to support IE 6-8. (Of course the developers all use Firefox for Firebug)
    For printing, I switched to using LaTeX, and returning the PDFs.

    HTML just doesn't give you the kind of control that you need on a piece of paper.(Try having custom page headers/footers, for example) I ran into the bug in firefox where it would skip rows of a table going over a page boundry, and then there was other issues with it dropping images on other pages.

    Plus, LaTeX just looks better. HTML is great if you don't know what it is going to be displayed on, but when you do know what kind of paper it is going to be displayed on, HTML isn't the best choice.

    (Specifically, I used the rTeX plugin, with pdflatex)

    --
    If I have nothing to hide, don't search me
    1. Re:For printing use PDF via LaTeX by PDAllen · · Score: 2, Informative

      It's really easy to make LaTeX not look like an academic article: just use the right documentclass. If your file starts \documentclass{article} then you probably will find it hard to play with settings to make it not look like an academic article...

    2. Re:For printing use PDF via LaTeX by dkf · · Score: 2, Informative

      The amount of work to make LaTeX not look like an academic article is boggling.

      Then you're doing it wrong. The usual first trick is to make sure you've chosen the fonts right; most people don't understand the difference between styles and fonts and you sound ignorant enough to also make that blunder.

      Hell, the amount of work just to figure out how the fuck you escape basic punctuation so your file compiles is boggling.

      You have a library for that. Going all hair-shirt and doing it by hand is just foolish.

      Just use a normal PDF library.

      Depends on the size and complexity of the document being produced. If it's really rather large and complex, then build it as XML, use XSLT to map to XSL-FO, and then convert that to printable form. (IIRC, at least one XSL-FO system uses LaTeX as a back end...)

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
  22. Re:but I thought HTML was supposed to fix all that by FuckingNickName · · Score: 5, Insightful

    Apps like MET (link)

    Yes, privacy implications are another great reason to avoid web apps.

    Google Apps - YouTube

    QED. All of these are pale imitations of native apps when it comes to feature sets, responsiveness and UI.

    There has to be huge reasons to abandon web for native development.

    Other way round, dude.

    Java lost the applet battle about 5 years ago.

    What does that even mean? Google Apps are mostly written in Java and translated, so clearly the largest web app producer on the planet likes the language (just not the level of control a client could maintain if Google actually deployed Java). Java is still going to execute faster than HTML/Javascript - hell, we're only just starting to see hardware 3D acceleration, something Java's had since 2001. If you're about to bitch that Swing is ugly, it can be skinned, or you can use SWT which builds on top of native widgets.

    Of course, this is just an argument that Java is better than HTML/Javascript for client/server apps; the best solution is whatever gives the user the richest client experience, employing a domain-specific remoting protocol (e.g. IMAP for e-mail) for transferring information between client and server at the business rather than presentation level.

    Java lost the applet battle about 5 years ago. JavaScript is now a powerful full fledged language that is FAST!!!

    Your definition of "fast" is a comparison with last year's Javascript interpreter/compiler. My definition of "fast" is comparing responsiveness of a whole native app vs a whole HTML/CSS/Javascript app.

    Html5 + CSS 3 is an incredibly powerful, flexible

    Compared to what? HTML4 + CSS2? Yes, in theory - pity it's not actually implemented fully or stably by any browser yet, just like all recent W3C standards (whence the OP's problem).

    Compared to native Windows / Cocoa / Java UI? No.

    and extremely easy to use

    You need to try Xcode. Or its older (and wiser) sibling, Smalltalk. That is easy to use.

    So Ignore what idiot poster posted above

    If I had a hammer, I'd hammer in the morning...

  23. Re:but I thought HTML was supposed to fix all that by Hooya · · Score: 2, Interesting

    after close to about 12 years of developing for the web - from perl CGI scripts to PHP, Java JSP - JSF, python, RoR and various other related things I've finally given up on browser based apps. I do use HTTP/JSON for an interface between the server side and the client side. That allows the server side to be used from AJAX frontend or from a Java desktop app or what have you. But a strict browser based software - never again.

    For a 'rich' client app I would use either: Qt (python/ruby/c++ in order of preference), Java or even VisualWhatever (if I were tied to windows - I try to keep it cross platform).

  24. use HTML/Javascript standard by anton_kg · · Score: 2, Informative

    You should not care about bugs in the browser. Use frameworks (sometimes with workarounds) or standard HTML4/HTML5/Javascript1.x code. File bug reports for whatever you find in browsers. The rest is just wasting your time and you might end up in the deadend as it happened with ie6.

  25. Re:but I thought HTML was supposed to fix all that by nixkuroi · · Score: 4, Informative

    I will be flayed alive, but Silverlight 4 is a "Rich Internet Application" framework and with the most recent version, they built in some very tight and effective printing functionality. That, in combination with the ability to pretty much lay things out exactly as you want, export to an image or text format, export the app to an out of browser desktop app, and print in whatever format you see fit, makes it ideal for the kind of ticketing system you're talking about.

    Here's a blog on how to implement it: http://wildermuth.com/2009/11/27/Silverlight_4_s_Printing_Support
    And another: http://www.silverlightshow.net/items/A-look-at-the-Printing-API-in-Silverlight-4.aspx

    and here's Microsoft's page hyping it: http://www.silverlight.net/getstarted/silverlight-4/

    Here's a blog on linking Ruby on Rails with Silverlight as well: http://techblogging.wordpress.com/2008/03/26/using-silverlight-with-rubyonrails/

    Hope this helps.

  26. Re:but I thought HTML was supposed to fix all that by koreaman · · Score: 4, Interesting

    I would say about 75% of my time at work is spent working around inconsistencies and bugs in Silverlight. To be fair, I've only tried 3, not 4, but they really should have called it "Silverlight Beta 3", not "Silverlight 3". It works flawlessly cross-browser (with a few odd, rare exceptions), and it seems like a big leap forward from HTML/JS for this sort of thing, but I have to say it's not quite ready to compete with desktop solutions.

    However, if you absolutely must have it run in a browser and don't want to use hokey Java applets, Silverlight is something you should really look into.

  27. Re:but I thought HTML was supposed to fix all that by Anonymous Coward · · Score: 4, Informative

    NONE of you posting in this thread section can read, obviously. The question is what BROWSER is best for complex web applications. It is NOT what programming/scripting language is best for making such applications.

    Heck, as wrong of an answer as it would be, "Internet Explorer would be best!!!" would be a better answer than the ones you all are fighting over. At least it's on the list of possible answers to the question.

    Someone needs to mod you all to Off Topic oblivion. There's nothing "Insightful" in you all not even remembering what the question was...

  28. I think you've got it backwards. by reiisi · · Score: 3, Insightful

    I really, really wish I could agree with you.

    But there's a fundamental problem. An intractible problem, even.

    Browsers simply try too hard to be all things to all people.

    That's an impossible task without making all people conform to your definition of all people. Woops, totalitarian dictators and religious idealogues keep trying that one and finding it doesn't work either.

    We should not be continuing to try to build or define the ultimate browser. We should, instead, be defining standards for browsers for specific application fields in specific countries.

    Open standards, not standards led by any industry leader or special interest group.

    Simple, standard browsers, implemented and implementable by small teams with unencumbered tools. With an overall API a single developer can grasp, and libraries that don't require teams just to find out where to find the answers.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  29. Re:but I thought HTML was supposed to fix all that by Pieroxy · · Score: 2, Insightful

    What are you smoking? The whole point of the web is that it can run on almost every platform out there. Phones, web tvs, Linux boxes, PCs, etc...

    Silverlight, as nice as it may be, will never be able to compete on that front. Look at where flash is today.

    As you say, if you absolutely must have it run in a browser, write it in HTML/js/css. That's what browsers understand.

  30. Re:but I thought HTML was supposed to fix all that by mcrbids · · Score: 2, Insightful

    Don't compare the weaknesses of AJAX against the strengths of client side developments without at least mentioning the other way 'round, mmkay?

    Client side applications have issues such as:

    1) System requirements! You have to have the right type of computer, with the right type of processor and/or O/S, etc. Don't have one? Well you are SCREWED. Porting a client application from one platform to another, even with a decent toolkit can be daunting. Even if the programming language supports cross platform development, does that "cross platform" part include Linux? What about QNX? What about the iPad? Browser-based computing eliminates most of this problem.

    2) Environmental differences! Software that works well on computer A might not run at all on computer B despite them being very similar because B installed a shareware program that updated some DLL. Good luck sorting that one out? Web-based applications don't really have these problems outside of the browser discrepancies that exist when you don't write an app with a decent abstraction API (EG: Prototype)

    3) Data locality! So you are at work, you save your file, and then you leave. Over the weekend you remember some detail that you want to bang into your document quickly before you forget. Don't have your laptop with you? Well, shucks! Web-based applications don't really have these problems, either. You might have trouble with Internet connectivity, but even in very rural areas this problem is disappearing rapidly.

    4) Cheap development! Web developers are easy to come by! The standards are open, the needs are many, and the work is easily commoditizable and thus hiring help isn't so difficult.

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
  31. Re:but I thought HTML was supposed to fix all that by dave87656 · · Score: 2, Informative

    The big difference is that all the browser has to do for java is host the runtime. For javascript, the browser has to support the entire instruction set. Java takes longer to start. But once it has started, it gives you much more control.

  32. Re:but I thought HTML was supposed to fix all that by terjeber · · Score: 2, Informative

    I could say I didn't want to burst your bubble here, but I do. Pop. Consider it burst.

    Try to do what most software developers do once. Go into a company that has very complex requirements for their application. Try to do it in any of the more popular web-technologies today, Richfaces, JSF, Struts (you can see where I am coming from I guess) and develop this vertical LOB app. Sorry to tell you, you will spend at least 5-10 times as much time to get it to work than if you use something like Silverlight or Flex and put a SOAP interface on your server. Not only that, but it will easily scale 100 times better than you can possibly manage with an app that keeps all state on the server including conversation state.

    In typical LOB apps you can easily cut network traffic and server hits by 50-90% over an Ajax solution by going with Flex or Silverlight. In most cases such things matter. Not for toy applications though.

  33. Re:but I thought HTML was supposed to fix all that by dna_(c)(tm)(r) · · Score: 2, Insightful

    Javascript is mature enough, it is the DOM that needs to evolve and be consistent over the different browsers. And CSS.

    Still, I'm not always convinced making everything a web application is an efficient choice...

  34. Re:but I thought HTML was supposed to fix all that by FuckingNickName · · Score: 2, Interesting

    System requirements! Browser-based computing eliminates most of this problem.

    When degraded interface, latency of processing and (depending on who's deploying the servers) privacy aren't important... still often no. See the fine article for a counterexample.

    Even if the programming language supports cross platform development, does that "cross platform" part include Linux? What about QNX? What about the iPad?

    Linux - usually.

    QNX - with this RTOS built for embedded apps you clutch at straws. But there's a desktop environment and QNX 6.4 included an albeit non-current Firefox 3, you'll say, then 6.4.1 decided to include a Webkit port last year, you'll point out. Well, yes - tell me, have you tested a modern web app on QNX? Now what about a Java app, or an OpenGL app?

    iPad - Steve's a clever bastard, and has intentionally crippled this platform so you have the choice of either providing a degraded HTML/Javascript experience or developing for Apple's proprietary Cocoa framework. In this specific case, there's little developers can do except stop jumping on the shiny bandwagons Apple are driving toward the firing range.

    Amiga - I'm including this one because I think you forgot it. A recently released Timberwolf alpha (Firefox port) for AmigaOS surely has to be an argument for web apps.

    Environmental differences! Software that works well on computer A might not run at all on computer B despite them being very similar because B installed a shareware program that updated some DLL.

    Oh Christ, the horror of checking a DLL/so version and/or providing my own in the app directory! You're thinking of problems with DLL sharing and system DLL overwriting which were largely eliminated by Windows 2000. FUD is bad, ok?

    the browser discrepancies that exist when you don't write an app with a decent abstraction API (EG: Prototype)

    This? It's a combined utility and occasional kludge layer, like padding for a kick in the balls. Compiling 160k of fixup source to visit a web page - that's what I want my CPU to waste time doing!

    Data locality! So you are at work, you save your file, and then you leave.

    Yeah, you'll have that file stored on a company network server somewhere which you can access securely from a remote location. You'll also have a locally cached copy. This will all be set up in a few minutes as part of the equipment deployment process in any competent IT department.

    You might have trouble with Internet connectivity, but even in very rural areas this problem is disappearing rapidly.

    Argh. Most of the world is a very rural area, and it's not disappearing rapidly because there is no profit in providing cheap connectivity to very rural areas. It's not as if you have to go to a third world country - just the most densely populated country in Europe. I'm not buying a satellite phone for your stupid web app, thanks.

    Meanwhile, in the cities, (1) an business ISP can and will go down for a few hours (and routing be dodgy, and app servers have problems), and it'd be commercial suicide if your workforce suddenly couldn't do anything but twiddle its thumbs; (2) in general, disaster planning means you don't rely on global infrastructure and political stability except when you need to.

    4) Cheap development! Web developers are easy to come by! The standards are open, the needs are many, and the work is easily commoditizable and thus hiring help isn't so difficult.

    Ah, the "why choose Windows" argument. This isn't 1995. There are plenty of programmers available and proficient with common APIs beyond HTML/Javascript.

  35. Re:but I thought HTML was supposed to fix all that by FuckingNickName · · Score: 5, Insightful

    If an engineer is asked, "What is the best tractor for me to commute to my office every day in?" one of the first questions should be, "Why do you need a tractor?"

    Even if you find out that the man really needs a tractor and isn't just lacking knowledge of alternative automotive technologies, you'll have learnt more about his specific requirements in the process.

  36. Re:but I thought HTML was supposed to fix all that by jscotta44 · · Score: 2, Insightful

    The root of this story is about a guy trying to solve a specific internal application problem – not a widely distributed and publicly available application. And, he is writing the application in Ruby, which is good for web development.

    However, I think that I would have written a native application to the platform that they are using instead of a web application.