Re: UI, Lisp, CLOS, MVC, design



On Tue, 28 Oct 2008 10:45:45 -0700, Lars Rune Nøstdal wrote:

On Oct 28, 1:32 am, Marek Kubica <ma...@xxxxxxxxxxxxxxxx> wrote:
On Mon, 27 Oct 2008 03:19:40 +0100, Lars Rune Nøstdal wrote:
How do I install it?

How can I login? Why is it sending my passwords in clear text? Whats
this cookie thing?

HTTPS. Cookies and JS is enabled by default; if the user has disabled
(read: directly and knowingly) these things, I can detect this and
inform the user (and/or me).

But most apps don't bother, because it puts quite a load on the server.
Encrypted connections are more or less standard now, see SMTP+TLS, IMAP
+TLS and Jabber (which usually is encrypted per default). On the other
hand, when I type in some Web2.0 thingie and add a https before it, I
mostly get nothing to see.

This was partly a problem because one could run only one HTTPS-Server per
IP and port and has been fixed since using SNI, but it is not yet a
common thing.

Does it run on my brothers Mac too?

Why does it look crappy on my iPhone? And even worse on my Openmoko?
And why does it look broken on every IE I have tried?

General problem that doesn't apply to web-UIs in particular. Native or
semi-native apps can also look like ***.

Right. But you sound like you never tried to get a web site look good in
Firefox and IE at the same time. With the rise of mobile web with rather
small displays this gets even more problematic. The web site that was
"optimized for 1024x768" will most likely be problematic with browsers on
small display. Yeah, there is zooming, but how often can you zoom out and
it. This is the web, not Google Earth.

How do you distribute it? How do you distribude updates?

Point taken. How about XSS, CSRF, clickforging?

Not impossible to solve or deal with.

Most Web2.0 things don't and preventing this is quite a bit of work which
makes programming for the web which was once trivial pretty hard. And
then there might be new techniques that can be exploited, so you always
have to keep up with your app.

What happens to my config/settings etc. when I buy a new computer?

What happens to my data if the provide disappears?

General problem; the same thing applies to a client written in Gtk+, but
see what I write about running a HTTP-server on LAN/localhost below.

Local backups are possible and trivial. Even Apple ships a backup
solution as a part of their OS. Backupping online data only easy for the
provider, if you want to have an offsite-backup of your stuff, you need
to write a program which scrapes out your data and saves it. Not that
many people would bother anyway, but I believe data safety is still
important.

The combination web/browser (presentation/UI) and HTTP (communication)
is the only thing that has:

* Basically 99.9% (or so) ubiquity: IE6+(Windows), FF2+(Linux)
and Mac(Safari). I think the 0.1% missing is _way_ less
missing
coverage "globally" than anything based on, say, Gtk+ or Qt
-
_when_ combined with the points below. Aiming for the
largest
coverage (first) makes sense in so many ways.

Depends on what you write. While I agree that a community site does have
some use (but then, it does not need fancy application-like features) but
mail clients, IRC clients (or some even worse propietary thingie) and
slide generator (280Slides, I'm looking at you!) are just plain silly.
They don't need the coverage. Their advantage is that data can be
accessed from anywhere, but web drives exist. Not to mention that more
and more people have USB sticks, cellphones and nettops with them, so
there is not that much need for storing data on the internet.

* 0 install required. Show me anything else that allows me to
scribble down an 8 letter word (URL) on a post-it note and
invite the world (all 99.9% of it) _instantly_ and combine
this with
the other points. This, is real power - it has significance;
it
allows anyone and everyone to participate. People with low
technical skills (or low on time/patience there) can be very
strong in other areas.

Package managers are easy to use too, last time I looked installing a
Ubuntu package needed only some clicks which are no harder than clicking
on stuff on a web site to register.

* 100% real-time, full two-way/duplex (yes, really - I'm doing
this; no plugins), through all router/firewall/NAT thingies
--
with _no_ trouble. Globally(#2).

Two-way duplex with COMET is a toy, polling is just a bad joke. Been
there, tried that. I still prefer good-old BSD sockets. Which are by the
way more efficient. For saving data from local applications one can also
use HTTP, see XML-RPC or plain old POST-ing of data to some remote
location.

The user can, if he _really_ needs to, run a server on his LAN or even
on localhost (say, his laptop).

Sure, but where does he get the server from? Most web sites don't provide
sources, they don't need to and if they would, that might split the
community because it is centralized on one instance of the server.
Interoperability with other instances is not built-in. Most code is not
AGPL-licensed, which would force people to publish their code (I'll leave
it up to the reader to decide whether this is good or bad).

People have a tendency to think; server == some closed "Google thing" on
the "other end", but this is just a mental barrier. A "server" really is
just software(#1) also; it can run, right here. It's not impossible.
CLISP is quite portable (Win32) and it has a small overhead.

See, CLISP is portable so are other languages. So why not write the app
in CLISP/portable language? There are many and performance is *usually*
enough (most of the time better than with JS).

While Ido agree that for some things it might be useful, I look around
and see what I and other people use (to get instantly in touch with
others). For example Usenet. For example Jabber. For example Email. For
example IRC. I wouldn't want to post via Gmane, chat via Meebo, mail via
GMail etc. I do use web forums - true. But that are mostly plain HTML
with a little bit of application logic. Usually not somehow sophisticated
applications.

regards,
Marek
.


Loading