• Suggestions for improving Webber

    From D Finnigan@21:1/5 to All on Mon Oct 4 06:17:02 2021
    I spent a few hours earlier today using Webber and I'm really impressed with how it performs in many areas, including HTML rendering. Here are many suggestions for improvements that occurred to me while I used version 1.1.1
    of the application:


    Suggest you show the user the text of a page even if the server response
    code is 404. These 404 response pages may still contain useful information
    for the user, such as a new location, or a directory of related pages, etc.

    Same with 503 and other 5xx errors. Show the response text, not an alert.
    Users want a web browser that acts like Firefox, Safari, or Chrome.

    I notice that you issue a DNS query before the HEAD request and again before the GET request. Why not save the response of the first query, and omit the second?

    Suggest you show DNS lookup errors in the browser window like other
    mainstream browsers (Firefox, etc.) and not as a beeping alert.

    Fails to load the URL http://a/ telling me it's a bad path. It's a perfectly valid path on my system, and my DNS server answers to the name 'a',
    providing a valid A record which corresponds to a web server.

    Does not omit ../ or /. from the URL path component, and instead presents
    them to the server as part of the HEAD or GET request. According to RFC, the user agent is supposed to remove these.

    Does not automatically follow 302 redirects which is typical browser convention.

    Does not recognize 303 response code (RFC 2616, 10.3.4), nor codes 304 or
    307. I suggest handling 303 and 307 the same as 302 Found. A 304 response I think should be handled by checking if the page is in Webber's cache, and if so, reading it from there.

    Will follow a 3xx redirect chain ad-infinitum. Suggest adding a limit of 10 redirects. Perhaps show a dialog asking the user if he wants to continue following the redirects or cancel.

    Does Webber ever send If-Modified-Since header field in GET request?

    Webber will frequently crash into the monitor, but leaving the SHR screen showing, after a bad connection or DNS resolution error dialog.

    Add Bookmark dialog: "Not a URL it must start..." dialog will come up repeatedly after clicking OK when URL begins with first few characters of "http://" protocol. No way to escape. To reproduce this, first leave the
    Name field empty, and enter a bogus URL, such as the single character ";". Press Return. Speaker starts beeping. Now type something in the name field
    and click Save button.

    Dialog doesn't come up if the URL begins with "http:/foo/" but the speaker beeps.

    Add Bookmark: enter just "http:" as the URL and press Return, the speaker
    will beep ceaselessly. No dialog. Beeping stops if you click Cancel. This
    also happens if both fields are empty and you press Return.

    Editing an existing bookmark: this check for http:// or file:// does not
    occur. No dialog.

    Pressing Return key in Edit Bookmarks dialog does not trigger the default
    Save button. Remove Colour menu item in Edit menu is not dimmed.

    When View Page Source dialog is open, Remove Colour menu item in Edit menu
    is not dimmed.

    HTML parser: <div> tags are showing as "div" text in the browser window in
    some instances. I can give you HTML to reproduce this; email me for it.

    Text/plain documents trigger a Save As dialog. Suggest you show text/plain
    in the browser window, with Save As command in File menu.

    Save as dialog: encoded %20 in file name is not converted to a space.
    Suggest you decode % entities in file names.

    --
    ]DF$
    The New Apple II User's Guide:
    https://macgui.com/newa2guide/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Speccie@21:1/5 to All on Mon Oct 4 08:23:53 2021
    David,

    Suggest you show the user the text of a page even if the server response
    code is 404. These 404 response pages may still contain useful information for the user, such as a new location, or a directory of related pages, etc.

    Maybe you are unfamiliar with how these responses are generated from the web server, but 404 means the page was not found, and what you see on screen is any text that has been sent back by the server. If nothing is shown under the Alert, it means the
    server did not send anything back.

    If a new location is sent back with a 301 code, Webber will follow it if it can.

    Same with 503 and other 5xx errors. Show the response text, not an alert.

    If the web server has sent back an error page, it will be displayed under the alert. If nothing comes back, you will only see the alert.

    Users want a web browser that acts like Firefox, Safari, or Chrome.

    There are limitations with the IIgs environment, so it is not possible to make Webber behave exactly as these other web browsers work. For instance, Marinetti cannot handle HTTPS connections, and as that means the server will have sent back nothing, the
    Alert will show you what the real reason was that the call failed,

    I notice that you issue a DNS query before the HEAD request and again before the GET request. Why not save the response of the first query, and omit the second?

    That I had overlooked, so I will add that suggestion to the “to do” list

    Suggest you show DNS lookup errors in the browser window like other mainstream browsers (Firefox, etc.) and not as a beeping alert.

    It takes up less space in the code to use the alerts, than build text error pages to display.

    Fails to load the URL http://a/ telling me it's a bad path. It's a perfectly valid path on my system, and my DNS server answers to the name 'a',
    providing a valid A record which corresponds to a web server.

    My Proxy server tells me that is a 503 error, and displays that message on screen. With Proxy off, I would need to check exactly where it is generating that error, but assume the DNS call has failed.

    Does not omit ../ or /. from the URL path component, and instead presents them to the server as part of the HEAD or GET request. According to RFC, the user agent is supposed to remove these.

    If you are talking about embedded links, those will have been removed. Anything else, please report it to the email address at the end of the PDF.

    Does not automatically follow 302 redirects which is typical browser convention.
    Does not recognize 303 response code (RFC 2616, 10.3.4), nor codes 304 or 307. I suggest handling 303 and 307 the same as 302 Found. A 304 response I think should be handled by checking if the page is in Webber's cache, and if so, reading it from there.

    I will check these out, though Webber should be following any redirected URLs that are supplied, unless of course they are an HTTPS URL...

    Will follow a 3xx redirect chain ad-infinitum. Suggest adding a limit of 10 redirects. Perhaps show a dialog asking the user if he wants to continue following the redirects or cancel.

    I had added code to stop that happening, so I will need to check that out.

    Does Webber ever send If-Modified-Since header field in GET request?

    No.

    Webber will frequently crash into the monitor, but leaving the SHR screen showing, after a bad connection or DNS resolution error dialog.

    Can you give me an example of that so I can check it out?

    Add Bookmark dialog: "Not a URL it must start..." dialog will come up repeatedly after clicking OK when URL begins with first few characters of "http://" protocol. No way to escape. To reproduce this, first leave the
    Name field empty, and enter a bogus URL, such as the single character ";". Press Return. Speaker starts beeping. Now type something in the name field and click Save button.

    I will check that out.

    Dialog doesn't come up if the URL begins with "http:/foo/" but the speaker beeps.

    As a forward slash is missing, I am treating that as a bad path.

    Add Bookmark: enter just "http:" as the URL and press Return, the speaker will beep ceaselessly. No dialog. Beeping stops if you click Cancel. This also happens if both fields are empty and you press Return.
    Editing an existing bookmark: this check for http:// or file:// does not occur. No dialog.
    Pressing Return key in Edit Bookmarks dialog does not trigger the default Save button. Remove Colour menu item in Edit menu is not dimmed.

    Will check these all out.

    When View Page Source dialog is open, Remove Colour menu item in Edit menu
    is not dimmed.

    Good point...

    HTML parser: <div> tags are showing as "div" text in the browser window in some instances. I can give you HTML to reproduce this; email me for it.

    Please send it to the email address on the last page of the Webber PDF.

    Text/plain documents trigger a Save As dialog. Suggest you show text/plain
    in the browser window, with Save As command in File menu.

    Even though a page may appear to be plain text, it is being displayed ina TextEdit Handle, and could hold invisible commands.

    Save as dialog: encoded %20 in file name is not converted to a space.
    Suggest you decode % entities in file names.

    There are limits on what I wish to do with Webber, so am not going to process what appears to be a plain text page when saving to disk. I suggest you copy the text of a page that has links to a text processor such as Hermes, change the entire text to the
    Shaston font, and we what is actually embedded in the page.

    If you select Print, the invisible text will be removed for the print output.

    My comments:

    Webber was released last December. I appreciate you may not have had the time then to look at it before now, but these comments would have been more useful to me then. In any case, they should have been sent directly to the email address at the end of
    the Webber PDF, which I keep for such things, as this forum is not really suitable for such an extensive report.

    Webber was originally built as an example of what can be done with the HTML Tool. As I explained in the HMTL Tool PDF, I never intended Webber to be all encompassing, though it has evolved as time has gone on.

    I suggest that perhaps you yourself build a better web browser than Webber, one that does not have the problems you have found. It only takes a single call to the HTML Tool with a URL, to get back a fully parsed TextEdit Handle for your display: https://
    speccie.uk/software/html-tool/

    Cheers - Ewen

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From D Finnigan@21:1/5 to Speccie on Mon Oct 4 23:52:37 2021
    Speccie wrote:
    If nothing is
    shown under the Alert, it means the server did not send anything back.

    The server sent something back, but Webber did not display it under the
    alert.



    If a new location is sent back with a 301 code, Webber will follow it if
    it
    can.

    Webber did not follow the Location: header field in a 302 response.


    Same with 503 and other 5xx errors. Show the response text, not an alert.

    If the web server has sent back an error page, it will be displayed under
    the alert. If nothing comes back, you will only see the alert.

    You may wish to double-check this, because I did not see the server's
    response body displayed anywhere in Webber. I'm testing against an Apache
    2.4.x web server on Mac OS X, by the way.



    Webber will frequently crash into the monitor, but leaving the SHR screen
    showing, after a bad connection or DNS resolution error dialog.

    Can you give me an example of that so I can check it out?

    No. But Webber doesn't crash the first time that such an error occurs, only
    the second time. That is to say, the first time that an alert dialog
    appears, I can click OK and continue using Webber as normal. If that alert dialog appears again in the same session, then the IIgs crashes.


    Even though a page may appear to be plain text, it is being displayed ina TextEdit Handle, and could hold invisible commands.

    Why not filter them? Users expect a web browser to show plain text files.


    Save as dialog: encoded %20 in file name is not converted to a space.
    Suggest you decode % entities in file names.

    There are limits on what I wish to do with Webber, so am not going to
    process what appears to be a plain text page when saving to disk.

    I'm talking about the file name that is presented in the Save as dialog.

    It could be an HTML page or any other file served from the web server with encoded spaces or other characters in the filename/URL.


    Webber was released last December. I appreciate you may not have had the
    time then to look at it before now, but these comments would have been
    more
    useful to me then.

    Then why didn't you invite me to beta test in December?


    I suggest that perhaps you yourself build a better web browser than
    Webber,
    one that does not have the problems you have found.

    I agree: if Webber were my project, I would incorporate all the comments and recommendations for improvement which I gave.

    --
    ]DF$
    The New Apple II User's Guide:
    https://macgui.com/newa2guide/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Speccie@21:1/5 to All on Tue Oct 5 07:39:05 2021
    David,

    The server sent something back, but Webber did not display it under the alert.

    Odd. I shall need to check that...

    Webber did not follow the Location: header field in a 302 response.

    I will check that as well.

    You may wish to double-check this, because I did not see the server's response body displayed anywhere in Webber. I'm testing against an Apache 2.4.x web server on Mac OS X, by the way.

    Did it show in the Debug.Log file with “Debug Payload Data” turned on?

    No. But Webber doesn't crash the first time that such an error occurs, only the second time. That is to say, the first time that an alert dialog
    appears, I can click OK and continue using Webber as normal. If that alert dialog appears again in the same session, then the IIgs crashes.

    That looks like a stack problem. I will investigate.

    Why not filter them? Users expect a web browser to show plain text files.

    The display is a TextEdit control, and plain text files loaded from disk display as plain text. Pages received online and parsed, will contain font information for hidden text.

    I'm talking about the file name that is presented in the Save as dialog.

    That can be filtered certainly.

    Then why didn't you invite me to beta test in December?

    Because I already have Beta testers available, and you are not on that list.

    I agree: if Webber were my project, I would incorporate all the comments and recommendations for improvement which I gave.

    Then can I suggest you build one yourself? As I clearly say in the documentation, Webber started off as a proof of concept, and as a replacement for the now defunct SIS.

    Cheers - Ewen

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From D Finnigan@21:1/5 to Speccie on Wed Oct 6 03:16:05 2021
    Ewen,

    I will send additional bug reports, should I have any, to your email address
    as you prefer.


    Speccie wrote:

    Then can I suggest you build one yourself? As I clearly say in the documentation, Webber started off as a proof of concept, and as a
    replacement for the now defunct SIS.

    Well let me say that it's off to a great start. Rome wasn't built in a day,
    and you have plenty of time to add some little things or fix some little
    things in the coming weeks or months.

    --
    ]DF$
    The New Apple II User's Guide:
    https://macgui.com/newa2guide/

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)