2014.12.05

Δυο ημέρες με το Myo

Πριν από τρία περίπου χρόνια εξετάζαμε το ενδεχόμενο ανάπτυξης του AthensBook ως ένα ‘φυσικό’ αντικείμενο (κιόσκι) το οποίο θα βρισκόταν σε συγκεκριμένα σημεία στην πόλη (π.χ. στο lobby ενός ξενοδοχείου, ενός δημόσιου κτηρίου ή την σάλα ενός καταστήματος) και θα επέτρεπε σε περαστικούς αλλά και τακτικούς χρήστες της εφαρμογής να λάβουν υπερ-τοπικές πληροφορίες ακόμη και όταν δεν είχαν μαζί τους κάποια συσκευή που υποστηρίζουμε (η διείσδυση των smartphones το 2011 ήταν αρκετά — πιο — περιορισμένη απ’ότι σήμερα). Στα πλαίσια της αρχικής έρευνας έκανα μια αίτηση στην Leap Motion για την, ιδιαίτερα καινούργια τότε, συσκευή τους το Leap Motion Controller. Η ιδέα ήταν απλή: να αντικαταστήσουμε το ‘άγγιγμα’ με ‘gestures’ στον αέρα. Να δώσουμε τη δυνατότητα χρήσης της ‘εφαρμογής’ δηλαδή χωρίς την υποχρέωση του αγγίγματος μιας οθόνης (κάτι που είναι, δυνητικά, δύσκολο σε κάποιες περιπτώσεις, όπως π.χ. όταν συναντώνται capacitive touchscreens και γάντια). Λίγο καιρό αργότερα η αίτηση έγινε δεκτή και λάβαμε το Leap Motion SDK και ένα prerelease unit του Leap.

Δυστυχώς η εμπειρία χρήσης ήταν κατώτερη των προσδοκιών. Αφήνοντας τα προβλήματα στη πλευρά του λογισμικού (το οποίο συνεχώς ενημερώνεται και βελτιώνεται) η εμπειρία που είχαμε ήταν αντίστοιχη αυτής που έχει καταγραφεί από αρκετούς, κάποιους περισσότερο και άλλους λιγότερο διάσημους, καθώς και διάφορα μέσα: το Leap είναι ένας πολλά υποσχόμενος, ίσως και επαναστατικός τρόπος χρήσης του υπολογιστή σου αλλά σήμερα δεν είναι ούτε κατ’ελάχιστον έτοιμος για χρήση από το ευρύ κοινό. Τα προβλήματα του είναι αρκετά και πολυδιάστατα: αφενός πρέπει να κρατάς σε σταθερή σχετικά απόσταση το χέρι σου από τον αισθητήρα. Και όσο γυμνασμένο χέρι, μπράτσο και ώμο κι αν έχεις, αυτό γίνεται πολύ γρήγορα κουραστικό, αν όχι αδύνατο. Αφετέρου, δεν έχει καθόλου εύκολο τρόπο να ‘κλείσεις’ τη συσκευή προσωρινά. Τα ‘όρια’ μεταξύ λειτουργίας και παύσης είναι εντελώς αυθαίρετα. Υπάρχουν κάποια gestures που τείνουν να γίνουν πρότυπο αλλά αφενός δεν είναι αποδεκτά απ’όλους ακόμη, αφετέρου πολλές φορές στο μεσοδιάστημα μερικών δεκάτων του δευτερολέπτου που μεσολαβεί ενδέχεται να εκληφθούν κινήσεις και εντολές από τη κίνηση του καρπού, κάτι που σε περιπτώσεις μπορεί να είναι καταστροφικό. Το τελευταίο μέρος σταδιακά βελτιώνεται με καλύτερες βιβλιοθήκες και καλύτερους ‘πελάτες’ αυτών, όμως τέτοια ζητήματα διεπαφής είναι πολύ βασικά και, όπως φαίνεται, δεν έχουν αντιμετωπισθεί συστημικά από το Leap μέχρι στιγμής.

Κατά συνέπεια το Leap είναι μια συσκευή όπου πρέπει διαρκώς να σκέφτεσαι που βρίσκεται το χέρι σου, τι θέση έχει σε τρεις διαστάσεις, κάτι αρκετά κουραστικό πέραν από φυσικά και νοητικά. Τέλος, οι σημερινές υπολογιστικές συσκευές κατά κανόνα δεν ταιριάζουν με το Leap. Ίσως μια μελλοντική συσκευή, απόγονος ενδεχομένως του ‘παραδοσιακού’ υπολογιστή εργασίας (desktop, laptop κλπ), με αισθητήρα μεγαλύτερης διακριτικής ικανότητας, όχι χρονικά (το Leap παίρνει δείγματα στα 290Hz) αλλά χωρικά, που θα απευθύνεται δηλαδή σε άτομα που κάθονται π.χ. πάνω σε ένα ‘έξυπνο’ τραπέζι (βλ. Microsoft Surface — το αυθεντικό, πλέον γνωστό ως PixelSense — όχι η αποτυχημένη-εμπορικά-και-φρανκενστάιν-χρηστικά-ταμπλέτα) να ήταν τελικώς πολύ εύχρηστο. Και φυσικά φαίνεται πως έχει μεγαλύτερο πεδίο εφαρμογής σε ειδικόυς τομείς, όπως π.χ. την μετάφραση νοηματικής γλώσσας σε ‘πραγματικό χρόνο’, κάτι που ήδη γίνεται από προσπάθειες όπως το MotionSavvy, ή την διάγνωση της νόσου του Πάρκινσον κλπ. Λίγους μόνο μήνες μετά την παραλαβή του Leap έμαθα για το Myo της καναδικής Thalmic Labs. Μια συσκευή που επίσης υπόσχεται πολλά, όμως παίρνει έναν εντελώς διαφορετικό δρόμο για να το επιτύχει.

Τι είναι το Myo

myo
»

comments


» Fira Sans and Fira Mono

After many years of using Inconsolata Hellenic on my linux and OS X boxes as the monospace font of choice for development, I switched to Fira Mono, commissioned by Mozilla for their Firefox OS and designed by Erik Spiekermann. Inconsolata might have been one of the best looking monospace fonts I’ve ever seen – and the fact that it was free made it an insanely great choice – but it was time for a change. Oh and one more thing, Fira has full support for (monotonic) Greek.

comments

» Go and Javascript.

I’m going to go out on a limb and predict that Python is being replaced by Go. I don’t have a lot of information to back up this prediction except that most of the positive articles I read about Go are written by Python developers, and a lot of them say that they are now actively migrating their code base from Python to Go. I don’t see as much enthusiasm for Go from developers using statically typed languages, probably because of Go’s antiquated type system (which is still a big step up from Python, obviously).

1 comments


2014.04.23

geodata.gov.gr: Στις ‘ελληνικές καλένδες’ των Δημόσιων Δεδομένων

Πριν από περίπου τέσσερα χρόνια υπέπεσε στην αντίληψή μου το geodata.gov.gr. Ήταν ένα από τα οράματα του τότε Πρωθυπουργού, για μια Ελλάδα τεχνολογικά ανεπτυγμένη, κοινωνικά δίκαιη, δημοσιονομικά εύρυθμη κλπ. Το geodata.gov.gr ήταν (αναφέρομαι εκούσια και επιτηδευμένα σε παρελθοντικό χρόνο) ένα portal δημόσιας γεωγραφικής πληροφορίας που στόχο είχε να συσσωρεύσει δημόσια πληροφορία και να την διαθέσει στο κοινό, συχνά κάτω από όρους ευνοϊκούς τόσο για προσωπική όσο και για ερευνητική ή εμπορική χρήση.

Ταυτόχρονα με το geodata.gov.gr έγινε αισθητή και η κρίση και το (αφελές) όραμα του τότε Πρωθυπουργού μετασχηματίστηκε σε έναν (έμπρακτο) οικονομικό, πολιτικό και, εν τέλει, κοινωνικό εφιάλτη από τον οποίο ακόμη δεν έχουμε ξυπνήσει. Η πρώτη προσπάθεια δημιουργίας μιας ενημερωμένης, πλούσιας βάσης γεωχωρικών δημόσιων δεδομένων σύντομα άρχισε να δείχνει την ηλικία της. Μέχρι το φθινόπωρο του 2011, όταν διατέθηκαν τα δεδομένα του δικτύου του ΟΑΣΑ, η παρακμή ήταν ήδη εμφανής: τα περισσότερα από τα στοιχεία του geodata.gov.gr ήταν ήδη παρωχημένα, ενώ τα μόλις ανακοινωθέντα δεδομένα του ΟΑΣΑ, που διατέθηκαν βάσει του προτύπου GTFS που σχεδιάσε και χρησιμοποιεί η Google για να προσφέρει λειτουργίες πλοήγησης σε δίκτυα ΜΜΜ ήταν τόσο προβληματικά που ο Phil Stubbings, ένας βρετανός μηχανικός λογισμικού που κατοικούσε εκείνη την εποχή στην Αθήνα και είχε δημιουργήσει, μετά από πολύ κόπο και μεράκι, το zee.gr, ένα φανταστικό project καταγραφής και κωδικοποίησης του δικτύου των ΜΜΜ στην Αθήνα με σκοπό την δημιουργία ενός διαδικτυακού journey planner, έγραφε στο FAQ του zee.gr:

