Wordpress-android: Post List: Introduce "unpublished changes" label

Created on 30 Aug 2019  Â·  10Comments  Â·  Source: wordpress-mobile/WordPress-Android

When we remote-auto-save changes, we still show "Local changes" label. It'd be a nice improvement to replace this label with "Unpublished changes" label or similar.

@osullivanchris Do we want to use word "unpublished" even for drafts and scheduled posts?

Post List PostinEditing [Type] Enhancement

Most helpful comment

Thanks @osullivanchris!

For a draft, I think the label should just be removed once its uploaded to the server. Its no longer local to the device. And it just becomes part of a normal draft so no status is needed.

This is a bit tricky, since the status of the post in the remote might be "Published/Scheduled/...". So the changes were still just remote-auto-saved not uploaded.

For a scheduled post, it means the post is scheduled but the changes have not been committed to what is scheduled, right? So it could say 'Unsaved changes' 'Unscheduled changes' or even just stick with 'Unpublished changes'

Yes, that's correct. If 'Unpublished changes' is ok, I'd stick with it - the more labels we have the more confusing it can get.

All 10 comments

  • For a draft, I think the label should just be removed once its uploaded to the server. Its no longer local to the device. And it just becomes part of a normal draft so no status is needed.
  • For a scheduled post, it means the post is scheduled but the changes have not been committed to what is scheduled, right? So it could say 'Unsaved changes' 'Unscheduled changes' or even just stick with 'Unpublished changes'
    WDYT?

Thanks @osullivanchris!

For a draft, I think the label should just be removed once its uploaded to the server. Its no longer local to the device. And it just becomes part of a normal draft so no status is needed.

This is a bit tricky, since the status of the post in the remote might be "Published/Scheduled/...". So the changes were still just remote-auto-saved not uploaded.

For a scheduled post, it means the post is scheduled but the changes have not been committed to what is scheduled, right? So it could say 'Unsaved changes' 'Unscheduled changes' or even just stick with 'Unpublished changes'

Yes, that's correct. If 'Unpublished changes' is ok, I'd stick with it - the more labels we have the more confusing it can get.

@osullivanchris @malinajirka Please let me know if this is out of topic. 😄

As I was working on https://github.com/wordpress-mobile/WordPress-iOS/issues/12324, I've found that when changing a published post to draft and confirming the changes, we just show “Local changes” in the Post List.

This is how I was able to “confirm“ the change to draft in Android:

  1. Create a post and publish it.
  2. Go offline. Edit the post.
  3. Navigate to Post Settings and change the status to Draft.
  4. Go back to the editor.
  5. Tap on Options menu → Save
  6. Notice the Post List status is just “Local changes”
  7. Go online. The published post is uploaded and reverted to a draft.

