Resolution independent UI

InterfaceBuilder_App.png
Τι είναι και γιατί μας ενδιαφέρει? Πολλά χρόνια πριν, ο Donald Knuth, σκέφτηκε ότι το μέγεθος των αντικειμένων στο interface ενός υπολογιστή θα έπρεπε να είναι ανεξάρτητα από την ανάλυση της οθόνης του υπολογιστή. Παίζοντας λίγο με το νέο MacBook Air, συνειδητοποίησα ότι ίσως πρέπει σιγά σιγά να διαθέσουν/ενεργοποιήσουν αυτό το feature και στους υπολογιστές (στο iPhone 4 το feature υλοποιήθηκε με επιτυχία), αφού το MacBook Air χρησιμοποιεί ανάλυση 1440x900 σε μόλις 13" οθόνη, με αποτέλεσμα τα πάντα να φαίνονται πραγματικά πολύ μικρά, το resolution independent ui, θα ήταν μια πολύ καλή και χρήσιμη λειτουργία... Πολλοί ήδη παραπονιούνται για τα μικρά γράμματα στο interface των λειτουργικών συστημάτων, σε καινούργιους υπολογιστές, και αυτά τα παράπονα θα αρχίσουν να γίνονται εντονότερα όσο βγαίνουν στην αγορά οθόνες με μεγαλύτερη ανάλυση στις ίδιες ίντσες... Η Apple φαίνεται να το γνωρίζει, και έτσι από το Mac OS 10.4 είχε ξεκινήσει να δουλεύει σε αυτό, υπάρχει λοιπόν ένας τρόπος να χρησιμοποιήσουμε το Resolution Independent UI στο Mac OS. Eίναι όμως κάτι το οποίο σε πολλές περιπτώσεις δε δουλεύει σωστά, και το interface σε διάφορες εφαρμογές θα δείχνει corrupted. Στις παρακάτω εικόνες θα δείτε τη διαφορά ανάλογα με το scale factor. Αν το επιχειρήσετε θα προσέξετε ότι όταν έχουμε μεγάλο factor ώστε να φαίνονται μεγαλύτερα, δε φτάνει το μέγεθος του tool bar texture με αποτέλεσμα να φαίνεται άσχημο, υπάρχουν και άλλα artifacts που φαίνονται σε άλλες εφαρμογές, όπως υπάρχουν και εφαρμογές που δε μου παρουσίασαν προβλήματα, μια από αυτές είναι το iTunes... Τα παρακάτω screenshots έχουν scale factor 0.75 , 1.0 και 1.25 αντίστοιχα, είναι ίδια ppi, και έχουν την ίδια ανάλυση, απλά το πρόγραμμα κάνει χρήση του συγκεκριμένου feature.

0.75
scale075.png
1.0
scale1.png
1.25
scale125.png

Η εντολή για να αλλάξετε το scale factor ακολουθεί παρακάτω, και όπου "τιμή", αντικαθιστούμε με το scale factor που επιθυμούμε. Σε περίπτωση που θέλουμε να κάνουμε τα πράγματα όπως πριν, η default τιμή είναι 1

defaults write NSGlobalDomain AppleDisplayScaleFactor τιμή

Τα πάντα ακόμα είναι σε πρώιμο στάδιο και δεν θα ήταν καλό να αλλάξουμε τις τιμές, εκτός αν θέλουμε να χρησιμοποιήσουμε οπωσδήποτε αυτή τη δυνατότητα, μη περιμένετε όμως όλα να δείχνουν σωστά...