The data however contained many errors, for example buses traveling at the speed of light, missing and corrupt trips and incorrect ordering of stops. For this reason, I have corrected many schedules, added/removed routes and in combination with my initial data-set, effectively have a distinct set of transit data. I believe that OASA (and soon OAS.TH) will provide an updated feed. If interested, keep checking here for updates.

Δυστυχώς, η πίστη του Phil στην Ελληνική κυβέρνηση μάλλον τον πρόδωσε. Παρ’ότι ο ΟΑΣΑ ανανέωσε τον περασμένο Δεκέμβριο τα δρομολόγια (ομολογώ πως δεν έχω ελέγξει την ποιότητα των νέων δρομολογίων για να μπορώ να κρίνω αν είναι καλύτερα από τα παλαιότερα που αναφέρει ο Phil παραπάνω) οι στάσεις και το γενικότερο δίκτυο του οργανισμού παραμένει ανενημέρωτο από το 2011. Η ίδια εικόνα επικρατεί στις περισσότερες άλλες κατηγορίες πληροφορίων, με τον αριθμό των ενημερώσεων που έχουν λάβει χώρα στον δικτυακό τόπο τον τελευταίο χρόνο να μετρούν λιγότερες από δέκα.
»

1 comments

2014.04.22

Apple UX Regressions

These past few years have been a somewhat turbulent time for Apple. Its market dominance in the smartphone race diminished, its profits holding strong, but investor and analyst confidence evaporated, its once infallible strategy, product line, image and appeal gone and its appeal lacklustre compared to the past.

The post-Steve Jobs Apple gradually shifted its culture as new executives took the reigns and old ones departed. Much publicised was Tim Cook’s change regarding the company’s relationship with analysts and shareholders with the company giving out dividends for the first time in many years, after Steve Jobs steadfastly refused to do so. Also widely reported was Scott Forstall’s firing back in 2012, allegedly for refusing to apologise for botching Apple Maps.

And while Apple’s products are probably as polished as they ever were, there are issues here and there that are more subtle, less obvious and less publicised than Forstall’s joke of a Maps application; issues that differ significantly from Steve Jobs approach of releasing feature-limited versions of extremely polished software cheaply and slowly building upon it until it became a class-leading product with an extremely solid foundation. iOS 7, with its revamped UX and æsthetic was initially riddled with an insane amount of bugs, but also with subtle usability regressions that Apple has been struggling to fix these past few months with its numerous point releases. Design issues like the fact that e.g. in the Calendar application you cannot slide your finger over dates and quickly see events scheduled for the date under your finger, as you could do in the iPhone calendar since the very beginning. Or the moronically coloured shift key in the iOS 7.x keyboard that is way less usable and whose state is not as obvious as it were in the classic iOS keyboard. Or in OS X on the menu bar where the Time Machine icon changes so subtly when a backup is in progress, in stark contrast to earlier versions where an animated icon clearly indicated backup activity. UX regressions that are not merely bugs; they are design decisions.

We have not heard much about the next release of OS X, other than the fact that many of iOS 7’s ‘revamps’ are coming to the Mac. Hopefully the slew of iOS 7 issues and usability regressions will have taught Apple a lesson and 10.10 (or whatever they may number it) won’t suffer from usability issues, regressions and ‘rushed’ releases that were previously not part of Apple’s playbook.

comments


» There goes your airgap.

This latest leak details how the NSA accessed targets by inserting tiny circuit boards or USB cards into computers and using radio waves to transmit data without the need for the machine to be connected to a wider network.

It is a significant revelation in that it undermines what was seen to be one of the simplest but most effective methods of making a system secure: isolating it from the internet.

In other words: the NSA planted tranmitters (or tranceivers) and effectively turned air-gapped machines into machines transmitting to (/receiving from) their systems. Somewhat different from actually snooping on ‘offline’ machines, ala Tempest, as what many ‘news’ organizations hinted at by using inaccurate titles (the BBC, quoted above from this article, included).

Unless all your offices are room-sized Faraday cages, with physical security and extensive background checks of the machine operators, the NSA just invalidated your airgap policy. But then again, your security was probably flawed anyway, especially against an adversary that competent/determined/resourceful.

comments

»  A Colourable iOS 7 Map Pin (Photoshop)

