From: | Robert Eckhardt <reckhardt(at)pivotal(dot)io> |
---|---|
To: | Dave Page <dpage(at)pgadmin(dot)org> |
Cc: | Magnus Hagander <magnus(at)hagander(dot)net>, Joao De Almeida Pereira <jdealmeidapereira(at)pivotal(dot)io>, 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> |
Subject: | Re: Showstopper desktop runtime issue |
Date: | 2018-03-22 16:38:26 |
Message-ID: | CAAtBm9VPHQKKCMY=WAaW8=tU9mQyJL14+pp+DRhGQcSmmy+Y5g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-hackers |
On Thu, Mar 22, 2018 at 12:28 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
> Hi
>
> On Thu, Mar 22, 2018 at 4:17 PM, Magnus Hagander <magnus(at)hagander(dot)net>
> wrote:
>
>>
>>
>> On Thu, Mar 22, 2018 at 3:57 PM, Joao De Almeida Pereira <
>> jdealmeidapereira(at)pivotal(dot)io> wrote:
>>
>>> Hello Hackers,
>>> Here is our take on the 3 options present:
>>>
>>
>> This looks like a good summary, so I'm going to pick this one to comment
>> on :)
>>
>
> :-)
>
>
>>
>>
>>
>>
>>> 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
>>>
>>>
>> Yeah, this one hasn't exactly caused a "little" set of complaints so far.
>> It might be workable for absolute stop-gap, but not beyond that.
>>
>
> Right.
>
>
>>
>>
>>
>>> 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
>>>
>>
>>
>> Annoying as it is, I think this is the least bad option at this point.
>>
>>
>> 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)
>>>
>>
>>
>> Losing support for things like RHEL6 would make it completely unworkable
>> for several of my largest customers. Particularly in large enterprise
>> organisations, this would be a very substantial issue.
>>
>
> That's good to know. There are clunky workarounds (shipping different
> libcs for example, but that potentially adds licensing issues).
>
> Sidenote: It would only be an issue for desktop mode. Web mode should not
> be affected.
>
>
>>
>>
>>
>>> - 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)
>>>
>>
>> This does sound bad. But do we actually know if this is worse in Electron
>> than it is in the option #2? I mean sure, we point to things like Slack,
>> but that may not be because of electron, it may be because the app running
>> inside it?
>>
>
> We don't know for sure, but we do know that Chrome in general is a bit of
> a hog. It's certainly not a stretch to think a combination of those things
> are why people (correctly) see browser based apps as being more resource
> hungry.
>
I honestly think this is a fair criticism. I like electron and wish it
weren't.
>
>
>>
>>
>>
>>> - Electron does not support tabs by default, only HTML tabs
>>>
>>
>> I think that also makes it a showstopper. This was another one of the
>> main complaints I have personally heard from people going from pgadmin3 ->
>> pgadmin4, and enough to make people not want to use it at all. It would be
>> really bad to go back to that.
>>
>
> To clarify; it would mean no tabs, but not single window. That was already
> working in the PoC. In other words, helpfiles, the debugger and query tools
> could all be opened in new windows, just not tabs on the same window that
> could be docked and un-docked.
>
> I suspect for most people that would be enough.
>
Agreed, I also think that adding tabs is a doable feature it just isn't an
'out of the box' thing.
>
>
>>
>>
>>
>> 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.
>>>
>>
>> Yeah, that option definitely has no future long-term.
>>
>>
>>
>>> 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.
>>>
>>
>> I can't comment on the specific ways to sort it out, but I think *basing*
>> things in option 2 is by far the best option. If it's just an additional
>> add-on that can be made a dependency of the packages it's not a huge
>> problem (provided this add-on is available on the major platforms like
>> rhel, ubuntu, debian of course)
>>
>
> It would just be a modified version of what we have. Instead of having an
> icon in the system tray, we'd probably have multiple Start Menu icons to
> replace the tray icon menu. They would have to signal a running instance to
> do something, or become a new instance and then do the something if nothing
> is running already.
>
>
>>
>>
>>
>>
>>> 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.
>>>
>>
>> Please don't ever give up browser independence for the *web* version of
>> pgadmin. Don't be That Project (TM).
>>
>
> Not on my watch!
>
>
>>
>> (And don't give up on proper tabs either, but I'm sure Electron might
>> catch up in that eventually -- and the issue around RHEL6 will also go away
>> eventually)
>>
>
> RHEL 6 is in support until 2024, though it's already halfway through the
> maintenance 2 phase. It's definitely going, but we really don't know how
> many folks might still be using it in production on systems they're
> updating and using pgAdmin on. That last bit is important; many folks will
> continue to run production servers on RHEL/CentOS 6 for years, but how many
> are using them for client-side stuff or actively updating things like
> pgAdmin on them?
>
RHEL 6 is the #1 OS for GPDB so if we have customers installing server side
or wanting to we'd be on this pretty quickly.
As an aside, I'm interested in who and how people are using the Linux
version. How many are using Linux on the desktop and how many are
installing the server. My assumption is that people using the linux distro
are installing the server but I have no actual information to base that on.
-- Rob
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Page | 2018-03-22 16:54:11 | Re: v3.0 release on hold |
Previous Message | Dave Page | 2018-03-22 16:28:25 | Re: Showstopper desktop runtime issue |