Re: Showstopper desktop runtime issue

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Joao De Almeida Pereira <jdealmeidapereira(at)pivotal(dot)io>
Cc: Murtuza Zabuawala <murtuza(dot)zabuawala(at)enterprisedb(dot)com>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>, Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>, Neel Patel <neel(dot)patel(at)enterprisedb(dot)com>, Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>, Robert Eckhardt <reckhardt(at)pivotal(dot)io>
Subject: Re: Showstopper desktop runtime issue
Date: 2018-03-22 16:14:14
Message-ID: CA+OCxowdBJbY9MGzeKWf3FFqud-7Z8eBFTvksUcFeCuS7W8=Rg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi

On Thu, Mar 22, 2018 at 2:57 PM, Joao De Almeida Pereira <
jdealmeidapereira(at)pivotal(dot)io> wrote:

> Hello Hackers,
> Here is our take on the 3 options present:
> 1) QtWebkit and QtWebEngine
>
> Pros:
> - Webkit is a mature technology that as been around for some time
> - Apparently the Fork of Webkit we were using as been catching up
> Cons:
> - We are using a Fork
> - It is to far behind of the today browsers and the competition keep
> evolving making it even harder for them to catch up
> - Problems with the environment from the past, lagginess, lack of support
>
> 2) Rework runtime to find a running PGAdmin and attach to it
>
> Pros:
> - We already made the big move from Webkit to this version
> - Add smarts to the application to do not run itself if it is already
> running, or kill the currently running application
>
> Cons:
> - More C++ code thrown around
> - Add more dependency on our QT application
> - Have specific code for Gnome, not even a OS version but a window manager
>
> 3) Electron
>
> Pros:
> - Full Javascript runtime, no more C++ code to handle
> - Self packaging for all the environments
> Cons:
> - No fully supported on Linux based OS with old libstdc++, (This might
> solve the problem: https://github.com/mattermost/desktop/issues/312)
> - CPU/RAM high utilization (Found a issues around and the majority of them
> have solutions like CSS animations running or settings on the created
> windows)
> - Electron does not support tabs by default, only HTML tabs
>
> After combing through these options with some pros and cons here are my
> thoughts:
> 1) This options was always cluncky from the beginning, the fact that we
> are working with a browser that is currently 26k commits behind
> Webkit:master is concerning. So I do not believe this is a viable option.
> As a personal opinion is we need to release fast, then we should go with
> what we have now and not go back to this option.
> 2) This option is not very appealing to me, because we would be pilling
> code into the QT portion of the application, that I hope we remove in the
> future, that currently is untested to solve a problem caused by a Window
> Manager......
> I would be more in favor of creating a Application Indicator that would
> support 2 actions, Kill running pgAdmins and launch the browser to access
> them. There is a lot of interesting websites that talk about this, and how
> to develop. I had to download one to have a docker indicator..... But as I
> said in a previous thread, I believe that this should be a 3rd party
> application and not a first class citizen on pgAdmin, as the majority of
> the ones that I found are.
> 3) Electron can to play, first when we though about removing QTWebkit,
> because it always packs a browser with it and also and there is a very big
> Open Source Community being it. It came back again when when we saw that we
> were ready to ditch the browser. (As a personal note I dislike applications
> that I install in my machine and pop browser open to do anything, this is a
> personal issue that I would like to see if it was shared by others that was
> why we decided to park Electron for a second time. Because if our users are
> ok with it there is no need to add extra complexity to the product)
> The most interesting thing about the cons that I found in Electron there
> is an issue open for them and a bunch of different solutions to try to
> handle it, or even advises on how to handle it. This option also allow us
> to focus less on browser compatibility as the main target of our
> development will become Chromium which is the base of browsers like UC
> Browser, Vivaldi, Opera, Google Chrome.
>
> As you could see from my long long email, I am biased towards options 3,
> not because I started the push for it, but because I believe it is the
> right step for this product. This being said, I think that releasing now
> with this current issue is Ok as a first step to somewhere.
>

I think in the longer term, 3 is probably the best option. Whilst the
current architecture (where it works) is a good improvement and gets rid of
the QtWebKit/QtWebEngine problems, I'm not a huge fan of having a server
and browser; I much prefer the idea of having a single app.

How much effort do you think it would be to get the Electron based browser
to a usable state, in which everything is nicely packaged and buildable,
but without the tab support?

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgadmin-hackers by date

  From Date Subject
Next Message Magnus Hagander 2018-03-22 16:17:03 Re: Showstopper desktop runtime issue
Previous Message Joao De Almeida Pereira 2018-03-22 14:57:09 Re: Showstopper desktop runtime issue