chromium


Πως να φτιάξτε ένα απλό add-on για Firefox και Chrome

Πριν λίγο καιρό έφτιαξα ένα απλό add-on για Firefox και Chrome/Chromium ώστε να μπορεί να τσεκάρει κανείς από τον desktop browser του αν είναι ανοιχτό το hackerspace της Αθήνας. Παρακάτω θα γράψω επιγραμματικά πως το έφτιαξα. Φυσικά, ο κώδικας του add-on είναι διαθέσιμος κάτω από άδεια ελεύθερου λογισμικού.

Πρώτα πριν μπούμε στην διαδικασία να εξετάσουμε την ίδια την λειτουργικότητα του add-on.

Έχουμε ένα φυσικό χώρο, το hackerspace της Αθήνας (yeaheee!). Αυτός ο χώρος ουσιαστικά ανοίγει όποτε έχουμε κάποιο event ή είναι κάποιος από τους διαχειριστές του εκεί. Πως θα μπορούσαμε να γνωρίζουμε πότε είναι ανοιχτός εκτός event;

 

To hackerspace στην αρχική του σελίδα στο web έχει ένα “counter” που δείχνει αν και κατά πόσο ο χώρος αυτός είχε ανοίξει για επισκέπτες. Πως όμως το κάνει αυτό;  Το hackerspace όπως τα περισσότερα hackerspace του κόσμου ακολουθεί ένα πρωτόκολλο που λέγεται SpaceAPI αυτό μας δίνει τις απαραίτητες πληροφορίες για το αν είναι ανοιχτό. Το SpaceAPI είναι ένα output τύπου JSON (Javascript Object Notation), ένα από τα ωραία χαρακτηριστικά του είναι ότι είναι εύκολο για τους ανθρώπους να το διαβάσουν και εύκολο για τις μηχανές να το παράγουν και να το καταλάβουν.

Ωραία αν πάμε λοιπόν στο SpaceAPI του hackerspace θα δούμε κάτι σαν αυτό.

    "state": {
        "open": false,
        "lastchange": 1483908306,
	"message": "0 hacker(s) in space"
    },

Από εκεί έχουμε τις ακόλουθες πληροφορίες σύμφωνα με το documentation του SpaceAPI, πρώτον αν είναι όντως ανοιχτό το hackerspace και δεύτερον ένα μήνυμα που στην περίπτωση του hackerspace της Αθήνας μας λέει πόσα άτομα είναι μέσα. Πολύ ωραία… φαίνεται λοιπόν ότι μπορούμε να έχουμε αρκετές πληροφορίες για να φτιάξουμε το add-on μας σχετικά εύκολα. Για να δούμε όμως πως θα το κάνουμε.

Ο αρχικός μου σκοπός ήταν να δημιουργήσω ένα add-on για τον Firefox καθώς εδώ και αρκετά χρόνια είναι ο browser που προτιμώ. Μια εξαιρετική πηγή πληροφορίας για τις web τεχνολογίες είναι το Mozilla Developer Network ή MDN το οποίο έχει ένα σωρό πληροφορίες. Σύμφωνα με το σχετικό άρθρο, στον Firefox έχουμε διάφορα εργαλεία και τρόπους για να φτιάξουμε ένα add-on.

Στην περίπτωση μας ποιο είναι το βέλτιστο εργαλείο για την δημιουργία ενός add-on; Διαβάζοντας στην συνέχεια διαπιστώνουμε ότι από το τέλος του 2017 και μετά τα WebExtensions θα είναι το στάνταρ εργαλείο για την δημιουργία add-on, επίσης ένα από τα θετικά τους είναι ότι είναι φτιαγμένα για να δουλεύουν με το ίδιο πρακτικά κώδικα στους περισσότερους σύγχρονους browser όπως o FIrefox, ο Chrome, ο Edge και ο Opera.

