Το Android Q αλλάζει ριζικά τον τρόπο με τον οποίο λειτουργεί ο αποθηκευτικός χώρος στο smartphone σου. Σε κάθε έκδοση ως το Pie, ο αποθηκευτικός χώρος του Android λειτουργούσε με τον ίδιο τρόπο που συνέβαινε σε έναν επιτραπέζιο ηλεκτρονικό υπολογιστή. Με την επόμενη μεγάλη έκδοση του Android, η Google εισάγει τον λεγόμενο Scoped Storage αποθηκευτικό χώρο, που κάνει το Android να λειτουργεί σαν ένα iPhone, όπου ο αποθηκευτικός χώρος είναι απομονωμένος στην κάθε εφαρμογή. Μια εφαρμογή δηλαδή, μπορεί να έχει πρόσβαση μόνο στα δικά της αρχεία και αν απεγκατασταθεί, όλα τα αρχεία της θα διαγραφούν.
Ευτυχώς όμως, το Android Q διατηρεί την αρχική συμπεριφορά του Android, ενός κεντρικού συστήματος αρχείων. Δυστυχώς όμως, είναι δύσκολη η διαδικασία για τον χρήστη του set up των apps για να έχουν πρόσβαση σε αυτό, ενώ και οι δυνατότητές του και οι επιδόσεις, έχουν μειωθεί σημαντικά, μετά και την μετατόπιση του ενδιαφέροντος της Google από αυτόν. Και μάλιστα, οι developers θα πρέπει να προβούν στο recode των apps για να το υποστηρίξουν. Εφαρμογές που χρειάζονται γενική πρόσβαση στο σύστημα, όπως για παράδειγμα, μια σουίτα εφαρμογών γραφείου, ένας επεξεργαστής εικόνας, ή ένας file manager, θα πρέπει να χρησιμοποιεί ένα Android API γνωστό ως Storage Access Framework (SAF) για όλες τις λειτουργίες του αρχείου. Το εν λόγω API ήταν διαθέσιμο από την εποχή του Android 5.0 Lollipop, αλλά οι developers δεν το χρησιμοποιούν εκτός και αν απαιτείται, λόγω της προβληματικής φύσης του. Σαν αποτέλεσμα αυτής της μετάβασης στο SAF, η Google αποφάσισε να επιτρέψει σε εφαρμογές που δεν απευθύνονται σε Android Q να λειτουργούν όπως συνηθίζονταν, αλλά κάτι τέτοιο θα αλλάξει όταν το Play Store θα απαιτεί από όλες τις εφαρμογές να υποστηρίξουν το Android Q τον επόμενο χρόνο.
Η πιο εμφανής αλλαγή με το SAF για το χρήστη, είναι η διαδικασία που ακολουθείται για να δοθεί πρόσβαση σε μια εφαρμογή στον αποθηκευτικό χώρο. Όταν μια εφαρμογή θέλει να αποκτήσει πρόσβαση, υποβάλλει ένα αίτημα στο λειτουργικό, το οποίο με την σειρά του παρουσιάζει μια οθόνη από την οποία επιλέγεις το directory. Σε αυτή την οθόνη, ο χρήστης επιλέγει το root ενός φακέλου στον οποίο η εφαρμογή θα μπορεί να διαβάζει και να γράφει αρχεία. Ο χρήστης, πρέπει να κάνει αυτά τα βήματα, για κάθε app που απαιτεί πρόσβαση σε τοπικά αρχεία, ή δυο φορές για μια εφαρμογή αν χρειαστεί να δοθεί πρόσβαση και για μια εξωτερική SD κάρτα. Η Google τουλάχιστον, βελτίωσε την διαδικασία στην Android Q beta 3, καθώς οι προηγούμενες beta δεν επέτρεπαν καν σε ένα app να προτείνει στο χρήστη μια τοποθεσία για να επιλέξει. Επιπλέον, οι ταχύτητες του αποθηκευτικού χώρου εμφανίζονται μειωμένες με το SAF.
Ένα ακόμη μεγαλύτερο πρόβλημα, είναι ότι μερικές εφαρμογές θα πρέπει να αντιγράψουν αρχεία στην τοπική scoped storage περιοχή, πριν να μπορούν να λειτουργήσουν με αυτά. Και αυτό μπορεί να αποδειχθεί ιδιαίτερα προβληματικό, όταν τέτοιου είδους αρχεία είναι πολλά GBs σε μέγεθος, στη περίπτωση για παράδειγμα αρχείων βίντεο. Πολλά Android apps εκμεταλλεύονται τον πολύ μεγάλο αριθμό των open source java libraries και συχνά αυτά τα libraries απαιτούν direct filesystem access για να λειτουργήσουν. Δεν αφορούν αποκλειστικά το Android και θα απαιτηθεί να ξαναγραφούν για να λειτουργήσουν με το SAF. Επιπλέον, πολλές libraries του ίδιου του Android δεν θα λειτουργούν με αυτό. Και για να το κάνουμε πιο απλό στη κατανόηση, να καταλάβετε δηλαδή τι σημαίνει κάτι τέτοιο ας αναφέρουμε το εξής. Ένας file manager, δεν θα μπορεί καν να προβάλλει το εικονίδιο ενός apk αρχείου, χωρίς να αντιγράψει ολόκληρο το apk στον δικό του scoped storage.
Η Google ισχυρίζεται ότι όλες αυτές οι αλλαγές γίνονται για λόγους ιδιωτικότητας και ασφάλειας, αλλά τεχνικά μιλώντας, δεν υπάρχει καμιά ουσιαστική βελτίωση στο κομμάτι αυτό. Οι εφαρμογές είχαν τη δυνατότητα να αποθηκεύσουν με ασφάλεια αρχεία από την εποχή του Android 1 και σχεδόν όλα τα apps χρησιμοποιούν αυτή τη δυνατότητα. Όταν παρέχεις πρόσβαση στο root directory του αποθηκευτικού χώρου μέσω SAF, μπορεί να διαβάσει, εγγράψει και να στείλει οποιοδήποτε αρχείο θέλει στον developer, με τον ίδιο ακριβώς τρόπο που μπορούσε όταν δίνατε μια πρόσβαση σε μια εφαρμογή στο Android Pie. Δεν είναι γνωστό προς το παρόν, τι ακριβώς επιδιώκει η Google να πετύχει με αυτήν την αλλαγή. Ο επίσημος λόγος, είναι να δώσει στους χρήστες περισσότερο έλεγχο όσον αφορά τα αρχεία τους. Πάντως, ο scoped storage στην τρέχουσα μορφή του δεν δίνει περισσότερη ελευθερία και έλεγχο στο χρήστη, αντίθετα αποτελεί έναν περιορισμό του τι μπορεί να κάνει ένας χρήστης.
Αν η Google πραγματικά ενδιαφερόταν να δώσει στους χρήστες περισσότερο έλεγχο όσον αφορά τα αρχεία τους, θα πρέπει να δημιουργήσει μια λύση η οποία απευθείας θα λύνει το πρόβλημα αντί να δίνει στο τρέχων design του Android Q, τον προσδιορισμό της βελτίωσης. Η πιο απλή απάντηση, θα ήταν να δώσει στους χρήστες τη δυνατότητα να επιλέξουν αν θέλουν ένα app να έχει scoped ή general filesystem access, με τη χρήση ενός παραθύρου διαλόγου.
Ακολουθήστε το Techmaniacs.gr στο Google News για να διαβάζετε πρώτοι όλα τα τεχνολογικά νέα. Ένας ακόμα τρόπος να μαθαίνετε τα πάντα πρώτοι είναι να προσθέσετε το Techmaniacs.gr στον RSS feeder σας χρησιμοποιώντας τον σύνδεσμο: https://techmaniacs.gr/feed/.