I’m proud to announce one of the greatest LumberJocks upgrades ever. Technical and user experience implementation raises the bar again and it also solves quite a few site bottlenecks with ease. These bottlenecks were the main driving force behind this upgrade but I’m very excited with how this makes LJ easier and faster to use. It even brings sort of artificial intelligence to your browsing experience here. Hope you will find it a pleasure to use down the road too.
So first let me talk about the major problems that caused this upgrade to happen:
- You sure know how painful it was to open and follow those growing posts like Joke of the day, What do you do for a living or You know you're a lumberjock, if/when. Once you clicked on it you had to wait lots of seconds till the site responded back with all those 300, 600, 700 and more comments.
- It got even worse when one these popular posts was brought back to the top of the Pulse or was linked from other site. This caused hundreds of clicks on these long loading posts. You can imagine how our server and database were crying and sweating while trying to return all those comments to every request. Overall LJ had higher loading times in these periods and it affected all members negatively.
Obvious solution to this problem would be adding standard Page 1 | 2 | 3 etc. system that you can see on every other website. However I don’t like this approach for discussions – though it works okay for projects, blog listings – because you quickly loose context of reading the comments when clicking on those pages and it’d be even worse with our intelligent readership tracking system.
So I tried to come up with a unique solution that works like this:
- Maximum 30 comments are fetched and displayed at any time even if there are thousands posted on any given post. So website speed will not be affected by these popular posts.
- Visitors that are not registered will always see first 30 comments with the button to show another 30 comments at the end of the comments list. This way they can read all comments in chunks without affecting the speed again. Here’s the button (with the info showing how many comments are displayed at any given moment) in action:
- If you’re a registered and signed in LumberJock and you’re clicking on the post that you never checked before it works same as above (#2).
- Things are starting to get interesting in combination with out readership tracking. If you’re signed in and click on the post that you’ve already checked and there are no new comments since your last visit you will be presented with the list of the last 30 comments (instead of the first 30 comments). Since you already checked this post there is no need to start reading comments from the top. Last 30 comments provide you good context and it’s easy for you to post a new comment at the end. Of course you have an option to go up the list and load previous 30 comments if you wish until you reach the first comment posted:
- And now let’s see how our “artificial intelligence” makes things easy for you frequent readers. Let’s imagine that you click on a very popular post that has 306 total comments and 128 comments are new to you since you last checked this post. Our LJ engine tracks this and when you click on this post it will show you 30 comments again but this time the first displayed comment will also the first one new to you (in this case comment #179). You can click to show previous 30 comments if you lost track of the past discussion:
and then you can just focus on reading all new comments (once again these are new comments on this post just for you thanks to behind the scenes readership tracking) until you reach the end of the comments list. Since there are more than 30 new comments you will see a button to reveal next 30 comments for you:
You just continue this way until you reach the end of comment list if you want. Notice how the system intelligently gets you to the first new comment and how it fetches maximum 30 comments at any given time to keep the speed high.
That’s it. I call this the Sliding Comments system and hope my instructions make at least some sense ;)
As I mentioned this system is unique but I’m sure it’s very intuitive to use. And with all the speed benefits it might be a good idea to revisit the popular posts that I linked at the beginning to see it in action and try it.