Subtle changes, bugs and feedback

Posted on
Page
of 312
  • Nope, will now

  • I'm really busy. You seem to be asking questions you could probably figure out in a few clicks. Take a look, figure it out. That one is pretty obvious.

  • Is it possible to add a 'Reply' once a post has been made? Say I just post after the last post in a thread but someone has posted before I'm done so now my post is out of context - can I link it back to the post I was replying to?

  • Is it possible to add a 'Reply' once a post has been made? Say I just post after the last post in a thread but someone has posted before I'm done so now my post is out of context - can I link it back to the post I was replying to?

    Afraid not.

  • I've just tried to use Android Firefox again and it's refreshing the page every 1s.

    Also, searching for "planes" brings up 4-5 things before showing me the actual Planes thread.

  • Can't search in thread for answer either.

  • On android chrome when writing a post, clicking post reply just closes the keyboard and I have to click it again to actually post.

  • But not that time.

    Arse.

  • OK, ignore me.

  • I'm having no luck with quoting - don't like the sound of manually copy pasting things in, that's a huge step back. Selective quoting makes a lot of sense, although only works when users know it's there and regularly apply it, I'm trying to quote some of testers 8-item list above.

    Should it be that I can select the text with the cursor, click the reply button next to the post, and it's already there as a quote? Cos that's not happening...

  • Which platform?

  • Is that to me?

    Firefox errr ... 31.0, Vista (I know)

  • Ooh. Vista. Poor you.

  • time for some feedback - this reply came up in following under the thread. cooooool

  • Coooooooool

  • fixed it for me

  • @Velocio I saw your reply about searching unread posts being a bit of a heavyweight task, but I wondered if the same was true of Following?
    My default way of hitting the forum before was UserCP, so I could see only subscribed threads with new posts.
    Can we have a checkbox on the following page to hide read threads or similar?

  • It is the same.

    Presently determining "unread" is a row-based function.

    Performance with SQL is never achieved when row-based functions are called across collections.

  • But surely you already know if it is read or not in order to display the "new" icon?

    Or is that cookie based and "read" is fed hack to the dB later?

  • Arse about tit.

    Easy to know if any given row is read or not.

    Not easy to find all of the ones that aren't read in a large collection.

    +danb

  • We have a table that looks roughly like this:

    CREATE TABLE read AS (
    profile_id bigint NOT NULL,
    item_type_id bigint NOT NULL,
    item_id bigint NOT NULL,
    when timestamp NOT NULL
    );
    

    Where item_type_id contains a number that basically answers the question "Is this a conversation? Is it a PM? Is it a forum?" and so on for every "type" we support.

    When you read a conversation (like this one) we will put a value in there: INSERT INTO read (50180, 6, 131364, timestamp_of_last_post_on_page).

    If you read a forum, then that trumps a conversation... so we can delete from read everything that refers to an item within the forum, and then insert the row for the forum.

    Then when we want to check whether something is "read", we work out what you're talking about... a conversation... and determine whether a read row exists for that, and whether a read row exists for any of it's parents (forum or site), and then take the MAX of any of those values, and compare it to the last_modified for the conversation.

    All of that is presently wrapped in a decoration row-based function (used in the SELECT and not in the WHERE that roughly looks like: SELECT is_unread(50180, 6, 131364) AS unread.

    This all works blindingly well. If you read something on your mobile, the desktop reflects it, when we build apps and you read something in an app, the desktop reflects it. Read it on your desktop, the app would reflect it. And so on.

    It only doesn't work now that there is a clamour for a filter based on is_unread.

    As is_unread is a row-based function, were you to apply it to the search (for example), then it would be applied as part of the WHERE. Applying a row-based function to the SELECT means that on a page of 25 items it's only going to be called 25 times. Applying a row-based function to the WHERE or to a subquery that will be filtered means applying it to potentially hundreds of thousands (or even millions) of items, the vast majority of which are going to be discarded.

    An example scenario in which row-based functions bite people in the arse is in Postgres's full-text search: http://www.postgresql.org/docs/9.2/static/textsearch-controls.html#TEXTSEARCH-HEADLINE

    They have a row-based function which is also cheap on a per row basis, but expensive across lots of rows. It fetches from the searched documents the highlighted fragment that matched the search:

    SELECT ts_headline('english',
      'The most common type of search
    is to find all documents containing given query terms
    and return them in order of their similarity to the
    query.',
      to_tsquery('query & similarity'));
                            ts_headline                         
    ------------------------------------------------------------
     containing given <b>query</b> terms
     and return them in order of their <b>similarity</b> to the
     <b>query</b>.
    

    Their warning on that page: A typical mistake is to call ts_headline for every matching document when only ten documents are to be shown. SQL subqueries can help; here is an example:

    And their example:

    SELECT id, ts_headline(body, q), rank
    FROM (SELECT id, body, q, ts_rank_cd(ti, q) AS rank
          FROM apod, to_tsquery('stars') q
          WHERE ti @@ q
          ORDER BY rank DESC
          LIMIT 10) AS foo;
    

    Row-based queries are extremely ill-suited to filtering, and should never be used when the majority of the work will actually just be thrown away afterwards.

    Obviously we have the data in the read table, but our current way of using that data is to check the "read" status of individual items through a row-based function for the purpose of painting a "New" label. The current row-based function is ill-suited to being used as a filter (we know because we've done it).

  • Ah OK that makes much more sense.

  • Do you think there's a possibility that the Trending dynamic favours the sort of threads that pop up quickly and receive a small flurry of comments, then die out forever, over the more steady consistent threads that have kept people coming back for years?

    I don't seem to see threads like Bike Porn, FBNPNA, Current Projects, Rat Bikes etc appearing in Trending. Instead there seems to be quite a few threads where people have opened a thread to ask a particular question (eg, a practical fixie, does a frame like this exist, should I be concerned).

    Because these threads pose a question, several people jump in at once and post answers and advice etc, which puts the thread into Trending. The threads like Current Projects etc seem to be more slow and steady, but they have much more enduring interest and I personally think they ought to be given more prominence - for me they are the meat of the forum, and the more fly-by-night threads are very useful when you want to post one, but less useful for the forum as a whole. Maybe the today's posts feature that is hopefully forthcoming will help address this change in dynamic.

    Other bugs still appearing for me - on Nexus 4 with latest Android and Firefox, the bottom of each page with all the page number buttons doesn't display correctly. Also select-to-quote still isn't working on Windows 7 with Firefox or Android with Firefox or OSX Mountain Lion with Firefox, it just writes the word blockquote. Also Persona is still a bit shit - it doesn't remember me all the time and there are sudden and unexplained logouts. A huge amount of people seem to hate Persona, is there zero chance of moving away from it?

  • Do you think there's a possibility that the Trending dynamic favours the sort of threads that pop up quickly and receive a small flurry of comments, then die out forever, over the more steady consistent threads that have kept people coming back for years?

    Yes. That's rather the point.

    The consistent threads people already have bookmarked/followed, etc.

    But new content that receives a lot of attention and yet isn't something you already follow (how could it be, it's new) goes unnoticed by many.

    The point of Trending is to highlight hot topics that you aren't already following.

    If we remove the effect of age on the score, it would leave Trending permanently full of Bike Porn, Football, Anti-Porn, etc. It would have no value to anyone.

    Though this is all mute, as we're thinking of just replacing it with "Today".

  • Using my work PC for the first time and threads aren't jumping to new posts (just the top of the relevant thread). Not techy enough to understand the bits above about it. On XP with IE10.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Subtle changes, bugs and feedback

Posted by Avatar for Velocio @Velocio

Actions