Thread: Re: Application using PostgreSQL as a back end (experien

Re: Application using PostgreSQL as a back end (experien

From
"Obe, Regina DND\\MIS"
Date:
I've been doing web apps for about 8 years now and just to add to some of
what William said.

One of the key benefits of a web app is that as long as you stick with W3
compliance, your web app will work on any browser/OS.

Also you can't beat the ease of maintenance with a web app.  When you need
to make fundamental changes to your app, you don't need to push out an
install to the user, you only need to worry about the server.  Which is just
an immense savings in terms of user maintenance.

On another note.  AJAX has made the responsiveness of the web interface more
comperable with a desktop app. There is a point of overdoing AJAX though
where you need to be careful.  For example there is a lot you can do with
plain old javascript and DHTML (e.g. writing tables on the screen, drag and
drop which don't require a trip back to the server to get data).  If your
dataset is for example small - it would be pointless to query back to the
server for every keystroke.  A simple javascript autofill drop down list
will do.  In those cases you would just use javascript and DHTML.

Generation of web apps has also become much simpler than it was way back
when I started.  A lot of toolkits exist out there that do all the messy
javascript, AJAX stuff for you.  For example PHP has PHPSmarty with built in
validators, html boxes etc. , SAJAX which compartmentalizes a lot of the
wizardry of these technologies for very common repetitive tasks.  ASP.NET
has AJAX.net, atlas, tons of commercial and free controls etc.





-----Original Message-----
From: William Yu [mailto:wyu@talisys.com]
Sent: Wednesday, November 16, 2005 11:03 AM
To: pgsql-novice@postgresql.org
Subject: Re: [NOVICE] Application using PostgreSQL as a back end
(experienced programmers


Bill Dika wrote:
> Furthermore, I think that if it did use a web interface, it would not
> be
> nearly as responsive as it is. That is why I was thinking of not using a
> browser. I use SQL-Ledger for my own bookkeeping. It is written in Perl,
> uses PostgreSQL as a backend and a browser for a front end. While I like
> the program very much and enjoy the freedom of using it as compared to
> something like say, Quickbooks, there is a noticeable delay when loading
> a form. This delay seems to be much less in stand alone programs that do
> not use a browser. Or am I wrong about this? In any case your

Basically, the issue with web-based is more of a perception/workflow
problem than performance. Everything is submit->server does
stuff->return results. While you can sprinkle a little Javascript to
make the UI more responsive, using too much Javascript tends to make
your programs hard to maintain.

At least that is how it was before. Now with AJAX, you can background
submit data the moment your user clicks/types something and while
they're still doing their data entry, the server is already processing
their work to either return results faster or update the screen realtime.

A good example of this is comparing Mapquest to Google maps. Mapquest
uses the old paradigm. You click on a map, the mapquest server
resizes/zooms/whatever and creates a new gif for you to download. Google
maps on the otherhand is constantly generating new data while you
navigate allowing what appears a "windows-like" interface.

You definitely have to do much better planning to write AJAX web apps
though. I'm still learning the nuances myself -- trying to figure out
where's the best place to use it in my web apps. I.e. don't go overboard
immediately and try to implement it everywhere. Just use it where the
user perceives UI delays.

Of course, there's the idea of not bothering with AJAX and just living
with the perceived delays. It ends up not being a big deal because (1)
users expect such delays on the web and (2) users get used to such
delays on the web. It was a bit of a concern when we developed our
insurance app as 100% web-based -- users accustomed to switching to
different pages of info instantaneously going to 1 second just for the
browser/submit/return latency. But it ended up being not an issue. Users
adapt, especially if you take advantage of what web apps can do. For
example, use linking so users can go from a page of info/form entry to
multiple ones to either lookup reference info or fill out data needed
beforehand. Users appreciate slower single-click functionality versus an
extremely responsive UI that requires multiple clicks to get into
different areas and back.

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

--- "Obe, Regina     DND\\MIS"
<robe.dnd@cityofboston.gov> wrote:

> One of the key benefits of a web app is that as long
> as you stick with W3
> compliance, your web app will work on any
> browser/OS.

i wanted to add that is not my experience.  there are
so many hacks required to achieve cross browser
compatibility it is AMAZING.

i've literally burned weeks of time getting my
html/css right - and just spent a few days reqriting
my entire html/css infrastructure b/c ie doesn't
support the w3c standard of min-width.  i could hack
it, but then ie broke other parts of the site...
hence the total rewrite.

in fact, if i had to list the most difficult thing
i've faced in web based database development to date,
cross browser html/css compatibility is #1 on my list.
 using cygwin to install pgsql 7.4.x when i first
started (total newbie) is a close second...  after
that, nothing is even close.

after blowing 60+ hours fighting numerous cross
browser compatibility issues, i think i finally have a
template that is sufficient to display what i want in
firefox, ie and opera.  konquerer still doesn't play
nice.  i don't know if mac's broser displays it fine,
although it likely does.

the #1 problem, by far, is that not all browsers
support w3c specifications...  ie being the worst.

at least in my experience.




__________________________________
Yahoo! Mail - PC Magazine Editors' Choice 2005
http://mail.yahoo.com

Re: Application using PostgreSQL (off topic,

From
"Daniel T. Staal"
Date:
On Thu, November 17, 2005 2:06 pm, operationsengineer1@yahoo.com said:
> --- "Obe, Regina     DND\\MIS"
> <robe.dnd@cityofboston.gov> wrote:
>
>> One of the key benefits of a web app is that as long
>> as you stick with W3
>> compliance, your web app will work on any
>> browser/OS.
>
> i wanted to add that is not my experience.  there are
> so many hacks required to achieve cross browser
> compatibility it is AMAZING.

I just wanted to but in that I've done enough web development to have had
both experiences.

In general I've found that if you don't mind a little bit 'loose'
structure it is quite easy.  The tighter your tolerances for placement,
the harder it gets.

(Then of course there are things that just aren't possible on one browser
or another.)

> the #1 problem, by far, is that not all browsers
> support w3c specifications...  ie being the worst.
>
> at least in my experience.

True that.  ;)  The next version of IE is apparently *much* improved in
that regard, so in five-ten years when it has replaced enough of the
current browsers we'll be in good shape.

To the original poster: While you could do this in a web interface (and,
as I said, Ruby on Rails looks great for trying it...), I'd suggest you
not, unless you really are thinking of this as a client-server model, with
mutiple clients using it at the same time.

Daniel T. Staal

---------------------------------------------------------------
This email copyright the author.  Unless otherwise noted, you
are expressly allowed to retransmit, quote, or otherwise use
the contents for non-commercial purposes.  This copyright will
expire 5 years after the author's death, or in 30 years,
whichever is longer, unless such a period is in excess of
local copyright law.
---------------------------------------------------------------


Re: Application using PostgreSQL (off topic, but relevant to question)

From
William Yu
Date:
operationsengineer1@yahoo.com wrote:
> i've literally burned weeks of time getting my
> html/css right - and just spent a few days reqriting
> my entire html/css infrastructure b/c ie doesn't
> support the w3c standard of min-width.  i could hack
> it, but then ie broke other parts of the site...
> hence the total rewrite.

Heh, I actually get great cross-browser compatibility by ignoring CSS
for everything except final output type documents. (I.e. stuff that
actually has to be printed out and mailed.)

This means using tables inside of tables, repetitive formatting tags and
other prehistoric techniques. The HTML ends up being much bloated but
then I turn on gzip encoding so the impact isn't that big. I also avoid
too much formatting because I believe in letting the user choose
whatever font type/size he's comfortable with.

This means the stuff not only works in todays browser but also looks the
same in freaking Netscape 4. Although I no longer test in Netscape 4. :)
I know my pages used to work a few years ago but with almost no users on
NS4 nowadays, it's not worth the effort to check new features.

Re: Application using PostgreSQL (off topic,

From
"Daniel T. Staal"
Date:
On Thu, November 17, 2005 3:49 pm, William Yu said:

> This means using tables inside of tables, repetitive formatting tags and
> other prehistoric techniques. The HTML ends up being much bloated but
> then I turn on gzip encoding so the impact isn't that big. I also avoid
> too much formatting because I believe in letting the user choose
> whatever font type/size he's comfortable with.

The biggest problem with pages like that isn't the size: it is the
maintenance.  A large CSS site can be redesigned by changing one file, but
using old-style formatting you'll end up having to change every page.
(And hope you don't make a mistake, or forget one.)

Still, they are nice if you only need a few pages.

But this isn't a webdesign list.  ;)

Daniel T. Staal

---------------------------------------------------------------
This email copyright the author.  Unless otherwise noted, you
are expressly allowed to retransmit, quote, or otherwise use
the contents for non-commercial purposes.  This copyright will
expire 5 years after the author's death, or in 30 years,
whichever is longer, unless such a period is in excess of
local copyright law.
---------------------------------------------------------------


Re: Application using PostgreSQL (off topic,

From
William Yu
Date:
Daniel T. Staal wrote:
> On Thu, November 17, 2005 3:49 pm, William Yu said:
>
>
>>This means using tables inside of tables, repetitive formatting tags and
>>other prehistoric techniques. The HTML ends up being much bloated but
>>then I turn on gzip encoding so the impact isn't that big. I also avoid
>>too much formatting because I believe in letting the user choose
>>whatever font type/size he's comfortable with.
>
>
> The biggest problem with pages like that isn't the size: it is the
> maintenance.  A large CSS site can be redesigned by changing one file, but
> using old-style formatting you'll end up having to change every page.
> (And hope you don't make a mistake, or forget one.)
>
> Still, they are nice if you only need a few pages.
>
> But this isn't a webdesign list.  ;)

I'll clarify more in terms of relevance to developing webapps using
PostgreSQL. I readily use CSS and/or server-side includes for static web
pages. It's a no brainer for HTML maintained by hand.

But for dynamically-generated websites, I stick with old-school HTML.
While the final output source looks ugly, the code itself is just a
series of variables defining the various look & feel aspects + overrides
of those variables based on who's viewing the page and what they're
viewing. Maintenance is roughly the same as with CSS -- alter a single
client_ABC_config.pl that contains all the look & feel variables (versus
altering a single client_ABC_config.css with all the element properties).