In the past in Pharo it was possible to open Spotter, type in the name of a framework/project to load
from catalog, perform a search and just hit ENTER to easily install the project. This was following the Spotter idea that it is easy to access most informations of Pharo with the Spotter tool. There always was and still is a setting in "Settings" -> "Catalog" -> "Display catalog projects in Spotter". This setting is ENABLED BY DEFAULT but could be switched off in the settings tool or custom preference scripts if this is problematic for someone. Now in Pharo 6 there is an additional class "GTSpotterExtensionSettings" to activate/deactivate Spotter extensions. While nearly all of the Spotter extensions are enabled the one for the catalog integration is DISABLED BY DEFAULT. This leads to several effects: 1. While in the past it was possible in a fresh Pharo image to search and install out of the box it is (as of today in the not yet released Pharo 6) not possible anymore to quickly start by searching and installing from catalog using Spotter. 2. It is very confusing that in the settings "Display catalog projects in Spotter" is enabled but a search in Spotter gives no results. Most people will not not know about the second setting and easily get lost and think this behavior is just broken. Also this second setting for the Spotter extension is much more hidden between all the other Spotter extension enablements very and hard to find. 3. Several of my youtube videos demonstrating Goodies like DesktopManager, QuickAccess, MessageFlowBrowser, ... directly start by loading the tools from Spotter. Anyone newbee who will follow these will not only be confused - but also stuck in trying Pharo when he learns from these videos. I was asked several times on Slack and via Mail from people who were not able to reproduce ... this is really annyoing. Especially this gives the wrong impression to newbees. Things should be easy not complicated. To my knowledge disabling the Spotter search in Pharo 6 came up due to some Pharo teaching in regions with slow internet connection. I understand that we would like to support these Pharo users too as best as possible in their out of the box experience ... but (without being able to prove) I think that 90% or more Pharo users have a regular internet connection. Otherwise it would be hard to work with updates, project loading, PharoLauncher, STHub or Iceberg/GitHub. Also my own personal experience is that even on low bandwidth network this Catalog Spotter search for me was always fast enough (as I often use Pharo in trains with slow connections or on a Pi with slow connections and less processing power). I do not know about all others from the community. I invested hours in the past in developing and introducing the initial configuration browser to Pharo, later improved and helped shaping its replacement CatalogBrowser, also contributed this spotter search for the catalog items so things are more accessible, easy and enjoyable. That's why I also invested hours in udpating configs or pushing you to put things into catalog. Because accessibility is key. Only when things are easy to access and understandable people will enjoy Pharo. Currently in an out-of the box image this easy access to the projects via Spotter is blocked. Additionally I have to explain to anyone who asks me that there is a second non-obvious/more hidden setting leaving an unpleasant feeling how many others unknown to me will struggle with this issue. I see two solutions: A) We enable both settings by DEFAULT to bring back the Spotter search and installation of catalog items - with the clear benefit of having - the previous behavior in Pharo back - the out of the box ability to search for catalog projects in any fresh image - no confusion among the user base anymore regarding the settings - we have unbroken Youtube videos that newbees can continue to follow - if a user asks (like often) how to get Seaside, Artefact, Mongo, Teapot or other projects we can just tell him "search in Spotter and you should be fine" as most of them have a config in the catalog. Remember that not all of us know about all the github pages or nice Metacello expressions. So the easier things are found and accessible the better it is. B) If A is still a "No go" for the community we should at a minimum switch the defaults of the two settings: => we ENABLE the Spotter extension (GTSpotterExtensionSettings perform: #GTSpotter_spotterCatalogProjectsFor: with: true) => we DISABLE the catalog setting (CatalogSettings displayCatalogProjectsInSpotter: false) With this at least we have no confusion among the user base anymore regarding the settings. I would clearly and strongly vote for option A as my preferred one. I agree there are regions/continents with very low bandwidth - but Pharo will rival with state of the art technologies where loading/installation megabytes from the web is often not seen as an issue. There are many package registries out there (from debian packages) up to Maven, npm in JS, ... or look at Docker. Shuffling megabytes around is a reality in todays technologies. So to be honest I never understood this whole "bandwidth" discussion and even if this comes up it could be solved with a note in the download/welcome screen or pointing to a custom preference script for low bandwidth situations. Sorry for having to bring this up again ... but I would like this to be solved BEFORE Pharo 6 will be pushed out of the door. Keeping it like it is without further actions would be really stupid. Thanks for you comments, ideas or votes. Thanks T. |
I understand completely, I agree and strongly vote for A as well.
> On 19 Feb 2017, at 21:05, Torsten Bergmann <[hidden email]> wrote: > > In the past in Pharo it was possible to open Spotter, type in the name of a framework/project to load > from catalog, perform a search and just hit ENTER to easily install the project. > > This was following the Spotter idea that it is easy to access most informations of Pharo > with the Spotter tool. > > There always was and still is a setting in "Settings" -> "Catalog" -> "Display catalog projects in Spotter". > This setting is ENABLED BY DEFAULT but could be switched off in the settings tool or custom preference > scripts if this is problematic for someone. > > > Now in Pharo 6 there is an additional class "GTSpotterExtensionSettings" to activate/deactivate > Spotter extensions. While nearly all of the Spotter extensions are enabled the one for the catalog > integration is DISABLED BY DEFAULT. > > This leads to several effects: > > 1. While in the past it was possible in a fresh Pharo image to search and install out of > the box it is (as of today in the not yet released Pharo 6) not possible anymore to quickly > start by searching and installing from catalog using Spotter. > > 2. It is very confusing that in the settings "Display catalog projects in Spotter" is enabled but a search > in Spotter gives no results. Most people will not not know about the second setting and easily > get lost and think this behavior is just broken. > Also this second setting for the Spotter extension is much more hidden between all the other > Spotter extension enablements very and hard to find. > > 3. Several of my youtube videos demonstrating Goodies like DesktopManager, QuickAccess, > MessageFlowBrowser, ... directly start by loading the tools from Spotter. Anyone newbee who will > follow these will not only be confused - but also stuck in trying Pharo when he learns > from these videos. > > I was asked several times on Slack and via Mail from people who were not able to reproduce ... this > is really annyoing. Especially this gives the wrong impression to newbees. Things should be easy > not complicated. > > To my knowledge disabling the Spotter search in Pharo 6 came up due to some Pharo teaching in regions > with slow internet connection. I understand that we would like to support these Pharo users too as best > as possible in their out of the box experience ... but (without being able to prove) I think that 90% or > more Pharo users have a regular internet connection. Otherwise it would be hard to work with updates, > project loading, PharoLauncher, STHub or Iceberg/GitHub. > > Also my own personal experience is that even on low bandwidth network this Catalog Spotter search for > me was always fast enough (as I often use Pharo in trains with slow connections or on a Pi with slow > connections and less processing power). I do not know about all others from the community. > > I invested hours in the past in developing and introducing the initial configuration browser to Pharo, > later improved and helped shaping its replacement CatalogBrowser, also contributed this spotter search > for the catalog items so things are more accessible, easy and enjoyable. That's why I also invested > hours in udpating configs or pushing you to put things into catalog. > > Because accessibility is key. Only when things are easy to access and understandable people will > enjoy Pharo. > > Currently in an out-of the box image this easy access to the projects via Spotter is blocked. > Additionally I have to explain to anyone who asks me that there is a second non-obvious/more hidden setting > leaving an unpleasant feeling how many others unknown to me will struggle with this issue. > > I see two solutions: > > A) We enable both settings by DEFAULT to bring back the Spotter search and installation > of catalog items - with the clear benefit of having > - the previous behavior in Pharo back > - the out of the box ability to search for catalog projects in any fresh image > - no confusion among the user base anymore regarding the settings > - we have unbroken Youtube videos that newbees can continue to follow > - if a user asks (like often) how to get Seaside, Artefact, Mongo, Teapot or other projects we can > just tell him "search in Spotter and you should be fine" as most of them have a config in > the catalog. > > Remember that not all of us know about all the github pages or nice Metacello expressions. > So the easier things are found and accessible the better it is. > > B) If A is still a "No go" for the community we should at a minimum switch the defaults of > the two settings: > > => we ENABLE the Spotter extension (GTSpotterExtensionSettings perform: #GTSpotter_spotterCatalogProjectsFor: with: true) > => we DISABLE the catalog setting (CatalogSettings displayCatalogProjectsInSpotter: false) > > With this at least we have no confusion among the user base anymore regarding the settings. > > I would clearly and strongly vote for option A as my preferred one. > > I agree there are regions/continents with very low bandwidth - but Pharo will rival with state of the art > technologies where loading/installation megabytes from the web is often not seen as an issue. There are > many package registries out there (from debian packages) up to Maven, npm in JS, ... or look at Docker. > Shuffling megabytes around is a reality in todays technologies. > > So to be honest I never understood this whole "bandwidth" discussion and even if this comes up it could > be solved with a note in the download/welcome screen or pointing to a custom preference script for low bandwidth > situations. > > Sorry for having to bring this up again ... but I would like this to be solved BEFORE Pharo 6 will > be pushed out of the door. Keeping it like it is without further actions would be really stupid. > > Thanks for you comments, ideas or votes. > > Thanks > T. > |
A. Phil On Sun, Feb 19, 2017 at 10:40 PM, Sven Van Caekenberghe <[hidden email]> wrote: I understand completely, I agree and strongly vote for A as well. |
In reply to this post by Torsten Bergmann
On Mon, Feb 20, 2017 at 4:05 AM, Torsten Bergmann <[hidden email]> wrote:
> In the past in Pharo it was possible to open Spotter, type in the name of a framework/project to load > from catalog, perform a search and just hit ENTER to easily install the project. > > This was following the Spotter idea that it is easy to access most informations of Pharo > with the Spotter tool. > > There always was and still is a setting in "Settings" -> "Catalog" -> "Display catalog projects in Spotter". > This setting is ENABLED BY DEFAULT but could be switched off in the settings tool or custom preference > scripts if this is problematic for someone. > > > Now in Pharo 6 there is an additional class "GTSpotterExtensionSettings" to activate/deactivate > Spotter extensions. While nearly all of the Spotter extensions are enabled the one for the catalog > integration is DISABLED BY DEFAULT. > > This leads to several effects: > > 1. While in the past it was possible in a fresh Pharo image to search and install out of > the box it is (as of today in the not yet released Pharo 6) not possible anymore to quickly > start by searching and installing from catalog using Spotter. > > 2. It is very confusing that in the settings "Display catalog projects in Spotter" is enabled but a search > in Spotter gives no results. Most people will not not know about the second setting and easily > get lost and think this behavior is just broken. > Also this second setting for the Spotter extension is much more hidden between all the other > Spotter extension enablements very and hard to find. Generally its not good to have two settings for the one thing. > > 3. Several of my youtube videos demonstrating Goodies like DesktopManager, QuickAccess, > MessageFlowBrowser, ... directly start by loading the tools from Spotter. Anyone newbee who will > follow these will not only be confused - but also stuck in trying Pharo when he learns > from these videos. UI things do evolve and videos date. But these seem worthwhile to keep current. > > I was asked several times on Slack and via Mail from people who were not able to reproduce ... this > is really annyoing. Especially this gives the wrong impression to newbees. Things should be easy > not complicated. > > To my knowledge disabling the Spotter search in Pharo 6 came up due to some Pharo teaching in regions > with slow internet connection. This made sense at the time. It is a worse first impression if UI lags when this central part of the UI is interfaced. How often would it access the network? Every time? Or did it cache the result for a day, etc? > I understand that we would like to support these Pharo users too as best > as possible in their out of the box experience ... but (without being able to prove) I think that 90% or > more Pharo users have a regular internet connection. Otherwise it would be hard to work with updates, > project loading, PharoLauncher, STHub or Iceberg/GitHub. > > Also my own personal experience is that even on low bandwidth network this Catalog Spotter search for > me was always fast enough (as I often use Pharo in trains with slow connections or on a Pi with slow > connections and less processing power). I do not know about all others from the community. > > I invested hours in the past in developing and introducing the initial configuration browser to Pharo, > later improved and helped shaping its replacement CatalogBrowser, also contributed this spotter search > for the catalog items so things are more accessible, easy and enjoyable. That's why I also invested > hours in udpating configs or pushing you to put things into catalog. > > Because accessibility is key. Only when things are easy to access and understandable people will > enjoy Pharo. > > Currently in an out-of the box image this easy access to the projects via Spotter is blocked. > Additionally I have to explain to anyone who asks me that there is a second non-obvious/more hidden setting > leaving an unpleasant feeling how many others unknown to me will struggle with this issue. > > I see two solutions: > > A) We enable both settings by DEFAULT to bring back the Spotter search and installation > of catalog items - with the clear benefit of having > - the previous behavior in Pharo back > - the out of the box ability to search for catalog projects in any fresh image > - no confusion among the user base anymore regarding the settings > - we have unbroken Youtube videos that newbees can continue to follow > - if a user asks (like often) how to get Seaside, Artefact, Mongo, Teapot or other projects we can > just tell him "search in Spotter and you should be fine" as most of them have a config in > the catalog. > > Remember that not all of us know about all the github pages or nice Metacello expressions. > So the easier things are found and accessible the better it is. > > B) If A is still a "No go" for the community we should at a minimum switch the defaults of > the two settings: > > => we ENABLE the Spotter extension (GTSpotterExtensionSettings perform: #GTSpotter_spotterCatalogProjectsFor: with: true) > => we DISABLE the catalog setting (CatalogSettings displayCatalogProjectsInSpotter: false) > > With this at least we have no confusion among the user base anymore regarding the settings. C) Could a STON file of the catalog be cached in the zip of Image/Changes files? That zip might be updated daily to keep it current. Then in a fresh image Spotter searches the cached file for a instant response, while the Catalog is updated from the network in the background. Even with fast Internet the Catalog should only need to auto-update once a day, with results cached in a common file to be accessed when fresh images are started. The Spotter UI might display the last update date as part of the Catalog sub-heading in its results. cheers -ben > > I would clearly and strongly vote for option A as my preferred one. > > I agree there are regions/continents with very low bandwidth - but Pharo will rival with state of the art > technologies where loading/installation megabytes from the web is often not seen as an issue. There are > many package registries out there (from debian packages) up to Maven, npm in JS, ... or look at Docker. > Shuffling megabytes around is a reality in todays technologies. > > So to be honest I never understood this whole "bandwidth" discussion and even if this comes up it could > be solved with a note in the download/welcome screen or pointing to a custom preference script for low bandwidth > situations. > > Sorry for having to bring this up again ... but I would like this to be solved BEFORE Pharo 6 will > be pushed out of the door. Keeping it like it is without further actions would be really stupid. > > Thanks for you comments, ideas or votes. > > Thanks > T. > |
As far as I remember, the main problem was not bandwidth but a blocking and non-responsive UI. Imagine I'm in the university, or in a company with a proxy. And I forget to set the proxy. Then, while spotter tries to fetch catalog entries, it would block the image and throw a timeout error some minutes after. So, maybe for the future and besides Ben's C option (which I like) I have a D) Load catalog entries in background in a non-blocking way - and while catalog entries are not yet available, they should not be shown Even further, It would make sense a solution that mixes Ben's caching with background loading of the catalog entries... Guille On Mon, Feb 20, 2017 at 1:03 AM, Ben Coman <[hidden email]> wrote: On Mon, Feb 20, 2017 at 4:05 AM, Torsten Bergmann <[hidden email]> wrote: |
2017-02-20 10:27 GMT+01:00 Guillermo Polito <[hidden email]>:
AFIK the main problem was that there was not possilbe to do it non-blocking way. -- Pavel
|
> On 20 Feb 2017, at 10:30, Pavel Krivanek <[hidden email]> wrote: > > > > 2017-02-20 10:27 GMT+01:00 Guillermo Polito <[hidden email]>: > As far as I remember, the main problem was not bandwidth but a blocking and non-responsive UI. > Imagine I'm in the university, or in a company with a proxy. And I forget to set the proxy. Then, while spotter tries to fetch catalog entries, it would block the image and throw a timeout error some minutes after. > > So, maybe for the future and besides Ben's C option (which I like) I have a > > D) Load catalog entries in background in a non-blocking way > - and while catalog entries are not yet available, they should not be shown > > AFIK the main problem was that there was not possilbe to do it non-blocking way. Yes that is true. (It is actually DNS resolving that is blocked in some freak case). But the thing is, the problematic situation only occurs for a very small percentage of people, like less than 1%, probably even much less. (Remember, nobody can produce a repeatable case for it). So the question is, is that enough reason to act as if we are still in the 90's when internet was a luxury and cut features that depend on it ? If you have no network today, you're in big trouble anyway. (Again, if you turn off your network, no blocking will happen at all, try it). So what is more important ? The general functionality of the 99.xxx % or the unreproducible freak case ? > -- Pavel > > > Even further, It would make sense a solution that mixes Ben's caching with background loading of the catalog entries... > > Guille > > On Mon, Feb 20, 2017 at 1:03 AM, Ben Coman <[hidden email]> wrote: > On Mon, Feb 20, 2017 at 4:05 AM, Torsten Bergmann <[hidden email]> wrote: > > In the past in Pharo it was possible to open Spotter, type in the name of a framework/project to load > > from catalog, perform a search and just hit ENTER to easily install the project. > > > > This was following the Spotter idea that it is easy to access most informations of Pharo > > with the Spotter tool. > > > > There always was and still is a setting in "Settings" -> "Catalog" -> "Display catalog projects in Spotter". > > This setting is ENABLED BY DEFAULT but could be switched off in the settings tool or custom preference > > scripts if this is problematic for someone. > > > > > > Now in Pharo 6 there is an additional class "GTSpotterExtensionSettings" to activate/deactivate > > Spotter extensions. While nearly all of the Spotter extensions are enabled the one for the catalog > > integration is DISABLED BY DEFAULT. > > > > This leads to several effects: > > > > 1. While in the past it was possible in a fresh Pharo image to search and install out of > > the box it is (as of today in the not yet released Pharo 6) not possible anymore to quickly > > start by searching and installing from catalog using Spotter. > > > > 2. It is very confusing that in the settings "Display catalog projects in Spotter" is enabled but a search > > in Spotter gives no results. Most people will not not know about the second setting and easily > > get lost and think this behavior is just broken. > > Also this second setting for the Spotter extension is much more hidden between all the other > > Spotter extension enablements very and hard to find. > > Generally its not good to have two settings for the one thing. > > > > > 3. Several of my youtube videos demonstrating Goodies like DesktopManager, QuickAccess, > > MessageFlowBrowser, ... directly start by loading the tools from Spotter. Anyone newbee who will > > follow these will not only be confused - but also stuck in trying Pharo when he learns > > from these videos. > > UI things do evolve and videos date. But these seem worthwhile to keep current. > > > > > I was asked several times on Slack and via Mail from people who were not able to reproduce ... this > > is really annyoing. Especially this gives the wrong impression to newbees. Things should be easy > > not complicated. > > > > To my knowledge disabling the Spotter search in Pharo 6 came up due to some Pharo teaching in regions > > with slow internet connection. > > This made sense at the time. It is a worse first impression if UI > lags when this central part of the UI is interfaced. > How often would it access the network? Every time? Or did it cache > the result for a day, etc? > > > I understand that we would like to support these Pharo users too as best > > as possible in their out of the box experience ... but (without being able to prove) I think that 90% or > > more Pharo users have a regular internet connection. Otherwise it would be hard to work with updates, > > project loading, PharoLauncher, STHub or Iceberg/GitHub. > > > > Also my own personal experience is that even on low bandwidth network this Catalog Spotter search for > > me was always fast enough (as I often use Pharo in trains with slow connections or on a Pi with slow > > connections and less processing power). I do not know about all others from the community. > > > > I invested hours in the past in developing and introducing the initial configuration browser to Pharo, > > later improved and helped shaping its replacement CatalogBrowser, also contributed this spotter search > > for the catalog items so things are more accessible, easy and enjoyable. That's why I also invested > > hours in udpating configs or pushing you to put things into catalog. > > > > Because accessibility is key. Only when things are easy to access and understandable people will > > enjoy Pharo. > > > > Currently in an out-of the box image this easy access to the projects via Spotter is blocked. > > Additionally I have to explain to anyone who asks me that there is a second non-obvious/more hidden setting > > leaving an unpleasant feeling how many others unknown to me will struggle with this issue. > > > > I see two solutions: > > > > A) We enable both settings by DEFAULT to bring back the Spotter search and installation > > of catalog items - with the clear benefit of having > > - the previous behavior in Pharo back > > - the out of the box ability to search for catalog projects in any fresh image > > - no confusion among the user base anymore regarding the settings > > - we have unbroken Youtube videos that newbees can continue to follow > > - if a user asks (like often) how to get Seaside, Artefact, Mongo, Teapot or other projects we can > > just tell him "search in Spotter and you should be fine" as most of them have a config in > > the catalog. > > > > Remember that not all of us know about all the github pages or nice Metacello expressions. > > So the easier things are found and accessible the better it is. > > > > B) If A is still a "No go" for the community we should at a minimum switch the defaults of > > the two settings: > > > > => we ENABLE the Spotter extension (GTSpotterExtensionSettings perform: #GTSpotter_spotterCatalogProjectsFor: with: true) > > => we DISABLE the catalog setting (CatalogSettings displayCatalogProjectsInSpotter: false) > > > > With this at least we have no confusion among the user base anymore regarding the settings. > > C) Could a STON file of the catalog be cached in the zip of > Image/Changes files? > That zip might be updated daily to keep it current. > Then in a fresh image Spotter searches the cached file for a instant response, > while the Catalog is updated from the network in the background. > > Even with fast Internet the Catalog should only need to auto-update once a day, > with results cached in a common file to be accessed when fresh images > are started. > > The Spotter UI might display the last update date as part of the > Catalog sub-heading in its results. > > cheers -ben > > > > > I would clearly and strongly vote for option A as my preferred one. > > > > I agree there are regions/continents with very low bandwidth - but Pharo will rival with state of the art > > technologies where loading/installation megabytes from the web is often not seen as an issue. There are > > many package registries out there (from debian packages) up to Maven, npm in JS, ... or look at Docker. > > Shuffling megabytes around is a reality in todays technologies. > > > > So to be honest I never understood this whole "bandwidth" discussion and even if this comes up it could > > be solved with a note in the download/welcome screen or pointing to a custom preference script for low bandwidth > > situations. > > > > Sorry for having to bring this up again ... but I would like this to be solved BEFORE Pharo 6 will > > be pushed out of the door. Keeping it like it is without further actions would be really stupid. > > > > Thanks for you comments, ideas or votes. > > > > Thanks > > T. > > > > > |
As there were no further objections I guess we should do the following steps as a compromise:
1. We switch back to how it was by selecting Solution A as it is the old behavior and the pragmatic approach. This avoids the confusion, allows to quickly search for the catalog items and also renders the videos valid again. 2. Pharo 6 is still not released. People can still be testing and if this really gives trouble again (maybe next time in a reproducible way) we can try to fix it/find another solution. In the worst case we can disable it by disabeling the Catalog setting (not the GT extension itself) so it is not confusing or hidden again in the Pharo settings. I've opened issue https://pharo.fogbugz.com/f/cases/edit/19732 and will fix it. Lets see how it goes. Thanks T. > Gesendet: Montag, 20. Februar 2017 um 11:27 Uhr > Von: "Sven Van Caekenberghe" <[hidden email]> > An: "Pharo Development List" <[hidden email]> > Betreff: Re: [Pharo-dev] Catalog loading in Spotter > > > > On 20 Feb 2017, at 10:30, Pavel Krivanek <[hidden email]> wrote: > > > > > > > > 2017-02-20 10:27 GMT+01:00 Guillermo Polito <[hidden email]>: > > As far as I remember, the main problem was not bandwidth but a blocking and non-responsive UI. > > Imagine I'm in the university, or in a company with a proxy. And I forget to set the proxy. Then, while spotter tries to fetch catalog entries, it would block the image and throw a timeout error some minutes after. > > > > So, maybe for the future and besides Ben's C option (which I like) I have a > > > > D) Load catalog entries in background in a non-blocking way > > - and while catalog entries are not yet available, they should not be shown > > > > AFIK the main problem was that there was not possilbe to do it non-blocking way. > > Yes that is true. (It is actually DNS resolving that is blocked in some freak case). > > But the thing is, the problematic situation only occurs for a very small percentage of people, like less than 1%, probably even much less. (Remember, nobody can produce a repeatable case for it). > > So the question is, is that enough reason to act as if we are still in the 90's when internet was a luxury and cut features that depend on it ? If you have no network today, you're in big trouble anyway. (Again, if you turn off your network, no blocking will happen at all, try it). > > So what is more important ? The general functionality of the 99.xxx % or the unreproducible freak case ? > > > -- Pavel > > > > > > Even further, It would make sense a solution that mixes Ben's caching with background loading of the catalog entries... > > > > Guille > > > > On Mon, Feb 20, 2017 at 1:03 AM, Ben Coman <[hidden email]> wrote: > > On Mon, Feb 20, 2017 at 4:05 AM, Torsten Bergmann <[hidden email]> wrote: > > > In the past in Pharo it was possible to open Spotter, type in the name of a framework/project to load > > > from catalog, perform a search and just hit ENTER to easily install the project. > > > > > > This was following the Spotter idea that it is easy to access most informations of Pharo > > > with the Spotter tool. > > > > > > There always was and still is a setting in "Settings" -> "Catalog" -> "Display catalog projects in Spotter". > > > This setting is ENABLED BY DEFAULT but could be switched off in the settings tool or custom preference > > > scripts if this is problematic for someone. > > > > > > > > > Now in Pharo 6 there is an additional class "GTSpotterExtensionSettings" to activate/deactivate > > > Spotter extensions. While nearly all of the Spotter extensions are enabled the one for the catalog > > > integration is DISABLED BY DEFAULT. > > > > > > This leads to several effects: > > > > > > 1. While in the past it was possible in a fresh Pharo image to search and install out of > > > the box it is (as of today in the not yet released Pharo 6) not possible anymore to quickly > > > start by searching and installing from catalog using Spotter. > > > > > > 2. It is very confusing that in the settings "Display catalog projects in Spotter" is enabled but a search > > > in Spotter gives no results. Most people will not not know about the second setting and easily > > > get lost and think this behavior is just broken. > > > Also this second setting for the Spotter extension is much more hidden between all the other > > > Spotter extension enablements very and hard to find. > > > > Generally its not good to have two settings for the one thing. > > > > > > > > 3. Several of my youtube videos demonstrating Goodies like DesktopManager, QuickAccess, > > > MessageFlowBrowser, ... directly start by loading the tools from Spotter. Anyone newbee who will > > > follow these will not only be confused - but also stuck in trying Pharo when he learns > > > from these videos. > > > > UI things do evolve and videos date. But these seem worthwhile to keep current. > > > > > > > > I was asked several times on Slack and via Mail from people who were not able to reproduce ... this > > > is really annyoing. Especially this gives the wrong impression to newbees. Things should be easy > > > not complicated. > > > > > > To my knowledge disabling the Spotter search in Pharo 6 came up due to some Pharo teaching in regions > > > with slow internet connection. > > > > This made sense at the time. It is a worse first impression if UI > > lags when this central part of the UI is interfaced. > > How often would it access the network? Every time? Or did it cache > > the result for a day, etc? > > > > > I understand that we would like to support these Pharo users too as best > > > as possible in their out of the box experience ... but (without being able to prove) I think that 90% or > > > more Pharo users have a regular internet connection. Otherwise it would be hard to work with updates, > > > project loading, PharoLauncher, STHub or Iceberg/GitHub. > > > > > > Also my own personal experience is that even on low bandwidth network this Catalog Spotter search for > > > me was always fast enough (as I often use Pharo in trains with slow connections or on a Pi with slow > > > connections and less processing power). I do not know about all others from the community. > > > > > > I invested hours in the past in developing and introducing the initial configuration browser to Pharo, > > > later improved and helped shaping its replacement CatalogBrowser, also contributed this spotter search > > > for the catalog items so things are more accessible, easy and enjoyable. That's why I also invested > > > hours in udpating configs or pushing you to put things into catalog. > > > > > > Because accessibility is key. Only when things are easy to access and understandable people will > > > enjoy Pharo. > > > > > > Currently in an out-of the box image this easy access to the projects via Spotter is blocked. > > > Additionally I have to explain to anyone who asks me that there is a second non-obvious/more hidden setting > > > leaving an unpleasant feeling how many others unknown to me will struggle with this issue. > > > > > > I see two solutions: > > > > > > A) We enable both settings by DEFAULT to bring back the Spotter search and installation > > > of catalog items - with the clear benefit of having > > > - the previous behavior in Pharo back > > > - the out of the box ability to search for catalog projects in any fresh image > > > - no confusion among the user base anymore regarding the settings > > > - we have unbroken Youtube videos that newbees can continue to follow > > > - if a user asks (like often) how to get Seaside, Artefact, Mongo, Teapot or other projects we can > > > just tell him "search in Spotter and you should be fine" as most of them have a config in > > > the catalog. > > > > > > Remember that not all of us know about all the github pages or nice Metacello expressions. > > > So the easier things are found and accessible the better it is. > > > > > > B) If A is still a "No go" for the community we should at a minimum switch the defaults of > > > the two settings: > > > > > > => we ENABLE the Spotter extension (GTSpotterExtensionSettings perform: #GTSpotter_spotterCatalogProjectsFor: with: true) > > > => we DISABLE the catalog setting (CatalogSettings displayCatalogProjectsInSpotter: false) > > > > > > With this at least we have no confusion among the user base anymore regarding the settings. > > > > C) Could a STON file of the catalog be cached in the zip of > > Image/Changes files? > > That zip might be updated daily to keep it current. > > Then in a fresh image Spotter searches the cached file for a instant response, > > while the Catalog is updated from the network in the background. > > > > Even with fast Internet the Catalog should only need to auto-update once a day, > > with results cached in a common file to be accessed when fresh images > > are started. > > > > The Spotter UI might display the last update date as part of the > > Catalog sub-heading in its results. > > > > cheers -ben > > > > > > > > I would clearly and strongly vote for option A as my preferred one. > > > > > > I agree there are regions/continents with very low bandwidth - but Pharo will rival with state of the art > > > technologies where loading/installation megabytes from the web is often not seen as an issue. There are > > > many package registries out there (from debian packages) up to Maven, npm in JS, ... or look at Docker. > > > Shuffling megabytes around is a reality in todays technologies. > > > > > > So to be honest I never understood this whole "bandwidth" discussion and even if this comes up it could > > > be solved with a note in the download/welcome screen or pointing to a custom preference script for low bandwidth > > > situations. > > > > > > Sorry for having to bring this up again ... but I would like this to be solved BEFORE Pharo 6 will > > > be pushed out of the door. Keeping it like it is without further actions would be really stupid. > > > > > > Thanks for you comments, ideas or votes. > > > > > > Thanks > > > T. > > > > > > > > > > > > |
On 21/02/17 12:26, Torsten Bergmann wrote:
> As there were no further objections I guess we should do the following steps as a compromise: I didn't like having the catalog in spotter at all. The current setting was fine for me. Stephan |
In reply to this post by Sven Van Caekenberghe-2
On Mon, Feb 20, 2017 at 6:27 PM, Sven Van Caekenberghe <[hidden email]> wrote:
In sqUnixSocket.c I read... * Notes: * Sockets are completely asynchronous, but the resolver is still synchronous. So does this mean that if for any reason the resolver primitive takes a long time to respond, the whole VM is blocked? Thus forking the Catalog loading in another thread would have no benefit? Would having the resolver coded purely in-Image behave better? So a slow name resolution would not hold up the whole image if it happened in a forked thread. I found such an implementation in OpenCobalt and after some minor cleanup basic operations work fine. cheers -ben But the thing is, the problematic situation only occurs for a very small percentage of people, like less than 1%, probably even much less. (Remember, nobody can produce a repeatable case for it). |
> On 24 Feb 2017, at 18:14, Ben Coman <[hidden email]> wrote: > > > > On Mon, Feb 20, 2017 at 6:27 PM, Sven Van Caekenberghe <[hidden email]> wrote: > > > On 20 Feb 2017, at 10:30, Pavel Krivanek <[hidden email]> wrote: > > > > > > > > 2017-02-20 10:27 GMT+01:00 Guillermo Polito <[hidden email]>: > > As far as I remember, the main problem was not bandwidth but a blocking and non-responsive UI. > > Imagine I'm in the university, or in a company with a proxy. And I forget to set the proxy. Then, while spotter tries to fetch catalog entries, it would block the image and throw a timeout error some minutes after. > > > > So, maybe for the future and besides Ben's C option (which I like) I have a > > > > D) Load catalog entries in background in a non-blocking way > > - and while catalog entries are not yet available, they should not be shown > > > > AFIK the main problem was that there was not possilbe to do it non-blocking way. > > Yes that is true. (It is actually DNS resolving that is blocked in some freak case). > > In sqUnixSocket.c I read... > * Notes: > * Sockets are completely asynchronous, but the resolver is still synchronous. > > So does this mean that if for any reason the resolver primitive takes a long time to respond, > the whole VM is blocked? Thus forking the Catalog loading in another thread would have no benefit? Yes and yes. > Would having the resolver coded purely in-Image behave better? Yes (probably). > So a slow name resolution would not hold up the whole image if it happened in a forked thread. Yes. > I found such an implementation in OpenCobalt and after some minor cleanup basic operations work fine. > > http://smalltalkhub.com/#!/~BenComan/DNS/ Well, I did one myself too (I have not looked at the one above, I will), but my conclusion was that it is not that difficult to get basic lookup working, but edge cases (like concurrent requests with intermixed answers) are not so easy. There is also a chicken/egg problem: what DNS resolver (host) will you contact ? How to find out the one configured by your OS ? My idea was to use the Google ones (8.8.8.8), but there is also a more open one (80.80.80.80) and probably others. We are often accused of reinventing the wheel and carrying the burden of maintaining all that infrastructure. Doing our own DNS client would add to that. But I like the general idea, the question is one about development risk. > cheers -ben > > But the thing is, the problematic situation only occurs for a very small percentage of people, like less than 1%, probably even much less. (Remember, nobody can produce a repeatable case for it). > > So the question is, is that enough reason to act as if we are still in the 90's when internet was a luxury and cut features that depend on it ? If you have no network today, you're in big trouble anyway. (Again, if you turn off your network, no blocking will happen at all, try it). > > So what is more important ? The general functionality of the 99.xxx % or the unreproducible freak case ? |
> On 24 Feb 2017, at 18:56, Sven Van Caekenberghe <[hidden email]> wrote: > >> >> On 24 Feb 2017, at 18:14, Ben Coman <[hidden email]> wrote: >> >> >> >> On Mon, Feb 20, 2017 at 6:27 PM, Sven Van Caekenberghe <[hidden email]> wrote: >> >>> On 20 Feb 2017, at 10:30, Pavel Krivanek <[hidden email]> wrote: >>> >>> >>> >>> 2017-02-20 10:27 GMT+01:00 Guillermo Polito <[hidden email]>: >>> As far as I remember, the main problem was not bandwidth but a blocking and non-responsive UI. >>> Imagine I'm in the university, or in a company with a proxy. And I forget to set the proxy. Then, while spotter tries to fetch catalog entries, it would block the image and throw a timeout error some minutes after. >>> >>> So, maybe for the future and besides Ben's C option (which I like) I have a >>> >>> D) Load catalog entries in background in a non-blocking way >>> - and while catalog entries are not yet available, they should not be shown >>> >>> AFIK the main problem was that there was not possilbe to do it non-blocking way. >> >> Yes that is true. (It is actually DNS resolving that is blocked in some freak case). >> >> In sqUnixSocket.c I read... >> * Notes: >> * Sockets are completely asynchronous, but the resolver is still synchronous. >> >> So does this mean that if for any reason the resolver primitive takes a long time to respond, >> the whole VM is blocked? Thus forking the Catalog loading in another thread would have no benefit? > > Yes and yes. > >> Would having the resolver coded purely in-Image behave better? > > Yes (probably). > >> So a slow name resolution would not hold up the whole image if it happened in a forked thread. > > Yes. > >> I found such an implementation in OpenCobalt and after some minor cleanup basic operations work fine. >> >> http://smalltalkhub.com/#!/~BenComan/DNS/ > > Well, I did one myself too (I have not looked at the one above, I will), but my conclusion was that it is not that difficult to get basic lookup working, but edge cases (like concurrent requests with intermixed answers) are not so easy. > > There is also a chicken/egg problem: what DNS resolver (host) will you contact ? How to find out the one configured by your OS ? My idea was to use the Google ones (8.8.8.8), but there is also a more open one (80.80.80.80) and probably others. > > We are often accused of reinventing the wheel and carrying the burden of maintaining all that infrastructure. Doing our own DNS client would add to that. > > But I like the general idea, the question is one about development risk. So Ben, I could not get the code to run (on Pharo 6) using UDP, it remained stuck on sending the UDP packet, which is really weird. I found my old code, turns out it was based on the same message/packets hierarchy. And it still worked. I committed it to your repo: === Name: Net-Protocols-DNS-SvenVanCaekenberghe.15 Author: SvenVanCaekenberghe Time: 24 February 2017, 8:08:54.299786 pm UUID: 9b8fa332-ad05-0d00-8577-5adb00d43870 Ancestors: Net-Protocols-DNS-BenComan.14 Added NeoDNSClient to Net-Protocols-DNS-Experimental === You should be able to do NeoDNSClient default addressForName: 'stfx.eu'. There is no caching yet, but there is a simple #beThreadSafe provided. (My other comments remain valid, also for my own code). Sven >> cheers -ben >> >> But the thing is, the problematic situation only occurs for a very small percentage of people, like less than 1%, probably even much less. (Remember, nobody can produce a repeatable case for it). >> >> So the question is, is that enough reason to act as if we are still in the 90's when internet was a luxury and cut features that depend on it ? If you have no network today, you're in big trouble anyway. (Again, if you turn off your network, no blocking will happen at all, try it). >> >> So what is more important ? The general functionality of the 99.xxx % or the unreproducible freak case ? |
In reply to this post by Torsten Bergmann
You are telling me that expert developers cannot have a script that
automatically set this. I cannot believe. I hope that your confort zone is not too disruptive. I'm really sad. I'm currently writing a book for newbies and I spent my morning talking to people in liberia. Poor guys. Stef |
In reply to this post by Guillermo Polito
Guillermo such people do not know what is ti teach in the university with a fucking proxy like you and me. It is super easy when you are not expose to the view of newbies. PHARO IS NOT WELL PACKAGED guys. Try to get out our confort zone. The world is different and working. Stef
-- Using Opera's mail client: http://www.opera.com/mail/ |
In reply to this post by Torsten Bergmann
The compromise is that people add an expression in one line in their
startup preferences. It sounds reasonable to me. Stef On Tue, 21 Feb 2017 12:26:43 +0100, Torsten Bergmann <[hidden email]> wrote: > As there were no further objections I guess we should do the following > steps as a compromise: > > 1. We switch back to how it was by selecting Solution A as it is the > old behavior and the pragmatic approach. > This avoids the confusion, allows to quickly search for the catalog > items and also renders the videos > valid again. > > 2. Pharo 6 is still not released. People can still be testing and if > this really gives trouble again > (maybe next time in a reproducible way) we can try to fix it/find > another solution. > In the worst case we can disable it by disabeling the Catalog > setting (not the GT extension itself) > so it is not confusing or hidden again in the Pharo settings. > > I've opened issue https://pharo.fogbugz.com/f/cases/edit/19732 and will > fix it. Lets see how it goes. > > Thanks > T. > > >> Gesendet: Montag, 20. Februar 2017 um 11:27 Uhr >> Von: "Sven Van Caekenberghe" <[hidden email]> >> An: "Pharo Development List" <[hidden email]> >> Betreff: Re: [Pharo-dev] Catalog loading in Spotter >> >> >> > On 20 Feb 2017, at 10:30, Pavel Krivanek <[hidden email]> >> wrote: >> > >> > >> > >> > 2017-02-20 10:27 GMT+01:00 Guillermo Polito >> <[hidden email]>: >> > As far as I remember, the main problem was not bandwidth but a >> blocking and non-responsive UI. >> > Imagine I'm in the university, or in a company with a proxy. And I >> forget to set the proxy. Then, while spotter tries to fetch catalog >> entries, it would block the image and throw a timeout error some >> minutes after. >> > >> > So, maybe for the future and besides Ben's C option (which I like) I >> have a >> > >> > D) Load catalog entries in background in a non-blocking way >> > - and while catalog entries are not yet available, they should not >> be shown >> > >> > AFIK the main problem was that there was not possilbe to do it >> non-blocking way. >> >> Yes that is true. (It is actually DNS resolving that is blocked in some >> freak case). >> >> But the thing is, the problematic situation only occurs for a very >> small percentage of people, like less than 1%, probably even much less. >> (Remember, nobody can produce a repeatable case for it). >> >> So the question is, is that enough reason to act as if we are still in >> the 90's when internet was a luxury and cut features that depend on it >> ? If you have no network today, you're in big trouble anyway. (Again, >> if you turn off your network, no blocking will happen at all, try it). >> >> So what is more important ? The general functionality of the 99.xxx % >> or the unreproducible freak case ? >> >> > -- Pavel >> > >> > >> > Even further, It would make sense a solution that mixes Ben's caching >> with background loading of the catalog entries... >> > >> > Guille >> > >> > On Mon, Feb 20, 2017 at 1:03 AM, Ben Coman <[hidden email]> >> wrote: >> > On Mon, Feb 20, 2017 at 4:05 AM, Torsten Bergmann <[hidden email]> >> wrote: >> > > In the past in Pharo it was possible to open Spotter, type in the >> name of a framework/project to load >> > > from catalog, perform a search and just hit ENTER to easily install >> the project. >> > > >> > > This was following the Spotter idea that it is easy to access most >> informations of Pharo >> > > with the Spotter tool. >> > > >> > > There always was and still is a setting in "Settings" -> "Catalog" >> -> "Display catalog projects in Spotter". >> > > This setting is ENABLED BY DEFAULT but could be switched off in the >> settings tool or custom preference >> > > scripts if this is problematic for someone. >> > > >> > > >> > > Now in Pharo 6 there is an additional class >> "GTSpotterExtensionSettings" to activate/deactivate >> > > Spotter extensions. While nearly all of the Spotter extensions are >> enabled the one for the catalog >> > > integration is DISABLED BY DEFAULT. >> > > >> > > This leads to several effects: >> > > >> > > 1. While in the past it was possible in a fresh Pharo image to >> search and install out of >> > > the box it is (as of today in the not yet released Pharo 6) >> not possible anymore to quickly >> > > start by searching and installing from catalog using Spotter. >> > > >> > > 2. It is very confusing that in the settings "Display catalog >> projects in Spotter" is enabled but a search >> > > in Spotter gives no results. Most people will not not know >> about the second setting and easily >> > > get lost and think this behavior is just broken. >> > > Also this second setting for the Spotter extension is much >> more hidden between all the other >> > > Spotter extension enablements very and hard to find. >> > >> > Generally its not good to have two settings for the one thing. >> > >> > > >> > > 3. Several of my youtube videos demonstrating Goodies like >> DesktopManager, QuickAccess, >> > > MessageFlowBrowser, ... directly start by loading the tools >> from Spotter. Anyone newbee who will >> > > follow these will not only be confused - but also stuck in >> trying Pharo when he learns >> > > from these videos. >> > >> > UI things do evolve and videos date. But these seem worthwhile to >> keep current. >> > >> > > >> > > I was asked several times on Slack and via Mail from people >> who were not able to reproduce ... this >> > > is really annyoing. Especially this gives the wrong impression >> to newbees. Things should be easy >> > > not complicated. >> > > >> > > To my knowledge disabling the Spotter search in Pharo 6 came up due >> to some Pharo teaching in regions >> > > with slow internet connection. >> > >> > This made sense at the time. It is a worse first impression if UI >> > lags when this central part of the UI is interfaced. >> > How often would it access the network? Every time? Or did it cache >> > the result for a day, etc? >> > >> > > I understand that we would like to support these Pharo users too as >> best >> > > as possible in their out of the box experience ... but (without >> being able to prove) I think that 90% or >> > > more Pharo users have a regular internet connection. Otherwise it >> would be hard to work with updates, >> > > project loading, PharoLauncher, STHub or Iceberg/GitHub. >> > > >> > > Also my own personal experience is that even on low bandwidth >> network this Catalog Spotter search for >> > > me was always fast enough (as I often use Pharo in trains with slow >> connections or on a Pi with slow >> > > connections and less processing power). I do not know about all >> others from the community. >> > > >> > > I invested hours in the past in developing and introducing the >> initial configuration browser to Pharo, >> > > later improved and helped shaping its replacement CatalogBrowser, >> also contributed this spotter search >> > > for the catalog items so things are more accessible, easy and >> enjoyable. That's why I also invested >> > > hours in udpating configs or pushing you to put things into catalog. >> > > >> > > Because accessibility is key. Only when things are easy to access >> and understandable people will >> > > enjoy Pharo. >> > > >> > > Currently in an out-of the box image this easy access to the >> projects via Spotter is blocked. >> > > Additionally I have to explain to anyone who asks me that there is >> a second non-obvious/more hidden setting >> > > leaving an unpleasant feeling how many others unknown to me will >> struggle with this issue. >> > > >> > > I see two solutions: >> > > >> > > A) We enable both settings by DEFAULT to bring back the Spotter >> search and installation >> > > of catalog items - with the clear benefit of having >> > > - the previous behavior in Pharo back >> > > - the out of the box ability to search for catalog >> projects in any fresh image >> > > - no confusion among the user base anymore regarding the >> settings >> > > - we have unbroken Youtube videos that newbees can >> continue to follow >> > > - if a user asks (like often) how to get Seaside, >> Artefact, Mongo, Teapot or other projects we can >> > > just tell him "search in Spotter and you should be fine" >> as most of them have a config in >> > > the catalog. >> > > >> > > Remember that not all of us know about all the github >> pages or nice Metacello expressions. >> > > So the easier things are found and accessible the better >> it is. >> > > >> > > B) If A is still a "No go" for the community we should at a >> minimum switch the defaults of >> > > the two settings: >> > > >> > > => we ENABLE the Spotter extension >> (GTSpotterExtensionSettings perform: >> #GTSpotter_spotterCatalogProjectsFor: with: true) >> > > => we DISABLE the catalog setting (CatalogSettings >> displayCatalogProjectsInSpotter: false) >> > > >> > > With this at least we have no confusion among the user base >> anymore regarding the settings. >> > >> > C) Could a STON file of the catalog be cached in the zip of >> > Image/Changes files? >> > That zip might be updated daily to keep it current. >> > Then in a fresh image Spotter searches the cached file for a instant >> response, >> > while the Catalog is updated from the network in the background. >> > >> > Even with fast Internet the Catalog should only need to auto-update >> once a day, >> > with results cached in a common file to be accessed when fresh images >> > are started. >> > >> > The Spotter UI might display the last update date as part of the >> > Catalog sub-heading in its results. >> > >> > cheers -ben >> > >> > > >> > > I would clearly and strongly vote for option A as my preferred one. >> > > >> > > I agree there are regions/continents with very low bandwidth - but >> Pharo will rival with state of the art >> > > technologies where loading/installation megabytes from the web is >> often not seen as an issue. There are >> > > many package registries out there (from debian packages) up to >> Maven, npm in JS, ... or look at Docker. >> > > Shuffling megabytes around is a reality in todays technologies. >> > > >> > > So to be honest I never understood this whole "bandwidth" >> discussion and even if this comes up it could >> > > be solved with a note in the download/welcome screen or pointing to >> a custom preference script for low bandwidth >> > > situations. >> > > >> > > Sorry for having to bring this up again ... but I would like this >> to be solved BEFORE Pharo 6 will >> > > be pushed out of the door. Keeping it like it is without further >> actions would be really stupid. >> > > >> > > Thanks for you comments, ideas or votes. >> > > >> > > Thanks >> > > T. >> > > >> > >> > >> > >> >> >> > -- Using Opera's mail client: http://www.opera.com/mail/ |
In reply to this post by Torsten Bergmann
Apparently you do not know the amount of time we have to explain to
students in FRANCE with internet blocked over a proxy that No Pharo is not dead. It is just a time out. So don't be egoist be adults and use the infrastructure. Use a preference in your system. Stef |
Free forum by Nabble | Edit this page |