For anyone developing iOS 7 maps-enabled apps, you probably know that the pin image has changed for this version of iOS. iOS has long limited the provided pin colours to Red, Green and Purple. Here is a layered Photoshop file that we used in the latest version of AthensBook and you can use to change the pin colour. Besides the base layer, there are two hue-saturation-brightness layers. You use the first layer titled ‘Brightness’ to change the brightness of the colour. Don’t touch the hue or saturation sliders on this layer. The second layer allows you to change the hue and saturation of the pin colour.

Using both layers allows you to set the pin colour to anything.

pin.lightbluepin.pinkpin.darkmarinebluepin.marineblue
pin.orangepin.brightredpin.wineredpin.lightgreen

Disclaimer: This is obviously based on a pin image that I extracted using UIImagePNGRepresentation and copied the resulting PNG after running the extracting code in the iOS Simulator. The original pin image is (almost certainly) copyrighted by Apple Inc. I am not affiliated with Apple Inc. in any way whatsoever and I am only providing this composite to assist developers in creating iOS 7 applications. I do not claim any copyright on Apple’s intellectual property. If you are an Apple employee or, dog forbid, lawyer, and object to the use of this bitmap, please let me know and I will remove the image. Hopefully you’re not that bothered/braindead and appreciate its value to the Apple Developer community.

comments


2013.09.22

Mind your Mind Share

It is almost 6 years since Apple announced and released the iPhone. I still remember Steve Jobs mentioning that his goal for the first year was to get 10M iPhones shipped; at the time almost 1% of the global mobile telephony market share. The goal seemed totally unrealistic to anyone involved in the industry as that would amount to dozens of millions of units sold. The iPhone came out, and despite having significantly inferior technical specifications in some of the most crucial benchmarks, such as the quality of its camera, the lack of 3G, the extremely slow CPU, the lack of MMS-support (a relatively obscure, yet somewhat ubiquitous feature of ‘feature’ phones, especially in Europe) and others, managed to exceed the 1% goal that Steve Jobs had set a year earlier. It soon became that the reference state-of-the-art device that exemplified everything that Apple had to offer in its nascent post-iPod era, where mass market was apparently successfully coupled with premium quality design and manufacturing and extremely high margins.

At the same time Google had already bought and was preparing for the launch of the Android Platform, an open source new generation smartphone platform based on linux and a slew of open-source libraries and APIs (including Java running on Google’s Dalvik VM) with a large ecosystem of vendors and supporters and Google at its centre. Google originally hoped to create a large ecosystem of OEMs, carriers and application developers all working for it and not against it. I had high hopes for Android in 2007, the same kind of high hopes you’d find developers, engineers, and ‘geeks’ worldwide having about ‘desktop linux’ around ten years earlier.

Contrary to desktop linux — and similarly to Microsoft Windows — Android gradually prevailed in the early smartphone wars, now commanding around 80% of the market share. But Android did not turn out what I (or Google, for totally different reasons) hoped it would; instead it evolved into a sprawling, chaotic, in some ways brilliant and others completely backward platform, combining the best of new technology, and geeky, specification based computing metrics and the worst of the technology industry compromises that accompanied computing since its early days. Fundamental concepts of mobile computing were butchered, like basic navigation, consistency, to manually controlling the power saving, managing tasks, having well-thought out, stable APIs, coupled with mediocre devices, widely varying user experiences and a generally poor roster of applications, as different device manufacturers created their own “skins” — as well as their own set of poorly designed and implemented software to accompany them — resulted in a desperate effort to differentiate their offerings from those found in the stock version of the operating system and an ever increasing pool of mediocrity. The irony, of course, was that the stock operating system was practically nowhere to be found except for Google’s own Nexus series of devices, a showcase of Google’s vision that permeated the developer community and diffused into the wider smartphone-toting populace. Devices cost just a small fraction less than Apple’s ‘closed’ iPhone, but demonstrated horrific deficiencies in performance and quality; the software stack was not optimized, power efficiency was poor, even with batteries much larger than those found on iOS devices. The hardware also lacked in some cases, like the response of the touchscreen, often blamed purely on the sub-par performance of Android, but apparently also caused by inferior hardware. Yet android was improving.

In a couple of years the number of android devices sold surpassed that of iPhones. Coupled with the global financial crisis, the iPhone failed to become a commodity device (at least outside of the large metropolises of the West, where salaries did not reach, let alone exceed, tens of thousands of $ or €) in the same way that the iPod had succeeded in doing a few years earlier. It was still the leading device, both from the design and technology perspective, but it was rapidly losing ground in terms of sales as people chose cheaper android devices. Apple was unfazed: it’s margins were still high, it still had the mind share. Above all, it still produced the definitive smartphone, the reference device that everybody else copied in one way or another.
»

comments

Linode. Affordable, Fast, SSD VPS