WeatherLog 5.0

It’s been over a year and a half since the last major release, but this update definitely deserves it. WeatherLog’s interface hasn’t changed much since the first releases; it’s always been a menu-driven application that displays it’s data in lists and tables, usually organized through tabs. While this was perfectly usable, it resulted in a user experience that was often not very streamlined, with plenty of redundancy and a lack of organization. I’ve worked to continually minimize this to a degree, but it’s always been there.

That’s why I decided to work on an update that focused entirely on the UI. Almost nothing was untouched by this update. Nearly every dialog was simplified or reorganized, and in many cases made to visually look better.

A couple ideas in particular were the main motivators for WeatherLog 5.0. First, related functionality was combined as much as possible, as long as it would still make sense. For example, dataset management was previously done through five different dialogs, but because they all used the same interface (only different button text really), this could be reduced to one centralized dialog. Second, I moved all the windows to use GTK+’s header bars, which allows titles, toolbars, and menus to be combined into one simple compact title bar.

Here’s a showcase of some of the changes. The main view shows possibly the most dramatic change. The new interface is on the left, with the old on the right. (Click images to zoom.)

The menu bar and tool bar are completely gone; the buttons and functionality have simply been moved into the header bar. The tab switcher has been changed to a stack switcher so that it can be repositioned and have nice fancy transition animations. The search feature has been completely removed from dialogs, and instead incorporated directly into the header. Instead of the entire title being used to show the dataset name, it is now displayed on the dataset switcher button. There is still a GNOME-style app menu, but it’s display depends largely on the desktop environment of the user.

Other windows received similarly large changes. The Current Weather feature now shows an improved location selection in the same dialog as the data, allowing multiple searches from the same instance. The title is replaced with a stack switcher here as well.

Current Weather_009.png

The dataset management features are now in one dialog, with a simplified and cleaner display.

Datasets_008.png

The new Preferences dialog is cleaner and better organized, with headers and extra spacing for clarity.

Preferences_011

Other dialogs received less drastic changes. All were changed to use header bars, and in general there is now a greater focus on readability.

Changes (Features)

  • All applicable windows and dialogs now use header bars.
  • Weather dialog now includes location selection.
  • Improved appearance of Weather dialog.
  • Data Subset changes::
    • Data Subset now allows multiple conditions for the same field.
    • “Date” is now a valid subset field.
    • Removed Data for Selected Dates. This functionality now exists as part of Data Subsets.
    • Adding a condition now longer clears the condition input fields.
  • Info, Charts, and Graphs dialogs are now merged into a single dialog.
  • Removed Merge Datasets. This functionality is already covered by Copy Data.
  • Removed the help.
  • Enter key in dialogs should now activate the most used response.
  • Combined search into the header bar.
  • Change default case sensitivity to insensitive.
  • Increased default window heights and widths.
  • Added the app menu; removed the other menus.
  • Added spacing to many dialogs.
  • Search results dialog now shows the search term.
  • Change Add Data autofill notification to display as a notification bar instead of a dialog.
  • Renamed “General” info to “Overview”.
  • Data columns are now resizeable.
  • Redesigned Preferences dialog.
  • Removed options:
    • “Show dates in title”: no longer works with new header system
    • “JSON indent” and “JSON indent amount”: not something that should be exposed user side.
    • “Forecast period”: was not respected by OpenWeatherMap; did nothing.
  • Added new dataset management window.

Changes (Code)

  • Transitioned application class to GtkApplication.
  • Removed no longer used dialogs and functions.
  • Removed confirm_exit.

Changes (Bugfixes)

  • Fixed Data in Range continuing when the close button had been pressed.
  • Fixed Import throwing an error when the user tried to import a file in the wrong format.
  • Fixed import errors.
  • Fixed search insensitive case not working when the search term was not all lowercase.

Download

Downloads and code are available on Github.
Project page: https://github.com/achesak/weatherlog
Release page: https://github.com/achesak/weatherlog/releases/tag/v5.0

Advertisements

WeatherLog: UI update

The next update of WeatherLog, either 4.16 or 5.0 depending on how much I break in the process, will be focused mostly on updating and streaming the user interface. As part of this effort, here is a tentative list of changes:

  • Use GTK’s header bars to integrate toolbars and menus into the header. This makes the UI more compact and visually better.
  • Merge similar features. For example, Info, Tables, and Graphs dialogs all display in one window now.
  • Merge related features. All of the dataset dialogs will be combined into a single dataset management dialog.
  • Remove redundant features. Merge Datasets is gone, as it merely replicated part of Copy Data’s features. Data for Selected Dates is also removed; note that there is no equivalent to this in 4.16, but changes to Data Subset will make this redundant now.
  • Move away from a reliance on menus. The goal is to have only one small GNOME-style application menu. This will be easy to do when the above changes are complete.

With these in mind, here’s some (early) screenshots to show changes. Here’s what the new main interface looks like. Note that this will definitely change (a few buttons/menus in the header will be added).

Click on the images for a full view.

a1

For reference, here’s what the old main interface looks like:

readme_main

The addition of a subtitle allows the title text to be made more readable and properly structured. Removing the toolbar and adding the buttons to the header saves vertical space. The same is true for the move from using a notebook (tabs) to separate data views to using a stack. Stacks also have the advantage of animating nicely (the views slide in from the side on change).

The Weather dialog looks quite nice now. As shown here, header bars don’t actually need titles if they’re not contextually necessary. In this case, putting the stack switcher in the place of the title functions perfectly clearly as a title. A label for the location is new as well, to make it bigger and more attention-getting. I’m not entirely happy with this still though. I’d really like to merge the location selection dialog into this, but I’m not sure how to visually do that best.

a2

Data in Range selection dialog also shows quite an improvement. When using a header bar, action buttons are combined into the top, instead of being placed on their own on the bottom. This dialog also demonstrates a fairly minor but significant UI change: “cancel”/”close” buttons are no longer used.

a3.png

The combined Info/Tables/Graph dialog uses the same idea as the Weather dialog.

a4

As one more example, the Data Subset dialog shows the use of additional in-dialog buttons. There’s no reason those can’t be used with header bar -based dialogs, but sometimes it makes more sense to move buttons into the header. In this case, there used to be four buttons below the conditions list: “Remove”, “Reset”, “Close”, and “View”. “Close” was removed (see above), and “View” was moved up as it contextually didn’t make sense in it’s prior location; the buttons along the bottom were otherwise all meant for condition manipulation.

a5

 

WeatherLog 4.15

Changes (Features)

  • Merged “Info in Range”, “Tables in Range”, and “Graphs in Range” into “Data in Range”. This displays the same two calendar dialog for date selection, with different buttons for each type of data.
  • Merged “Info for Selected Dates”, “Tables for Selected Dates”, and “Graphs for Selected Dates” into “Data for Selected Dates”. This is implemented similarly to the above change.
  • Removed the colons from all dialog frame labels for consistency.
  • Renamed “Quick Search” to “Search”.
  • Changed the keyboard shortcuts for “Search” to Control-F and for “Data Subset” to Control-Shift-F.
  • Changed dataset creation for “Copy Data” to be in-dialog, with a list that updates as each new dataset is created.

Changes (Code)

  • Renamed “weatherlog_resources” directory to “resources”.

Changes (Bugfixes)

  • Fixed toolbar getting focus on application start instead of the data list.

Download

Downloads and code are available on Github.
Project page: https://github.com/achesak/weatherlog
Release page: https://github.com/achesak/weatherlog/releases/tag/v4.54

PastebinGTK 2.2

