Retina must for AppStore

Their retina Macs installed base is not large enough yet for this next step, when they surpass some point above 50% of the installed base, they will do that, as it will push the sales of the newer retina enabled macs as a side effect while selling updated apps for the current retina users. win-win.

You are right that we have some time before the critical point, but we can’t determine when it will come, being ready (turn-key, not using external manual adjustments and tricks) will be great. :wink:

Retina is not about “tricks”. You need to draw EVERYTHING at twice the size. It’s just really tedious to do.

Retina under Xojo right now is about doing tricks. Opening plists and changing settings, and writing some specific code, etc, instead of setting a “Retina Enabled” field on the Xojo App settings and having a @2 kind of image property for some fields is not the natural easy way.

Some people can think (not me) it’s about to draw EVERYTHING half the size to be non-retina compatible. And yes, that’s tedious and I don’t like that too. :wink:

Some day we will reach a draw once, use everywhere. Maybe a vector based format could help this.

Come on Ricardo, we are programmers. Changing from

 g.drawPicture upPic, 0, 0

to

if RetinaScaleFactor = 1 then g.drawPicture upPic, 0, 0 else g.drawPicture upPic_retina, 0, 0, me.Width, me.Height, 0, 0, upPic_retina.Width, upPic_retina.Height end if

is a trick for you? In 90% of the cases where I need something drawn I don’t use a picture that I can assign, anyway.

I tend not thinking just about me, Beatrix. Be open minded about the potential users around us. :wink:

Grin…

I’m a simple programmer with simple skills. For instance, an installer has totally made me feel stupid. But the Retina stuff really wasn’t that complicated after starting it. Oh, I got stuck with Retina at the tabpanels from Alex Restropo. Need to continue with this.

:slight_smile:

I’d write the code above differently, perhaps

    dim picToDraw as Picture
    if RetinaScaleFactor = 1 then
      picToDraw = upPic
    else
      picToDraw = upPic_retina
    end if
    
    g.drawPicture picToDraw, 0, 0, me.Width, me.Height, 0, 0, picToDraw.Width, picToDraw.Height

but there are better method, I’m sure, like making a picProvider class which automatically return the right picture and then reduce the code to just one line as before.

However, in complex contexts having Xojo automatically handle this would be useful.

The idea is not about a “complex context”, in a complex context you can write a complex solution.
The idea is to hide the complexities from the user. Make the environment friendly and easy to use. If picToDraw knew the 2 versions of the picture beforehand, in it’s, let’s say, pic1x and pic2x properties, you didn’t need anything, the g.drawpicture would handle it in the background. No “Ifs” and no extra explicit objects. One line. Something like that. :wink:

All that does is push the complexity over to setting up the picture. Not to mention breaking plugins by changing the semantics of pictures. Bad idea.

Thinking statically as it works right now, you are right. Maybe a new set of classes? That would not touch the past code. The library could have a Retina Ready set of components. :wink:

Nothing is stopping any enterprising third party developer from implementing it and trying to make it stick. I’ll guarantee you it would be a waste of effort directed at something that isn’t a problem.

Right now, maybe you are right, in some point in 2 years, it can be a good problem.

I am not asking people to move resources to these things. I usually just discuss the topics.

Sometimes debates brings good questions, or good ideas, or even some solutions. They do what they think is better for them. :wink:

Returning to my opinions, I don’t like the idea of having basic functionality trusted to third parties.
Third parties should make specialized things, or complex things, or even extend the basic functionalities.
Having external people to write components for buttons, pictures, etc, just because the hardware around us is evolving, does not seem a good approach for me. The native options must evolve.

For as wide a net of “basic functionality” as you seem to be casting, your alternative is to not have your problems solved. The “third parties” who work these edges when RS/Xojo isn’t ready to work them or unable to react quickly probably don’t care if you don’t take advantage of what they offer. There are enough users who appreciate the help.

Apple are very restrictive at all times, but then they control the Mac App Store. You can still sell what ever you like on your own site or via Amazon.

You know the best way to get all this functionality you want in Xojo, is to use Feedback, you may already find feedback cases and if so then sign on. This way is how Xojo Inc can keep a track of what customers want. While it’s great to spitball things here on the forums.

I do not have problems.

Anyone with some good sense really appreciate the efforts from the third-parties who compliments the lack of some features, except the basic ones like buttons, combos, pictures, windows, etc. Those must be native, optimized, and survive to a third party being out of business.

I’m going to step in here and hopefully pre-empt another thirty posts to this thread: retina support is coming. It’s an unavoidable reality of the direction Apple has taken and has to be part of the core product. It just won’t be happen in 2013r1.