I believe Jirka mentioned this once (is that the one in https://github.com/wordpress-mobile/WordPress-Android/issues/10461#issuecomment-526578724?) This can be misleading and surprising for the users.

iOS

Since I was still working on https://github.com/wordpress-mobile/WordPress-iOS/issues/12324 anyway, I thought of:

  • Adding a “Draft will be uploaded...” message
  • Allow cancelation.

This will only be for posts with remote. Local drafts are still “Local changes”. This is how it looks like right now:

Questions

What do you think? Does this make sense? Or, @osullivanchris, would you rather we just review and discuss this later after everything's been done on iOS?

Please note that I'm not proposing we change it on Android too since we're almost at the end.

@malinajirka

This is a bit tricky, since the status of the post in the remote might be "Published/Scheduled/...". So the changes were still just remote-auto-saved not uploaded.

Ok then I think 'Unpublished changes' works, it makes the distinction that we want.

Yes, that's correct. If 'Unpublished changes' is ok, I'd stick with it - the more labels we have the more confusing it can get.

sounds good to me

@shiki

Please let me know if this is out of topic. 😄

Haha..I think it is as the topic of this issue is quite narrow, however lets discuss!

when changing a published post to draft and confirming the changes, we just show “Local changes” in the Post List.

I don't remember us designing anything for this particular scenario. I could be wrong. So it may have been overlooked. Thanks for bringing it up. I'm not too worried. The flow you described is not totally broken. I think everything is as I would expect, except that the copy could be clearer.

I believe Jirka mentioned this once (is that the one in #10461 (comment)?) This can be misleading and surprising for the users.

I don't think we are discussing the same issue. Jirka and I were discussing the scenario where you make an edit while offline, and it says 'Local changes'. Then you come online, so the changes are no longer technically "local" they are just _unpublished_. However we did not discussing moving a published post back to draft, AFAIK.

What do you think? Does this make sense? Or, @osullivanchris, would you rather we just review and discuss this later after everything's been done on iOS?

I like the 'draft will be uploaded message' but I'm not sure its being used in the way I expect. I expect:

  • User writes a draft offline and saves it
  • Label should show 'Draft will be uploaded next time you're online' (I think you're saying Local changes here)
  • User comes online
  • Now no label is needed ((I think you're saying 'Draft will be uploaded...' here even though it has been uploaded?)

The only other thing I can think of that maybe I'm missing is if you are working on editing an existing draft, as opposed to creating a new draft? Then

  • User writes a draft
  • Saves
  • goes offline
  • While offline user edits the draft and saves again: I still think we could say 'Draft will be uploaded...' or 'Changes will be uploaded...' here
  • User comes back online so now the changes should just be part of the draft. Although in this scenario on Android @malinajirka is saying we don't know for sure if its still a draft, so rather than no label we're saying 'Unpublished revision'

That's a lot to discuss. Another tangled thing! If you want to have a call to discuss I'm happy to, or we can walk through it when we do an iOS design review

Thank you, @osullivanchris. I think I understand you and we are in agreement. I'll implement some of these in wordpress-mobile/WordPress-iOS#12324. I'll create separate tasks for the rest.

@osullivanchris

I'm about to create a similar issue for replacing “Local changes” with ”Unpublished changes” for iOS. I'd like to confirm some points.

  1. We will not be using “Local changes” anywhere anymore. All existing ”Local changes” labels will be replaced with ”Unpublished changes”
  2. These are some of the scenarios where we show ”Local changes” and will be replaced:

    1. Cancellation: A user creates a post while offline, published it, but then pressed _Cancel_. The post will no longer be automatically uploaded. “Unpublished changes” will be shown.

    2. Auto-save: A user edits a post existing in remote but uses the back button so the changes are not _confirmed_. The post will just be remote auto-saved. Before and after auto-saving, “Unpublished changes” will be shown.

    3. Crash in editor: A user edits a post existing in remote but the editor crashed. Changes are not confirmed. The post will be remote auto-saved. Before and after auto-saving, “Unpublished changes” will be shown.

Is this in line with what's being discussed here?

@shiki that sounds good to me but I am not sure @malinajirka has the same view as me, I believe from speaking with him a bit on this that we expected to keep 'Local changes' in some places.

To me 'Local changes' should mean that the changes only exist on the device, because the device has not reconnected since the changes were made.

The reason to create 'Unpublished changes' is because we want to show that we have uploaded those changes to our servers when the device reconnected. So for example you could also access those changes on Calypso if you wanted to go and publish from there.

To say another way
Unpublished changes = user makes edits while online and doesn't publish them (i.e. the changes exist in remote and are not published)
Local changes = user makes edits while offline and doesn't publish them (i.e. the changes do not exist in remote, only on the device, and are not published)

All that being said, this is an improvement that @malinajirka and I cancelled so it is not extremely high priority, and if you are worried about breaking existing flows we should talk more.

Just to re-confirm my thoughts -> my plan was to implement it as Chris described in the comment above.
I guess we can simply keep the "Local changes" label -> truth is that not all the changes are synced with the server as we remote-auto-save just "title,content,excerpt".
I thought it'd be a nice improvement but maybe having more labels makes the flow even more confusing. Tbh I'm not sure.

@malinajirka That's reasonable. And I agree with avoiding complexity.

Should we close this issue then?

Closing since we decided adding more labels would increase complexity without a significant gain.

Was this page helpful?
0 / 5 - 0 ratings