I’d like to speak about liveness, it has been introduced in Xcode 6 and along with storyboard and interface preview is a great way to help you undestand how your application will look like without even launching on the simulator.
Watching the documentation I thought it was possible only by creating a subclass of UIView (or UIControl) programatically, while instead is possible to build our own UIView implementation and attach a xib file to it.
This is really helpful, for instance if you need to create a complex layout in a view building it with interface builder is a lot easier instead of coding each constraints.
How to do that?
1. Create a custom UIView subclass and a xib files, that we will name after our own class name: in our case MemeView. Inside the Meme View class remember to define it as designable, by adding the @IBDesignable attribute before the class declaration
2. Rember to set the File’s Owner in the xib with our custom UIView subclass in Indetity Inspector panel

Memeview custom class
3. In the xib file now we can build our interface, make constraints, create outlets, actions etc.

Meme view connection
4. We need to implement few methods to our custom class to open the xib once initialized

    weak var nibView: UIView!

    override convenience init(frame: CGRect) {
        let nibName = NSStringFromClass(self.dynamicType).componentsSeparatedByString(".").last!
        self.init(nibName: nibName)

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        let nibName = NSStringFromClass(self.dynamicType).componentsSeparatedByString(".").last!
        let nib = loadNib(nibName)
        nib.frame = bounds
        nib.translatesAutoresizingMaskIntoConstraints = false
        nibView = nib

    init(nibName: String) {
        super.init(frame: CGRectZero)
        let nibName = NSStringFromClass(self.dynamicType).componentsSeparatedByString(".").last!
        let nib = loadNib(nibName)
        nib.frame = bounds
        nib.translatesAutoresizingMaskIntoConstraints = false
        nibView = nib

    func setUpConstraints() {
        ["V","H"].forEach { (quote) -> () in
            let format = String(format:"\(quote):|[nibView]|")
            addConstraints(NSLayoutConstraint.constraintsWithVisualFormat(format, options: [], metrics: nil, views: ["nibView" : nibView]))

    func loadNib(name: String) -> UIView {
        let bundle = NSBundle(forClass: self.dynamicType)
        let nib = UINib(nibName: name, bundle: bundle)
        let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView

        return view

5. In our custom class we can also define some inspectable properties to have full control over them from interface builder

 @IBInspectable var memeImage: UIImage = UIImage() {
        didSet {
            imageView.image = memeImage
    @IBInspectable var textColor: UIColor = UIColor.whiteColor() {
        didSet {
            label.textColor = textColor
    @IBInspectable var text: String = "" {
        didSet {
            label.text = text
    @IBInspectable var roundedCorners: Bool = false {
        didSet {
            if roundedCorners {
                layer.cornerRadius = 20.0
                clipsToBounds = true
            else {
                layer.cornerRadius = 0.0
                clipsToBounds = false

    @IBOutlet weak var label: UILabel!
    @IBOutlet weak var imageView: UIImageView!

In this case swift property observers are super helpful in detect property changes and apply them in real time to out interface.

As a note is worth to mention that not all the types of variable can be inspected (CGPoint, CGSize, CGRect, UIColor, NSRange, UIImage and numbers), for instance if you try to make a font property inspectable it will fail silently and it will not be displayed inside the attribute inspector.

To abstract a little more the xib loading process I created a class subclass of UIView that already takes care of loading “a same class name” xib.

Here are the results.

memeview grumphymeme view koala

If we need to fill with more information the view while it is displayed inside a storyboard or another xib, we can implement prepareForInterfaceBuilder(), this method will be executed only while opening the file in interface builder.

If you did everything I wrote but nothing is working, there is a way to debug a sigle view by adding breakpoints in its implementation.

debug view
You can download this little sample from dropbox.

I don’t want to start explaining what is “the internet of things” because it’s a really huge topic, but I’m here to share my first experience into connect an iOS device to a micro controller called Pinoccio and what that means.

What is Pinoccio? am I missing an “H”?

Is really hard to describe it, I’m really proud about being a funder of this project on indiegogo.

Pinoccio at a first first look seems to be like a pumped Arduino with a WiFi shield and mesh radio communication. If you are wondering.. yes is compatible with the Arduino IDE and you can compile your own custom firmware, but do we really need that? Building a firmware with the Arduino IDE that include a network library, shield communication can be really frustrating, if you are not familiar with micro-controllers, is really a long hard road. For instance the memory is a big problem into creating a sort of web-server that can run into a micro-controller.
One of my first desire when I ‘ve got my first iPod Touch was to connect my device on everything and when I started to build my own applications using the iphone sdk, I always tried to figure out how to do that, but I’ve found huge obstacles that I wasn’t still prepared to tackle.
In the earlier realeses of iOS version wasn’t possible to connect the iphone to a sort of prototype board, well not exactly but I have should enroll to the made for iphone/ipod program and the process wasn’t really easy. The accessory framework had very few documentation available to the public. Now we can use the Bluetooth LE to connect with an accessory but it seems to be locked for 1:1 connection (but I’m not totally sure about it, for instance the multipeer connectivity can connect up to 8 devices).
Then I started to use Arduino a little, but the problem was still the connection between the 2 devices, the only option was using the ethernet shield, build something like a webserver and access Arduino pins with a sort of web services. Not so easy and also with a lot of limits about memory, bottlenecks etc in my mind I couldn’t find a way to do something that could be ready for production.

Later Redspark started to sell a cable (in compliance with the made for iphone program). With this cable is possible using the serial communication to make an Arduino talk with an ios device, but under current Apple policy this cable may not be used with apps sold on the App Store.

Then I’ve found ElectricImp, I was really interested into that project but when I heard that I would always need to stay bounded to their cloud platform I gave up, but the Imp is a really cool device if you accept that limitation (or feature).
On Febraury 2013 during an Indiegogo campaign I heard about Pinocc.io it was love at first sight.

Pinoccio image

Pinoccio with all its features

Why Pinoccio changes everything?

  • It is a really small and cool prototyping board.
  • They are making an FCC certified version for production of a size of a nail.
  • You can build you own firmware in the old Arduino way.
  • You can use a scripting language to communicate with it from a web terminal (and via REST).
  • You can log it and launch those script commands using REST webservices.
  • You are not bound to use their platform.
  • You can create your own mesh of pinocc.ios and only one of them need to comminicate WiFi.
  • You can create your own custom script (maybe because you need to communicate in a specific way with a sensor or peripheral)
  • It’s all wireless
Pinocc.io Web interface

Pinocc.io Web interface

It’s pretty clear that you can do almost everything you want.

The idea here is to send all your request to their (or yours) platform and read or write properties with simple calls on the the platform, and this is a reallu smart idea, because most probably the platform manages the traffic on the board, maybe also caching some responses, avoiding bottle necks or massive requests.

To make a simple example about how this board connected to you iOS device can be powerful, I’ve made an easy app that asks the on-board temperature of the two scouts.
We have a lead scout (Optimus Prime) with the Wi-Fi backpack on it and the other scout (Bumble Bee) that communicates through the lead scout.
The lead scout is installed in my home and the other outside – of course the on board temperature is not the real environment temperature because is due to the load of the CPU and the environment temperature itself-.

Pinoccio temperature app

A video can be found here.

This is a simple example but let me try to figure out something bigger.

Let’s imagine that each scout has a Bluetooth LE backpack and a simple OLED display installed in a shoes shop. Each shoes has its own scout (like a price tag) with the display that shows the like/reviews numbers.
Each scout sends an iBeacon signal to identify a specific product close to them. When a user get close to the product using the shop application connects to that scout/ibeacon and get the product details, there is also the possibility to “like” it, once the use press like on the phone the like number on the display is incremented almost in real-time.
The other interesting example could be to measure the energy consumption of our house integrating a hall effect sensor on each scout and display data in a cool web page or into your mobile phone.

Arduino in my opinion created a revolution opening the market to all those boards, these is just the beginning because the revolution of the DIY is cultural and educational.
I hope to have more time to play around using Pinocc.io and this is the first time that I feel I have something “ready for production” and not just a new cool R&D gadget.

Visto che l’argomento iBeacon sembra particolarmente interessante ho deciso di fare un video di 13 min con due piccole demo.

Spero possiate trovarlo interessante e perdonate le papere, ma andavo a braccio!!!!

Un altro articolo interessante sullo stesso argomento: iBeacon, behind the scene


I cosidetti “millennials”, cioè i nati tra la fine degli anni Settanta e la metà dei Novanta, sono tra i più attivi utilizzatori di smartphone. O forse è meglio dire “addicted”, dato che una buona parte di essi afferma di provare “ansia” in caso di prolungata astensione dall’uso. E le ricerche comportamentali in questo senso si susseguono mostrando risultati simili.



Parlando di mercati ben monitorati come quello statunitense e britannico si scopre che i millennials passano almeno 2 ore al giorno sui loro device mobile. Tempo sottratto a media tradizionali quali TV, radio e – ormai – PC.

Le attività principali sono state interagire con i social network, utilizzare applicazioni mobile, navigare su internet e fare acquisti.

Azioni che – in modalità differenti – vengono sfruttate dal marketing per veicolare messaggi legati ai brand e per portare gli utenti all’acquisto. I dispositivi mobile, infatti, si prestano molto bene all’interazione/interconnesione fra i diversi canali: web, App, social.  Pezzi diversi di un’unica e avvolgente strategia.


E i dati spingono a rendere queste relazioni sempre più strette e organiche. Il 54% di coloro che hanno tra 18-34 anni preferisce accedere ai profili social dal proprio smartphone; il PC viene in seconda posizione, con il 38%.

Secondo un’indagine di comScore MobiLens, la maggioranza di coloro che hanno 18-24 anni (56%) è stata raggiunta da un annuncio pubblicitario mentre stava utilizzando il proprio telefono scorrendo i post in una pagina social. Molti di essi, poi, hanno interagito con l’ad cliccandoci sopra (26,7%). Questa interazione, per il 25,3% di essi, ha significato ricevere un coupon o un’offerta dal marchio o azienda cliccato.

Il legame dispositivo mobile, social network e applicazioni mobile – con queste ultime che fanno da collante fra i primi due – è sempre più rilevante  per la veicolazione di messaggi commerciali. Non è solo una questione di coinvolgimento, ma di modalità d’uso.


Per un approfondimento si veda: “UK Millennials and Mobile: The Key Device in a Digitally Dominated Life” (eMarketer.com)

L’annuncio degli iBeacon sembra aver scosso un po’ il mercato mobile, come se questi oggetti fossero un qualcosa di magico che consente di fare un po’ tutto, dalla geolocalizzazione indoor, ai pagamenti, dalla casa intelligente, a retail experience. Il limite è sempre la fantasia, basta che questa sia poi effettivamente supportata da una sufficiente conoscenza del dispositivo in questione per capire cosa è effettivamente realizzabile.
Diversi “esperti” di marketing si sono cimentati nello spiegare cosa è un iBeacon e voglio provarci anche io, dato che a tempo perso ci sto giochicchiando.

Read more!

Ogni mese vengono rese note statistiche che sottolineano quanto i professionisti del marketing puntino sui dispositivi mobile per veicolare i prodotti e i servizi delle aziende per cui lavorano. La corsa sembra inarrestabile: nel 2013, negli Stati Uniti sono stati spesi oltre 2 miliardi di dollari in pubblicità pensate per il solo mondo mobile. Nel 2017, addirittura, il mobile advertising supererà quello desktop (secondo dati eMarketer).


Tuttavia, è inutile negarlo, quando si parla di pubblicità su mobile si intende quasi sempre su smartphone. Il tablet (o l’iPad), l’altra grande innovazione di questa ultima decade, pare, infatti, non avere agli occhi dei pubblicitari e degli uomini marketing una sua specifica connotazione, un suo specifico ruolo.

Come se si fosse di fronte a una mancanza di considerazione delle caratteristiche e delle modalità di utilizzo proprie dei tablet: a partire dallo schermo più ampio, passando per il luogo di fruizione preferito (dentro casa), per arrivare ai tempi di utilizzo, segnato da sessioni mediamente più lunghe rispetto a quelle di uno smartphone.

Un dispositivo così differente (rispetto all’altro mobile, il telefono “intelligente”) che avrebbe bisogno di campagne ad hoc, pensate appositamente per esso.  Cosa che non avviene con sistematicità, nonostante l’enorme diffusione a livello mondiale.


Patrick Pierra, direttore di TabTimes.com sostiene che il tablet ha potenzialità molto grandi sul piano dell’efficacia dell’adv. Sia per il suo essere un dispositivo mobile (con tutti i vantaggi e le peculiarità) sia perché è in grado – in certe forme di utilizzo – di sostituire il pc, specialmente quello laptop. E il pc è ancora il “re” degli acquisti on-line.

Smartphone e tablet devono cominciare a differenziarsi. Come scrive Pierra: “Combining tablets with mobile, from an advertising perspective, could be excused in 2010, maybe even in 2011. In 2014, it won’t make any sense. Creatives are not the same. In many cases, even campaigns are not the same”.

Quando si pensa al concetto di “proximity” immediatamente la mente corre alla possibilità che i dispositivi mobile hanno di ricevere  messaggi ad hoc quando questi si trovano nelle vicinanze di un punto d’interesse.


Come discusso in un precedente post, si va – per esempio – dalla condivisione/fornitura di informazioni commerciali in-store (offerte, promozioni, adv, etc.) alla diffusione di contenuti digitali direttamente dove e quando servono (musei, mostre, luoghi turistici, momenti ludici e di entertaiment).


Analogamente si immagina che questa interazione debba avvenire quando siamo fuori dalle mura domestiche, mentre siamo intenti a fare shopping, mentre seguiamo una partita allo stadio o siamo in un museo davanti a un’opera d’arte. Di solito avviene che noi – utenti smartphone – riceviamo tali segnalazioni quando entriamo in un “recinto virtuale” (geofence) ben definito. Un perimetro che, tuttavia, è stato progettato da altri (intorno al proprio negozio, supermercato o edificio) e che, quindi, si configura come un luogo non nostro, a noi estraneo.

Proviamo, quindi, a rovesciare i termini della questione. Immaginiamo che il “recinto” sia quello a noi più noto e privato, ovvero quello racchiuso dalle mura domestiche.

Senza dubbio, se si sfruttasse fino in fondo questo genere di tecnologia si farebbe un gran passo in avanti nella concreta diffusione di abitazioni sempre più automatizzate. Lo smartphone diverrebbe lo strumento principale (e più comodo) per controllare i dispositivi elettronici e le loro funzioni: termostati, contatori, luci e lampade, allarmi e sensori, elettrodomestici, aperture di porte e finestre.

Casa domotica e Internet of Things finalmente si troverebbero riuniti: gestione e controllo centralizzati e da remoto di “cose” che rispondono ai nostri comandi e riescono a dialogare fra di loro in maniera intelligente. Questi comandi, poi, potrebbero benissimo trovare in Siri – il personal assistant virtuale del sistema iOS – un forte alleato (come suggerisce Mike Elgan in un suo articolo per CultOfMac.com)  .

Ora non so se ci stiamo spingendo troppo in là. Senza dubbio la tecnologia iBeacon può essere utilizzata anche per compiti meno complessi e più legati all’invio di messaggi al proprio smartphone.

Allarmi, avvisi e informazioni potrebbero rientrare in un pacchetto più organico, come un’applicazione pensata per la gestione della nostra quotidianità. Grazie a messaggi geolocalizzati… potrebbero essere proprio le “cose” che ci circondano (e che condividono i nostri spazi domestici) a darci una mano nella vita di tutti i giorni, facendoci risparmiare tempo e aiutandoci a non dimenticare nulla.

In occasione del Mobile Marketing Association (MMA) Forum tenutosi a Londra lo scorso mese di novembre, la società di analisi ComScore ha presentato alcuni dati sulla crescita del commercio on-line attraverso dispositivi mobile.

L’indagine è particolarmente interessante perché ci riguarda da vicino, essendo focalizzata su 5 mercati-nazioni di riferimento in Europa, ovvero: Regno Unito, Francia, Germania, Spagna e Italia. 

Diamo dunque un po’ di numeri

In generale, la penetrazione degli smartphone nei 5 Paesi di riferimento è superiore al 64%, con punte del 71% in UK e del 74% in Spagna (noi ci attestiamo al 60% in compagnia di Francia e Germania). I tassi di crescita annuali sono ugualmente alti e compresi tra il 18% del Regno Unito e il 30% della Germania. 


Molto buona è anche la penetrazione dei tablet. Sarebbero circa 44 milioni gli individui che, nei 5 Paesi  presi in considerazione, possiedono  una “tavoletta”. Guida la classifica l’UK con 13,8 milioni e la chiude la Spagna con 7,1 milioni. L’Italia sta in mezzo con  7,8 milioni.


Ma quali sono le principali attività legate al commercio on-line di chi possiede un dispositivo mobile? Sostanzialmente esse sono: 

a) quella di ricerca del prodotto attraverso l’accesso ai siti dei produttori; b) quella del vero e proprio acquisto e c) quello del pagamento direttamente al punto vendita.

Per quanto riguarda il punto a), circa il 40% degli utenti di smartphone consultano siti di retail ed e-commerce con il proprio dispositivo. I più avvezzi sono gli inglesi con il 47%, mentre i meno propensi a questo tipo di attività sono i francesi, con il 30%. In Italia il 40% di utenti naviga su siti di e-commerce e di aziende retail.

Gli spagnoli, invece, hanno il primato per quanto riguarda l’utilizzo del proprio dispositivo mobile durante lo shopping: il 60% degli iberici contro il 44% di noi italiani (secondi, in questo caso). Seguono i tedeschi con  il 40% e francesi e inglesi con il 31% . Inoltre, in media il 15% degli user si serve del proprio smartphone per fare acquisti e pagamenti on-line.


Più di un quarto di coloro che navigano su siti commerciali e e-commerce hanno un età compresa tra 25 e 34 anni e sono per la maggioranza uomini (53% contro 47%). 

La spesa media mensile realizzata attraverso dispositivi mobile si aggira intorno ai 200 euro (100 sterline per i cittadini britannici). Tra i beni più acquistati ci sono i vestiti e gli accessori, i prodotti elettronici, i libri, i biglietti, i prodotti per la cura personale. Chi acquista è generalmente di sesso maschile (57%) e di un’eta compresa fra i 25 e i 34 anni.


Chi invece utilizza lo smartphone per orientarsi durante lo shopping lo fa soprattutto per ricercare il negozio adatto al proprio bisogno (21%) e per comparare i prezzi (16%).

Il 24% di coloro che si servono del proprio telefono direttamente in-store lo fa per scattare foto del prodotto e per inviare le immagini a persone di propria conoscenza (14%). Stessa percentuale di chi si serve del proprio smartphone per inviare un sms o fare una chiamata. Sono soprattutto gli uomini (61%) a fare esercizi di comparazione prezzi, mentre le donne, in genere, sono più portate a inviare sms o chiamare qualche conoscente quando si tratta di decidere sull’acquisto o meno di un determinato prodotto (58%). Appartengono più al genere maschile coloro che fanno la scansione del bar code dei prodotti (62%), mentre sono più numerose le donne che scattano e inviano foto dei prodotti ad amici o familiari (59%).  


È notare che il 17% degli acquisti via mobile avviene quanto l’utente si trova in un negozio. 

Da questi dati emerge un elemento fra tutti: la sempre maggiore importanza dei dispositivi mobile nelle attività di ricerca, comparazione e acquisto. Non sono solo mezzi per comprare on-line, ma strumenti indispensabili che accompagnano l’utente in tutta la fase di studio e scelta. 

Tutto ciò si riflette sull’importanza della promozione da parte delle aziende dei propri prodotti su mobile e sullo sviluppo di applicazioni pensate per pubblicizzarli nella maniera migliore. 


La presentazione di ComScore (da cui sono tratti i grafici qui riportati) è scaricabile dopo semplice registrazione sul sito web dell’azienda americana.

La notizia dell’integrazione del profilo iBeacon nei nuovi device Apple non aveva suscitato molto clamore. Alla WorldWide Developers Conference di settembre, l’attenzione era stata soprattutto calamitata dai prodotti mobile (il sofisticato 5s e lo stra-annunciato 5c, presunto low-cost) e dai rinnovati sistemi operativi iOS7 e Mavericks.

Eppure ciò che è passato sotto traccia potrebbe avere un impatto molto forte sulle modalità d’uso e sugli ambiti di utilizzo dei nostri dispositivi mobile.

È molto che si favoleggia sul suggestivo concetto di Internet of Things, sulla concreta possibilità di mettere in comunicazione fra di loro degli oggetti, di farli dialogare in maniera “intelligente”. Si parla di qualcosa di grande portata che supera gli stretti confini di questa o quella tecnologia. Significa far entrare il digitale nel reale,  farlo interagire con i nostri gesti, con la nostra quotidianità. Le informazioni e i contenuti – di natura commerciale e no – potranno raggiungere l’utente dove e quando servono di più. Il concetto di mobile come “strumento sempre in movimento con noi” verrà modificato, diventando più profondo (e vero). Tablet e Smartphone potrebbero essere altro che pratici dispositivi per stare connessi alla rete, magari per scaricare la posta elettronica o per aggiornare il proprio status social anche quando si è in metropolitana o al parco.


Una soluzione tecnologica esiste già e risponde al nome di NFC. Il New Field Communication, basato su comunicazioni radio a corto raggio consente all’utente (e al suo dispositivo) di ricevere informazioni, trasferire file e, soprattutto, effettuare transazioni e pagamenti.

Per molti questa era la strada da perseguire. Per molti, ma non per tutti. Fra questi ultimi scettici c’è sempre stata Apple che degli smartphone – al di là del recupero di altre company – rimane la regina e l’inventrice. Non avendo mai creduto nel NFC, l’azienda di Cupertino ha preferito tirare diritto e puntare su un’altra tecnologia, a suo giudizio più funzionale. Trattasi del cosiddetto Bluetooth Low Energy (BLE), esistente da tempo e di cui iBeacon non è che un protocollo brevettato da Apple.


Ma cosa è possibile fare con iBeacon? Gli ambiti di utilizzo sono molteplici e vanno dalla condivisione/fornitura di informazioni commerciali in-store (offerte, promozioni, adv ad hoc, etc.) alla diffusione di contenuti digitali direttamente dove e quando servono (musei, mostre, luoghi turistici, momenti ludici e di entertaiment). Una declinazione concreta del tanto discusso proximity marketing. Un primo e significativo test – perché coinvolgerà molte persone – riguarda l’uso in eventi della Major League, il massimo campionato americano di baseball. In questo caso i trasmettitori installati negli stadi trasmetteranno – tramite apposite applicazioni – informazioni, offerte e contenuti sviluppati ad hoc per gli sportivi presenti allo stadio.

Rispetto alla tecnologia NFC, quella che sta dietro al BLE permette un raggio d’azione più ampio (fino a 50 metri) rispetto ai pochi centimetri di cui il primo ha, invece, bisogno per funzionare correttamente. D’altro canto, il BLE si presta meno ad operazioni come transazioni e pagamenti tramite mobile device e più – proprio perché si basa su uno standard di trasmissione che favorisce la condivisione open delle informazioni – a una distribuzione facilitata dei contenuti.


La società polacca Estimote produce sensori wireless che utilizzano la tecnologia BLE per trovare e comunicare con gli smartphone nelle vicinanze

La shopping experience e non solo, potrebbe modificarsi in maniera radicale. Anche l’idea di offerta customizzata e il concetto di esclusività si evolveranno grazie all’opportunità di inviare offerte mirate ai singoli consumatori.

Tuttavia, la rivoluzionarietà della soluzione proposta non è sinonimo di banalità dell’attuazione della stessa. Ci sono diversi gradi di complessità in base alle esigenze dei potenziali fruitori. Se si vogliono organizzare campagne marketing di una certa forza e consistenza allora è necessario studiare un sistema o una piattaforma in grado di gestire i dati inviati e ricevuti da un numero importante di device. Un’azione seria ed efficace di marketing location-based va oltre il solo e semplice posizionamento di tanti trasmettitori in uno spazio circoscritto.

Un progetto pensato con criterio, dunque, potrebbe portare a risultati sorprendenti. Allora lo sviluppo di un’applicazione beacon-sensitive e l’installazione di trasmettitori nel luogo prescelto, divengono gli ingredienti indispensabili per arrivare alla combinazione perfetta.



Copyrights 2013 © by Estimote, Inc