Skip to main content
Topic: my personal wishlist for 1.2 / 2.0 (Read 3925 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

my personal wishlist for 1.2 / 2.0

Here's my small "wishlist" for new features in 2.0 , focused on interaction with social media sites ( IMO a "must have" these days) and improved usability.
Most of the code is already there (addons)  :D

In addition to those features a new small and lightweight theme based on a common CSS framework such as materializecss (http://materializecss.com/) could be my focus. Not sure if it's worth adding a template engine such as Mustache (https://github.com/bobthecow/mustache.php) or Twig.. If so I'd personally favour Mustache, it's lightweight and can be used both  in PHP and Javascript.
Thorsten "TE" Eurich
------------------------

Re: my personal wishlist for 1.2 / 2.0

Reply #1

Something like ImageCache should definitely be part of the core because of HTTPS. I'd also suggest the option to use your own (caching) proxy instead.[1]

I'm vehemently opposed to infinite scrolling. Pagination is a non-negotiable requirement.

With that out of the way, changes that would be good for infinite scrolling could also be helpful for faster pagination when JS is enabled. That is, a stripped Display_Controller output such as included in the endless scrolling add-on.
You can reuse what I wrote here.

Re: my personal wishlist for 1.2 / 2.0

Reply #2

The image proxy is already planned for either 1.1.1 or (more likely) 1.1.2 dependig on when 1.1.1 is released and how much testing is needed for image proxy (that should alredady be pretty stable anyway).

Re endless: mixed feeling, I would favour a general approach to have controllers able to return something that can easily be translated in whatever is necessary.

Re css frameworks: dunno, not my field. I find bootstrap not so easy to work with and with a kind of confused goal (it wants to do more than just positioning, but less than everything needed to do more), apart from that, I would love to use a css preprocessor (with the goal of creating a simple color picker for the default theme).

Re tags/prefixes: I wrote an addon (still beta as usual xD), in my mind, this was a first step at rethinking the whole category/boards stuff. Not a complete revolution, but the idea would be that everything is a tag. Tags then can be "promoted" to categories (i.e. categorize other tags), or boards (i.e. categorize topics) and even shown next to the topic (i.e. prefixes). This would also simplify the way discussions are done in the forum, nowadays we see more and more people not "able" to pick the correct board for a topic (or just too lazy to pick a board before starting a topic), this kind of more flexible categorization would allow (together with hashtags) to reposition topics on-the-fly while posting, and in case have topics in multiple places with tagging done at post level (for example). Please do not take this as a fully thought solution, it's an idea that needs a lot of development.
Bugs creator.
Features destroyer.
Template killer.

Re: my personal wishlist for 1.2 / 2.0

Reply #3

Personally endless scrolling is a must. Nevertheless, as site admins we need to think less of our thoughts and more that of our users. The evil FB has endless scrolling, and like Walmart, people hate it but can't enough. Seems the new platforms are going that way. Would be a major shame for a great platform to be left in 1997. ;)

Re: my personal wishlist for 1.2 / 2.0

Reply #4

Facebook is irrelevant except perhaps as an example of practices to avoid in both regular and web development.  :P  If we want to discuss infinite scrolling we should engage with something actually relevant, like Jeff Atwood. Note how he has implemented sensible infinite scrolling in the comments to his blog. You can try it out in this 379 comment thread.

Various things that work right in the Discourse implementation of infinite scrolling and to the best of my knowledge pretty much in that implementation only:

  • You know where you are in relation to the total.
  • On that note: you know the total!
  • You can jump around at random. You don't have to scroll down fifty times, or worse, have to click "load more" a million times to maybe find something that's around page 50. You can just jump straight to comment 250.[1]
  • You can press Home or End to go straight to the beginning or end of the list of comments. End doesn't devolve into a synonym for Page Down.
  • You can properly link to specific comments.
  • The back button isn't broken (history.pushState).
  • As such, you can also just copy the URL at any point in time without having to use a special comment permalink, much like being able to link to page 50 simply by copying the address from your browser.
  • The next "page" is automatically loaded as soon as you reach the current (last loaded) "page" so you don't have to wait in annoyance every time you reach the bottom. Infinite waiting is about the last thing we want, which is what happens on any infinite scrolling script that doesn't start loading until you reach the end of the page.[2]
  • It loads nice, large chunks of comments instead of minuscule ones.[3]
  • Javascript disabled reverts to pagination, albeit limited to previous/next page in this case, which is far from ideal. Luckily we already have very good pagination in Elk. We just need to not break it.

So yes, I could live with that. But give me bad pagination over good infinite scrolling any day. For infinite scrolling, less than borderline perfect just won't do. And that's hard. Very hard. But not impossible. So in that sense I retract my earlier words. My demands for infinite scrolling are nigh impossible to meet and I have zero interest in wasting my time to implement it, but I'm not vehemently opposed. I'm only vehemently opposed to anything less than what you get in Atwood's Discourse.

Still, I'd be very curious to see if that system holds up when you have thousands of replies rather than just a few hundred. A long-running topic on my forum has 154 pages, which at 50 comments per page[4] means 7700 replies. Admittedly, the Discourse demo looks reasonable enough at a thousand.

What doesn't work in Discourse:
  • Mobile. Suddenly it reverts to the horrors of endless scrolling with a complete inability to reach page 50. Presumably, it should revert to pagination instead.
That's only page 5, but I'm operating within the constraints of the working showcase here.
With pagination you can load ten pages in the background; without this choice is taken away from you so you need to preload. Actually adding it to the DOM can and possibly should wait.
NB This point applies to both infinite scrolling and pagination.
A much more sensible default than 25 if you ask me.
Last Edit: November 04, 2017, 10:24:03 am by Frenzie

Re: my personal wishlist for 1.2 / 2.0

Reply #5

Something Discourse doesn't necessarily break, although it might, but which most infinite suffering implementations are virtually guaranteed to:


Things Discourse fails at, presumably through an insufficient use of object detection (i.e., don't blank out the fallback until you're sure you know you can actually stick in the infinite scrolling implementation[2]):

  • Opera Presto.
  • Netsurf.
Perhaps that's where the print to PDF request comes in, but then suddenly you're changing a dynamic responsive webpage format into a sturdy PDF. That has advantages and disadvantages of its own.
I'll yet again eat some of my earlier words. I might contribute to improving a Discourse-level implementation by making sure these kinds of issues don't happen.

Re: my personal wishlist for 1.2 / 2.0

Reply #6

Though I like to see endless scrolling, I am ok with addon if some is not added as feature. I will like it more if it uses flarum approach in that matter though flarum-style addon is also around as well.

Re: my personal wishlist for 1.2 / 2.0

Reply #7

It looks like Flarum copied Discourse very well, by which I mean it looks almost too similar to be a mere coincidence of parallel development. It does have a few notable differences, like how Home and End work. In Flarum it's flawed as a synonym for Pg Up/Dn, while in Discourse it's not (cf. supra).

But it's also managed to resolve at least one of Discourse's flaws. It works perfectly on Opera/Presto and falls back properly to pagination on Netsurf.

Thanks for pointing it out!

Re: my personal wishlist for 1.2 / 2.0

Reply #8

Not a big fan of endless scrolling, but if I have to vote I'd vote for this:
QuoteTopic Tags or Topic prefixes
Or both
sorry for my bad english

Re: my personal wishlist for 1.2 / 2.0

Reply #9

What are topic prefixes?

Re: my personal wishlist for 1.2 / 2.0

Reply #10

Here there are few screenshots of what I put together years ago: https://www.elkarte.net/community/index.php?topic=1424.0
Bugs creator.
Features destroyer.
Template killer.

Re: my personal wishlist for 1.2 / 2.0

Reply #11

the admin can set some prefixes for a certain board, and when opening a new topic the member can choose a prefix for that topic.  You can use it to filter topics based on a prefix in a board.
sorry for my bad english