Πρακτικό ακούγεται για να δούμε πόσο εύκολο είναι. Ουσιαστικά πρόκειται για μια συλλογή από αρχεία που περιγράφονται από ένα manifest.json και αυτά ουσιαστικά μπορεί να είναι html ή js που κάνουν χρήση κάποιον API του browser. Από ότι φαίνεται, έχουμε και τα απαραίτητα εργαλεία για να φτιάξουμε το αρχείο μας και να το δοκιμάσουμε. Ένα text-editor και ένα browser. Καλό είναι να τα έχουμε όλα μαζεμένα σε ένα directory ξεχωριστό στο οποίο θα τα δουλέψουμε.

Για να τα βάλουμε σε μια σειρά, θέλουμε να φτιάξουμε ένα add-on που θα έχει ένα εικονίδιο, στο background θα τρέχει ένα loop ελέγχου που θα τσεκάρει το JSON του hackerspace και θα μας λέει αν είναι ανοιχτό, και μιας και οι φανταστικοί sys-admin του hackerspace μας λένε πόσο κόσμο έχει μέσα θα δείχνουμε και αυτό, επίσης θα προσθέσουμε λειτουργικότητα ώστε όταν κάνουμε κλικ πάνω στο εικονίδιο να μας δείχνει το κεντρικό site του hackerspace.

Διαβάζοντας λοιπόν το εκτενές documentation που έχουμε θα πρέπει το manifest.json μας να μοιάζει κάπως έτσι.

{
    "description": "Adds a browser icon that shows if hackerspace.gr is open, it displays a counter of people inside.",
    "manifest_version": 2,
    "name": "hsgr-status-checker",
    "version": "0.1.6",
    "homepage_url": "https://hackerspace.gr",
    "icons": {
        "32": "icons/hsgr-32.png"
    },
    "applications": {
        "gecko": {
            "id": "elkos@hackerspace.gr",
            "strict_min_version": "45.0"
        }
    },
    "background": {
        "scripts": ["jquery.js", "background.js"]
    },
    "browser_action": {
        "default_icon": "icons/hsgr-32.png",
        "default_title": "hsgr status",
        "default_popup": "popups/popup.html"
    }
}

Δηλαδή περιγράφουμε το add-on στο “description”, η έκδοση του manifest (υπάρχουν και παλαιότερες στο Chrome), το όνομα του add-on στο “name”, η ιστοσελίδα του στο “homepage_url” (έβαλα το αρχικό website), ένα εικονίδιο για το UI (μπορείτε να βάλτε περισσότερα αν θέλετε), το “applications” ορίζει σε πια έκδοση του gecko (της μηχανής του Firefox θα παίζει έβαλα πάνω από 45 για να μην έχουμε θέμα με παλαιότερες εκδώσεις που δεν υποστηρίζουν όλα τα API), και δύο αρχεία στο “background” το ένα είναι η βιβλιοθήκη jquery.js για να μπορώ να δουλέψω άνετα με το JSON API, και το background.js που θα είναι ο κώδικας που τρέχει στο background. Επίσης λέω ότι θέλω να βάλω ένα εικονίδιο στο browser που θα το βρούμε εκεί, και θα έχει αυτό το τίτλο και όταν πατάς το εικονίδιο βγάζει ένα popup που το βρίσκει στο /popups/popup.html αρχείο.

Τί θα βάλω όμως στο background.js μου;  Πρώτα θα ορίσω το doorAPI που θα το βρώ;

var doorURL = 'https://www.hackerspace.gr/spaceapi';

Ωραία, τώρα θα φτιάξουμε ένα function που θα τσεκάρει η jquery με ένα απλό GET το σημείο που είναι το SpaceAPI.

