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.
About Sean Rhody Sean Rhody is the founding-editor (1999) and editor-in-chief of SOA World Magazine. He is a respected industry expert on SOA and Web Services and a consultant with a leading consulting services company. Most recently, Sean served as the tech chair of SOA World Conference & Expo 2007 East.
steve wrote: 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 secu...
mathew wrote: 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 wrote: Luke,
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...
Luke wrote: Gary,
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
...
SEM wrote: About four or
five years back I came to
the same conclusion, and
began experimenting with
an application I called
SNAP which on paper would
have ticked pretty much
all the boxes in your
article. It linked and
configured Java
components (either built
in or dynamically fetched
on-line) together via an
XML document, which also
contained scripts (I used
Rhino, the Java
JavaScript
implementation, to begin
with) to glue everything
together. All the
components could interact
via a 'DOM', which also
stretched across networks
to reach components
physically located on
other computers (ala
RPC/RMI).
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 loa...
Gary Cleal wrote: A good
example of what you can't
do with HTML is the
browser itself. Thats
why Mozilla had to
develop a new language
(XUL) to build "real"
applications like FireFox
or Thunderbird. Dockable
Toolbars, MenuBars, Tabs,
Tab Pages, Pluggable
extensions. all of those
elements live within an
implict "Window"
heirarchy, so they are
aware of each other. You
can do some really nice
stuff with (xHTML + CSS +
Javascript) but you can't
build a browser with it
(or a word processor, or
a CAD system or paint
program ....
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 wrote: 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 wrote: 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 wrote: 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 wrote: 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 wrote:
Halleluja!
html is for
TEXT and LINKS. not for
GUIs!
posting of forms is
the maximum.
AJAX is just an attempt
to put an additional sail
on a boat. lets move on
to steam power!
the big problem is, how
do we get the masses to
use a new standard?
everybody has a browser,
nobody wants to change.
perhaps the browser
should only be used as a
java-applet delivery
mechanism?
Gary Cleal wrote: 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
hand...
Luke wrote: 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.
Hamish Lawson wrote: 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 wrote: 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?
XUL? Flex? XAML? XFORMS?
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.
XAML looks promising
because its rich and
open, combined with
Microsoft's ability to do
forms (witness the
success of VB)
To Jean-Pierre
IBM Workplace is just a
java application, it
doesn't use anything new
from a GUI point of view
and doesn't support
on-the-fly application
rendering.
Jean-Pierre Gremaud
wrote: 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/inf
o/workplace/index.jsp
Frank Smieja wrote: 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 wrote:
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 la...
From Application
Virtualization to Xen, a
round-up of the
virtualization themes &
topics being discussed in
NYC June 23-24, 2008 by
the world-class speaker
faculty at the 3rd
International
Virtualization Conference
& Expo being held by
SYS-CON Events in The
Roosevelt Hotel, in
midtown
It's only taken Borland
two years but it's
finally dumped its
CodeGear tools division,
responsible for Borland's
hereditary JBuilder,
Delphi and C++ Builder
lines as well as its new
web ventures into PHP and
Ruby, said to be used by
7.5 million developers.
Embarcadero Technologies
is b
According to Sean Walsh,
President and CEO of
Skyway Software, 'Our
Skyway Community is
thriving and our members
are very talented. We
truly look forward to
their RIAs submittals and
Skyway Builder extensions
and are excited that all
of the contributions will
benefit the entire Skyway
Skyway Software announced
a strategic partnership
with SpringSource. In
this technology
partnership, Skyway
Software becomes an
application-delivery ISV
certified by SpringSource
and integrates Spring
into Skyway Visual
Perspectives, its
end-to-end application
development and delivery
Brian Stevens, the Chief
Technology Officer and
Vice President of
Engineering of Red Hat,
delivered his
Virtualization Keynote
'The Future of the
Virtual Enterprise' at
SYS-CON's Virtualization
Conference & Expo 2007
West in San Francisco.
'Virtualization is the
hottest subject today,
Red Hat is a trusted
open source provider.
Red Hat offers enterprise
customers a long-term
plan for building
infrastructures on the
quality and innovation of
open source. Combining
open source operating
system platform, Red Hat
Enterprise Linux,
together with
applications, management
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice: