skip to main content

19 ΣΕΠ 2011

case study: pressXpress.gr

Tags: pressxpress. typography, calculator, υπολογισμός τιμής

γράφει ο Αχιλλέας Μαρούλης
Πρόσφατα δημοσιεύθηκε η ιστοσελίδα www.pressxpress.gr. Πρόκειται για μια πρωτοποριακή υπηρεσία μέσω της οποίας οι επισκέπτες/χρήστες της μπορούν να παραγγείλουν ηλεκτρονικά μια εκτύπωση χωρίς να χρειαστεί σε κανένα στάδιο η προσωπική επικοινωνία. Σε αυτήν την ιστοσελίδα οι προκλήσεις ήταν πολυάριθμες και κυρίως σε προγραμματιστικό επίπεδο. Ας δούμε όμως τα ζητούμενα από την αρχή.
 

Εικαστικό: 

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

Ο δυναμικός μηχανισμός υπολογισμού τιμής ενός προϊόντος. 

Όλα τα πεδία και τις τιμές τους καθώς επίσης και τον τρόπο που επηρεάζουν την τελική αξία, τα ελέγχει ο διαχειριστής μέσω του cms.
Προϊόντα: Η βάση δεδομένων των προϊόντων ήταν η μεγαλύτερη πρόκληση της ιστοσελίδας. Το βασική ζητούμενο ήταν να υπάρχει ένας αυτόματος υπολογιστής κόστους για κάθε προϊόν. Έτσι ο επισκέπτης της σελίδας θα μπορεί να επιλέγει το προϊόν που θέλει (πχ κάρτες ή φακέλους ή σελιδοδείκτες κλπ) και ανάλογα με τα χαρακτηριστικά του κάθε προϊόντος θα του εμφανίζεται μια ειδική φόρμα επιλογών (πχ διαστάσεις, τύπος/βάρος χαρτιού, αριθμός τεμαχίων κλπ). Με κάθε επιλογή στη φόρμα υπολογίζεται το κόστος του προϊόντος. Εδώ είναι και το πρώτο ειδικής δυσκολίας θέμα της σελίδας… Τα προϊόντα δεν είναι fix! Ο ιδιοκτήτης της σελίδας θα πρέπει να μπορεί να δημιουργεί νέα προϊόντα, με νέες παραμέτρους που συμμετέχουν με διαφορετικό τρόπο στην συνάρτηση υπολογισμού του κόστους! Άλλες παράμετροι είναι ανάλογες της ποσότητας, άλλες με αρχική τιμή και κόστος ανά 1000άδα εκτύπωσης. Άλλες ανάλογες με το βάρος και άλλες με τα συνολικά τετραγωνικά μέτρα του χαρτιού που θα καταναλωθεί. Και όλα τα παραπάνω υπολογίζονται σε δύο διαφορετικές εκδοχές, για offset και για ψηφιακή εκτύπωση , έτσι ώστε να προταθεί η οικονομικότερη λύση. Τέλος, όλα τα παραπάνω θα είναι δυναμικά! Δηλαδή ο διαχειριστής του συστήματος θα πρέπει να μπορεί να δημιουργεί προϊόντα και να τα διαχειρίζεται όλα μέσα από το cms μας. Άρα δεν αρκεί o προγραμματισμός των προϊόντων αλλά χρειάζεται και ένα ειδικό interface στον οποίο να αισθάνεται άνετος ο διαχειριστής (σημείωση: η αλήθεια είναι πως ο διαχειριστής των παραπάνω είναι ο ίδιος που σχεδιάζει τους αλγόριθμους κοστολόγησης, άρα οι περισσότερες πιθανότητες είναι να μπορεί να καταλάβει πολύ καλά τι πρέπει να κάνει μέσα στο cms).
Τα παραπάνω αντιμετωπίστηκαν επιτυχώς με μια πολύπλοκη MySQL database  και την αγαπημένη μας PHP και αφού φυσικά προσαρμόσαμε το cms της gravity ώστε να ανταποκρίνεται στις παραπάνω απαιτήσεις. Επίσης, με τεχνολογία ajax και μέσω του jquery, ο υπολογιστής τιμής των επιλογών του επισκέπτη λειτουργεί ασύγχρονα έτσι η τελική τιμή εμφανίζεται χωρίς να χρειάζεται reload της σελίδας.
 

