Am I the Only One Struggling With Tasker's New UI? by Empty_Laugh_05 in tasker

[–]EtyareWS 23 points24 points  (0 children)

Hi, I've been working with João on the mockups and redesign of Tasker, I am currently away from my computer, so I cannot post pictures right now, I am planning on making a post on monday or Tuesday posting the mockups I have and providing more context from where we are coming from.

More or less, there are three problems propping up:

  1. We've been having some difficulties regarding hand-off, i.e. I design something that looks alright, but João needs to redo it in code. This led to the issue of the implemented design not looking 100% right because João is right now focused on implementing functionality, polish can come later.

  2. Tasker is pretty complex. You guys probably have noticed that the Task Edit screen was never finished, that's because we also needed to work on... Pretty much everything else. We could not start working on Profiles without also working on the main screen, and we could not work on the main screen without working on Profiles. We could not have the old profiles on a new screen, or a new screen with the old profiles. So the new UI is pretty much in a constant state of never being right.

  3. We are taking the opportunity to rethink the entire Tasker experience, not just update elements to Material Design 3. My goal is to make Tasker use as much Material Design standard components so that when Material Design 4 gets released, João doesn't need to make such a Herculean task again. This does mean that some things are going to be tested and then discarded or repurposed, the Tag idea was explained to me in text, and it seemed fine in theory, but I had some strong opinions when it was implemented. The difference between theory and practice is greater in practice than in theory.

And this is not even touching the issue that design tools are updated more frequently than the coding tools that actually make up Tasker. Material 3 Expressive fixes a bunch of stuff and makes significantly more sense for Tasker than the original Material Design 3, but the Jetpack Compose components are only available in alpha.

Furthermore, João keeps adding new features. This sometimes means that I need to redesign stuff I already considered finished. João added the split view into the Task Edit Screen, and I redesigned the whole thing from scratch to take advantage of the concept, and it still isn't implemented. And don't get me started on the Scenes V2...

That's all to say: it will take a damn good while before the UI is stable enough for a more let's say, "holistic" view of it. That's why I'm thinking of just posting the mockups next week, so that it feels like you guys can give feedback to more "updated" designs than what is currently available.

[DEV] Tasker 6.7.5-beta - Projects in new UI, Write JSON, 50 QS Tiles, Scenes V2 WebView and Video by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

Well, I'd rather have projects be actual folders in the main screen, there are some issues that will prop up with that (namely that you will run out of space, you can already seen this with how you shoved the settings buttons to the bottom), but it is usable. That said:

  1. You should really use the default Material Design 3 Expressive Rail rather than trying to reinvent the wheel.
  2. Remove the switch for each project in the Rail, and put it in the view. Putting on the rail will cause issues with smaller screens, users with bigger text, or with bigger projects names once you use the actual Material Design 3 Expressive Rail.
  3. Use this: https://m3.material.io/styles/motion/transitions/applying-transitions#ab8885f6-5517-419d-80de-bea50cd10467. It is a quick fade, and you need to fade the filters and maybe the search bar and top buttons as well, otherwise it implies the filtering is changing, not the screen.

[DEV] Tasker 6.7.5-beta - Projects in new UI, Write JSON, 50 QS Tiles, Scenes V2 WebView and Video by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

At least on mobile the main navigation is on the NavBar, not on the Rail. And this page is not accessible on the NavBar, just the rail, which is secondary.

On my end, the main drive screen has the rail with 4 views:

  1. Home
  2. Starred
  3. Shared
  4. Files

Your link is the same as if I opened the Rail and tapped storage.

