-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Suggestion] Optimise layout of MeeCast's Event-View #75
Comments
@FingusDE, thank you very much for filing this issue here. I categorised this as a suggestion, because it aims at beautifying the look, but everything is already fully functional. As already denoted, IMO there is no space left for another icon (mind, that some empty space to the right screen border must be kept): The number of icons is currently 4 in portrait and 8 in landscape orientation, as you can easily see when you turn your device from portrait to landscape orientation. To stretch this row of icons should be technically possible (with QML / Qt), but this is an "expensive" operation, i.e. it is slow and battery consuming. IMO the elements of MeeCast's Event-View should be arranged as follows to look better:
Side note: I wrote down these considerations before looking at the QML code: Many aspects are already implemented this way, and my considerations are better adapted to the current code-base than the other way around. Main point of my considerations is: This is how I imagine a better look, I do not care how this is achieved. Other ideas for optimising the layout of MeeCast's Event-View are welcome, even more so a Pull Request which performs these optimisations. The corresponding QML code is here: P.S.: Screenshots of the current look of MeeCast's Event-View v1.11.7 on an Sony Xperia X with SailfishOS 3.2.1: |
The old Jolla weather app was displaying 5 icons in portrait mode. Personally I think 5 icons makes more sense than 4, especially when on the right there is a noticeable gap. Also in horizontal view I would prefer to have 7 (week) instead of 8. Maybe having the size of icons smaller will fit a 5th icon? In addition on 10iii the font size of the first line of the weather location does not match the rest of the event screen especially when the date is also displayed at the top. |
It sure would, but I have not seen vector graphic sources (e.g. in SVG format) of these icons (maybe I missed them). Scaling bitmap icons (e.g. PNG format) results in either ugly or blurred results (no matter if they are already scaled embedded in MeeCast or if MeeCast lets Qt scale them). But that is a different topic than rectifying the visual layout of MeeCast's Eventview: Making the left and right borders equally large, plus centring the city name, textual weather indicator and the icon row.
I do not concur, I want as many as possible with a given icon size. |
I am not a GUI expert, the jolla weather app event view layout is good and simple imo. The top line is centered, symbol size and location fonts are larger than other text lines around. Then for the second line it looks like each day-cell is split vertically to 4 rows, i.e. day, temp max, symbol, temp min. This allows to reduce the width of that cell to the icon size only. It does not have a fixed number of days, depending or screen resolution/scale, it can range from 4-6, and I guess on landscape will fit as many days as that horizontal space allows. I do not know much about the icon graphics, but I get the impression that some of those sets have too much detail that might not help with scaling. |
This is definitely looking good. (Side note: I never used Foreca's proprietary weather app due to privacy; AFAIR it transmits the device's location to Foreca, Foreca is the only weather data provider available and Foreca's forcast data is in my experience less reliable than Hence, lets us focus on slightly rearranging the extant icons and look (which I actually like a bit better than Foreca's), so it does not look awkward any longer. Even that might require a contribution, as I do not have any time for that this year and I doubt |
@Olf0 yes it's an improvement not a bug. I have no experience in QML but I will give it a try when I get more time to setup the dev environment and will let you know. |
The nice and convenient thing about QML / QtQuick is that it is just JavaScript using Qt functions, and the excellent documentation by the Qt company and also third parties.
The inconvenient thing about QML is that it is JavaScript using Qt functions, for me: I hate to code in JavaScript, never became accustomed to it and I am not proficient in using Qt. |
I am almost ignorant in QML and I never liked javaScript either lol. Anyway, it's really slow trial and error process here. I managed to fix the top line, the second one is more complicated as requires a very fine placement and alignment of items which I do not understand yet. The reason we have that gap on the right is that alignment starts from left and for portrait and landscape mode the number of days is fixed to 4 and 8 respectively. For higher resolution screens (?) that is not enough to fill the entire line hence the gap. |
I feel with you: That reflects exactly my experiences with QML. It should be "so easy" (maybe it is for web-page programmers accustomed to JavaScript), the Qt documentation is really well done, but I always struggle hard. Some "quick wins" are indeed easy to achieve, but in order to obtain a QML page layout as I imagined it, I ultimately struggle.
Yes, exactly. I always wondered if this effect is really (or "really only") dependent on the screen-resolution, especially as QML should (just as HTML) be resolution-independent. Hence I believe it is a wrong approach trying to adjust the layout depending on the screen resolution. |
Hi. |
I am struggling with the second line margins, slow process on that, I will send you my patch once it looks ok. Is three anyway to find out whats in silica.weather lib tho? That would be useful, silica seems to provide customised blocks for weather apps including icons too, but it's hard to find more on that. |
Take your time, it has been like this for a decade. Hence, even if you pause and finish this next year, it will have been a quick action. 😃
Foreca Weather is proprietary software from Foreca, licensed by Jolla (as Jolla's Weather app), and |
BTW, I found some interesting documentation for Silica in the WWW, but on first sight nothing addresses these page-layout issues.
But when searching for them you can find many postings on e.g. stackexchange.com etc. where people discuss their issues in achieving a specific page-layout in QML. |
Thanks, I've seen some of the links, I will try to centre the second line and then start thinking about more improvements. With current format I do not think it can accommodate more than 4 days on the second line. On C2 there is horizontal space for 5 days. The original Weather app has more optimisations, like updates on screen unlock, or visiting the events page, etc. |
Please take a break when you have achieved that, and submit your achievements by a PR, because (as you stated to already have achieved a better layout of the first line) that should fully rectify the distorted looking, current layout.
Sure, one can always pose another PR. Though it might make sense to discuss specific changes here to obtain a second, third etc., opinion, before implementing them. Actually I would appreciate much, when you accompany your PR with a screenshot how it looks on your device (naming device and OS release) in a second comment for that PR (mind that the first comment of a PR will be used as commit details message when the PR is being merged).
I am not sure about this impression from the screenshots above: While it looks so on first sight, there may be a few pixels less space than required for an additional icon (fifth / ninth) while maintaining the current horizontal margins to the left and right. When looking at my Xperia X screenshots, I am quite sure that there is no space for a fifth icon in portrait orientation, but it looks like there is plenty of space for an ninth icon in landscape orientation; but I have no idea how it is rendered on other devices. Hence, as stated: Things should not (I am actually inclined to state "must not") be optimised for a specific device or screen resolution. Mind that MeeCast still fully supports a [email protected], even older SailfishOS releases, AuroraOS and all devices these two OSes run on, including community ports (many of which are stuck on older SailfishOS releaseas, as the Jolla 1 is): I will strongly oppose anything which may break this feat, and I am deliberately using "may", because nobody can possibly test all these combinations. OTOH, all use the long outdated Qt 5.6, so this is a common denominator. Also as already stated: Please let Qt take care of correct rendering, do not try to override it (just as with classic, static, CSS-less HTML pages). Any hyper-optimisation will likely fail grossly on some device or some SailfishOS / AuroraOS release (including future ones). Thus hyper-optimisations almost always result in a large maintenance burden, due to the corresponding code becoming complex and fragile.
Oh, that is completely new territory: Nice to have, but implementing this might be hard, tedious and frustrating. P.S.: While in QML one usually anchors elements further down in a column on (width, position etc.) of a element further up in a column or on an element one level up, I remember that one can reverse that (but it is tricky in syntax, semantics and limitations), i.e. anchor a higher (level) element on what QML/Qt has chosen for a lower element. E.g. one should be able to render the icon row as centred and then anchor other elements on the left or right border Qt has chosen for the icon row; here it might make sense to anchor the "weather now" icon in the first row to the left border of the icon row and the "Last updated:"-line to the right border of it. |
Here is a preview of my changes, horizontal spaces seem to be fixed now, I managed to fit 7 days on C2 but on xperias that should be reduced to 5 days. I tried to resemble the Jolla weather display, but mainly it's my preferable weather view, it can be adapt it if necessary, I do not have strong opinions on that. There are several things that need to be fixed:
PS I tried to create a branch for this issue but I am not sure I have enough permissions to do so. |
This is looking really good, thank you! But I see that you already went far beyond fixing the (formerly off) horizontal alignment(s). Though I am repeating myself: Please do let us finish this first, without addressing any other improvements. Things I notice:
Be assured I will also test on a Jolla 1, just to take as many devices into account as possible. We will see, how many icons can be practically used on all devices, I would assume 6 in portrait an 12 in landscape orientation.
Me neither, but I do prefer basic layout of the icons MeeCast currently has, because that is what I looked at every day for more than 10 years. But as rearranging the temperature values was crucial to display more icons in the forecast row, this is fine; as this breaks the original style, mimicking the style of Jolla / Foreca Weather makes sense.
No, definitely not in your upcoming PR: Please don't, defer researching and implementing these points to later and hence another PR.
While the three points above should be addressed in later PR(s), IMO the next one should not:
IMO that is superfluous or even bad:
Another completely different topic, another separate PR when you get to that. May I suggest to implement this as a separate element, which also becomes embedded in MeeCast proper.
No way:
You can always create a branch in your clone of this repository (either at GitHub or locally) and pose a PR to |
That was a preview, it is not finalised I am not a UI expert, and to be honest I've changed my opinion on some changes. I agree there are several issues that might be better to be discussed separately. What I will try to do initially is to create a branch and commit changes to the current (as the latest release) layout that fix horizontal spaces. Then from that point on we can discuss further improvements. To answer briefly your points (that reflects my view and therefore it's subjective) the current eventview seems overloaded, it will be better to be minimalistic or it will be confusing and ignored by users.
|
I've branched off |
I know. And I am glad you shared it, so you can gather some feedback.
None of us really is (though I have reviewed many UI changes in the past 20 years privately and at work); but then, in a way we are because we care.
👍
👍
Yes, that would be nice, but as that likely requires some more intrusive changes (outside of MeeCast Eventview) to be able to access this data, I strongly prefer that in a separate PR and to consult
True, but some of the icon sets are ambiguous to interpret, hence I always perceived this textual information as helpful; even if it is just to learn what a specific icon is supposed to express. There is plenty of space for it in the first line, so why not?
Thanks. (Still I am a bit curious if my interpretation what it is good for was correct.)
To review that QML code (before deciding if there is a need to change it and how) was exactly my idea. Unfortunately I am out of time for the next 1,5 weeks, but closer to Christmas I am sure willing to support you with my little QML experience.
👍 … and should not impose additional hurdles to adapt Eventview to other Linux distributions, rsp. desktop environments (e.g. KDE, LXQt). AFAIK
Fully agreed that both points would constitute a great achievement and improvement. But they alter the Eventview's QML code fundamentally, hence need thorough review and testing, and would overload this PR as well as preventing a significantly enhanced Eventview layout to be deployed to users soon.
Sorry, I did nor mean to shrug this idea off. Maybe it even may fit well to accompany the changes required to obtain the hourly weather data. My main point is that the implications of accessing the internet have to be really well considered; in addition to aforementioned point of costs, also: What happens if there is no internet available in this moment?
Yes, and it did not really matter before your layout change, likely this is why nobody noticed it before. But as your layout change makes a lot of sense, this is something which should (but not "must") be resolved for your upcoming PR. Things I can think of:
|
Please "fork" (i.e. clone) this repository in GitHubs web-frontend, e.g. by making a change to something in the When you work on a local clone of this repo you should push your changes to a feature-branch in your own GitHub "fork" of MeeCasts source code repository, and then pose a PR from that to |
Missing Column in Event-View on Jolla C2, Jolla Tablet, Redmi 5 Plus
My suggestion is to stretch it to full width or add another day as column to it. The same for the Landscape-Display.
The text was updated successfully, but these errors were encountered: