# error ? {gr}

Parrot Tunes: Φτάσαμε στην 0.16.0 (I love Docker)

Το τελευταίο post εδώ το έκανα με την έκδοση 0.10.0. Από τότε πολύ νερό κύλησε. Μπήκαμε σε φάση beta και πάρα πολλές αλλαγές/διορθώσεις/βελτιώσεις γίνανε.

Πάμε να τα πιάσουμε με την σειρά.

Τον Σεπτέμβριο προστέθηκε η δυνατότητα να ανεβάζει ο χρήστης media αρχεία, απευθείας από το web περιβάλλον. Δεν χρειάζεται δηλαδή να αντιγράφει τα αρχεία σε κάποιον φάκελο και να πατάει μετά συγχρονισμό μέσα στην εφαρμογή. Ο συγχρονισμός παραμένει, αλλά στην ουσία είναι για την πρώτη φορά που πρέπει να περαστούν ακόμη και χιλιάδες αρχεία. Στην συνέχεια που ο χρήστης απλά περνάει μερικά αρχεία κάθε φορά, τα κάνει upload απαυθείας από τον browser του.

Με αυτή την προσθήκη η εφαρμογή μπήκε και σε φάση beta.

Τον ίδιο μήνα ανέβηκε και η έκδοση 0.12.0 που είχε μερικές αλλαγές στην δομή του κώδικα και αρκετές διορθώσεις σφαλμάτων.

Εκεί όμως που του άλλαξα τα φώτα, του κώδικα, ήταν στο επόμενο update τον Οκτώβριο. Εκεί άλλαξε όλη η δομή στο πως καλούνται όλες οι κλήσεις AJAX, με χρήση routing. Ένα πρώτο δειλό τσαλαβούτημα στα νερά του MVC pattern.

Όλες αυτές οι αλλαγές όμως δεν ήταν αναίμακτες. Πολλά πράγματα σπάσανε, ειδικά όποια δεν δούλευα εγώ προσωπικά και δεν είχα προσέξει. Έτσι τον Νοέμβριο ανέβηκε το επόμενο update με πολλές διορθώσεις και μια προσπάθεια να παίζει η εφαρμογή και σε Lighttpd, εκτός από Apache.

Μέχρι που ήρθε ο Δεκέμβριος και άλλαξε ολόκληρη η οπτική μου, για τον δρόμο που θα πάρει η εφαρμογή. Μπήκα στον θαυμαστό κόσμο του Docker κι έτσι ελάχιστη προσοχή θα δίνω τώρα για το πως θα εγκαταστήσει κάποιος την εφαρμογή στον server του. Θεωρητικά μπορεί να το κάνει, αλλά δεν ξέρω τι μπορεί να σπάσει από εδώ και πέρα. Η εγκατάσταση της εφαρμογής προτείνεται πλέον να γίνεται σε Docker.

Αυτό σημαίνει ότι ο χρήστης (χοντρικά) εγκαταστεί το Docker (αν δεν το έχει ήδη), κατεβάζει τα αρχεία της εφαρμογής, τρέχει μια εντολή και όλα είναι έτοιμα, χωρίς να παιδεύεται με τις διάφορες απαιτήσεις που μπορεί να έχει η εφαρμογή. Αναλυτικές οδηγίες εγκατάστασεις, εδώ.

Έτσι η έκδοση 0.15.0 ήταν εξ ολοκλήρου αφιερωμένη στο Docker… και φυσικά σε διορθώσεις σφαλμάτων. Και ακολούθησαν και 2 μικρές εκδόσεις με… διορθώσεις σφαλμάτων.

Με το Docker βελτιώθηκε πολύ και ο τρόπος που δουλεύω γενικά πάνω σε εφαρμογές. Πολύ εύκολα ανοίγω μηχανές για Dev και μπορώ να μετακινούμε ακόμη και από μηχάνημα σε μηχάνημα πολύ εύκολα. Φυσικά μπορώ να σκέφτομαι από εδώ και πέρα ουσιαστικά για dekstop web εφαρμογές, χωρίς να περιορίζομαι με το πως ο χρήστης θα τις εγκαταστήσει σε server του κτλ

Η τελευταία έκδοση ήρθε να προσθέσει μια δυνατότητα που μπορεί να γλιτώσει χρήματα για τον χρήστη. Προσωπικά ακούω πολύ μουσική από το κινητό (στο ποδήλατο, στο αυτοκίνητο κτλ) κι έτσι η κατανάλωση mobile data γίνεται με το τσουβάλι. Σκεφτόμουν καιρό πως θα μπορούσα να μετατρέπω τα τραγούδια σε πραγματικό χρόνο, σε χαμηλότερο bitrate, ώστε να γλιτώνω bandwidth.

Τελικά η μετατροπή, όσο καλό μηχάνημα και να έχεις, χρειάζεται μερικά δευτερόλεπτα. Οπότε δεν μπορώ να μετατρέπω το τραγούδι την στιγμή που πάει να φορτώσει και να αρχίσει να παίζει. Πρέπει να γίνει όσο παίζει το προηγούμενο τραγούδι. Έτσι τώρα, την στιγμή που το τραγούδι που παίζει μπει σε κατάσταση played (by default στο 20% του χρόνου του. Μπορεί να το αλλάξει ο χρήστης αυτό), τότε η εφαρμογή ψάχνει να δει ποιο θα είναι το επόμενο τραγούδι που θα παίξει (Πριν αυτό γίνονταν στο τέλος του κάθε τραγουδιού). Αφού βρει το επόμενο, τότε αρχίζει και την μετατροπή του σε χαμηλότερο bitrate και το σώζει σε προσωρινό φακέλο. Έτσι όταν πάει να παίξει, θα παίξει αυτό το προσωρινό και όχι το original. By default το μετατρέπει στα 64k, αλλά και αυτό φυσικά μπορεί να το αλλάξει ο χρήστης στα options.

Αυτή την μετατροπή μπορεί ο χρήστης να την ενεργοποιεί/απενεργοποιεί όποτε θέλει, αφού έχει μπει σχετικό κουμπάκι στον player.Το επόμενο βήμα για το Parrot Tunes, μάλλον πρέπει να είναι ένα δυνατό update στην εμφάνιση, που γενικά την έχω παραμελήσει. Με ενδιέφερε απλά να παίζει με μια σχετική ευχρηστία. Και μάλλον πρέπει να μπω στα χωράφια του Bootstrap.

Αναλυτικά οι αλλαγές που έχουν γίνει από την αρχή στο Parrot Tunes.

 

 

 

 

 

28/12/2017 Τεχνολογία, Μουσική
1 to “Parrot Tunes: Φτάσαμε στην 0.16.0 (I love Docker)”

Trackbacks/Pingbacks

  1. […] εκατομμυρίων χρηστών του Parrot Tunes. Το υποσχέθηκα στο προηγούμενο post, τώρα έγινε πράξη. Στις 28/12 υποσχόμαστε, στις 12/1 […]

  1. » Ήταν δίκαιο, το έκανα πράξη says...

    […] εκατομμυρίων χρηστών του Parrot Tunes. Το υποσχέθηκα στο προηγούμενο post, τώρα έγινε πράξη. Στις 28/12 υποσχόμαστε, στις 12/1 […]

Leave a comment