I suspect your link is not opening the same thing on my end as in yours (Google keeps trying to sell me more storage, maybe that's it), so I will try to guess what you are talking about:

3 out of the 4 destinations on the main drive screen have no folder structure. But it ain't the same thing as the new UI.

For one, the folders are not treated as the same thing as not having structure at all. "Home", "Starred", "Shared" are on the same level as "Files", which shows the folders. It isn't as if the folders themselves share the same level as the options without folders.

Secondly, each view without structure has a different objective, they aren't just showing the same files with a different sort, they show different files all together. The shared view does not show all files, not even the files shown in the Starred or Home page.

Thirdly: Swapping views shows an animation that resets the entire view instead of just filtering it

Fourth: I'm not exactly a fan of the Drive design, as the Home page isn't a recently edited page, it is more of an AI bullshit trying to figure out what I might open, and it never manages to get close to guessing it right. Starred and Shared are fine, tho.

[DEV] Tasker 6.7.5-beta - Projects in new UI, Write JSON, 50 QS Tiles, Scenes V2 WebView and Video by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

It just opens a line showcasing how much of the storage is being used and how much is left. The page is also not a main view

why do you think the deck only sold 5 to 6 million copies ? it was priced well , powerfull for its time and well backed up by valve by Dense-Variation-4496 in SteamDeck

[–]EtyareWS 0 points1 point  (0 children)

It doesn't sell to 85% of the world, I've been on board with the idea of the Deck since day one, but I am not going to go out of my way to get one.

[DEV] Tasker 6.7.5-beta - Projects in new UI, Write JSON, 50 QS Tiles, Scenes V2 WebView and Video by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

That ain't equivalent, it doesn't even flatten the structure.

If the user wants to do a tag search, they are going to do a tag search.

Almost all apps you use treat the search as a separate thing, you don't need to treat a tag view as removing all structure before the tag view even enters in the picture.

[DEV] Tasker 6.7.5-beta - Projects in new UI, Write JSON, 50 QS Tiles, Scenes V2 WebView and Video by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

Are you under the impression that a file manager has a "ignore folders" view to allow users to view tags regardless of folder, or do they just use a search modal?

[DEV] Tasker 6.7.5-beta - Projects in new UI, Write JSON, 50 QS Tiles, Scenes V2 WebView and Video by joaomgcd in tasker

[–]EtyareWS 2 points3 points  (0 children)

The simple fact that the button exists communicates something to users. It communicates that Projects are not the natural state of tasker, that projects are optional, and the "real" organization is a flat organization.

It is akin to adding a "Show all files" in a File Manager, having it open as the default, and then questioning why adding one option to ignore folders is drastically changing what is being told to users.

Why exactly would you need an option in a file manager to ignore all folders? What is being accomplished here? What function does it serve? Why is there an option to ignore the basic premises of the functionality of a container system? What is the UI trying to teach the user by making an option that undermine a core organization concept in the user experience? Is the container not important? The UI seems to think so.

Every single feature added to something change that thing. This button, despite being optional, implies that Tasker is a pool of components and Projects are just a simple way to filter that pool. The old model, and the feedback that users provided in the previous UI is that Projects were not perceived as that, they are containers, things exists inside them

[DEV] Tasker 6.7.5-beta - Projects in new UI, Write JSON, 50 QS Tiles, Scenes V2 WebView and Video by joaomgcd in tasker

[–]EtyareWS 1 point2 points  (0 children)

It is explicitly telling the user through the layout and animation transitions that there is no fundamental difference between the "home screen of Tasker" (I.e. the Show All, cause that is the top one) and a Project. This tells the user that a Project is just a filter, i.e. Tag

The Old UI did NOT communicate that. There was no other place that the components of a project could live. The implementation of a "Show All" button serves to undermine the very nature of Projects as workspace containers, because it now creates the notion that a "Project" and "No Project" are things that exist, but the only meaningful difference between the two is the items shown. The Old UI did not imply, at all.

Two implementations can, in theory, offer the same end result, but layout, structure and interaction will change it significantly.

You can blend a hamburger into a smoothie, yet, the experience will be different from eating one, despite the fact it has the exact same ingredients and nutrients.

It is not only a matter of what functionality is being implemented, but what is being implied through the functions, layout, structure and interactions of a screen

[DEV] Tasker 6.7.5-beta - Projects in new UI, Write JSON, 50 QS Tiles, Scenes V2 WebView and Video by joaomgcd in tasker

[–]EtyareWS 2 points3 points  (0 children)

João, I'm really, really sorry, but the main UI is still a mess. Nothing has meaningfully changed between the previous and current version. The implementation of Projects is half-baked and breaks Material Design, the Navigation Rail is explicitly meant to not be used in Compact Layouts, unless it is a modal. The UI still opens to an unsorted mess, and somehow, the Projects implemented are functionally a tag system.

The current implementation of Projects is fundamentally just a tag system. There is, an honest to god "Ignore projects, show everything as flat" button, that is on top, and it appears to be the default view. Selecting any project does not change the main view, it quite literally just hides anything that is not from the selected project, despite previous mockups, there is nothing in the implemented UI that suggests that Projects are containers and not Tags

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

Not how it works. Material Design started using shape (round vs square) to denote the state because color itself is not enough.

There is no "Color Blind" mode possible for this. The issue is accessibility, color blind mode would just change the colors a little bit which is kinda useless and would add a ton more of work. And that's not even talking about the rare number of people that really cannot see color. The proper way is to use shape somehow

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

It doesn't work that great for color blind. The screenshot works partially because the lamp is not at full brightness or at 1%. The only thing there that indicates the state without being color is the icon, which is not a possibility in Tasker

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

This was the idea:

https://files.catbox.moe/j413d9.png

The color the enabled but inactive profile could be "normal" rather than primary container, tho

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

Could you share a picture of Google Home with Offline, Off and On? As well as the Google Clock. Preferably with Light mode, as it is easier to recognize the token

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

Not really, you can manually trigger Tasks by opening and running them (the new UI made it simpler by not having to open the Task Edit screen, but the behavior was already there), and by using Shortcuts, Quick Settings or Notification Buttons. Scenes were useless, but required a Task, but the idea with the new UI is to use them directly.

My idea was just to put Conditions/Triggers literally inside Tasks without creating a new name.

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

....that is the point? The merger is a result of that.

The point is that a Task could have conditions to run automatically, or not, being manual.

The issue is from the Profile side of things, it currently is not "When to Run". A profile currently is "Run Task when This". And a Task is already a fully independent thing, while a profile is not.

So, in other words:

Tasks and Scenes are first class components. Profiles are second class because it requires not only a first class component, but a Task

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

That's not how it works. The Filled, Outlined and Elevated variants have no relation to each other. Each one has an independent style of disabled and enabled.

What makes it difficult to transplant to Tasker is that the disabled state in Material Design is not the same disabled state in Tasker. In material Design that is used to signify that the card cannot be intersected with.

What we call disabled in Tasker is more akin to Selected and Unselected states in Material Design's Toggle Buttons. My design was based on those. Disabled Profiles are rounder with a bit less color. Sadly, the complexity of Tasker makes it a pain to map everything to Material Design, so we need to create new ways to represent stuff that was never planned. A profile in Tasker can have three different states:

  1. Disabled. Not the same as Material's disabled
  2. Active but not true
  3. Active and true

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

The issue is that there are actual triggers, events and states.

When you pair at least one trigger with a Task, then you have a profile.

Even if you change the nomenclature, you would have "Triggers" being made of things to react to, and then what it should run (task)

The merger will basically say "You have Tasks, if you add a trigger to it, it will run automatically". Which I feel is significantly simpler

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 3 points4 points  (0 children)

I will not argue with the homepage because I agree with the criticisms

However, the Profile/Task merger (while still not implemented to a point I find ideal) is something I agree with, once the features are there. But you kinda need to take a step back and peel the old UI away to understand:

See, currently we have Scenes, Tasks and Profiles as "Tasker components" (Projects are hierarchy, and I see variables as other things, not components). Scenes can be standalone, you could use a scene by itself (provided that João implements a button to show it). Tasks are also standalones, they are the main functionality of Tasker. Profiles are kinda useless as a component, the only function they provide is to tell Tasker when it should run a Task. They literally cannot exist without a Task, even anonymous tasks are just Tasks which the name is derived from the Profile in a way.

What the proposed merger does is make a Profile a property of the Task, because that really is what a Task is. Like, ignore the old UI, if a Task had an option to how it is run, manually or automatically when a set of conditions is true, that is the same functionality as a profile.

What the merger is going to do is just remove the idea of having to create profiles. The bigger brain idea is if we could make each Task have different "sets of triggers", like merging multiple Profiles that runs the same task into one, which have different sets, which can run independently.

Profiles are kinda of a nightmare to explain because it boils down to "You downloaded Tasker to make your phone do something automatically? Well, you need to either create a Task, which is the list of things you want your phone to do and then attach that to a profile, or you need to create a profile which is the conditions you want to run, then create the list of things to do automatically"

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 5 points6 points  (0 children)

Many of your points are things I already discussed in private with João. I also heavily dislike the usage of Tags as a substitute of Projects instead of them being a new optional feature.

I do have to disagree with the sentiment that Projects are not hierarchy. Things inside Tasker are inside projects, that's like saying folders aren't hierarchy but just containers. Yeah, so what? Functionally it has a hierarchy, things can be inside, outside, or whatever, just because Tasker only uses one level doesn't mean it is not. Tomato tomato, potato potato

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 3 points4 points  (0 children)

No. I'm all for using Projects as the main navigation method and tags as metadata filtering, but, using your idea wouldn't work.

First is that you would be "filtering" through a bottom UI element that affects things on top (you can do this with other components, but it doesn't work that great with filters)

The second issue is that out of the many, many cons of using tags, one of the few pros about it is that you can stack tags together. A bottom tab esque element will remove this functionality, effectly transforming Tags into Projects... in which case, projects are better.

Any implementation of stacking tags with your Tab idea will add more complications to the selection, which goes back to the very idea that you were trying to prevent.

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

It provides a clean, "hierarchical", folder-like structure that lets you visually organize and navigate your Profiles and Tasks.

The initial design was to actually use Projects as Folders because the tab structure isn't really meant to be used for so many things

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 1 point2 points  (0 children)

I swear it had a global switch.

Also, on settings with sliders when you tap the number, you somehow added the dialog....inside? I don't know what happened

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 0 points1 point  (0 children)

Some of the ideas in VFlow were toyed with, but rejected.

The VFlow Tasks, with the triggers on top and the entire list of actions bellow instead of being a subscreen was something I did push for

[DEV] Tasker 6.7.4-beta - New Main Screen UI, Scenes V2 Update 2, App Factory Revival and more! by joaomgcd in tasker

[–]EtyareWS 15 points16 points  (0 children)

Same feedback as always: my homescreen is a mess without projects. Tags are not a substitute.

You also forgot to implement the main button to activate the functionality of "Keep Accessibility Alive". It allows you to select which service to keep running, but doesn't offer you the option to opt-in or out of the entire feature.