SlideShare a Scribd company logo
1 of 31
Download to read offline
MobileD!
Carlo Frinolli
Mobile OS marketshare



iOS
Java ME
Android
Symbian
BlackBerry
Windows Phone
Samsung
Windows Mobile




                               2
Mobile Browser
             market share

Safari
Opera Mini
Android Browser
Symbian
BlackBerry
Proprietary or Undetectable
Microsoft Internet Explorer
Opera Mobile




                              3
Cos’è cambiato nella UX


Gli pseudo smartphone:

• Interfacce punta e clicca
• Scrolling con il cursore > Dolore
• Rendering di CSS e JS scadente o proprietario
• Esistono gli stati di HOVER sui link!




                                                  4
Touch devices

Il dito è il puntatore!

• Lo scrolling è più naturale
• C’è landscape e portrait
• Le pagine possono zoomare
• non esiste più l’ HOVER!


                                5
Quindi?




          6
Efficacia e contesto


Il modo in cui l’informazione è consumata
efficacemente dipende dal contesto e dal
device.
Le soluzioni a questo problema sono di design
in senso progettuale.



                                         7
Responsive design



                    8
Disegnare per N dispositivi?

Il responsive design vi aiuta a passare da un
layout all’altro attraverso media queries di CSS3
o script js.
I layout però vanno progettati tenendo conto
dei fattori di forma delle caratteristiche
tecniche e dei contesti d’uso.


                                           9
Basta il responsive design?
       No, non basta. Ma aiuta.




                                  10
Mobile first!
Diventiamo pragmatici.




                         11
Disegnamo per il Mobile first



Immaginiamo di avere un stack
di dispositivi dalle caratteristiche
progressive.




                                       12
Old smartphones


30% del
mercato!
e il 25% degli utenti internet.




old “smart”phones



                                  13
Modern smartphones

Usando il principio di
progressive enhancement
aggiungiamo effetti e funzionalità

   iOS e Android (forse WP7... ma forse eh!)

                    old “smart”phones


                                               14
Ma le app?
 come son fatte?




                   15
La struttura delle App

Le app mobili sono costruite come il resto.
Dati e interfaccia.
L’interfaccia responsiva può essere una soluzione.
Ma cosa c’entra DRUPAL?




                                              16
Views datasource
Estrarre dati da Drupal in formati maneggevoli




                                             17
Views datasource
“Views Datasource is a set of plugins for Drupal Views
  for rendering content in a number of shareable,
  reusable formats based on XML, JSON and XHTML.”



È uno style plugin di Views che esporta i
dati in formati maneggevoli come JSON o
XML.

                                               18
Il risultato della view in json
{

  "nodes" : [

    {

      "node" : {

        "title" : "BBox",

        "field_project_main_img_fid" : "http://n3.local/sites/default/files/imagecache/
    homepage_queue/bbox_4.jpg",

        "field_project_subtitle_value" : "the cloud under version control.",

        "tags" : "below the linensaasnsocial media marketingnuinuxnwebappn"

      }

    }

}




                                                                                     19
Quale flessibilità
views_json o views_xml sono style plugin di
views.
La flessibilità di views assieme all’uso degli
argomenti possono permettere di fare delle
chiamate alla web app Drupal molto pulite ed
eleganti.
http://mydomain.com/works/bbox

                                             20
JSON o XML?
                    JSON                 XML


1M objects

             0   1250000.0 2500000.0 3750000.0 5000000.0


Il case study mostra un tempo di trasmissione molto più basso
per JSON rispetto XML, pur essendo molto più CPU intensive.

Un tempo di trasferimento molto basso è ottimale quando si
tratta di fare integrazioni mobili.


                                                     21
Vantaggi e svantaggi


Vantaggi: l'interfaccia dell'app può essere
completamente disaccoppiata dai dati.
Svantaggi: le politiche di approvazione dell'app.
Vale soprattutto per AppStore di Apple.




                                              22
Il caso Facebook




                   23
App wrapper e webviews
Facebook è noto per aggiornare
compulsivamente l'esperienza
utente.
La strategia usata è quella di
avere un’applicazione contenitore
e contenuto web.
Il resto è HTML5, CSS3.
                                    24
Cosa c’entra DRUPAL?
Con l’approccio usato in views_datasource
cioè parsando un oggetto JSON o utilizzando
temizzazione responsive possiamo simulare
un’interfaccia mobile.
Ignoriamo header, footer, e transizioni di
pagina, e usando quest’approcio possiamo
arrivare a ottimi risultati.

                                           25
BBox
come Proof of Concept, e sviluppi futuri.




                                            26
Demo


http://vimeo.com/33594209




      powered by




                            27
Sviluppi futuri

BBox - la nostra alternativa open-source a
Dropbox è già integrato con Tikal (CRM basato
su Drupal - presentato nella sala accanto), e
questa Proof of Concept rappresenta il primo
risultato tangibile di OpenAttitude.



                                           28
Linkografia

(Responsive Design - SM) - http://j.mp/rwUImN

(Responsive Design - ALA) - http://j.mp/sGyJP9

(Mobile first! Pragmatic RD) - http://j.mp/t1Ea9S

(Responsive Design Pragmatico) - http://j.mp/s5vhkp

(JSON vs XML Benchmark) - http://j.mp/uScHyL




                                                      29
Carlo Frinolli
follow me on twitter @carl0s_
follow my company @nois3lab

ringraziamenti speciali a Baku (per aver scritto BBox),
a Giuseppe Aiello di fleka design e ai nostri partner
Bmeme, con cui condividiamo OpenAttitude.
Drupal Day 2011 - MobileD!

More Related Content

Similar to Drupal Day 2011 - MobileD!

Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web DesignSimone Viani
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele Gaggi
 
La Trasformazione Digitale con MongoDB
La Trasformazione Digitale con MongoDB La Trasformazione Digitale con MongoDB
La Trasformazione Digitale con MongoDB MongoDB
 
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...EvolutionBook S.r.l.
 
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoWorkshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoGabriele Gaggi
 
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPSLezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPSGianluigi Cogo
 
Drupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native modernoDrupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native modernosparkfabrik
 
Il Responsive Web Design per le organizzazioni non profit (Tesi di laurea)
Il Responsive Web Design per le organizzazioni non profit (Tesi di laurea)Il Responsive Web Design per le organizzazioni non profit (Tesi di laurea)
Il Responsive Web Design per le organizzazioni non profit (Tesi di laurea)francescovitale
 
MEAN: il nuovo stack di sviluppo per il futuro del web
MEAN: il nuovo stack di sviluppo per il futuro del webMEAN: il nuovo stack di sviluppo per il futuro del web
MEAN: il nuovo stack di sviluppo per il futuro del webEugenio Minardi
 
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...DrupalDay
 
ERDAS 2011 World Tour Slideshow Presentazione
ERDAS 2011 World Tour Slideshow PresentazioneERDAS 2011 World Tour Slideshow Presentazione
ERDAS 2011 World Tour Slideshow PresentazionePlanetek Italia Srl
 
Tesi LT (bachelor final dissertation)
Tesi LT (bachelor final dissertation)Tesi LT (bachelor final dissertation)
Tesi LT (bachelor final dissertation)Giacomo Bartoli
 
UI Composition - Prism
UI Composition - PrismUI Composition - Prism
UI Composition - PrismDotNetMarche
 
... thinking about Microformats!
... thinking about Microformats!... thinking about Microformats!
... thinking about Microformats!Stefano Fago
 
Seminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forzaSeminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forzaMauro Fava
 
Web 2.0 Expo SF 2010
Web 2.0 Expo SF 2010Web 2.0 Expo SF 2010
Web 2.0 Expo SF 2010stefanochiari
 
FLTlab Business Presentation 2012
FLTlab Business Presentation 2012FLTlab Business Presentation 2012
FLTlab Business Presentation 2012FLT.lab
 

Similar to Drupal Day 2011 - MobileD! (20)

Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Mobile UI Design
Mobile UI DesignMobile UI Design
Mobile UI Design
 
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformAngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
 
La Trasformazione Digitale con MongoDB
La Trasformazione Digitale con MongoDB La Trasformazione Digitale con MongoDB
La Trasformazione Digitale con MongoDB
 
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
RIA: Rich Internet Applications. Interfacce utente avanzate per applicazioni ...
 
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoWorkshop AngularJs, Cordova, Ionic - Politecnico di Milano
Workshop AngularJs, Cordova, Ionic - Politecnico di Milano
 
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPSLezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
 
Rich Internet Application
Rich Internet ApplicationRich Internet Application
Rich Internet Application
 
Drupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native modernoDrupal 10: un framework PHP di sviluppo Cloud Native moderno
Drupal 10: un framework PHP di sviluppo Cloud Native moderno
 
Il Responsive Web Design per le organizzazioni non profit (Tesi di laurea)
Il Responsive Web Design per le organizzazioni non profit (Tesi di laurea)Il Responsive Web Design per le organizzazioni non profit (Tesi di laurea)
Il Responsive Web Design per le organizzazioni non profit (Tesi di laurea)
 
MEAN: il nuovo stack di sviluppo per il futuro del web
MEAN: il nuovo stack di sviluppo per il futuro del webMEAN: il nuovo stack di sviluppo per il futuro del web
MEAN: il nuovo stack di sviluppo per il futuro del web
 
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
 
ERDAS 2011 World Tour Slideshow Presentazione
ERDAS 2011 World Tour Slideshow PresentazioneERDAS 2011 World Tour Slideshow Presentazione
ERDAS 2011 World Tour Slideshow Presentazione
 
Tesi LT (bachelor final dissertation)
Tesi LT (bachelor final dissertation)Tesi LT (bachelor final dissertation)
Tesi LT (bachelor final dissertation)
 
UI Composition - Prism
UI Composition - PrismUI Composition - Prism
UI Composition - Prism
 
Spring e Flex
Spring e FlexSpring e Flex
Spring e Flex
 
... thinking about Microformats!
... thinking about Microformats!... thinking about Microformats!
... thinking about Microformats!
 
Seminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forzaSeminario: GNU/Linux come punto di forza
Seminario: GNU/Linux come punto di forza
 
Web 2.0 Expo SF 2010
Web 2.0 Expo SF 2010Web 2.0 Expo SF 2010
Web 2.0 Expo SF 2010
 
FLTlab Business Presentation 2012
FLTlab Business Presentation 2012FLTlab Business Presentation 2012
FLTlab Business Presentation 2012
 

More from DrupalDay

[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.
[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.
[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.DrupalDay
 
[drupalday2017] - Cloud e integrazione per la PA: la sfida dell'Open Source t...
[drupalday2017] - Cloud e integrazione per la PA: la sfida dell'Open Source t...[drupalday2017] - Cloud e integrazione per la PA: la sfida dell'Open Source t...
[drupalday2017] - Cloud e integrazione per la PA: la sfida dell'Open Source t...DrupalDay
 
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client ManagerDrupalDay
 
[drupalday2017] - Drupal & Patternlab: un nuovo approccio al theming
[drupalday2017] - Drupal & Patternlab: un nuovo approccio al theming[drupalday2017] - Drupal & Patternlab: un nuovo approccio al theming
[drupalday2017] - Drupal & Patternlab: un nuovo approccio al themingDrupalDay
 
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5DrupalDay
 
[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...
[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...
[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...DrupalDay
 
[drupalday2017] - Behat per Drupal: test automatici e molto di più
[drupalday2017] - Behat per Drupal: test automatici e molto di più[drupalday2017] - Behat per Drupal: test automatici e molto di più
[drupalday2017] - Behat per Drupal: test automatici e molto di piùDrupalDay
 
[drupalday2017] - Drupal 4 Stakeholders
[drupalday2017] - Drupal 4 Stakeholders[drupalday2017] - Drupal 4 Stakeholders
[drupalday2017] - Drupal 4 StakeholdersDrupalDay
 
[drupalday2017] - DRUPAL per la PA: il modello della Trasparenza di Sapienza
[drupalday2017] - DRUPAL per la PA: il modello della Trasparenza di Sapienza[drupalday2017] - DRUPAL per la PA: il modello della Trasparenza di Sapienza
[drupalday2017] - DRUPAL per la PA: il modello della Trasparenza di SapienzaDrupalDay
 
[drupalday2017] - Venezia & Drupal. Venezia è Drupal!
[drupalday2017] - Venezia & Drupal. Venezia è Drupal![drupalday2017] - Venezia & Drupal. Venezia è Drupal!
[drupalday2017] - Venezia & Drupal. Venezia è Drupal!DrupalDay
 
[drupalday2017] - Quando l’informazione è un servizio
[drupalday2017] - Quando l’informazione è un servizio[drupalday2017] - Quando l’informazione è un servizio
[drupalday2017] - Quando l’informazione è un servizioDrupalDay
 
[drupalday2017] - Cosa significa convertire un modulo da D7 a D8
[drupalday2017] - Cosa significa convertire un modulo da D7 a D8[drupalday2017] - Cosa significa convertire un modulo da D7 a D8
[drupalday2017] - Cosa significa convertire un modulo da D7 a D8DrupalDay
 
[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a time
[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a time[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a time
[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a timeDrupalDay
 
[drupalday2017] - Async navigation with a lightweight ES6 framework
[drupalday2017] - Async navigation with a lightweight ES6 framework[drupalday2017] - Async navigation with a lightweight ES6 framework
[drupalday2017] - Async navigation with a lightweight ES6 frameworkDrupalDay
 
[drupalday2017] - Devel - D8 release party
[drupalday2017] - Devel - D8 release party[drupalday2017] - Devel - D8 release party
[drupalday2017] - Devel - D8 release partyDrupalDay
 
[drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance![drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance!DrupalDay
 
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8DrupalDay
 
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8DrupalDay
 
[drupalday2017] - REST in pieces
[drupalday2017] - REST in pieces[drupalday2017] - REST in pieces
[drupalday2017] - REST in piecesDrupalDay
 
[drupalday2017] - Contenuti educativi digitali aperti, creare contenuti e dis...
[drupalday2017] - Contenuti educativi digitali aperti, creare contenuti e dis...[drupalday2017] - Contenuti educativi digitali aperti, creare contenuti e dis...
[drupalday2017] - Contenuti educativi digitali aperti, creare contenuti e dis...DrupalDay
 

More from DrupalDay (20)

[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.
[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.
[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.
 
[drupalday2017] - Cloud e integrazione per la PA: la sfida dell'Open Source t...
[drupalday2017] - Cloud e integrazione per la PA: la sfida dell'Open Source t...[drupalday2017] - Cloud e integrazione per la PA: la sfida dell'Open Source t...
[drupalday2017] - Cloud e integrazione per la PA: la sfida dell'Open Source t...
 
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
 
[drupalday2017] - Drupal & Patternlab: un nuovo approccio al theming
[drupalday2017] - Drupal & Patternlab: un nuovo approccio al theming[drupalday2017] - Drupal & Patternlab: un nuovo approccio al theming
[drupalday2017] - Drupal & Patternlab: un nuovo approccio al theming
 
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5
 
[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...
[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...
[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...
 
[drupalday2017] - Behat per Drupal: test automatici e molto di più
[drupalday2017] - Behat per Drupal: test automatici e molto di più[drupalday2017] - Behat per Drupal: test automatici e molto di più
[drupalday2017] - Behat per Drupal: test automatici e molto di più
 
[drupalday2017] - Drupal 4 Stakeholders
[drupalday2017] - Drupal 4 Stakeholders[drupalday2017] - Drupal 4 Stakeholders
[drupalday2017] - Drupal 4 Stakeholders
 
[drupalday2017] - DRUPAL per la PA: il modello della Trasparenza di Sapienza
[drupalday2017] - DRUPAL per la PA: il modello della Trasparenza di Sapienza[drupalday2017] - DRUPAL per la PA: il modello della Trasparenza di Sapienza
[drupalday2017] - DRUPAL per la PA: il modello della Trasparenza di Sapienza
 
[drupalday2017] - Venezia & Drupal. Venezia è Drupal!
[drupalday2017] - Venezia & Drupal. Venezia è Drupal![drupalday2017] - Venezia & Drupal. Venezia è Drupal!
[drupalday2017] - Venezia & Drupal. Venezia è Drupal!
 
[drupalday2017] - Quando l’informazione è un servizio
[drupalday2017] - Quando l’informazione è un servizio[drupalday2017] - Quando l’informazione è un servizio
[drupalday2017] - Quando l’informazione è un servizio
 
[drupalday2017] - Cosa significa convertire un modulo da D7 a D8
[drupalday2017] - Cosa significa convertire un modulo da D7 a D8[drupalday2017] - Cosa significa convertire un modulo da D7 a D8
[drupalday2017] - Cosa significa convertire un modulo da D7 a D8
 
[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a time
[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a time[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a time
[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a time
 
[drupalday2017] - Async navigation with a lightweight ES6 framework
[drupalday2017] - Async navigation with a lightweight ES6 framework[drupalday2017] - Async navigation with a lightweight ES6 framework
[drupalday2017] - Async navigation with a lightweight ES6 framework
 
[drupalday2017] - Devel - D8 release party
[drupalday2017] - Devel - D8 release party[drupalday2017] - Devel - D8 release party
[drupalday2017] - Devel - D8 release party
 
[drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance![drupalday2017] - Speed-up your Drupal instance!
[drupalday2017] - Speed-up your Drupal instance!
 
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
 
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8[drupalday2017] - DevOps: strumenti di automazione per Drupal8
[drupalday2017] - DevOps: strumenti di automazione per Drupal8
 
[drupalday2017] - REST in pieces
[drupalday2017] - REST in pieces[drupalday2017] - REST in pieces
[drupalday2017] - REST in pieces
 
[drupalday2017] - Contenuti educativi digitali aperti, creare contenuti e dis...
[drupalday2017] - Contenuti educativi digitali aperti, creare contenuti e dis...[drupalday2017] - Contenuti educativi digitali aperti, creare contenuti e dis...
[drupalday2017] - Contenuti educativi digitali aperti, creare contenuti e dis...
 

Drupal Day 2011 - MobileD!

  • 2. Mobile OS marketshare iOS Java ME Android Symbian BlackBerry Windows Phone Samsung Windows Mobile 2
  • 3. Mobile Browser market share Safari Opera Mini Android Browser Symbian BlackBerry Proprietary or Undetectable Microsoft Internet Explorer Opera Mobile 3
  • 4. Cos’è cambiato nella UX Gli pseudo smartphone: • Interfacce punta e clicca • Scrolling con il cursore > Dolore • Rendering di CSS e JS scadente o proprietario • Esistono gli stati di HOVER sui link! 4
  • 5. Touch devices Il dito è il puntatore! • Lo scrolling è più naturale • C’è landscape e portrait • Le pagine possono zoomare • non esiste più l’ HOVER! 5
  • 7. Efficacia e contesto Il modo in cui l’informazione è consumata efficacemente dipende dal contesto e dal device. Le soluzioni a questo problema sono di design in senso progettuale. 7
  • 9. Disegnare per N dispositivi? Il responsive design vi aiuta a passare da un layout all’altro attraverso media queries di CSS3 o script js. I layout però vanno progettati tenendo conto dei fattori di forma delle caratteristiche tecniche e dei contesti d’uso. 9
  • 10. Basta il responsive design? No, non basta. Ma aiuta. 10
  • 12. Disegnamo per il Mobile first Immaginiamo di avere un stack di dispositivi dalle caratteristiche progressive. 12
  • 13. Old smartphones 30% del mercato! e il 25% degli utenti internet. old “smart”phones 13
  • 14. Modern smartphones Usando il principio di progressive enhancement aggiungiamo effetti e funzionalità iOS e Android (forse WP7... ma forse eh!) old “smart”phones 14
  • 15. Ma le app? come son fatte? 15
  • 16. La struttura delle App Le app mobili sono costruite come il resto. Dati e interfaccia. L’interfaccia responsiva può essere una soluzione. Ma cosa c’entra DRUPAL? 16
  • 17. Views datasource Estrarre dati da Drupal in formati maneggevoli 17
  • 18. Views datasource “Views Datasource is a set of plugins for Drupal Views for rendering content in a number of shareable, reusable formats based on XML, JSON and XHTML.” È uno style plugin di Views che esporta i dati in formati maneggevoli come JSON o XML. 18
  • 19. Il risultato della view in json {   "nodes" : [     {       "node" : {         "title" : "BBox",         "field_project_main_img_fid" : "http://n3.local/sites/default/files/imagecache/ homepage_queue/bbox_4.jpg",         "field_project_subtitle_value" : "the cloud under version control.",         "tags" : "below the linensaasnsocial media marketingnuinuxnwebappn"       }     } } 19
  • 20. Quale flessibilità views_json o views_xml sono style plugin di views. La flessibilità di views assieme all’uso degli argomenti possono permettere di fare delle chiamate alla web app Drupal molto pulite ed eleganti. http://mydomain.com/works/bbox 20
  • 21. JSON o XML? JSON XML 1M objects 0 1250000.0 2500000.0 3750000.0 5000000.0 Il case study mostra un tempo di trasmissione molto più basso per JSON rispetto XML, pur essendo molto più CPU intensive. Un tempo di trasferimento molto basso è ottimale quando si tratta di fare integrazioni mobili. 21
  • 22. Vantaggi e svantaggi Vantaggi: l'interfaccia dell'app può essere completamente disaccoppiata dai dati. Svantaggi: le politiche di approvazione dell'app. Vale soprattutto per AppStore di Apple. 22
  • 24. App wrapper e webviews Facebook è noto per aggiornare compulsivamente l'esperienza utente. La strategia usata è quella di avere un’applicazione contenitore e contenuto web. Il resto è HTML5, CSS3. 24
  • 25. Cosa c’entra DRUPAL? Con l’approccio usato in views_datasource cioè parsando un oggetto JSON o utilizzando temizzazione responsive possiamo simulare un’interfaccia mobile. Ignoriamo header, footer, e transizioni di pagina, e usando quest’approcio possiamo arrivare a ottimi risultati. 25
  • 26. BBox come Proof of Concept, e sviluppi futuri. 26
  • 28. Sviluppi futuri BBox - la nostra alternativa open-source a Dropbox è già integrato con Tikal (CRM basato su Drupal - presentato nella sala accanto), e questa Proof of Concept rappresenta il primo risultato tangibile di OpenAttitude. 28
  • 29. Linkografia (Responsive Design - SM) - http://j.mp/rwUImN (Responsive Design - ALA) - http://j.mp/sGyJP9 (Mobile first! Pragmatic RD) - http://j.mp/t1Ea9S (Responsive Design Pragmatico) - http://j.mp/s5vhkp (JSON vs XML Benchmark) - http://j.mp/uScHyL 29
  • 30. Carlo Frinolli follow me on twitter @carl0s_ follow my company @nois3lab ringraziamenti speciali a Baku (per aver scritto BBox), a Giuseppe Aiello di fleka design e ai nostri partner Bmeme, con cui condividiamo OpenAttitude.