Post by Uncle Buddy on Nov 29, 2021 20:59:33 GMT -8
While progress on Treebard GPS is currently accelerating, today I'm forced to leave the house, so in the minutes before I have to leave the computer home alone for the day, let me try to squeeze out another scathingly positive genieware review.
"Scathingly positive" means that the more I don't like Brand X, then the more I'll feel that Treebard is needed, and the more motivated I'll feel tomorrow when facing the great wall of code once again.
Today's Brand X genieware will be euphemistically referred to as "CheeseWhiz" because so many people seem to like it and for the life of me, I can't figure out why. As usual, the real name of the innocent genieware will be omitted, and I do mean innocent. Writing code is hard, and writing complex GUIs is really hard. Now in my ostentatious opinion, writing simple GUIs that do complex stuff is even harder. My main beef with CheeseWhiz is not that it's incapable, but that it makes complex tasks seem complex.
Opening CheeseWhiz...
The first thing that strikes me is that I paid for this jumbled-up disaster of an interface, but I must be forgiven for this. Paying for software is a mistake I haven't made since.
The most obvious example of bad feng shui that I always notice every time I open this program's sample tree is that the top view is littered with thumbnail pictures. Apparently there are three photos available for the current person, and one of them must be that person's main image. Each of these photos is displayed as a small thumbnail and the main image is displayed as a thumbnail twice on the same view. Another thumbnail is displayed for the current person's spouse. Then in the table of children, there's a teensy-weensy thumbnail displayed for each of them, which is so small that it can't be seen.
Here's how I feel about thumbnails. They exist for a reason: to link to the full-size picture. In the contrasting case of Treebard, only the main photo is shown on the top view, and it's not a thumbnail because thumbnails are low resolution, i.e. ugly. They are tools that serve a specific purpose, and looking beautiful is by definition not their purpose. Every thumbnail is inherently ugly because they are always low resolution. In Treebard, you can click the main photo which is a nice size to look at, and a gallery of all that person's images will open up in a separate dialog. There's a row of thumbnails, big enough to see, and you can click the one you want to see full-size in the gallery viewport. That's what thumbnails are for. They are not for display purposes as such; they are utilitarian devices which visually don't do justice to anything except their actual purpose: you see the little one, so you kinda know what the big one looks like, so you click on the one you want to see full-size. Thumbnails all over the page as decoration are the very essence of visual noise.
Back in the top view of CheeseWhiz, if you click any of the many thumbnails on the current person's area, a smaller panel on the right becomes populated with the clicked person's data. I won't go so far as to say that this is oh-so-wrong, however as someone who has gotten used to the current-person approach, I found that this arrangement caused me no end of troubles. The GUI should not make me think about it. My thoughts want to be occupied with the doing of genealogy, not with the undoing of mistakes caused by a GUI that expects me to think hard about avoiding mistakes made easy by the GUI design.
When I first bought Cheesewhiz so many years ago, I was devoted to the notion of actually trying hard to use it. "Hard" being the main point, as I discovered. I'd be tooling along, entering stuff about the main person, when... OH NO! Everything I'd done in the past hour had been linked to the wrong person, because I'd forgotten that I had displayed a non-current person on the top view. This sort of confusion should not be possible. I want to know who is gonna get the fruits of my laborious input without remembering to think about how the program works. That's what a current person is for.
Over in the right panel there's a tabbed widget with five tabs. This is in addition to the tabbed widget in the larger current person area on the left, which has four tabs. This is OK. I like tabs, because they let you stuff a lot of data into limited screen space without the ugliness of having everything showing all at once and the related ugliness of truncating everything to make it fit. Changing tabs is done with a single mouse click or a key combination. Tabs are great.
Unfortunately, in the large left panel of Cheesewhiz' main view that's devoted to the current person and his immediate family, there's only one event (marriage) instead of an events table, and under that is a table showing the current couple's children. Nothing wrong with that, but under the table which shows their three children is a huge blank area, a white patch of screen almost six inches tall and about 15 inches wide. That's over a third of my screen space, totally wasted. I realize that this sort of space would be needed if the current couple had 21 children, but why is the default GUI arrangement designed around edge cases? That's what scrollbars are for.
Exacerbating this arrangement, over in the much smaller right panel, if you click the tabs, the views that open are full of truncated data. Here we have an overgrowth of the feature I love most to complain about: resizable columns. If you resize one column, another column is covered, because too much is stuffed into a small space. So here we have a table full of data that is not viewable without further disturbing my aching mouse hand. If there's going to be a table full of data, then what's wrong with being able to actually read that data? The 6 x 15 square inches of whitespace over in the left panel comes to mind. I'll summarize my usual rant: resizable columns are used in lieu of making design decisions. Let the government and the academics use resizable columns for huge tables of data that no one actually wants to see. I'm trying to have fun doing a hobby, so the genieware I'm trying to use should be fun to use.
In defense of CheeseWhiz, apparently the whole interface can be rearranged to one's heart's content, but let me explain why a screen slathered with movable, resizable panels does not please my heart in particular. I bought this software so I could stay up all night entering data into a family tree. What does this have to do with computers? Not a dang thing. I know there are people who enjoy nerding out over the preference settings in a newly acquired application. I believe I'm possibly among the majority of the over-60 crowd when I claim to be an exception from the supposed pleasure of redesigning some designer's GUI since he was more interested in coding infinitely re-configurable bloatware than he was in making sure that genealogy could be conveniently accomplished with his program. Most genealogists are over 40 or 50 and/or 60. A lot of genealogists lose interest in computers when the application is all about the application and no longer about the genealogy (perfect example: "Gramplets"). My parents were both avid genealogists at one time but there isn't one genieware application that I can suggest they try, because Treebard isn't finished yet.
Moving right along to my other favorite topic: fonts and colors. As an amateur and beginner in GUI coding, I hardly have a right to an opinion, right? Wrong. As a 30-year veteran Windows user who has watched Windows go from OK to Better to Good to Bad to Good to Inexcusably Horrible, how could I suggest that my application's users rely on a deep dive into Windows settings to try and get their applications to look right? The existence of Windows accessibility settings and themes is just an excuse for the developer to not bother making his program usable for us dodderers. Nobody in their right mind wants to fiddle with Windows settings. So Treebard opens with a visible font and a dark theme, both of which are easily changed in seconds, without consulting Windows.
Creating this degree of independence from Windows settings, and updating the code over and over as I learn more tricks, has required painstaking diligence. Someone with actual coding experience and a younger brain could do better than I have, but as an amateur I was able to pull it off and it does work. These features have obsessed me from the beginning because... well for example, take CheeseWhiz, one of the most "popular" genieware programs in the market. (We have no choice but to grade these things on a curve, eh?)
CheeseWhiz opens in a light theme with a tiny font, as expected. I just went into the Preferences menu and changed the default font to 14, and nothing happened. So I dove back under and changed the default font to 22, to see if CheeseWhiz might take the hint if I got really carried away. Nope. Here we are in version 6+ and the controls don't actually do anything. Well let's hear it for the creators of CheeseWhiz, at least they bothered to display the controls! Maybe by version 14 the controls will actually do something. (I found out later that you have to change the font separately for each panel... if you can figure out what the names of these panels are referring to. And you have to change title fonts and body fonts separately... words fail me... programmers are supposed to know what proportions are, no?)
In desperation I will restart the program to see if the new font settings take effect. If I were much blinder than I am, I'd actually need a 22-point font.
Well, I guess desperation is not detectable by this software. The only evidence that I've requested a larger font is where the Preferences setting for "default font" was remembered and displayed in the settings menu. Everything is still the same tiny 10 that Microsoft shoved down our throats 40 years ago when we didn't know any better.
In case there's something I missed, let me just say that setting preferences should be a simple, one-click operation. I should not have to consult a Help manual or scratch around on an online users' forum to find out how to really change the font size.
Now on to the project that has taken so much of my time and energy in creating Treebard: themes. Not Windows themes. Windows themes are a big part of the problem, because I'm using a GUI toolkit called Tkinter which was last updated to be more "modern" by programmers who believed that "modern" meant relying on Windows themes. So not only do I use the ancient Tkinter toolkit, I religiously avoid the most recent version of its widgets' stylings because the octogenarians who once upon a time tried to ruin Tkinter by imposing Windows themes on it... and then abandoned Tkinter... no longer remember why they did it. And probably no longer care what's "modern" this week.
But Tkinter proper is a perfectly mature and stable product. It's pre-packaged with Python and SQLite, so it's really the perfect widget toolkit for a showcase of functionalities that genealogists who are not coders can tweak themselves, and that's what Treebard GPS is all about.
Now for the bad news...
CheeseWhiz, right here in version 6+, which I paid good money for, is never going to be anything but a blinding white light in my eyes, and I'm never going to do anything with it but complain about it and turn it off. This is the most glaringly obvious point which every single genieware designer has ignored. I have to believe they're playing dumb, because these are not stupid people; stupid people can't write software. Oftentimes I feel too stupid to write software. But isn't it the most obvious thing in the world, that if you're gonna let people have background colors of their choice, then you're gonna have to let them have font colors of their choice?
Heavens to Betsy, people, I wouldn't lie to you: changing font colors is the easy part. If it wasn't possible to design user preferences that do this, I would have abandoned Treebard years ago, and kept using one of the existing geniewares. Even I could adjust and learn and still sort of enjoy doing genealogy despite the plethora of weird interfaces that we have to choose from. But not if I can't look at the screen.
One last point. Even I get tired of my complaining, but the defects mentioned above do not encourage me to look for any reasons for people to actually use CheeseWhiz, so never mind its positive points, even though there must be some since the program is used by many people.
In Treebard, I have a prominent and easy-to-read-and-edit Events table right on top, the first thing you see, for at least two reasons. 1) I think genealogy is about telling a story (what is the root word of "history"?), and 2) the only genieware I've ever been able to use (Genbox) had an events table similar to this and maybe I'm just kinda habituated.
But I think it goes deeper than that. It's not just by habit that I want to see a big, readable events table on the current person view. I think point #1 above is by far the most important: genealogy is not just a collection of names, dates, and places. If you haven't completely repressed the history-class experiences of your schooldays, you must agree (unless you were a history buff as a child, in which case they probably locked you up to keep the world safe): it is precisely the memorization of names, dates, and places that made history class so utterly, irretrievably boring.
On the other hand, there've been plenty of attempts within the entertainment business, such as a movie I saw with Jeremy Irons as an imaginative history teacher, and many of novelist Lloyd Alexander's books, and a little website called "Ancestry.com", to make history literally exciting. Did this involve charts full of dates and such? You gotta be kidding. Is genealogy one of the most popular hobbies in town because people find "facts" interesting? Nope. Genealogy is popular because it's a treasure hunt, and because it's so much more personal than doing crossword puzzles about which celebrity married which princeling on what island. Heck, I even got addicted to crossword puzzles once. I used to smoke two hand-rolled cigarattes of organic tobacco and drink two gourmet microbrewed beers every night while doing crossword puzzles on the back porch with a box full of crossword puzzle dictionaries full of trivia that I didn't care about, and what do you think was the result? I had to give up smoking and drinking to kill the crosswords habit. It was rotting what was left of my mind.
And it's that smoldering kernel of a remnant that now attempts to show genieware developers "the way".
But in CheeseWhiz, the so-called facts are buried in an undersized tab over on a side panel, and everything is truncatedly unreadable.
And that word, "facts"... does it actually mean anything? Is genealogy even about facts?
No, genealogy is a treasure hunt. It's about gathering evidence and trying to nearly prove something. But if you're a reasonable person, you have to admit that the only way to really prove any of this stuff is to build a time machine and go back into the past and witness this stuff for yourself. And even then, a huge proportion of things that you'd witness would be subject to interpretation, and in fact would be described 100 different ways by 100 different people. And to make matters worse, who's to say you haven't gone back to some divergent parallel reality instead of the "real" one? So I suggest not bothering with the time machine either.
There just ain't no facts in genealogy. Nary a one. But it's them pesky factoids, true or not, that turn a bunch of boring data into stories.
"Scathingly positive" means that the more I don't like Brand X, then the more I'll feel that Treebard is needed, and the more motivated I'll feel tomorrow when facing the great wall of code once again.
Today's Brand X genieware will be euphemistically referred to as "CheeseWhiz" because so many people seem to like it and for the life of me, I can't figure out why. As usual, the real name of the innocent genieware will be omitted, and I do mean innocent. Writing code is hard, and writing complex GUIs is really hard. Now in my ostentatious opinion, writing simple GUIs that do complex stuff is even harder. My main beef with CheeseWhiz is not that it's incapable, but that it makes complex tasks seem complex.
Opening CheeseWhiz...
The first thing that strikes me is that I paid for this jumbled-up disaster of an interface, but I must be forgiven for this. Paying for software is a mistake I haven't made since.
The most obvious example of bad feng shui that I always notice every time I open this program's sample tree is that the top view is littered with thumbnail pictures. Apparently there are three photos available for the current person, and one of them must be that person's main image. Each of these photos is displayed as a small thumbnail and the main image is displayed as a thumbnail twice on the same view. Another thumbnail is displayed for the current person's spouse. Then in the table of children, there's a teensy-weensy thumbnail displayed for each of them, which is so small that it can't be seen.
Here's how I feel about thumbnails. They exist for a reason: to link to the full-size picture. In the contrasting case of Treebard, only the main photo is shown on the top view, and it's not a thumbnail because thumbnails are low resolution, i.e. ugly. They are tools that serve a specific purpose, and looking beautiful is by definition not their purpose. Every thumbnail is inherently ugly because they are always low resolution. In Treebard, you can click the main photo which is a nice size to look at, and a gallery of all that person's images will open up in a separate dialog. There's a row of thumbnails, big enough to see, and you can click the one you want to see full-size in the gallery viewport. That's what thumbnails are for. They are not for display purposes as such; they are utilitarian devices which visually don't do justice to anything except their actual purpose: you see the little one, so you kinda know what the big one looks like, so you click on the one you want to see full-size. Thumbnails all over the page as decoration are the very essence of visual noise.
Back in the top view of CheeseWhiz, if you click any of the many thumbnails on the current person's area, a smaller panel on the right becomes populated with the clicked person's data. I won't go so far as to say that this is oh-so-wrong, however as someone who has gotten used to the current-person approach, I found that this arrangement caused me no end of troubles. The GUI should not make me think about it. My thoughts want to be occupied with the doing of genealogy, not with the undoing of mistakes caused by a GUI that expects me to think hard about avoiding mistakes made easy by the GUI design.
When I first bought Cheesewhiz so many years ago, I was devoted to the notion of actually trying hard to use it. "Hard" being the main point, as I discovered. I'd be tooling along, entering stuff about the main person, when... OH NO! Everything I'd done in the past hour had been linked to the wrong person, because I'd forgotten that I had displayed a non-current person on the top view. This sort of confusion should not be possible. I want to know who is gonna get the fruits of my laborious input without remembering to think about how the program works. That's what a current person is for.
Over in the right panel there's a tabbed widget with five tabs. This is in addition to the tabbed widget in the larger current person area on the left, which has four tabs. This is OK. I like tabs, because they let you stuff a lot of data into limited screen space without the ugliness of having everything showing all at once and the related ugliness of truncating everything to make it fit. Changing tabs is done with a single mouse click or a key combination. Tabs are great.
Unfortunately, in the large left panel of Cheesewhiz' main view that's devoted to the current person and his immediate family, there's only one event (marriage) instead of an events table, and under that is a table showing the current couple's children. Nothing wrong with that, but under the table which shows their three children is a huge blank area, a white patch of screen almost six inches tall and about 15 inches wide. That's over a third of my screen space, totally wasted. I realize that this sort of space would be needed if the current couple had 21 children, but why is the default GUI arrangement designed around edge cases? That's what scrollbars are for.
Exacerbating this arrangement, over in the much smaller right panel, if you click the tabs, the views that open are full of truncated data. Here we have an overgrowth of the feature I love most to complain about: resizable columns. If you resize one column, another column is covered, because too much is stuffed into a small space. So here we have a table full of data that is not viewable without further disturbing my aching mouse hand. If there's going to be a table full of data, then what's wrong with being able to actually read that data? The 6 x 15 square inches of whitespace over in the left panel comes to mind. I'll summarize my usual rant: resizable columns are used in lieu of making design decisions. Let the government and the academics use resizable columns for huge tables of data that no one actually wants to see. I'm trying to have fun doing a hobby, so the genieware I'm trying to use should be fun to use.
In defense of CheeseWhiz, apparently the whole interface can be rearranged to one's heart's content, but let me explain why a screen slathered with movable, resizable panels does not please my heart in particular. I bought this software so I could stay up all night entering data into a family tree. What does this have to do with computers? Not a dang thing. I know there are people who enjoy nerding out over the preference settings in a newly acquired application. I believe I'm possibly among the majority of the over-60 crowd when I claim to be an exception from the supposed pleasure of redesigning some designer's GUI since he was more interested in coding infinitely re-configurable bloatware than he was in making sure that genealogy could be conveniently accomplished with his program. Most genealogists are over 40 or 50 and/or 60. A lot of genealogists lose interest in computers when the application is all about the application and no longer about the genealogy (perfect example: "Gramplets"). My parents were both avid genealogists at one time but there isn't one genieware application that I can suggest they try, because Treebard isn't finished yet.
Moving right along to my other favorite topic: fonts and colors. As an amateur and beginner in GUI coding, I hardly have a right to an opinion, right? Wrong. As a 30-year veteran Windows user who has watched Windows go from OK to Better to Good to Bad to Good to Inexcusably Horrible, how could I suggest that my application's users rely on a deep dive into Windows settings to try and get their applications to look right? The existence of Windows accessibility settings and themes is just an excuse for the developer to not bother making his program usable for us dodderers. Nobody in their right mind wants to fiddle with Windows settings. So Treebard opens with a visible font and a dark theme, both of which are easily changed in seconds, without consulting Windows.
Creating this degree of independence from Windows settings, and updating the code over and over as I learn more tricks, has required painstaking diligence. Someone with actual coding experience and a younger brain could do better than I have, but as an amateur I was able to pull it off and it does work. These features have obsessed me from the beginning because... well for example, take CheeseWhiz, one of the most "popular" genieware programs in the market. (We have no choice but to grade these things on a curve, eh?)
CheeseWhiz opens in a light theme with a tiny font, as expected. I just went into the Preferences menu and changed the default font to 14, and nothing happened. So I dove back under and changed the default font to 22, to see if CheeseWhiz might take the hint if I got really carried away. Nope. Here we are in version 6+ and the controls don't actually do anything. Well let's hear it for the creators of CheeseWhiz, at least they bothered to display the controls! Maybe by version 14 the controls will actually do something. (I found out later that you have to change the font separately for each panel... if you can figure out what the names of these panels are referring to. And you have to change title fonts and body fonts separately... words fail me... programmers are supposed to know what proportions are, no?)
In desperation I will restart the program to see if the new font settings take effect. If I were much blinder than I am, I'd actually need a 22-point font.
Well, I guess desperation is not detectable by this software. The only evidence that I've requested a larger font is where the Preferences setting for "default font" was remembered and displayed in the settings menu. Everything is still the same tiny 10 that Microsoft shoved down our throats 40 years ago when we didn't know any better.
In case there's something I missed, let me just say that setting preferences should be a simple, one-click operation. I should not have to consult a Help manual or scratch around on an online users' forum to find out how to really change the font size.
Now on to the project that has taken so much of my time and energy in creating Treebard: themes. Not Windows themes. Windows themes are a big part of the problem, because I'm using a GUI toolkit called Tkinter which was last updated to be more "modern" by programmers who believed that "modern" meant relying on Windows themes. So not only do I use the ancient Tkinter toolkit, I religiously avoid the most recent version of its widgets' stylings because the octogenarians who once upon a time tried to ruin Tkinter by imposing Windows themes on it... and then abandoned Tkinter... no longer remember why they did it. And probably no longer care what's "modern" this week.
But Tkinter proper is a perfectly mature and stable product. It's pre-packaged with Python and SQLite, so it's really the perfect widget toolkit for a showcase of functionalities that genealogists who are not coders can tweak themselves, and that's what Treebard GPS is all about.
Now for the bad news...
CheeseWhiz, right here in version 6+, which I paid good money for, is never going to be anything but a blinding white light in my eyes, and I'm never going to do anything with it but complain about it and turn it off. This is the most glaringly obvious point which every single genieware designer has ignored. I have to believe they're playing dumb, because these are not stupid people; stupid people can't write software. Oftentimes I feel too stupid to write software. But isn't it the most obvious thing in the world, that if you're gonna let people have background colors of their choice, then you're gonna have to let them have font colors of their choice?
Heavens to Betsy, people, I wouldn't lie to you: changing font colors is the easy part. If it wasn't possible to design user preferences that do this, I would have abandoned Treebard years ago, and kept using one of the existing geniewares. Even I could adjust and learn and still sort of enjoy doing genealogy despite the plethora of weird interfaces that we have to choose from. But not if I can't look at the screen.
One last point. Even I get tired of my complaining, but the defects mentioned above do not encourage me to look for any reasons for people to actually use CheeseWhiz, so never mind its positive points, even though there must be some since the program is used by many people.
In Treebard, I have a prominent and easy-to-read-and-edit Events table right on top, the first thing you see, for at least two reasons. 1) I think genealogy is about telling a story (what is the root word of "history"?), and 2) the only genieware I've ever been able to use (Genbox) had an events table similar to this and maybe I'm just kinda habituated.
But I think it goes deeper than that. It's not just by habit that I want to see a big, readable events table on the current person view. I think point #1 above is by far the most important: genealogy is not just a collection of names, dates, and places. If you haven't completely repressed the history-class experiences of your schooldays, you must agree (unless you were a history buff as a child, in which case they probably locked you up to keep the world safe): it is precisely the memorization of names, dates, and places that made history class so utterly, irretrievably boring.
On the other hand, there've been plenty of attempts within the entertainment business, such as a movie I saw with Jeremy Irons as an imaginative history teacher, and many of novelist Lloyd Alexander's books, and a little website called "Ancestry.com", to make history literally exciting. Did this involve charts full of dates and such? You gotta be kidding. Is genealogy one of the most popular hobbies in town because people find "facts" interesting? Nope. Genealogy is popular because it's a treasure hunt, and because it's so much more personal than doing crossword puzzles about which celebrity married which princeling on what island. Heck, I even got addicted to crossword puzzles once. I used to smoke two hand-rolled cigarattes of organic tobacco and drink two gourmet microbrewed beers every night while doing crossword puzzles on the back porch with a box full of crossword puzzle dictionaries full of trivia that I didn't care about, and what do you think was the result? I had to give up smoking and drinking to kill the crosswords habit. It was rotting what was left of my mind.
And it's that smoldering kernel of a remnant that now attempts to show genieware developers "the way".
But in CheeseWhiz, the so-called facts are buried in an undersized tab over on a side panel, and everything is truncatedly unreadable.
And that word, "facts"... does it actually mean anything? Is genealogy even about facts?
No, genealogy is a treasure hunt. It's about gathering evidence and trying to nearly prove something. But if you're a reasonable person, you have to admit that the only way to really prove any of this stuff is to build a time machine and go back into the past and witness this stuff for yourself. And even then, a huge proportion of things that you'd witness would be subject to interpretation, and in fact would be described 100 different ways by 100 different people. And to make matters worse, who's to say you haven't gone back to some divergent parallel reality instead of the "real" one? So I suggest not bothering with the time machine either.
There just ain't no facts in genealogy. Nary a one. But it's them pesky factoids, true or not, that turn a bunch of boring data into stories.