Re: Newbie FAQ #2: Where's the GUI?



Jonathan Gardner wrote:

I realise you're probably a troll, but I can't help but bite.

I happen to believe that we write web apps today only to satisfy
Windows users.

I think the exact opposite argument is better: because web apps are
based on (fairly) open standards, they can (with work) run on pretty
much all platforms, from the lowliest phones to full-featured desktops,
no matter what the OS.

In fact, I would say that Mac (and to a degree Linux) are nowadays only
really viable consumer OSes because of web apps.

However, I don't think portability is a key driver in the growth of web
apps; rather, portability is a beneficial side-effect of web apps.

People feel comfortable running webapps because they seem to be more
secure.

Security has next to nothing to do with it, IMO. If anything, people
feel less secure: their data is going out across the wire, and they have
to make all sorts of trust decisions.

But more importantly, webapps are terribly restrictive.

That's what I thought as well, at the start.

But they're also wonderfully liberating. Think about it this way:

* Desktop applications don't usually have a full text and graphics
composition system built-in, as the complexity usually isn't worth it.
With a retained-mode document graph (albeit with a horrible DOM API),
creating pretty documents isn't as hard as manually doing it in an
immediate-mode paint handler.

* Desktop apps need to be installed, usually; running arbitrary
downloaded binary code as the current user is usually a bad idea. Quite
apart from any sandboxing or jail, people usually want to run apps to
manipulate some set of data. Either the data is remote, and the
application remote too (like web apps), or the user has to trust the
application to modify local data. Requiring users to trust applications
to modify local data seems to me to be a bigger security risk than
remote data siloed in the remote application's store.

* The zero-install has a bunch of beneficial side effects which are hard
to replicate with desktop software:
- Your data is everywhere you go, even in public terminals at e.g.
airports
- Your data is backed up, even when you have your laptop stolen
- You don't have to rely on a monopoly OS provider to keep your
essential apps running
- You can access your data and apps while mobile

* Web applications can be integrated via hyperlinks. Because the browser
is the base system which supports navigation and composition, you don't
need to understand the whole of e.g. COM or CORBA to integrate
applications from different vendors, or create a third application
composed from third-party parts. Mashups are far easier to create,
conceptually, than COM embedding.

It's not the future of software.

Web apps have their place. There's some jobs when it doesn't pay to
remote the interface. You need to bring some processing work to the
client to eliminate latency and increase the productivity of available
hardware.

However, these applications are in the minority. Media manipulation
programs (especially rich media like video), graphics-intensive video
games, high-quality text editing experiences, these things work better
locally (at least with current architectures).

But most applications aren't like that. Most business applications are
field-based data entry and manipulation and table-based viewing and
reporting. Most social applications need an online component to work at
all, and don't suffer from a client/server replication requirement when
that application is online.

HTML5 is simply (1+ HTML4). I don't like the direction of this,
recursively speaking. Might as well write a linux emulator on Windows
and have people download that instead of building it piecemeal.

On the whole Linux front, I haven't had good experiences. The command
line is great; I use Unix tools pretty much exclusively, via Cygwin on
Windows. As a headless server, not too bad: extra cheap in licensing,
somewhat more expensive in management, than Windows.

As a desktop, about the only two things I can rely on are the web
browser and the terminal window. Most distributions include the flakiest
apps, with 3+ different choices for any given application niche, all of
them buggy in different ways. File browsers aren't anything like as
screen real-estate efficient as Windows Explorer: the icons are too big,
the details view grid spacing is too wide, the toolbars are too large,
the menu bars are too high, the fonts look too crummy when small.

Then, there's the whole graphics driver issue. I know there are legal
issues, social / freedom issues and some technical issues there, but I
just don't want to think about them. I just want things to work, and
work well. Unfortunately, that hasn't been my experience, and I've been
playing with Linux since 1996 or so. I've edited too many conf files for
my own good health.

-- Barry

--
http://barrkel.blogspot.com/
.



Relevant Pages

  • Re: Honestly Curious
    ... On Windows, I agree, this is a PITA--but not so on other systems that don't implement OS X-style application containers. ... It also makes abstractions more difficult to implement, and introduces the potential to break scripts and applications that call on other applications. ... Since I use quicksilver as an application launcher, along with a very few "always used" apps on the dock, it makes no difference to user functionality where the apps reside, but it does help organize data together on the storage media. ... case though, there is nothing that should dictate that all applications land on the boot drive, unless the other drives are removable. ...
    (comp.sys.mac.advocacy)
  • Re: Proof of the Macs intuitiveness
    ... just as easily use the Mac's Application folder (though you can have ... applications in other areas, such as an Applications folder in your ... Adobe apps, for example, act like Windows ...
    (comp.sys.mac.advocacy)
  • Re: Confusion Apple installs...
    ... > Still don't get the way OSX handles files, applications, and directories. ... It's certainly not intuitive to refugees from the Windows or Linux ... Finder window pops up with ... and creating sub-folders to group similar apps ...
    (comp.sys.mac.advocacy)
  • Re: Telnet
    ... > you're trying to run them on a Windows box: ... The cygwin packages also provide a working X server ... > capable of displaying X apps from remote hosts. ...
    (comp.unix.questions)
  • Some newbie questions
    ... Or,>must< one boot DOS, Windows, Linux etc and then launch a ... I have done quite a lot of searching on the Web for 'Forth applications' but ... Are most Forth 'apps' more of an embedded type of app? ... run under DOS, or Windows using Forth, or must a Forth program be launched ...
    (comp.lang.forth)