Now that we're here I want to tell you about some things I hate. To clear out any suspense they are: 1. April Fool's 2. Deadlines 3. New Boost Website April Fool's I can't stand this fauxliday and I refuse to participate. Every year sees the C++ community produce an outsized load of lame jokes. The problem, I think, is that comedy on some level has to come at someone else's expense. Good comedy at least. Our community is so damn politically correct that folks are afraid to make a really good joke for fear of getting canceled at some level. Deadlines I hate deadlines. People ask me "how long will this take" and honestly I have no idea. About a decade ago I stopped trying to estimate how long things take as I never was able to give a reasonably accurate answer. I'm good at writing the code, but figuring out how long it will take - not so much. During development, unanticipated stuff comes up. A discovered design flaw or implementation obstacle, which can't be predicted. These days I just figure that if a project is properly staffed and there is reasonable daily progress, eventually it will get finished. New Boost Website Well I don't hate the whole thing but there is definitely stuff which is bothering me. Like how long the thing is taking. Seems like it is still not ready to go up on boost.org. But more importantly I have to be honest... I'm not feeling this Cairo font. I am just going to come out and say it: the old Quickbook stylesheets are superior to the new stylesheets which render in Cairo. Compare: https://www.boost.org/doc/libs/1_85_0/libs/beast/doc/html/beast/ref/boost__b... vs. https://www.boost.io/doc/libs/1_84_0/libs/beast/doc/html/beast/ref/boost__be... or https://www.boost.org/doc/libs/1_85_0/libs/beast/doc/html/beast/concepts/Dyn... vs. https://www.boost.io/doc/libs/1_84_0/libs/beast/doc/html/beast/concepts/Dyna... The new one is better than it was a month ago, thanks to Julio our new frontend developer. But it is still not as good as the old one. I cannot in good conscience propose replacing something old with something new unless the new thing is demonstrably superior. Or at the very least, equally as good. So I think we still have work to do. Thanks
On 4/16/24 17:35, Vinnie Falco via Boost wrote:
New Boost Website
Well I don't hate the whole thing but there is definitely stuff which is bothering me. Like how long the thing is taking. Seems like it is still not ready to go up on boost.org. But more importantly I have to be honest... I'm not feeling this Cairo font. I am just going to come out and say it: the old Quickbook stylesheets are superior to the new stylesheets which render in Cairo.
I agree, I also like the current boost.org font more.
On Tue, Apr 16, 2024 at 8:41 AM Andrey Semashev via Boost < boost@lists.boost.org> wrote:
I also like the current boost.org font more.
Here are some screenshots of the new site using the default sans-serif font, we would be happy to hear your thoughts on it. https://github.com/boostorg/website-v2/pull/1064 Thanks
On 4/16/24 21:40, Vinnie Falco wrote:
On Tue, Apr 16, 2024 at 8:41 AM Andrey Semashev via Boost
mailto:boost@lists.boost.org> wrote: I also like the current boost.org http://boost.org font more.
Here are some screenshots of the new site using the default sans-serif font, we would be happy to hear your thoughts on it.
https://github.com/boostorg/website-v2/pull/1064 https://github.com/boostorg/website-v2/pull/1064
Yes, this font looks much better.
Vinnie, et al Just a few comments on the new website, much appreciating the effort people have put in to get this far. My comments are based on what is widely considered best-practices to maximize readability. 1. Line length Long lines are difficult to read and then pick up where the next line is. The maximum length in characters should be 50 to 75, with 66 being a popular choice. I would like to see a maximum set, and then the text wrap, regardless of the screen width. Note that this does not apply to code - which should be compilable and as is. 2. Italics in headings This is widely considered a bad idea - italics is typically more difficult to read than regular text. It works for the first time a name is mentioned, but not to be honest much else. Even quotes are better in regular text. Consider using a popular heading font (Helvetica, Arial, etc) - perhaps in bold or semi-bold, and again perhaps colored such as dark blue. 3. The tables are over-designed. The double lines are too busy and pull the eye towards the lines and away from the text. I like vertical lines between the columns to be a single line and light (very light) to separate the contents but not distract the eye. For row lines perhaps consider zebra-striping - no lines as such but a light background to every second line. If you don't like zebra striping, consider no horizontal lines at all, just add a point or two of space between table rows to enable easy distinction of the cells. The table heading row should be bold text, as it is now, and be the first line of zebra stripes if they are used. Tables should also adhere to the maximum line length rule (per single column). No column should contain a line that exceeds the specified line length (say 66 chars). 4. All code pages should end with a See Also section, so that the async_read function can point to the async_write function, and vice versa. And to other closely related or alternative functions - async_byte_read if there is such a thing. 5. The coloring in the code sections, in the synopsis or in tables, does not seem to match the standard - green for comments for example. I would consider setting the colors to the standard used by Microsoft Studio etc. 6. The links within text lines don't stand out enough for me. They should be link-blue in color, but perhaps try a bold or semi-bold. 7. I much prefer a sans-serif font to a serifed font - so much easier to read. I don't think serif fonts belong on computer screens. I also prefer the font size to be a bit larger than currently on these pages. The font sizes used by email clients are often well chosen for readability. I think if readability is made the focus, a great website will be the result. - Peter CppAlliance Technical Writer On Tue, Apr 16, 2024 at 1:07 PM Andrey Semashev via Boost < boost@lists.boost.org> wrote:
On 4/16/24 21:40, Vinnie Falco wrote:
On Tue, Apr 16, 2024 at 8:41 AM Andrey Semashev via Boost
mailto:boost@lists.boost.org> wrote: I also like the current boost.org http://boost.org font more.
Here are some screenshots of the new site using the default sans-serif font, we would be happy to hear your thoughts on it.
https://github.com/boostorg/website-v2/pull/1064 https://github.com/boostorg/website-v2/pull/1064
Yes, this font looks much better.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
On Tue, Apr 16, 2024 at 5:54 PM Peter Turcan via Boost < boost@lists.boost.org> wrote:
1. Line length... The maximum length in characters should be 50 to 75, with 66 being a popular choice.
Do you mean in the markdown? Or in the rendered HTML? 3. The tables are over-designed. The double lines are too busy and pull the
eye towards the lines and away from the text. I like vertical lines between the columns to be a single line and light (very light) to separate the contents but not distract the eye.
You're talking about the Quickbook stylesheets. For example this page: https://www.boost.org/doc/libs/master/libs/url/doc/html/url/ref/boost__urls_... I agree, and Julio has been working on restyling the Antora UI stylesheets for that. But note that there is no central stylesheet. Quickbook uses one style, Asciidoc uses another, Antora uses a third, and there are a handful of other documentation toolchains in use which all have their own styles.
4. All code pages should end with a See Also section, so that the async_read function can point to the async_write function, and vice versa. And to other closely related or alternative functions - async_byte_read if
there is such a thing.
Well yes this is always welcomed but it is up to each individual author to put in this work. There is no way to automate this. The "See Also" you refer to is typically the result of something manually added to a javadoc and rendered as part of producing the reference. For example here: https://www.boost.org/doc/libs/1_85_0/libs/json/doc/html/json/ref/boost__jso... This list of symbols comes from the javadoc in the source code: https://github.com/boostorg/json/blob/9f85ed6d62ff91c6dc4fc30e3a20e9049ec675... Currently Doxygen parses these javadocs to produce the reference. And soon, Mr. Docs. But other doc toolchains do not do this so it would be up to the author to write out the See Also section and manually add the links.
I think if readability is made the focus, a great website will be the result.
There's no argument here :) The challenge is that there are many stylesheets, and not enough manpower and creative expertise to work them down in short order. Also don't forget that we want a dark mode stylesheet, at least for Antora UI, so that is effectively a brand new sheet (as one cannot simply "invert the colors"). Thanks
On 4/16/24 7:35 AM, Vinnie Falco via Boost wrote:
Now that we're here I want to tell you about some things I hate. To clear out any suspense they are:
1. April Fool's 2. Deadlines 3. New Boost Website
April Fool's
I can't stand this fauxliday and I refuse to participate. Every year sees the C++ community produce an outsized load of lame jokes. The problem, I think, is that comedy on some level has to come at someone else's expense. Good comedy at least. Our community is so damn politically correct that folks are afraid to make a really good joke for fear of getting canceled at some level.
For some reason I don't mind these pranks. This is kind of weird as It seems that I'm disproportionately selected as a target. Maybe I just like the attention.
Deadlines
I hate deadlines. People ask me "how long will this take" and honestly I have no idea. About a decade ago I stopped trying to estimate how long things take as I never was able to give a reasonably accurate answer. I'm good at writing the code, but figuring out how long it will take - not so much. During development, unanticipated stuff comes up. A discovered design flaw or implementation obstacle, which can't be predicted. These days I just figure that if a project is properly staffed and there is reasonable daily progress, eventually it will get finished.
Dead on here. I've always worked as a free lancer so this is a really sore point. The main problem is that one cannot know the scope of a job at the beginning because 90% of the information required is not acquired until the project is mostly "done". This is cause of failure of the "waterfall" method. Good news is that I've managed to solve it: a) I make an hourly contract with the customer with only the barest verbal indication of might it entail in cost/time. b) I get a wish list from the customer of what the final end goal is supposed to be and a list of features the product is supposed to have in order of importance. c) I keep a timecard with resolution to a minute. I can check in/out of a customer project in under 2 seconds. So if he calls me for just "one question" he gets billed for that and only that. d) I deliver a goal/accomplishment every week e) d) above means that I start with something ridiculously simple. Maybe only a visual prototype. Or many a demo of some existing product to be integrated. Something, Anything. f) The we build on e) above, week by week. g) We always have something working but never have anything finished. h) Eventually we have something usable but with missing features. At this point it becomes clear that the original list of features is missing some necessary stuff and has a bunch of stuff which is totally unnecessary. A large number of features are pushed to the bottom of the list as it becomes apparent that the marketing department added on a bunch of useless crap just to show their power. i) As we work down the list, the product has more stuff. Also there is the timecard hours/cost to consider. At some point the customer decides: it's not worth paying for more features anymore. The value isn't worth the cost. So the project "ends" The customer is happy isn't paying for anything that's not adding value. He feels as if he is in control. He doesn't feel that he's being rolled by some pompous/arrogant narcissists who treat him like an idiot (aka software developers). The product usually doesn't look like what was originally intended. Again because we don't know what's its supposed to look like until it's done. Programmers maintain internal and external documentation in parallel with feature implementation. Because: a) Otherwise it won't get done at all. Especially if the customer has to pay for it at the end as an "extra" b) Doing the documentation catches many design bugs. If one can't write down what the feature is supposed to do and how it's expected to do it, it's likely undoable. (see Ramey Rule) Of course their are failed projects. I've had my share The upside is that they were misconceived in the first place and failed as soon as possible - thus minimizing wasted cost.
New Boost Website
Well I don't hate the whole thing but there is definitely stuff which is bothering me. Like how long the thing is taking. Seems like it is still not ready to go up on boost.org. But more importantly I have to be honest... I'm not feeling this Cairo font. I am just going to come out and say it: the old Quickbook stylesheets are superior to the new stylesheets which render in Cairo. Compare:
I like the idea of updating the boost website. I don't like the way it's been approached. There is a human bias towards "Lets redo this right". But that's based on the misconception that we all know and agree what "right" is. The boost website has accumulated information in sort of haphazard/uncontrolled manner. That's why it has everything. Starting from scratch isn't going to improve it. I would suggest a more incremental approach. See the web site as a frame work for all the stuff that's already in there. a) outline: 1) information for users 1) acquiring libraries 2) building libraries 3) testing libraries 4) addressing problems 2) boost tools 1) b2 2) CMake 3) BCP 4) library status 5) Boost Book ... 3) information for developers 1) documentation 1) users 2) developers/maintainers 2) dev 1) compiling 3) linking or Or something like this. This would provide a space for all the current pages. Best of all it, it could be expanded so that space for new pages can be provide. Periodically we could argue about how the index should be structured while leaving the specific pages to the individuals that have the most interest in them. Note if we used Boost Book as a basis for making the website, the above index/navigator could/would be generated automatically. This like style sheets are easily changed if we agree by convention to all use the boost one. I'm aware that this is not "modern". I don't care. Most "modern" stuff sucks. Robert Ramey
On Tue, Apr 16, 2024 at 10:05 AM Robert Ramey via Boost < boost@lists.boost.org> wrote:
Best of all it, it could be expanded so that space for new pages can be provide. Periodically we could argue about how the index should be structured while leaving the specific pages to the individuals that have the most interest in them.
The new site is very close to this. Almost all of the information is organized into two "manuals": User Guide: Everything needed for people who want to integrate Boost into their projects https://www.boost.io/doc/user-guide/index.html Contributor's Guide: Everything needed for people who want to contribute to Boost https://www.boost.io/doc/contributor-guide/index.html These are written in Asciidoc which is currently the most popular form of markdown that has an extraordinarily high level of support in terms of active development and tooling. You can see for example some of the source for those manuals here: https://raw.githubusercontent.com/boostorg/website-v2-docs/develop/user-guid... https://github.com/boostorg/website-v2-docs/blob/develop/user-guide/modules/... The Table of Contents on the side is generated from the navigation so this is similar to what you are suggesting in terms of a generated table of contents. Probably the most important aspect of these new docs is not the content but rather, the process. There are dedicated staff members who are responsive to GitHub issues and continually work to improve the quality of the information presented. For any current shortcomings, we have a workflow that guarantees things will be addressed in finite time. Thanks
participants (4)
-
Andrey Semashev
-
Peter Turcan
-
Robert Ramey
-
Vinnie Falco