Dealing with multiple resolutions

  • 12027
    Good morning fellow wallpaper lovers! In this post I'll be talking about some of the problems and ideas concerning different sizes of the same wallpapers. As you probably already know, different sizes of the same image are currently represented as different wallpapers on wallhaven. That means we store each file separately and the different sizes are also individually uploaded, tagged, flagged, faved etc. The advantage of this setup is that it's easy to search for specific resolutions. For example if your screen has a resolution of 1920x1080 (Full HD) you can search for that resolution and only find wallpapers that fit exactly on your desktop. However this also means that we would technically need many different sizes of the same wallpaper so everybody can find a version that fits their screen. Of course we don't want to store too many versions of every wallpaper since, again, those would all have to be uploaded and tagged individually. That is why we currently have a guideline stating that only the largest available resolution plus two more common resolutions (like 1920x1080 and 1920x1200) should be uploaded, if they also have differing ratios. This guideline was meant as a compromise. It was supposed to simplify things, but as it turns out many people have difficulty understanding it. It also means that we still have up to three almost-duplicates of many wallpapers, which can be quite confusing. Consider the following example:
    loading
    2880 x 18006
    There are currently 3 other sizes available of the same wallpaper: https://whvn.cc/145380 (1920 x 1080) https://whvn.cc/2469 (1920 x 1200) https://whvn.cc/61474 (2560 x 1600) According to the guideline above, at least one of these should be deleted (it's not clear which). The others may remain, but would still be treated as completely separate wallpapers. They were uploaded by different users at different times. This situation is not quite ideal. We've been thinking about ways of dealing with it but ultimately it should be up to our users to decide how they prefer to use the site. I will now describe an alternative to the current situation that I would prefer:
    1. Only the largest version of each wallpaper remains. All smaller versions are considered duplicates and will be merged into the largest one.
    2. The search defaults to searching for wallpapers that have "at least" the given resolution, so larger matches may be found (exact search will still be available).
    3. We add a simple cropping menu to the wallpaper showcase that allows users to scale and cut any wallpaper down to the resolution they need. This tool would be quite simplistic – those who want more control (like selecting exactly which area to crop out of a large wallpaper) will need to use a dedicated image editing program like GIMP or Paint.NET.
    Note, that this would only apply to wallpapers that differ in size or orientation (mirrored or rotated). If two wallpapers are different in any other way, like coloring, they will still be treated as separate wallpapers. For example the following is a different wallpaper from the black ones above and will not be merged:
    loading
    1920 x 108074
    However its also has different sizes which would be merged into one: https://whvn.cc/389 (1680 x 1050) https://whvn.cc/336986 (1280 x 800) So in the end there would only be two versions remaining, one black and one brown. This is how I suggest to deal with the situation of different sizes of the same wallpaper. Please let us know what you think via the following poll: »»» Click here to get to the poll ««« If you have any questions or other suggestions you can post them here. Cheers
  • 12028
    I think a cropping tool is not even needed as long as people understand that most operating systems have a "scale to fit" mode that perfectly do the job. If you go to the cropping tool (which is always nice anyway) you could go to a full frontend solution, skipping extensive work on the server. Using the Canvas API it's really straightforward as the image has already be downloaded for display.
  • 12031
    Would be better to put this Poll to the Main page. So Grouping is no longer an alternative ? Would love to have a Expanded Search window who you can enter multiple tags + Resolution Search combined together Many of the Uploads are in a crazy resolution so no one can find them after they are uploaded. This is really annoying. Maybe uploads only allowed in standard resolutions ? Very restricive, i know
  • 12032
    I vote for this change !
  • 12037
    Voted for other, explanation: If several images with different resolutions are the same ratio, the largest only should remain. In our case, there are two 16:10 lions, so 2560x1600 must still, and 1920x1200 must be deleted. Why keeping smaller walls with same ratio? You too value your disk space(600KiB compared to 800KiB in our case)? So, only keep different ratios, the biggest possible ones. Cropping is too complicated(user experience, not technically) and will not be used much, I suggest. 2. Just if searching machine sees merged wallpaper, it should check other sizes. Let's see: one searches for 1920x1080, the search engine sees 1920x1200, but merged, and checks additionally for the rest of its resolutions. Also, if the wall has different sizes, may be good to display some icons with digits on a thumbnail. Same on wallpaper page, instead of '3 other sizes' we may have icons with numbers of other resolutions, just click on them and the wallpaper changes(ajax maybe). Maybe we should have something like one wallpaper technically for different wallpapers? Like, just one link, but several hidden wallpapers, you just click on desirable size and get it right there? Why have different tags, favs and everything for almost the same things? The main idea of mine: keep different ratios, not resolutions. The biggest.
    Last updated
  • 12038
    If it was just about storage, I'd be against this, however, it's not. I hate how identical wallpapers with different sizes are treated separately! Go for the resizing tool as long as you are 10000% sure it is safe( won't put you at disadvantage) and ready. Just a few suggestions: ##) The resizing tool should be shown after the user clicks on a download button. ##) Don't give the user too much freedom (as a developer, you must always assume you're dealing with a stupid user). ##) Careful with the information received! Make sure it is valid! ##) The generated resized image should be temporary and deleted after X minutes. If you're planning on hosting the file for a period longer than 1 hour, I'd suggest you check if the file already exists and reset its timer) ##) The generated file shouldn't be saved in the same directory where the Original image is saved and shouldn't have the same name as the original's either! (don't save it in wallpapers/full/ and maybe rename e.g: 1026.png to 1026(img_resized,W,H).png ##) Limits. A user shall not request resizing an image/ different images more than X times every Y of time. ##) Optional: pass the resolution parameter (if specified by the user) to the image that the user clicked on. (to pre-set resizing info for user's convenience)
  • 12040
    This means that the server is filled.............................. WITH WALLPAPERSSSSSSSSSSSSSSSSSSSSSS!!!!!!!!!!!!!!!!!! XDDDDDDDDDDDDDDDDDDDDDDD
  • 12042
    There are wallpapers on Wallhaven where the larger one is just an enlarged duplicate version of the smaller wallpaper, that adds no more details. In those cases, retaining the smaller wallpaper makes more sense as the fidelity in scaling smaller wallpaper to your desktop will be better than scaling and already scaled wallpaper. If there's a tool that can tell which one of the different resolution wallpapers has the most details, Wallhaven can select the one with most details. If two wallpapers have same details, then go for the wallpaper which has smaller resolution.
  • 12043
    I agree with keeping only the largest resolution but I share the same concerns about the cropping tool as the others do. Holy said:
    ##) Limits. A user shall not request resizing an image/ different images more than X times every Y of time.
    That's unnecessarily restrictive, IMHO. A system like this doesn't need to worry about storage as the generated cropping should stick around just long enough for the user to download it. Couple of minutes, tops.
    ##) Optional: pass the resolution parameter (if specified by the user) to the image that the user clicked on. (to pre-set resizing info for user's convenience)
    I was about to suggest this. I know of some wallpaper sites that auto detect your monitor resolution and improve your browsing results. Unfortunately, privacy minded users might raise a stink about this. A setting in their account options would work nicely. Unless you are one of the many anonymous users that visit this site. As for keeping the larger resolutions, we are going to need to ensure that we are not keeping an upscaled version, especially badly upscaled ones. Granted, Photoshop and its ilk have gotten better at this(I'm looking at you, waifu2x). Still, upscaling a 1024x768 to 1920x1080 is really obvious. I'm really glad to see this issue finally being addressed. :)
  • 12044
    10 votes after 15 Hours. Wow! At this Rate this Poll must run 2 Years before there is a real Conclusion. How many Users are really reading this Thread ? And yes, there could be a flood of upscaled crap coming over this site when only the large Resolution Option gets done. and now VOTE!
    Last updated
  • 12045
    WallpaperManiac said:
    10 votes after 15 Hours. Wow! At this Rate this Poll must run 2 Years before there is a real Conclusion.
    We don't need everyone's vote. Clearly, there's already a trend. Besides, if a user didn't vote and don't like the final decision then that's their problem.
    And yes, there could be a flood of upscaled crap coming over this site when only the large Resolution Option gets done.
    Kind like this:
    loading
    6296 x 385827
    AFAIK, the source image was never released at that high a resolution. It actually still looks fine, but that's because its artwork. A photograph upscaled that high would look like shit.
  • 12046
    Like this maybe ?
    loading
    5464 x 36406
    And besides what is with this ?
    loading
    2048 x 136623
    The Resolution is 2048 x 1366. When it's uploaded after a few days it is lost in Wallpaper-Oblivion. How can these Walls be searched in the future? I'm REALLY looking forward for a Solution.
    Last updated
  • 12047
    WallpaperManiac said:
    How can these Walls be searched in the future? I'm REALLY looking forward for a Solution.
    Maybe we need a search option like 'Wallpapers That Do Not Match Any Standard Ratio' or something?
  • 12049
    defurious It is not about storage! It is about the 24/7/365 HTTP POST flooding. I am not that experienced when it comes to web stuff. However, I'd like to suggest secure cookies to prevent possible flooding. It's all good if the resizing tool is correctly implemented/works efficiently. The thing about this tool is that it costs IO disk access and CPU for processing.(Not very costy) Now imagine a scraper/ maliciuos user sending thousands of thousands of requests to download an image with a certain size.
    Last updated
  • 12050
    WallpaperManiac said:
    Like this maybe ?
    loading
    5464 x 36406
    And besides what is with this ?
    loading
    2048 x 136623
    I couldn't find a source on the first one so we can't really prove it is upscaled. A lot of high resolution photographs will start to look terrible when zoomed in enough so that method isn't reliable. I've seen enough high res stuff on flickr and 500px to say with 70% certainty that the first one isn't upscaled. Compressed? Probably. Downscaled even. Source for the second one. 500px and Flickr disable Right Click->Save As for their images which means you need to go through the source or use tools like 500pxdownload. I think Motta uses that tool because I got the same result and a different one from the view source method. Whether or not the images obtained this way are compressed is difficult to tell. 500px may or may not be compressing their preview images, though, for browsing optimization. This is all I could find on the issue, but the linked support page no longer says that. Anyway, we are digressing from the issue here. Holy said:
    defurious It is not about storage! It is about the 24/7/365 HTTP POST flooding. I am not that experienced when it comes to web stuff. However, I'd like to suggest secure cookies to prevent possible flooding. It's all good if the resizing tool is correctly implemented/works efficientely. The thing about this tool is that it costs IO disk access and CPU for processing. Now imagine a scrapper/ maliciuos user sending thousands of thousands of requests to download an image with a certain size.
    Ok, yeah that makes sense. I'm not a developer so this issue didn't come to mind right away. I am curious how Gandalf's proposed change will be applied retroactively to the existing wallpapers. I'm assuming manually, since we don't have a duplicate detection system yet. I hereby tender my application for duplicate inspector duty. lol
  • 12053
    Thanks guys, for the feedback so far! Here are a few things I should clarify: 1. This is not about disk space. We still have plenty of space available. Same goes for bandwidth. We actually want to prevent duplicates because they are confusing and sometimes annoying people. 2. The resize tool will be strictly client side (using canvas API like shadomare mentioned) so this will not put any additional strain on our server. I already have a working prototype and I'll try to push it live as soon as it is presentable so you can check it out. In essence it will work a lot like the typical "scale to fit" setting on most operating system's desktop. 3. The grouping feature is very likely going to be removed once our similar wallpaper search is functional. It will be redundant and it has caused a lot more work than benefit. 4. Ultimately search should be able to find any wallpaper that can be cropped/downscaled to a given resolution. I.e. when you search for "at least 1920x1080" you'll also find wallpapers that are larger in either direction. That way non-standard resolutions will be found as well. Of course you'll still have the option to restrict search to a given ratio (only wallpapers that can be downscaled without cropping) or exact resolution matches. I think this should answer questions by WallpaperManiac, Holy, Whover and dwemer. defurious said:
    I know of some wallpaper sites that auto detect your monitor resolution and improve your browsing results. Unfortunately, privacy minded users might raise a stink about this. A setting in their account options would work nicely. Unless you are one of the many anonymous users that visit this site.
    Getting the monitor resolution isn't really a matter of "detecting" it. The values are readily available in the browser unless the user has configured it to hide them. We will be using that value to make suggestions in the relevant forms (search and cropping) but we won't store it on the server since there is really no need. defurious said:
    As for keeping the larger resolutions, we are going to need to ensure that we are not keeping an upscaled version, especially badly upscaled ones.
    That has always been the case. Basically we always want the largest available resolution that wasn't upscaled (or low quality due to high ISO etc.). Figuring out which one that is will always require some level of human interaction. (I think that's also an answer to jatin085's post) defurious said:
    I am curious how Gandalf's proposed change will be applied retroactively to the existing wallpapers. I'm assuming manually, since we don't have a duplicate detection system yet. I hereby tender my application for duplicate inspector duty. lol
    Once our dupe detection is live we should be able to use it to identify a massive amount of duplicates in addition to the reports we already have (there's a bit of a backlog…). We want to weed those out but we'll have to wait and see about how much of that can be automated or whether we need further help from the community. Either way it'll probably take a while. WallpaperManiac said:
    And yes, there could be a flood of upscaled crap coming over this site when only the large Resolution Option gets done.
    Abuse leads to bans, bans lead to less abuse. ^^ defurious said:
    I'm really glad to see this issue finally being addressed. :)
    You have no idea… -.-
  • 12061
    Happy new years and thanks for all the hard work!
  • 12073
    I think the image with the highest resolution should remain because Ratio is what matters the most (to me). As long as the image aspect ratio fits your screen's aspect ratio it'll fit your screen perfectly and resolution is what defines the quality of the wallpaper. I say the bigger resolution the better as long as we got the aspect ratios covered which should be possible with cropping like Gandalf suggested.
  • 12081
    The poll is going very slowly, This is serious thing that will affect future of site. Maybe you should add some pop up message when registered user visits site that there is poll which they should take part in?
  • 12089
    TCBfergie I don't think it's important enough to make an annoyance out of it. This thread appears on the start page as a sticky so it's not exactly hard to find. Gauging the opinions of those who care enough to read the forum will be fine.
  • 12133
    Out of sheer curiosity, what do u plan to use for detecting duplicates? I actually thought about that and the best (simple) thing a came up with was hashing images by downsizing them to a constant size, calculating a heavily quantized DCT and putting it into a metric tree using the hamming distance between the hashes as the metric.
  • 12136
    skimmed thought the IQDB source: constant downscale, 2D Haar wavelet decomposition, image signature equal to positions of peak values in the decomposition and... a linear search? Ok, considering that u have only 500k images that doesn't sound like a problem. Thought if a search already takes linear time it would be funnier if u used more sophisticated signatures like SURF (speeded up robust features). Then it would also handle crops / rotates / mirrors and that would make u're site awesome (at least in my eyes).
  • 12137
    md5crypt We'll be happy to have you join the dev team and implement it. ;)
Alpha