
| MenHnnngingWithChestPain #1135404 4 months ago |
When I first came to Ponibooru's board I immediately thought that it was quite lightweight, but also horrid as it comes to user experience. Twelve images per page can be good for smaller screens, but that low number is really a waste of space for higher resolutions (like mine, 1920x1200).
The idea behind this is an userscript I'm developing that loads the images of the following pages via AJAX. AJAX is a modern way to load page content when the page is already loaded, so it can be displayed dinamically without the need to refresh the page. Userscripts are additional functionalities that a user may install to improve the behavior of some pages. The idea began in 2005 with the Firefox add-on Greasemonkey, and it spread to other platforms since then: Chrome and Opera nowadays both have native support to userscripts, while there are some extensions for Safari and Internet Explorer (one of them is called Trixie, by the way). This allows to write just one simple userscript to bring the same extensions to almost everyone. Userscripts, for those who wonder and have some knowledge about web programming, are essentially Javascript files. As such, they're not compiled, they're plain text and have limited capabilities, just related to the page and nothing else. There are thousands of userscripts all over the Internet, almost all of them are collected in userscripts.org. I'm currently developing using Chrome 19 dev. I'm going to test it on Firefox and Opera, too. Not sure about Internet Explorer, almost definitely not on Safari, but these are the minimum versions of each browser to make it work: - Firefox 3.5 - Chrome 5 - Opera 10.50 - Internet Explorer 8 - Safari 4 So, the main goal of my userscript is to retrieve the next pages of pictures once the current page is loaded, and then display them. But it can do much more than that. Some examples: - add special tabs to the top bar; - filter comments by author or content; - post comments or upload images as anonymous; - remember content filtering for anonymous users; - advanced pic filtering (by file or images size, for example); - add random Pinkie Pie's walking on the screen; - ... The script is still on an early stage, so I'm asking Ponibooru's community: what do you think it can be useful to this board to improve the user experience? Just tell me in the comments. P.S.: a few caveats: - I have a full-time work, I do this mainly for my own passion and user experience; - once the first release will be on, the project can be considered open source, and everyone can make their contributions; - don't expect any kind of support to be granted. I won't take any responsibilities; - things may change - A LOT - if the structure of the board changes. I don't have anything to do with Ponibooru and I can't do anything about it. If that happens, it may be the end of the userscript. P.P.S.: I'm also developing an userstyle for Stylish, an extension for Firefox and Chrome. I think the board desperately needs to be restyled, too. |
| dudemang #1135406 4 months ago |
Direct me to it, my good man!
Also, is there a script for better control over the comments or something? |
| Gittonsxv #1135412 4 months ago |
sounds cool, i would use it fo sho |
| Anonymous #1135416 4 months ago |
waste of space |
| dudemang #1135422 4 months ago |
Haha, you ninja'd me. Anyhow, the comment filter is the main thing I want. I can live with 12 pictures per page, but something more would be pretty awesome. |
| benger #1135425 4 months ago |
this is a really bad idea, it would increase the load on ponibooru's already straining servers. |
| Chidadow #1135430 4 months ago |
I will happly test it - just give link when ready |
| Anonymous #1135432 4 months ago |
waste of time and straining servers |
| dudemang #1135437 4 months ago |
benger said: That would ultimately depend on the way it's implemented. |
| Anonymous #1135456 4 months ago |
>Implying this wont steal accounts/insert viruses |
| MenHnnngingWithChestPain #1135458 4 months ago |
I'm aware that Ponibooru's servers are heavy loaded.
I won't allow to load more than a couple of additional pages - 36 pics are enough for almost everyone. Anyway, you can always choose to display only 12 pics. On the other hand, I also don't expect that many users will install the script, so the additional load would be minimal. You may as well blame those who upload >3MB pictures. Those are the real server killes, not the thumbnails. |
| Anonymous #1135466 4 months ago |
No, the 3 MB pictures aren't the problem. This program directly puts more strain on the database, not the image server. |
| MenHnnngingWithChestPain #1135473 4 months ago |
@456 Userscript can't install nor steal anything. They "live" on the page sandbox.
Also, everyone can check the source code, since it's plain text. Userscripts generally can make cross-domain AJAX requests, but this isn't allowed in Chrome, for example, so it won't happen. So, account informations couldn't be sent anywhere. |
| MenHnnngingWithChestPain #1135495 4 months ago |
@466 So you're telling me the problem is actually non-existent. The requests start once the previous are completed. |
| AppleDash #1135708 4 months ago |
@456
>Implying our accounts are worth stealing |
| TheShrubberyDemander #1135959 4 months ago |
Yes please. |
| JP #1136460 4 months ago |
| -Lunacy #1136948 4 months ago |
I see your porn through those blurs >:3 |
| MenHnnngingWithChestPain #1137368 4 months ago |
@JP Interesting stuff, but come with some issues.
1. The userscript is run after the page is completely loaded (or even after - when the page is "idle"), so the images are loaded before the script is run. The script can remove the images after the Xth image, but it could happen only after they're loaded. The page would be lighter after that, anyway. 2. It can be done, but I fear it would be too invasive. The thumbnail pages show no info about the uploader, so the script should make a request for each image in the page in order to know the uploader. That would allow an image filtering based on the uploader, but I'm not willing to do that, because that would surely put some load on the database. 3. Good idea, this can be definitely done. But, actually, even an userstyle sheet would be enough. The userscript can do something more, like user-side resizing and showing images to full size on clicking and so on. 4. This can be done too, but a complete comment preview would mean implementing a client-side bbcode parser. A simple one would be ok, the script may strip away the most complex tags. |
| MenHnnngingWithChestPain #1137403 4 months ago |
@-Lunacy Yeah, but that didn't prevent you to fave this image! XD
Another easily possible feature: quote comments. |
| dudemang #1137622 4 months ago |
^ That's already implemented in BBCode, but I'm apparently the only one that uses it. :/ |
| MenHnnngingWithChestPain #1138122 4 months ago |
^ And there's a reason: it's annoying to use it.
What I mean is a "quote comment" button to automatically fill the comment textarea. I'd put it near the message number. |
| Van_Horsing #1138154 4 months ago |
Commenting so I can read this later.
No, I won't explain. |
| JP #1138214 4 months ago |
@MenHnnngingWithChestPain: I meant anon-posted images in comments, sorry. And for the first point, I've observed exactly the opposite: I currently use a custom script that removes anon-posted images (in comments) and Greasemonkey runs it after the DOM has been constructed but before external resources have been loaded. I've seen no network traffic from the removed images. I could be wrong, though. |
| MenHnnngingWithChestPain #1138357 4 months ago |
Ah, ok, sorry for the misunderstanding. Removing images in anonymous comments is actually an easy task.
As for the images already loaded, I think you're right: I've read the documentation more carefully and it seems that userscript are run before the images are loaded (when document.readyState === "interactive", for those who know a little about Javascript). In Chrome, userscripts are run at "document-idle", which is later than "document-end", but this doesn't always mean that document.readyState === "complete", and it actually is the same as document-end if there are many images waiting to be loaded. So, yes, the second point is effectively possible. |
| Professor_Icepick #1139901 4 months ago |
gimme gimme gimme gimme gimme |
| MenHnnngingWithChestPain #1143862 4 months ago |
dudemang@1137622 said: And this, my friend, is the result of my implementation of the "quote comment" button. |
| dudemang #1145144 4 months ago |
^ *squeee* |
| MenHnnngingWithChestPain #1152707 4 months ago |
MenHnnngingWithChestPain@1137403 said: Quoting with something more than plain text. |