12

Are we always going to name our retina files as @2x?

2 years ago from , Designer.

What's going to happen when all the computers are retina? Are we gonna re-define what base resolution is at some point?

Just curious on what the lovely people at the DN feel about this.

21 comments

  • Marc EdwardsMarc Edwards, 2 years ago

    Hopefully not, but 2×, 3× and 4× displays probably mean we’re stuck with supporting multiple densities for now, and maybe forever.

    Android’s method of using different folders for each pixel density seems more sensible, and easier to evolve. macOS uses multi-part TIFFs that keep all the different densities in a single file. That’s neater, but requires Xcode or something like Xcode to author them, and you still need the @2x suffixed files as input.

    So, yep. I think the @2x suffixed names are here to stay for iOS.

    4 points
    • Joe BlauJoe Blau, 2 years ago

      You actually don't need to use suffixes on on iOS. Using vectored PDF's and selecting single resolution means you don't need to deal with with @resolution assets anymore. At build time, iOS will generate all of the appropriate resolution assets based on your target devices.

      Edit: And the file sizes are significantly smaller.

      0 points
      • Marc EdwardsMarc Edwards, 2 years ago

        Yep, so Xcode renders those PDFs to PNGs with suffixes, negating any efficiencies you’ve gained by using PDFs — the overall app size will be the same (or potentially bigger, because now you don’t have a chance to optimise the PNGs).

        Also, the PDF format doesn't have support for lots of things, so most tools will generate those features as 1× bitmaps inside the PDF. That means Xcode takes the PDFs with vector parts and 1× bitmaps, and scales them up to 3× bitmaps. Doing that looks bad.

        Certain assets will be fine, but others will not. Using PDFs for iOS assets is a terrible idea. Here’s my take on it: https://bjango.com/articles/idontusepdfs/

        1 point
  • Darrell HanleyDarrell Hanley, 2 years ago

    Yes, because it's easier to programmatically import assets using this format, say for example if you were using React Native, which looks for this naming convention by default.

    If you're exporting icons or something similar for the web, however, you should be exporting svgs at this point, maybe with a backup PNG depending on what your browser targets are.

    2 points
  • Dean HaydenDean Hayden, 2 years ago

    I'm guessing not. We don't save 'web safe' gifs anymore…

    SVGs are already making some instances of 2x, 3x etc. redundant.

    Photography is dependent on bandwidth and I suspect that low and high instances will always exist.

    1 point
  • Simone Simone , 2 years ago

    Not until the base resolution will equal @2x, at that point that becomes the new @1x and its all taxonomy from there on. There's an inherit truth to the fact that you just can't make a physical pixel too small or you won't be able to see it. The question then is: is resolution even going to matter? Hi density displays are so forgiving that pixel precision becomes irrelevant to the eye.

    And then design will die.

    1 point
    • Lev MiseriLev Miseri, 2 years ago

      You are not making any sense, Simone.

      2 points
      • Simone Simone , 2 years ago

        I'll help you. Base resolution: minimum supported resolution. If there's nothing on the market under 200 PPI, @2x becomes the base resolution.

        At that point, there's an issue. The issue is that there's not going to be a direct relationship with physical pixels and points. Why? Because if you were to run any retina screen at full resolution (1 pixel = 1 point), it would be too small for you to see anything. The whole point of retina is to keep the physical output size the same, but use twice as many pixels to render the picture, hence smoothening anti-aliasing.

        That's why I'm saying that once everything becomes retina, pixel hinting won't be noticeable anymore because the physical size of what used to be "half pixel off" will be too small to notice.

        0 points
        • Lev MiseriLev Miseri, 2 years ago

          What are you on about? No one even mentioned pixel hinting or anything related to it.

          Of course that using more vector-based graphics in UI is going to be the future, but this is about rasters. Assets with absolute size.

          The question is whether we are stuck with @2x, @3x, ... file naming for raster assets given that @1x will be (or already is) less and less relevant. Is it going to be a legacy thing similar to the QWERTY keyboard layout that didn't change even when progress in technology made it nonsensical?

          0 points
          • Simone Simone , 2 years ago

            See, the answer to the question is in my first sentence. The reality is that its purely going to be a matter of standards and that whatever Apple & Google decide to do us monkey will do. So not a very interesting answer as you can tell.

            What I was doing was to discuss the ramification of a system which has a base resolution of 200 PPI or greater. Its called having a conversation, that's where you learn things from ;)

            0 points
      • Andu PotoracAndu Potorac, 2 years ago

        He's actually making a lot of sense. :)

        We design based on the logical resolution which now has the base set at a value that we consider to be 1x. In time this base might be changed to the one we use for 2x if Apple continues to push more pixels in every point.

        Again - we don't design in the 2x and 3x space, we design in the logical resolution of the devices. For logical resolution see the row here: http://iosres.com/.

        0 points
    • Ryan Hicks, 2 years ago

      Wow that wasn't overly dramatic at all.

      2 points
    • Marc EdwardsMarc Edwards, 2 years ago

      Resolution and pixel precision will always matter! It’s true that high PPI displays are more forgiving, but having 1:1 mapped assets doesn't just improve image quality, it also reduces file sizes, reduces memory used, reduces memory bandwidth required, and as a cumulative effect, uses less battery.

      0 points
      • Simone Simone , 2 years ago

        Oh I agree.

        But if @2x is our new base resolution - and we want to keep a 1:1 mapping, that will mean that you'll have to design for retina.. on a retina screen. My speculation is that in that scenario the individual pixel will be hard to see to the human eye, thus making pixel precision.. less relevant?

        0 points
        • Marc EdwardsMarc Edwards, 2 years ago

          Yep, but what about 3×? That’s a common scale now. If you use 2× as your base, then 3× is 1.5 times 2×. And scaling by 1.5 means lots of blurry edges.

          Far simpler and better to still work at 1×, so you can target 1×, 2×, 3×, 4× and 5× from the same base artwork. If you use 2× as your new base, things get a lot more difficult.

          0 points
          • Simone Simone , 2 years ago

            Of course, @1x is what you should design at, today (and even today you're still gonna have that issue with Android anyway, with HDPI displays, which are @1.5x).

            I totally get your point, but Apple's @3x is a joke anyway.. its downsampled to 87% of that size, so you'll never get pixel precision there. Hopefully they'll realize it and drop it altogether.

            Who knows, maybe by the time everything is @2x someone will have put in place some sort of standards about display densities so that we can go by multiples of 2.

            0 points
            • Marc EdwardsMarc Edwards, 2 years ago

              I’d like that. Stopping somewhere around 3× seems smart, and you’re right about the iPhone Plus models. Hopefully this year resolves that.

              0 points
  • Clarke HyrneClarke Hyrne, 2 years ago

    Not only resolution, but color space too—Is anyone here working with Wide Color/P3 color space? * https://developer.apple.com/videos/play/wwdc2016/712/ * https://developer.xamarin.com/guides/ios/platform_features/introduction-to-ios10/wide-color/

    0 points
    • Marc EdwardsMarc Edwards, 2 years ago

      I’m very aware of it, but haven’t found any need for app UI just yet. Display P3 certainly adds another level of complication to things.

      1 point
  • Laurens SpangenbergLaurens Spangenberg, 2 years ago

    I have a feeling it will stay as is for a very long time. See the history of browser user agent strings. This article is from 2010, but it's still valid, and if anything it's gone worse with Android, various Android browsers, and Chrome forking WebKit.

    0 points
  • Cihad TurhanCihad Turhan, 2 years ago

    SVGs FTW!

    0 points