Reply to post #779
(show post):
This explains a lot. I never use the draft feature, so I never noticed they behaved this way. I’ve seen posts from people I’m following on the Explore page that I know I never saw on my dashboard. When I go back to my dashboard to look for them, they’re there, mixed in with other posts I had already read.
I can see why it works the way it does, but I hate that I’m missing posts from people I’m following. I’m following them because I want to see what they have to say. I think most people want their posts to show up when they publish it, not when they first saved a draft for it. If they don’t realize the drafts behave this way, or if they forget to manually change the date/time, they may put a lot of effort into posts that followers will never see.
I realize changing this might be problematic with your current program structure. You probably have no way to tell whether the saved date/time was entered manually by the user or if it was populated automatically. In that case, you couldn't just go and override those date/time fields with the current date/time once the user selected "Publish" because you might override a manually set date/time. You also probably wouldn’t want to leave them empty by default because then they wouldn’t sort nicely on the user’s Drafts page. But I really do think it would be better if the default behavior was for a post to show up under the date/time it was
published unless the user specifies otherwise. Maybe you could consider a couple of program modification ideas for this while you’re working on your site redesign?
Option 1
Add a Boolean field, invisible to the user. Let’s call it flgPubNow. By default, flgPubNow = true. If the user manually inputs a date/time, set flgPubNow = false. When the user clicks “Publish”, if flgPubNow = true, overwrite the date/time field with the current date/time. This way, even if a date/time was established when the user saved a draft, it will be overwritten with the current publish date/time. If flgPubNow = false, leave the date/time field alone because we know the user manually entered it.
Option 2
Add an extra set of date/time fields. One set would represent the create date/time and they would not be editable. When the user saves a draft for the first time, or if they publish a post without saving a draft, these dates would automatically be populated with the current date/time. The Drafts page would be sorted by these fields.
The second set would represent the publish date/time. Users could edit these fields to force a specific publish date/time. Otherwise, the default value would be “now”. When/if the user saves a draft, these fields would
not be modified in any way. Once the user publishes their post, the behavior would be the same as it is today – if the date/time has been modified, use that. If the date/time is set to “now”, use the current date/time. All of the other areas of the site (dashboard, blog, Explore, etc) would sort by these fields.
Option 1 seems like it would be easier to implement, but this option does have the advantage of providing visibility to the original create date for every post.
Option 3
[This space intentionally left blank.] Maybe somebody else can come up with a better/simpler change to put here that would work from a programming standpoint. :)