|By Sean Rhody||
|October 20, 2005 03:15 PM EDT||
To paraphrase, "I come not to praise the Browser, but to bury it." Because the cold hard fact of application development is that the browser needs to die. Immediately. It's already caused more than enough damage. This may seem to be a harsh statement. After all, the browser was responsible for the explosion of the Internet. It serves many useful purposes and people do billions of dollars worth of business through it every year. Seemingly, I should be praising the browser, not calling for its execution.
Nevertheless, the browser needs to go, and we all know it. It's the dirty secret of the IT world, one we never like to talk about - as a mechanism for delivering a GUI, the browser stinks.
Stinks isn't even a strong enough word. The browser was intended to deliver text across the Internet, and it's good at that. So good that people began to piggyback other things onto their HTML code in order to try to exploit a mechanism of enormous popularity to deliver applications. That's where the problems began.
In one sense, it is HTML and HTTP themselves that have let us down. They stopped evolving, stopped trying to grow - and have been coasting, resting on their laurels for years. By now HTML should have evolved a cross-platform mechanism for designing rich controls and multiwindow applications. It should have moved beyond request-response and standardized a bidirectional communication mechanism so that only data need be transmitted. The overwhelming popularity of software such as Instant Messenger and Napster prove that bidirectional communication is possible, and very desirable. Instead, we have frames and a refresh tag.
I've gone on record before regarding the last mile of Web services and SOA - namely the delivery of complex services and user interfaces to end users. This is where HTML should be - it should have evolved as a mechanism to allow us not to just post text content, but to describe application function as it relates to presentation.
Admittedly, this is a complex area, one where others have tried and failed or at best partially succeeded in driving a common understanding. Nevertheless, rather than writing application code in the form of applets or ActiveX controls, would it not be easier to describe behaviors in XML and allow the next incarnation of the Browser to render application displays? If the capability existed, the tools to make application design feasible and simple would soon follow.
Instead, the browser is brain dead. Plug-ins and controls don't help, because for the most part, even though they may be high quality, they are provided by a single vendor and don't have the force and impact of an industry standard. Also, it's too much work to make the browser look like an application, and in the end, you still have to write the entire application in a way that gives developers fits - because of the constraints of the browser.
What is needed is the Post Browser, the Next Browser, whatever name you want to give to it. Sure, it can still run HTML (the old stuff), in a container that is essentially the same as today's browser. However it should be capable of complete look-and-feel customization via a standard markup language. It should provide a rich set of custom controls and be able to access the desktop (with appropriate security, of course). It should have a native, secure, bidirectional mechanism, and one that supports multiple connections so that we can access services from multiple sources in a composite application. It should also have extensible controls so that we can extend and improve the behavior of controls and applications as needed. Furthermore those extensions should become part of the next release of the standard, which shouldn't take years to come forward.
So I say "Death to the Browser" - bring on a real application platform.
|steve 08/18/07 09:54:37 AM EDT|
I couldn't agree more. DEATH TO THE BROWSER!! Developing applications for the browser is a royal pain in the a*s. Then alongs comes ajax and all it's hype. The more I looked into ajax the more I was underwhelmed. from the hype you'd think it was going to revolutionalize the browser but all it has done is prolonged its death and forced developers to learn yet another object model. don't even get me started on control positioning. you might as well write a novel using a stone tablet and chisel.
I am a full-time developer and backup network admin for a medium-sized company, and there was a time in the not-so-distant-past where I spent almost as much time "fixing" computers with malware due to browser security holes as I did in application development. It has gotten a little better thanks to better security appliances (and NO thanks too browser improvements). I am moving away from web apps as my primary development tool and back to windows clients. deployment tools are getting much better as is pushing out updates.
I think one example of a balanced mix between web and windows clients is iTunes. I don't know anything about how it was developed, but I believe this model, or some form of it, is the future.
|mathew 09/06/06 04:49:18 AM EDT|
I agree. But, the correct solution was given long back. It is the applet-servlet communication. If only, people were not so adamant not to download JDK in their system, we can have the best of both worlds, so easily. I suggest that all browsers have automatic downloading and installation of a lightweight version of JDK in the calling machine.
|Gary Cleal 11/15/05 01:18:59 PM EST|
All these comments have been made in the context of the article "Death to the Browser". Going back to the thrust of that article, what is being suggested is that the browser in holding back the development of applications that suit the needs of users. There is no argument about that, as an architect the major problem still faced by all enterprise class applications is to structure a simple, efficient and engaging interface for the users (particularly enterpise users).
And let's be clear, I did not say that MXML and XAML are superior to (xforms and AJAX), I said that they where superior to xforms and XUL. There is a way to say that, because all 4 technologies are designed to do the same thing: Define an application user interface. And as such XAML and MXML are simply more extensive, being able to define a broader set of applications than XUL or XFORMS can.
I am in no way "dis-sing" AJAX, it has its role to play and I have been using the core technology element (XMLHTTPRequest) for about 6 years (2 years after it was invented by Microsoft for OWA)
The other technologies are working at a level up from what goes on inside a browser (it's an outside-the-box kind of thing).
|Luke 11/15/05 12:14:23 PM EST|
I don't think any posts suggest AJAX is the panacea for UI. It's Really Damn Good for making better UI's on web applications, but no-one is suggesting CAD could be done in a web app with typical AJAX.
AJAX very much addresses the interface issue because of the way it improves the transport issue. The UI is about the user's experience, and AJAX really improves that experience.
There's already a pretty slick AJAX word processor built into Gmail for composing messages. And my Google personalized home page has toolbars and tabs that are "aware of each other." Not to mention I can add plugable content by throwing in my own RSS feeds, or search results.
But that's all just tit-for-tat. The point is that UI highly situational. There is no way to say MXML and XAML are "superior" to XFORMS and AJAX. It's all dependent on what one is doing.
Yes, there are applications where a web approach would butcher the user experience. But that number of applications got smaller when good AJAX design became prevelant. Ignore it at your own risk.
|SEM 11/15/05 08:25:33 AM EST|
The ultimate idea was that you didn't 'save' your work, you 'bookmarked' it. So you could shut the client down, go somewhere else, access your bookmarks and select the project, and the necessary IU and data would be loaded on your new client so you could resume your work. Not only did the data follow you around from place to place, but the application itself did too.
Obviously the scale of the work (the above is only a brief outline of my idea) kind of got to me - I knew from the start that I'd bitten off more than one person could chew. And nobody else seemed to appreciate the idea - so inevitably this 'spare time' project ran out of steam and was mothballed after a few weeks. Ever so, it was rather interesting 'messing about' just seeing what worked and what didn't. :-)
|johan witters 11/12/05 02:32:11 AM EST|
I think the author of this article has no experience with applets nor has he heard about java webstart technology.
|Gary Cleal 11/06/05 06:44:55 PM EST|
Imagine if you could!! you could "construct" or assemble applications on-the-fly completely platform independent capable of anything and tailored to the needs of the user at the specific time.
|Mike Dierken 11/06/05 06:28:09 PM EST|
All UI based applications have some sort of UI definition language. Whatever is missing from HTML is minor (given the success of the existing Web) and can be added as the need arises.
In fact, the evolution of HTML as a UI definition language is evolving, but as a widely adopted standard, that evolution is slow. Take a look at the WHAT-WG for an example of the kinds of things that will happen to HTML over the next 1-2 years: http://www.whatwg.org/
What specific part of a GUI were you unable to build within a browser when you tried?
|Gary Cleal 11/06/05 03:27:44 PM EST|
All the posts suggesting "AJAX" as the panacea miss the point. AJAX still relies on HTML, and HTML (or XHTML) is weak at defining an application user interface for all but the most simple applications.
AJAX addresses the transport issue not the interface one.
|Charles Sandberg 11/06/05 02:43:21 PM EST|
I think sean the author of this editorial, should turn off his computer and leave the IT field. Want a more client-server action? Try AJAX!
|Luke 11/02/05 09:35:04 AM EST|
Wow, talk about 2 steps backward. I don't think I've seen any good Java applet online. And I haven't seen one at all in a couple years.
AJAX is not another sail. It's a set of existing technologies that, when integrated throughout the design, create a different kind of technology altogether. It is the steam power.
XAML and MXML may be the never-ending nuclear-engine substitute, but some ships don't need all that.
And some apps just need a single auto-complete drop-down in a form. You could do it with lots of things, except maybe not an applet, and XAML might be overkill.
It's all pretty situational, so throwing at a perfectly viable and proven approach like AJAX is just plain ignorant.
|arnodenhond 11/02/05 06:20:09 AM EST|
|Gary Cleal 10/26/05 10:21:32 AM EDT|
In my first comment below I put both XUL and XFORMS behind MXML(Flex) and XAML. Both XUL and XFORMS are better than HTML, but both are very "last century" in concept. They both focus on forms and represent an application as a static collection of Interface elements.
XAML by contrast creates a framework for forms, but also includes 2d & 3d graphics rendering, animation, document flow control in a highly compact xml based syntax. XAML has been criticised for lack of CSS support, but the style model within XAML is far more powerful than CSS, again based on an XML syntax, the style element in XAML not only controls visual presentation it can also be applied to behaviours.
MXML like XAML has a richer application construct than XUL and XFORMS, but MXML uses CSS for style, and ActionScript for event handling.
All of these technologies depend on a client side rendering engine;
I gave the thumbs up to MXML because the Flash player is light and already widely distributed.
XUL and XFORMS are quite "retro" and could use an architectural and conceptual overhaul.
|Luke 10/26/05 09:42:17 AM EDT|
The possibility of rich user interfaces delivered thru the current browser exists, and it's actually the stagnation in HTTP and HTML that has enabled it.
Everyone knows how HTTP and HTML works and will always work (since they're not innovating). So working with that un-changing base means you can be creative with the rest - things like AJAX, XUL, etc. to achieve usability.
|Mark 10/26/05 08:07:09 AM EDT|
|Hamish Lawson 10/26/05 06:31:03 AM EDT|
You didn't expand on how HTTP has "let us down".
While not completely addressing your complaints about HTML, AJAX allows browsers to behave more like desktop applications. Wider adoption of XForms might also help close the gap.
|Gary Cleal 10/26/05 06:00:52 AM EDT|
I agree with Sean, the browser has always been the weak link in the overall architecture of most applications out there, good riddance!
The question is what to replace it with?
At the moment for me its a toss up between Flex and XAML, for reach, the flash viewer must be close to the most ubiquitous engine capable of rendering rich client interfaces, the downside is the designer, Macromedia have never been able to "do forms" particulary in flash, witness all the cheap flash alternatives for building flash.
|Jean-Pierre Gremaud 10/26/05 03:36:18 AM EDT|
What you are looking for is named "IBM Workplace". It's for sure one technology that will provide most of the things that you are looking for and that you can't do with a browser. Have a look at http://www-306.ibm.com/software/info/workplace/index.jsp
|Frank Smieja 10/26/05 01:42:58 AM EDT|
But isnt this what Microsoft are trying to do with .NET and the use of XML that leverages the new Windows OS for rich interfaces? Isnt it also where progress is being made via FLEX/FLASH technology? I agree - we need to get more of the fancy and rich interfaces running and built client-side, lettuing just deltas on text and data move over the wire (and i also mean both ways). The big question is though - whose standards do we follow, it is the traditional impasse in IT
|Michael Murfitt 10/25/05 11:43:19 PM EDT|
Right on! The use of a browser as a GUI front-end for any application epitomises where IT has gone off the rails. After writing one large 24/7 internet application several years ago (using Coldfusion) I vowed never to do that again, and I haven't. HTML is a stupid and moronic way to write intelligent GUIs. It does have one great asset - it creates work. And it even creates more work in the maintenance cycle.
It has never ceased to amaze me that the old VB3 runtime was smaller than any browser, and the source code of any VB3 application was smaller than the equivalent in HTML. Who were we trying to fool. Yes I know it's a little more involved than that when you throw security into the mix. But that wouldn't have been hard to overcome.
The last five years in IT have been the host of an incredible lack of innovation. Did the change of century shut down all the neurones and let the propeller-heads take control?
|Anon 10/25/05 06:37:24 PM EDT|
I didn't see any feedback on this, so thought I'd mention an example of an XML grammar for user interfaces that would use a client (whether browser or not) to manage the local experience:
|SOA Web Services Journal News Desk 10/20/05 03:27:27 PM EDT|
SOA Web Services Journal Editorial: "Death to the Browser" To paraphrase, 'I come not to praise the Browser, but to bury it.' Because the cold hard fact of application development is that the browser needs to die. Immediately. It's already caused more than enough damage. This may seem to be a harsh statement. After all, the browser was responsible for the explosion of the Internet. It serves many useful purposes and people do billions of dollars worth of business through it every year. Seemingly, I should be praising the browser, not calling for its execution.
- @ThingsExpo | Using @Docker For a Complex #IoT Application
- Stay Current on the Internet of Things
- New Relic Announces General Availability of Real-Time Analytics Platform New Relic Insights
- Red Hat Announces General Availability of Red Hat Enterprise Linux OpenStack Platform 5
- The Business Challenges Impacting Digital Transformation
- Findly Enhances Recruiting Efficiency With New Single Sign-on Portal
- 8 Tips for Going Paperless In Your Small Business
- 8 Tips for Going Paperless In Your Small Business
- IoT: I Don't Care How Big It Is!
- Case Study: Implementing a Cloud-Based Information Management System
- How Mobile Solutions, Digital Disruptions and Code Halos are Transforming Industries
- Ukraine Has Potential in Midst of Chaos
- Global Financial Firms Can Effectively Address Technology Risk Guidelines
- More Mainstream Businesses Depend on Open Source
- @ThingsExpo | Using @Docker For a Complex #IoT Application
- MapR Technologies Announces Upcoming June Conferences
- F5 to Present at Upcoming Technology and Investor Conferences
- The Odd Couple: Marrying Agile and Waterfall
- FlexNet Manager Suite Wins CODiE Award for Best Asset Management Solution - 4th CODiE Award for Flexera Software
- Fanning the Flames of Agile
- WSO2 Guest Speakers at WSO2Con Europe 2014 Will Examine Technology Developments and Best Practices Enabling the Connected Business
- Internet of @ThingsExpo Silicon Valley Call for Papers Now Open
- April and May 2014 Server and StorageIO Update newsletter
- Last Chance to Register for LTE World Summit
- The Top 150 Players in Cloud Computing
- Who Are The All-Time Heroes of i-Technology?
- Where Are RIA Technologies Headed in 2008?
- Success, Arrogance, Rise and Fall
- AJAX World RIA Conference & Expo Kicks Off in New York City
- The Top 250 Players in the Cloud Computing Ecosystem
- Personal Branding Checklist
- i-Technology Viewpoint: Attack of the Blogs
- Exclusive Q&A with Jeff Haynie, Co-Founder & CEO, Appcelerator
- Cloud People: A Who's Who of Cloud Computing
- Ulitzer Names the World's 30 Most Influential Cloud Computing Bloggers
- Web 2.0 News and Wrapping Up "Real-World AJAX" Seminar