function checker() {
    $.ajax({
         type: 'GET',
         url: doorURL,
         dataType: 'json',

Στην περίπτωση που αυτό δουλεύει λοιπόν τσεκάρουμε αν το hackerspace είναι ανοιχτό:

success: function(data) {
    if (data.state.open) {

Τώρα λοιπόν θα αλλάξουμε τον τίτλο του εικονιδίου ώστε να δείχνει ότι είναι ανοιχτό και πόσο κόσμο έχει μέσα, μετά αλλάζουμε το εικονίδιο (το αντικαθιστούμε με ένα πράσινο) και προσθέτουμε και ένα badge που τον αριθμό των hacker που μας δίνεται από το “state.message”. Ο αριθμός προκύπτει ουσιαστικά χρησιμοποιώντας regular expressions ώστε να μας βγάζει μόνο τα νούμερα το output, με αποτέλεσμα να έχουμε κάτι που μοιάζει με αυτό. Επίσης ορίζω το χρώμα του background του badge ως #808080 ή γκρι σκούρο για να μην βγάζει μάτι.

                 chrome.browserAction.setTitle({title: 'HSGR is open with ' + (data.state.message).replace(/\D/g, '') + ' hackers'});
                 chrome.browserAction.setIcon({path: 'icons/openhsgr-32.png'});
                 chrome.browserAction.setBadgeText({text: (data.state.message).replace(/\D/g, '')});
chrome.browserAction.setBadgeBackgroundColor({color: '#808080'});

Στην περίπτωση που το hackerspace δεν είναι ανοιχτό τότε θα αλλάξουμε το τίτλο, θα αλλάξουμε το icon στο μαύρο, και δεν θα έχουμε badge κείμενο.

             } else {
                 chrome.browserAction.setTitle({title: 'HSGR is closed'});
                 chrome.browserAction.setIcon({path: 'icons/hsgr-32.png'});
                 chrome.browserAction.setBadgeText({text: ''});

Αν τώρα το αφήσουμε έτσι θα παίξει μια φορά και αυτό ήταν, εγώ θέλω να λειτουργεί σχετικά τακτικά. Θα βάλουμε λοιπόν ένα interval για να παίζει μια φορά κάθε 15 λεπτά.

checker();
setInterval(checker, 15 * 60 * 1000);

Ωραία με το background θα πρέπει να είμαστε OK. Όσο αφορά το popup τώρα, είπα να ακολουθήσω την πλέον εύκολη και άσχημη λύση του iframe.

<html>
<head>
  <style type="text/css">
	  body {width:500px; height:500px;}
  </style>
</head>
<body>
  <iframe src="https://www.hackerspace.gr" width="100%" height="100%" frameborder="0"></iframe>
</body>
</html>

Μέχρι εδώ καλά, πως θα το δοκιμάσω όμως; Πάμε στο about:debugging του Firefox πατάμε εκεί που λέει “Load Temporary Add-on” και ανοίγουμε οποιοδήποτε αρχείο μέσα στο directory του add-on που φτιάξαμε πχ το manifest.json. Φαίνεται να δουλεύει.

Τώρα, πως το δίνουμε στο κόσμο; Πρώτα πρέπει να ετοιμάσουμε το αρχείο μας. Δημιουργούμε ένα αρχείο .zip. Στο Linux σε γραμμή εντολών αυτό το κάνουμε ως εξής:

Πρώτα “πάμε” στο κατάλογο που έχουμε τα αρχεία του add-on μας όπου φυσικά path/to/my-addon/ το directory με τα διάφορα αρχεία του προγράμματος.

cd path/to/my-addon/

Και μετά δίνουμε την εντολή

zip -r ../my-addon.zip *

Θα δημιουργηθεί ένα νέο αρχείο zip το my-addon.zip.

Για το add-on gallery του Mozilla πάμε στο addons.mozilla.org και ανεβάζουμε το αρχείο μας, αφού γίνει ένα βασικό check από διάφορα scripts ελέγχου τότε ανεβαίνει για review. Αυτό ουσιαστικά σημαίνει ότι ο κώδικας μας τσεκάρεται από κάποιο εθελοντή του Mozilla, επιβεβαιώνεται η ορθή λειτουργία του και συνιστούνται καλές πρακτικές, στο σημείο αυτό ελέγχεται και η πιθανή παρουσία κακόβουλου κώδικα. Αυτό στην περίπτωση μου σήμαινε 3-4 μέρες αναμονής.

Στην περίπτωση του Chrome τα πράγματα δεν είναι ακριβώς έτσι, αφού ανεβάσουμε το αρχείο μας και τσεκαριστεί από διάφορα scripts ελέγχου αυτό ήταν. Ανεβαίνει, χωρίς να περάσει από την επίβλεψη κάποιου.

Θα μου πείτε, και τί έγινε; Στην περίπτωση του Chrome ανεβαίνει ποιο γρήγορα χωρίς γραφειοκρατεία. Σωστά; Όχι ακριβώς. Μπορεί ένας “κακόβουλος” developer να βάλει κώδικα που ελέγχει η παρουσία του χρήστη online ή ακόμη και να εκμεταλλευτεί πολλές από τις δυνατότητες του browser.

Θεωρώ, ότι ως πρακτική η επιλογή του Mozilla να ελέγχει το κώδικα που τρέχουν τα add-on αν και πιο χρονοβόρα είναι τουλάχιστον για εμάς τους χρήστες η πλέον ορθή πρακτική.

Όλα αυτά δεν θα τα κατάφερνα χωρίς την βοήθεια, και την καθοδήγηση μελών και επισκεπτών του hackerspace που με βοήθησαν. Κλείνοντας να υπενθυμίσω πως δεν είμαι επαγγελματίας του χώρου της πληροφορικής, ως εκ τούτου ο οδηγός αυτός πιθανότατα περιέχει σφάλματα και ανακρίβειες.


StatCounter: Πάνω από τα 2/3 των Ελλήνων χρησιμοποιούν ανοιχτού κώδικα browsers (!) 3

Εδώ και καιρό έχω ακούσει πολλές αναλύσεις για την επίδραση του Chrome στην αγορά των browser. Στο κατά πόσο τελικά ο Internet Explorer ή ο Firefox είναι οι νούμερο ένα browsers της αγοράς και αν και κατά πόσο τελικά ο Chrome έχει πλήξει η όχι το μερίδιο χρήσης του Firefox. Βέβαια δεν πρέπει να ξεχνά κανείς ότι τα δεδομένα της StatCounter είναι υποκειμενικά αλλά δείχνουν μια εικόνα για την κατάσταση.

Πριν προχωρήσω στο άρθρο νομίζω ότι μπορώ να μοιραστώ μαζί σας την εμπειρία μου με το Chrome. Προσωπικά για ένα διάστημα είχα αρχίσει να χρησιμοποιώ και εγώ τον Chrome καθώς έβλεπα ότι ήταν αρκετά γρήγορος. Μετά από την έκδοση 4 του Firefox και ειδικά μετά την έκδοση 5 δεν έβλεπα τρομερές διαφορές στην ταχύτητα. Δεδομένου μάλιστα ότι χρησιμοποιώ κάποια Add-on που συμπεριφέρονται με πολύ διαφορετικό τρόπο στον Firefox σε σύγκριση με τον Chrome/Chromium αποφάσισα να συνεχίσω να χρησιμοποιώ τον Firefox.

Κλείνοντας αυτή την (σύντομη ελπίζω) προσωπική παρέμβαση να υπενθυμίσω ότι σε παλαιότερη δημοσίευση είχαμε δει ότι ο Firefox ήταν πρώτος στην Ελλάδα από το Φεβρουάριο του 2ο1ο ενώ δεύτερος ήταν ο Internet Explorer. Για να δούμε όμως τι γίνεται.

Στην Ευρώπη όμως ο Firefox έχει χάσει τα πρωτεία από τον Internet Explorer με διαφορά όμως λιγότερο του 1% με ποσοστά 34.7% και 33.79 αντίστοιχα για Internet Explorer και Firefox για τον μήνα Αύγουστο . Αντίθετα ο Chrome από το 15.7% που ήταν τον Ιανουάριο έφτασε στο 21.8% της αγοράς.

Στην χώρα μας όμως τα πράγματα δεν είναι ακριβώς έτσι. 

Ο Firefox όχι μόνο παραμένει ο πλέον δημοφιλής browser με 41.7% της αγοράς τον Αύγουστο, αλλά αυτή την στιγμή υπάρχει διαφορά μικρότερη από 1.2% μεταξύ του Internet Explorer που τον Αύγουστο είχε το 27.4% της αγοράς (που αποτελεί ιστορικό χαμηλό για τον δημοφιλή browser στην Ελλάδα) ενώ ο Chrome έχει 26.27%. Όπως το βλέπω εγώ αυτό ουσιαστικά σημαίνει ότι το 67,27% της αγοράς δηλαδή πάνω από τα δύο τρίτα της Ελληνικής αγοράς χρησιμοποιούν ανοιχτού κώδικα ή σε βασισμένους σε ανοιχτού κώδικα browser.

Από την άλλη μεριά στην Κύπρο η εικόνα δεν είναι ακριβώς η ίδια.

Φαίνεται πως οι χρήστες του Internet Explorer έχουν πέσει στο 38.92%  τον Αύγουστο ενώ ήταν 48.91% τον Ιανουάριο μιλάμε για πτώση που πλησιάζει το 10% σε λιγότερο από ένα χρόνο. Από την άλλη o Firefox έχει 28.73% ποσοστό της αγοράς παραμένοντας σχετικά σταθερός. Ενώ ο Chrome έφτασε στο 27.ο6% τον Αύγουστο την στιγμή που τον Ιανουάριο ήταν στο 18.ο1%.

Την προηγούμενη φορά είδαμε ότι το ποσοστό του Linux ήταν πάρα πολύ μικρό, μην νομίζετε ότι τα πράγματα έχουν αλλάξει δραματικά. Για την ακρίβεια έχουν μείνει στάσιμα όσο αφορά το Linux.

Όπως βλέπετε, καλώς η κακώς την πρωτοκαθεδρία την έχει η Microsoft. Βεβαία εδώ πρέπει να προσέξουμε μια μικρή λεπτομέρεια. Πάνω από το εν τρίτο των χρηστών μπαίνει στο internet χρησιμοποιώντας τα Windows XP, πρέπει να θυμηθούμε ότι τον Απρίλιο του 2014 τα Windows XP θα πάψουν να υποστηρίζονται από την Microsoft. Θεωρητικά οι χρήστες των Windows XP θα μπορούσαν να σκεφτούν σοβαρά να χρησιμοποιήσουν Linux στα μηχανήματα τους όσο πλησιάζει η ημερομηνία αυτή.

Όσο αφορά την Κύπρο τα πράγματα και εδώ είναι παρόμοια.

Μόνο που ειδικά τα Windows XP έχουν ποσοστό 29.07%. Επίσης πρέπει να επισημάνουμε ότι το ποσοστό χρήσης Mac OS X είναι κοντά στο 3.62% και του Linux στο 0.52% την στιγμή που στην Ελληνική επικράτεια, το Mac OS X έχει 2.7% της αγοράς και το Linux μόλις το 1.09%.

Όσο αφορά τα λειτουργικά συστήματα για smartphone και tablet τα πράγματα έχουν αλλάξει από το χειμώνα.

Παρά τις διακυμάνσεις το iOS φαίνεται να έχει ακόμη την πρωτοκαθεδρία  στα λειτουργικά συστήματα για συσκευές κινητής με 35.14% ποσοστό, όσο αφορά το Android εδώ βλέπουμε ότι από τέταρτο λειτουργικό σύστημα το χειμώνα με μόλις 16.72% πλέον έχει φτάσει δεύτερο με 31.01% και τάση να αυξηθεί παραπάνω. Το SymbianOS πλέον έχει πέσει τρίτο στα 16.32% έχοντας πέσει περίπου κατά 5% ενώ το λειτουργικό της Sony Ericsson που ουσιαστικά έχει αντικατασταθεί από το Android στα νεώτερα κινητά της έχει πέσει στο 10.25% από το 17.25% του χειμώνα.  Τα Win CE κινητά τηλέφωνα αυτή την στιγμή αντιπροσωπεύουν μόλις το 0.6% της κίνησης στο mobile web ωστόσο εδώ πρέπει να λάβουμε υπόψιν το ότι ακόμη η Nokia δεν έχει παρουσιάσει κινητά τηλέφωνα με το λειτουργικό σύστημα της Microsoft και είναι πιθανό το ποσοστό αυτό να αυξηθεί.

Η εικόνα είναι αντίστοιχη στην Κύπρο.

Στην Κύπρο τα πράγματα στο τομέα της κινητής τηλεφωνίας είναι λίγο διαφορετικά καθώς το iOS φαίνεται να έχει το 39.84% της αγοράς και το Android το 31.21%.

 

 


Αndroid + Αrduino = έξυπνες συσκευές παντού; 1

Στο Google I/O Summit (όπου I/O βγαίνει από το input/output δηλαδή είσοδος/έξοδος δεδομένων) ανακοινώθηκε μεταξύ ένα σωρό άλλων πραγμάτων όπως το Chromebook (laptop που θα τρέχουν το ChromeOS, το οποίο μπορείτε να δείτε πάνω-κάτω πως δουλεύει τα ωραιότατα builds που έχει φτιάξει ο Hexxeh χρησιμοποιώντας ένα USB ), την νεώτερη έκδοση (3.1) του Android SDK  και ένα νέο στοιχείο την πλατφόρμας Android που μάλιστα είναι (backported δηλαδή συμβατό με την έκδοση Android 2.3.4) την υποστήριξη Android Open Accessory.

Τι είναι είναι όμως αυτό το Android Open Accessory και γιατί είναι σημαντικό για το την πλατφόρμα του Android, και που κολλάει το Arduino; Λοιπόν ας τα πάρουμε ένα ένα με την σειρά για να βγάλουμε άκρη. Μέχρι πρόσφατα, όταν είχατε ένα κινητό Android ουσιαστικά δεν μπορούσατε να χρησιμοποιήστε παρά ελάχιστα το USB σας. Οι πιο συνηθισμένες επιλογές που είχατε ήταν να το χρησιμοποιήστε το κινητό σας ως συσκευή εξωτερικής αποθήκευσης είτε σε ορισμένες περιπτώσεις ως τρόπο για να έχετε internet στο υπολογιστή σας. Αλλά το κινητό σας δεν είχε τρόπο να αρχίζει επικοινωνία προς μια άλλη συσκευή USB και να την ελέγξετε.

Τώρα με το Android Open Accessory δίνεται η δυνατότητα στο κινητό σας να βλέπει συσκευές σχεδιασμένες ειδικά για το Android Open Accessory με ένα απλό πρωτόκολλο επικοινωνίας.  Ενώ στο μέλλον θα έχουμε την δυνατότητα επικοινωνίας και μέσω Bluetooth. Ωραία! Θα μου πείτε αλλά το πρώτο πράγμα που θα σκεφτείτε είναι ο μπελάς για το πως θα φτιαχτούν τέτοιου είδους συσκευές σωστά; Εδώ έρχεται το Arduino! Βλέπετε μπορεί όπως πολύς κόσμος εκεί έξω μπορεί να γκρινιάζει ορισμένες φορές για το πόσο υπερβολικό είναι να χρησιμοποιεί κανείς την πλατφόρμα ηλεκτρονικών Arduino για να κάνει απλά πράγματα. Όμως το Arduino έχει ένα βασικό ατού, είναι ότι πρέπει για την ανάπτυξη πρωτοτύπων και δοκιμαστικών συσκευών. Ειδικά με την χρήση shields μπορείς κανείς να προσθέσει μια πλειάδα από έτοιμα προς χρήση κυκλώματα (λες και είναι τουβλάκια) lego από την άλλη το Arduino έχει μια σαφώς πολύ εύκολη γλώσσα προγραμματισμού (από την Assebly που συνήθως χρειάζεται για να προγραμματίσει κανείς ένα μικροελεγκτή).

Τι κάνει λοιπόν η Google, προσφέρει το Android Open Accessory Development Kit ή ADK. Μια υλοποίηση του Arduino (είδατε τι καλό που είναι όταν μια πλατφόρμα είναι ανοιχτό hardware) που υποστηρίζει το Android Open Accesory. Φυσικά μπορείτε να κατεβάστε το απαραίτητο λογισμικό ώστε να λειτουργήσει στο ίδιο πακέτο θα βρείτε και τα σχέδια για το hardware αν μπορείτε και θέλετε να τα φτιάξτε μόνοι σας (ανοιχτό hardware λέμε όχι αστεία) φυσικά υπάρχει η δυνατότητα να τα αγοράστε. (Κοστίζει γύρω στα 275 euros και φτιάχνεται στην Ιαπωνία)

Επειδή φυσικά το Arduino είναι μεγαλούτσικο, ακριβούτσικο και γενικά δεν είναι ότι πρέπει για μαζική παραγωγή συσκευών υπάρχει και η δυνατότητα χρήσης μιας development board βασισμένης στο πολύ διαδεδομένο και μακράν φθηνότερο και μικρότερο microcontroler PIC με το οποίο μπορείτε να φτιάξτε πρωτότυπα που θα είναι πιο κοντά σε προϊόντα παραγωγής η οποία έχει μεν μικρότερο κόστος (γύρω στα 56 euros) που αν και δεν είναι βασισμένη στο ADK μπορείτε να την χρησιμοποιείστε για να φτιάξτε τα δικά σας Open Accessories.

Τα συγκεκριμένα στοιχεία είναι τα απαραίτητα για να δούμε μια ολόκληρο σειρά από νέου τύπου συσκευές (open accessories) που θα επικοινωνούν με συσκευές Android (και επειδή τελικά το πρωτόκολλο του Android Open Accessory είναι ανοιχτό και τεκμηριωμένο σε βάθος ίσως στο μέλλον δούμε και άλλου τύπου συσκευές με λειτουργικά εκτός του Android να επικοινωνούν με τέτοια μπλίμπλίκια). Δυνητικά η τεχνολογία αυτή έχει την δυνατότητα να δημιουργήσει μια νέα αγορά gadgets που μπορεί να μετατρέψει πλέον το κινητό τηλέφωνο μας ή το tablet μας σε ένα universal τηλεχειριστήριο.

Ένα από τα βασικά στοιχεία που μπορούν να επιδράσουν στην υιοθέτηση του Android Open Accesory είναι το γεγονός ότι τα απαραίτητα εργαλεία για την δημιουργία πρωτοτύπων συσκευών είναι όχι μόνο διαθέσιμα αλλά και ανοιχτά που σημαίνει ότι στο μέλλον μπορεί να δούμε ακόμη περισσότερα εργαλεία ανάπτυξης στο συγκεκριμένο πρωτόκολλο. Είμαστε κατά την γνώμη μου πολύ μακριά από το “έξυπνο” σπίτι που όλες οι συσκευές διαχειρίζονται και δίνουν δεδομένα στο κινητό μας τηλέφωνο όμως το γεγονός ότι πολλές από τις εταιρείες που φτιάχνουν συσκευές κινητής τηλεφωνίας που χρησιμοποιούν το Android είναι κατασκευαστές και άλλων ηλεκτρονικών με ονόματα όπως η Alcatel, η Haier, η Kyocera, η LG, η NEC, η Samsung, η Sharp, η Toshiba.

Δεν είναι η πρώτη φορά που έχουμε δει συνδυασμό των τεχνολογιών του Android και του Arduino σε πρωτότυπα, μόλις πριν λίγες ημέρες είχαμε αναφερθεί στο Paperphone, το εύκαμπτο smartphone που το λειτουργικό του σύστημα βασίζεται στο Android και χρησιμοποιεί το Arduino για την συλλογή δεδομένων. Ο συνδυασμός του Android και του Arduino ειδικά σε επίπεδο πρωτότυπου αποτελεί μια εξαιρετική λύση για την ανάπτυξη και το σχεδιασμό συσκευών τεχνολογίας που αξίζει να του ρίξουμε μια ματιά.


Φωνητική αναζήτηση στο Chrome… σε Windows, Mac και Linux!

Ένα θεαματικό εργαλείο πρόσθετο για τον Chrome και μάλιστα κάτω από την MIT License μου έκανε πολύ εντύπωση είναι το Voice Search, ψαχουλεύοντας λίγο στο web store όταν πρωτοείδα το συγκεκριμένο add-on να πω την αλήθεια σκέφτηκα… “χμμφ ακόμη κάτι που δεν θα έχουμε στο Linux για αρκετό καιρό”… και άλλες τέτοιες ανοησίες.

Βιάστηκα να μιλήσω γιατί καθώς διάβαζα την περιγραφή του plugin είδα ότι το plugin δούλευε σε πολλές πλατφόρμες λογισμικού και πως είχε και σελίδα στο GitHub (ναι πάλι το Github πολύ trendy έγινε και αυτό). Λέω και εγώ “ας ρίξω μια ματιά λοιπόν στο κώδικα”, και τότε είδα ότι είναι γραμμένο κάτω από την MIT License. Επίσης επειδή στην σελίδα του add-on στο web store λέει ότι η εφαρμογή ζητά πρόσβαση σε δεδομένα από τα site που μπαίνετε, έριξα μια ματιά στο κώδικα του (γραμμένο κυρίως σε javascript) και από ότι είδα οφείλεται στο ότι προσπαθεί να εντοπίσει ιστοσελίδες με το HTML5 tag input type=search. Από όσο είδα εγώ δεν “τραβάει” δεδομένα σας σε κάποιον σέρβερ.

E, τότε λέω που θα πάει θα το δοκιμάσω αν όπως λέει στην παρούσα φάση οι δυνατότητες του είναι πολύ περιορισμένες.

Η εγκατάσταση, όπως στις περισσότερες  εφαρμογές του Chrome και του Chromium, ήταν αρκετά γρήγορη, και δίπλα από το εικονίδιο των ρυθμίσεων του Chrome είδα ένα ωραίο εικονίδιο μικροφώνου. Λέω μέσα μου… “δεν μπορεί τρέχω Debian Linux στο laptopάκι μου θα μπορέσει αυτό το μικρό πρόσθετο να “δει” το μικροφωνάκι του laptop και να λειτουργήσει;

Χμμ… και όμως λειτούργησε λίγο περίεργα αλλά λειτούργησε αρκετά καλά. Στις πρώτες δύο, τρεις δοκιμές υπήρχε αρκετός θόρυβος στο χώρο και η αλήθεια είναι ότι άλλα έλεγα και άλλα “καταλάβαινε” το voice search με κλειστό θόρυβο και εμένα να μην μιλάω μέσα από τα δόντια μου το plugin δούλευε πολύ καλύτερα. Ok 2-3 φορές μπέρδεψε το Linux με το Linksys… αλλά anyway το “google images cats μια χαρά μου δούλεψε.

Πριν κλείσω να τονίσω ότι το δοκίμασα στο Chromium 6.0.472.63 χωρίς επιτυχία και στο Chrome 8.0.552.224 στο δεύτερο με εξαιρετική επιτυχία.

Αν είστε συχνοί αναγνώστες του elkos.gr και χρησιμοποιείτε το Chrome μπορείτε να ρίξτε μια ματιά και στην δική του πολύ μα πολύ απλούστερη “εφαρμογή”