Changes (Features)

  • Added an option in Create Paste to create the paste as a guest, even when logged in.
  • Redesigned Paste Info dialog:
    • No longer uses a list to display, but better formatted labels instead.
    • Changed “View Paste” button to “Get Paste”, and changed the button from opening the paste in a web browser to opening the paste in the application. The paste can still be opened in a web browser by clicking on the paste title.
    • See screenshot at end of post.
  • Redesigned Account Info dialog:
    • No longer uses a list to display, but better formatted labels instead.
    • Avatar image now shows as a picture instead of a link.
    • Added menu accelerator.
    • See screenshot at end of post.
  • Renamed “OK” in Delete Paste dialog to “Delete”.
  • Added spacing and increased size of Delete Paste dialog.
  • Added “Get Details” button to the list paste dialogs to open the Paste Info dialog.
  • Removed “Cancel” buttons from the paste list dialogs.
  • Changed Get Paste dialog to have the entry grab focus.
  • Renamed “Text” menu to “File”.

Changes (Bugfixes)

  • Options now saves immediately after change instead of waiting for application close. This could potentially cause loss of changes if the application crashed.

Changes (Code)

  • Separated paste info and account info dialogs into their own classes.
  • Dialogs now use application constants.
  • Application now follows PEP8 style conventions much more closely.
  • Fixed XML parsing warnings.

Screenshots

Account Details_002Paste Info_003

Download

Downloads can be found on the Github repository.

WeatherLog 4.14

Changes (Features)

  • Added list of selected datasets to the confirmation dialog for Remove Datasets. This displays similarly to the confirmation dialog for Remove.
  • Fixed extra newline in Remove confirmation dialog.
  • Changed Get Weather to use consistent decimal place formatting (two places). Some fields here used one place, which was inconsistent both within this dialog and within the application as a whole.
  • Reformatted sunrise and sunset times in Get Weather to be easier to read.
  • Increased the size and spacing of the Get Weather dialog.
  • Hid the headers for the treeviews in the Get Weather dialog.
  • Hid the headers for the treeview in the date selection dialog.
  • Hid the headers for the treeview in the Data Subset selection dialog.
  • Changed the columns in the Data Subset selection dialog to expand.
  • Changed the columns in the dataset selection dialog treeviews to expand.
  • Pressing the delete key on the main data list now removes the row.
  • Removed Clear All. Due to how deleting datasets and removing data works, this was not really necessary.

Download

Downloads and code are available on Github.
Project page: https://github.com/achesak/weatherlog
Release page: https://github.com/achesak/weatherlog/releases/tag/v4.14

WeatherLog 4.13

Changes (Features)

  • Improved display of main view info and tables by allowing the columns to expand and setting more space by default.
  • Improved display of dialog info and tables by allowing the columns to expand and settings more space by default.
  • Improved display of data subset selection dialog by adding more padding.
  • Added Remove button to Edit dialog.
  • Changed Info, Tables, and Graphs menu accelerators to be sensible after the main dialogs for those were merged into the main view.

Changes (Code)

  • Fixed PEP8 style issues.
  • Changed Info and Table dialogs to use application constants.
  • Removed remaining references to the previous licence (MIT).
  • Fixed outdated comments.
  • Removed unused file (app_data/strings.json) and related code.

Changes (Bugfixes)

  • Fixed date selection dialog showing plural label for single selection.

Download

Downloads and code are available on Github.
Project page: https://github.com/achesak/weatherlog
Release page: https://github.com/achesak/weatherlog/releases/tag/v4.13

PastebinGTK 2.1

Changes (Features)

  • Log in changes:
    • Merge Login In and Log Out buttons.
    • Enter key now works as expected in username and password entries.
    • Stopped case where user could unintentionally log out.
  • Delete Paste now shows “Untitled” in the paste name instead of leaving it blank.
  • Added spacing to the list paste dialogs for readability.
  • Merged the Editing tab in Options into the General tab. There was only one element in that tab.

Changes (Bugfixes)

  • Fixed Paste Details causing an error for guest-created pastes.
  • Fixed Get Paste and Paste Details not working with https links.

Changes (Code)

  • Fixed indentation issues.
  • Fixed Beautiful Soup (HTML parser) warnings.
  • Removed old, unused help files.
  • Change names of login-related functions and variables.
  • Changed license to GPLv3.

Download

Downloads can be found on the Github repository.