Upload μακέτας

Το επόμενο σημαντικό request ήταν η δυνατότητα των χρηστών να μπορούν να ανεβάζουν τα πολύ μεγάλα προς εκτύπωση αρχεία τους. Η τεχνολογία html δεν είναι σχεδιασμένη για μεγάλα uploads ενώ οι ρυθμίσεις των κοινών webservers δεν επιτρέπουν καν το upload αρχείων μεγαλύτερων από μερικά Mbytes. Η λύση δόθηκε με το jQuery plugin uploadify, το οποίο, επίσης με ασύγχρονη τεχνολογία, μπορεί να μεταφέρει πολύ μεγάλα αρχεία στο server. Εκεί τα παραλαμβάνει η php που με τη χρήση της ImageMagick διαβάζει και ελέγχει την ορθότητα των αρχείων. Έτσι πριν προχωρήσει ο χρήστης το σύστημα είναι σε θέση να επιβεβαιώσει τους τύπους, τις διαστάσεις και τον αριθμό σελίδων του αρχείου. Και σαν να μην έφτανε αυτό, το σύστημα μας δημιουργεί και thumbnail του αρχείου! Αυτό, το τελευταίο, είναι ιδιαίτερα σημαντικό καθώς: ενώ η πλειοψηφία των webservers είναι έτοιμοι στο να δημιουργούν thumbnails από αρχεία εικόνων  δεν είναι έτοιμοι στο να το κάνουν αυτό με αρχεία pdf, που είναι ο βασικός τύπος αρχείων που χρησιμοποιούνται για την παράδοση μακετών στα τυπογραφεία.  
 
Επιλογή στοιχείων τιμολόγησης, αποστολής της παραγγελίας και τρόπου πληρωμής. Το κόστος αποστολής εξαρτάται από το βάρος της παραγγελίας και τη ζώνη αποστολής και υπολογίζεται αυτόματα.
Πραγματοποίηση παραγγελίας: Στα πλαίσια της προσπάθειας η παραγγελία να είναι μια πολύ εύκολη διαδικασία, αυτή γίνεται στην ουσία σε δύο μόλις βήματα (εφόσον ο χρήστης έχει ήδη εγγραφεί στη σελίδα). Το πρώτο βήμα γίνεται ήδη από την καρτέλα του προϊόντος, όπου ο πελάτης σχηματίζει στον «υπολογιστή κόστους» τα επιθυμητά χαρακτηριστικά και πατάει το κουμπί «προσθήκη στο καλάθι».
Η δεύτερη και τελευταία οθόνη που αντικρίζει ο πελάτης είναι το καλάθι του στο οποίο βρίσκεται το προϊόν, με όλα του τα χαρακτηριστικά και το κόστος του. Εκεί ο χρήστης μπορεί να ανεβάσει τη μακέτα, όπως περιγράφεται παραπάνω. Στη συνέχεια, στο κάτω μέρος της οθόνης επιλέγει τα υπόλοιπα χαρακτηριστικά της παραγγελίας του που είναι: ο τρόπος και τόπος παράδοσης, ο τρόπος πληρωμής και η χρήση κάποιου κουπονιού έκπτωσης που πιθανά αυτός διαθέτει.
 
Άλλα χαρακτηριστικά του συστήματος είναι τα εξής:
  • Αυτόματος υπολογισμός κόστους παράδοσης βάσει βάρους προϊόντος και περιοχής παράδοσης
  • Δυνατότητα τήρησης πολλών διαφορετικών διευθύνσεων παράδοσης ανά χρήστη
  • Ιστορικό παραγγελιών χρήστης
  • Σύστημα προσφορών
  • Εκπτωτικά κουπόνια
  • Online συναλλαγές