SlideShare una empresa de Scribd logo
1 de 106
Descargar para leer sin conexión
Mar co Livraghi
...............................
User eXperience Designer & Software Engineer
.     .         .          .        .
mobiledevcamp | Lecce |19 Maggio 2012




2                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




3                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




4                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




5                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




6                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




7                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




8                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




9                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




10                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




11                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




12                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




13                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




14                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




15                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




16                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




17                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




18                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012



     Studi sul dispositivo




19                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012



     Studi sul dispositivo




20                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




21                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




22                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




23                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




24                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




25                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




26                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




27                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




28                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




29                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




30                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012



     Prototipare...




31                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012



     Prototipare...
     Prototipare...




32                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012



     Prototipare...
     Prototipare...
     Prototipare...




33                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012



     Prototipare...
     Prototipare...
     Prototipare...




     14:15
     Prototipazione
     Paolo Buono - IVU Lab
     Università degli Studi di Bari Aldo Moro
34                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




35                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




36
                                                          :-(
                                             Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




37                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




38                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                                   Mobile


                                                   Desktop
                                                   Netbooks
            Web Developers
                                                   Tablets
                                        Titanium
                                                   Set-top Boxes
                                                                                    Users

39                                                 Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




         Titanium




                              Mobile                              Desktop



40                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                                                             JavaScript	
  Applica-on	
  Code	
  
              Titanium	
  Framework	
  




                                                                               Titanium	
  JavaScript	
  API	
  

                                               JS	
                                                    JS	
  
                                          Interpreter	
                 iOS	
  	
                 Interpreter	
                 Android	
  	
  
                                                                       Modules	
                                                Modules	
  
                                           Run-me	
                                                 Run-me	
  


                                                            iOS	
  SDK	
                                            Android	
  SDK	
  




41                                                                                                   Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                                       JavaScript	
  Applica-on	
  Code	
  
              	
  Framework	
  




                                                            Titanium	
  JavaScript	
  API	
  

                                       JS	
                                         JS	
  
42                                Interpreter	
     iOS	
  	
                  Interpreter	
  
                                                                                 Marco Livraghi|User eXperience Designer & Software Engineer
                                                                                                       Android	
  	
  
mobiledevcamp | Lecce |19 Maggio 2012




43                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




44                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




45                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




46                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                             manifest

     #appname: prima_app
     #publisher: marcolivraghi
     #url: http://www.livraghi.com
     #image: appicon.png
     #appid: com.livraghi.prima_app
     #desc: undefined
     #type: ipad
     #guid: 09dd7e67-f94f-42a8-8f8e-6ab512da3b06


47                                                 Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                             tiapp.xml

 <?xml version=”1.0” encoding=”UTF-8”?>
 <ti:app xmlns:ti=”http://ti.appcelerator.org”>
     ....
     ....                                                       <iphone>
     <deployment-targets>                                           <orientations device=”iphone”>
          <target device=”iphone”>true</target>                          <orientation>Ti.UI.PORTRAIT</orientation>
          <target device=”ipad”>true</target>                       </orientations>
          <target device=”android”>true</target>                    <orientations device=”ipad”>
          <target device=”blackberry”>false</target>                     <orientation>Ti.UI.PORTRAIT</orientation>
     </deployment-targets>                                               <orientation>Ti.UI.UPSIDE_PORTRAIT</orientation>
     <sdk-version>2.0.1.v20120405211737</sdk-version>                    <orientation>Ti.UI.LANDSCAPE_LEFT</orientation>
     <id>com.livraghi.prima_app</id>                                     <orientation>Ti.UI.LANDSCAPE_RIGHT</orientation>
     <name>prima_app</name>                                         </orientations>
     <version>1.0</version>                                     </iphone>
     <publisher>marcolivraghi</publisher>                       <android xmlns:android=
     <url>http://www.livraghi.com</url>                     			”http://schemas.android.com/apk/res/android”/>
     <description>not specified</description>                   <modules>
     <copyright>2012 by marcolivraghi</copyright>                  <module platform=”commonjs” version=”2.0.1”>
     <icon>appicon.png</icon>                               		ti.cloud
     <persistent-wifi>false</persistent-wifi>               	      </module>
     <prerendered-icon>false</prerendered-icon>                 </modules>
     <statusbar-style>default</statusbar-style>             </ti:app>
     <statusbar-hidden>false</statusbar-hidden>
     <fullscreen>false</fullscreen>
     <navbar-hidden>false</navbar-hidden>
     <analytics>true</analytics>
     <guid>09dd7e67-f94f-42a8-8f8e-6ab512da3b06</guid>
     <property name=”ti.ui.defaultunit”>system</property>




48                                                                 Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                             tiapp.xml

 <?xml version=”1.0” encoding=”UTF-8”?>
 <ti:app xmlns:ti=”http://ti.appcelerator.org”>
     ....
     ....                                                       <iphone>
     <deployment-targets>                                           <orientations device=”iphone”>
          <target device=”iphone”>true</target>                          <orientation>Ti.UI.PORTRAIT</orientation>
          <target device=”ipad”>true</target>                       </orientations>
          <target device=”android”>true</target>                    <orientations device=”ipad”>
          <target device=”blackberry”>false</target>                     <orientation>Ti.UI.PORTRAIT</orientation>
     </deployment-targets>                                               <orientation>Ti.UI.UPSIDE_PORTRAIT</orientation>
     <sdk-version>2.0.1.v20120405211737</sdk-version>                    <orientation>Ti.UI.LANDSCAPE_LEFT</orientation>
     <id>com.livraghi.prima_app</id>                                     <orientation>Ti.UI.LANDSCAPE_RIGHT</orientation>
     <name>prima_app</name>                                         </orientations>
     <version>1.0</version>                                     </iphone>
     <publisher>marcolivraghi</publisher>                       <android xmlns:android=
     <url>http://www.livraghi.com</url>                     			”http://schemas.android.com/apk/res/android”/>
     <description>not specified</description>                   <modules>
     <copyright>2012 by marcolivraghi</copyright>                  <module platform=”commonjs” version=”2.0.1”>
     <icon>appicon.png</icon>                               		ti.cloud
     <persistent-wifi>false</persistent-wifi>               	      </module>
     <prerendered-icon>false</prerendered-icon>                 </modules>
     <statusbar-style>default</statusbar-style>             </ti:app>
     <statusbar-hidden>false</statusbar-hidden>
     <fullscreen>false</fullscreen>
     <navbar-hidden>false</navbar-hidden>
     <analytics>true</analytics>
     <guid>09dd7e67-f94f-42a8-8f8e-6ab512da3b06</guid>
     <property name=”ti.ui.defaultunit”>system</property>




49                                                                 Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                             tiapp.xml

 <?xml version=”1.0” encoding=”UTF-8”?>
 <ti:app xmlns:ti=”http://ti.appcelerator.org”>
     ....
     ....                                                       <iphone>
     <deployment-targets>                                           <orientations device=”iphone”>
          <target device=”iphone”>true</target>                          <orientation>Ti.UI.PORTRAIT</orientation>
          <target device=”ipad”>true</target>                       </orientations>
          <target device=”android”>true</target>                    <orientations device=”ipad”>
          <target device=”blackberry”>false</target>                     <orientation>Ti.UI.PORTRAIT</orientation>
     </deployment-targets>                                               <orientation>Ti.UI.UPSIDE_PORTRAIT</orientation>
     <sdk-version>2.0.1.v20120405211737</sdk-version>                    <orientation>Ti.UI.LANDSCAPE_LEFT</orientation>
     <id>com.livraghi.prima_app</id>                                     <orientation>Ti.UI.LANDSCAPE_RIGHT</orientation>
     <name>prima_app</name>                                         </orientations>
     <version>1.0</version>                                     </iphone>
     <publisher>marcolivraghi</publisher>                       <android xmlns:android=
     <url>http://www.livraghi.com</url>                     			”http://schemas.android.com/apk/res/android”/>
     <description>not specified</description>                   <modules>
     <copyright>2012 by marcolivraghi</copyright>                  <module platform=”commonjs” version=”2.0.1”>
     <icon>appicon.png</icon>                               		ti.cloud
     <persistent-wifi>false</persistent-wifi>               	      </module>
     <prerendered-icon>false</prerendered-icon>                 </modules>
     <statusbar-style>default</statusbar-style>             </ti:app>
     <statusbar-hidden>false</statusbar-hidden>
     <fullscreen>false</fullscreen>
     <navbar-hidden>false</navbar-hidden>
     <analytics>true</analytics>
     <guid>09dd7e67-f94f-42a8-8f8e-6ab512da3b06</guid>
     <property name=”ti.ui.defaultunit”>system</property>




50                                                                 Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                             tiapp.xml

 <?xml version=”1.0” encoding=”UTF-8”?>
 <ti:app xmlns:ti=”http://ti.appcelerator.org”>
     ....
     ....                                                       <iphone>
     <deployment-targets>                                           <orientations device=”iphone”>
          <target device=”iphone”>true</target>                          <orientation>Ti.UI.PORTRAIT</orientation>
          <target device=”ipad”>true</target>                       </orientations>
          <target device=”android”>true</target>                    <orientations device=”ipad”>
          <target device=”blackberry”>false</target>                     <orientation>Ti.UI.PORTRAIT</orientation>
     </deployment-targets>                                               <orientation>Ti.UI.UPSIDE_PORTRAIT</orientation>
     <sdk-version>2.0.1.v20120405211737</sdk-version>                    <orientation>Ti.UI.LANDSCAPE_LEFT</orientation>
     <id>com.livraghi.prima_app</id>                                     <orientation>Ti.UI.LANDSCAPE_RIGHT</orientation>
     <name>prima_app</name>                                         </orientations>
     <version>1.0</version>                                     </iphone>
     <publisher>marcolivraghi</publisher>                       <android xmlns:android=
     <url>http://www.livraghi.com</url>                     			”http://schemas.android.com/apk/res/android”/>
     <description>not specified</description>                   <modules>
     <copyright>2012 by marcolivraghi</copyright>                  <module platform=”commonjs” version=”2.0.1”>
     <icon>appicon.png</icon>                               		ti.cloud
     <persistent-wifi>false</persistent-wifi>               	      </module>
     <prerendered-icon>false</prerendered-icon>                 </modules>
     <statusbar-style>default</statusbar-style>             </ti:app>
     <statusbar-hidden>false</statusbar-hidden>
     <fullscreen>false</fullscreen>
     <navbar-hidden>false</navbar-hidden>
     <analytics>true</analytics>
     <guid>09dd7e67-f94f-42a8-8f8e-6ab512da3b06</guid>
     <property name=”ti.ui.defaultunit”>system</property>




51                                                                 Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                       Un primo esempio: App.js




52                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                       Un primo esempio: App.js




53                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                       Un primo esempio: App.js




54                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                       Un primo esempio: App.js




55                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                    Un secondo esempio: App.js

     var win = Titanium.UI.createWindow({
     	title:’Hello’,
     	backgroundColor:’#fff’
     });
     var label1 = Titanium.UI.createLabel({
     	color:’#333’,
     	text:’Hello World!’,
     	   textAlign: ‘center’,
     	   font: {fontSize: 30, fontWeight: ‘bold’}
     });
     win.add(label1);

     var bt = Titanium.UI.createButton({
     	   title: ‘Click me’,
     	   width: 100,
     	   height: 40,
     	   bottom: 40
     });
     bt.addEventListener(‘click’, function(e) {
     	   label1.text = ‘OK!’;
     });

     win.add(bt);
     win.open();

56                                                  Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                        titanium studio




57                                               Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                        titanium studio




58                                               Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




59                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




            Appcelerator Titanium Docs 2.0




60                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




            Appcelerator Titanium Docs 2.0




61                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




            Appcelerator Titanium Docs 2.0




62                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




            Appcelerator Titanium Docs 2.0




63                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




            Appcelerator Titanium Docs 2.0




64                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




            Appcelerator Titanium Docs 2.0




65                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                             MEDIA API: CAMERA




66                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




               MEDIA API: PHOTO GALLERY




67                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                  GEOLOCATION API




68                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                           ACCELEROMETER API




69                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                             MAP API




70                                                Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                        FACEBOOK API




71                                             Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                        FACEBOOK API




72                                             Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                ESTENDERE LE API: Perché?




73                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                ESTENDERE LE API: Perché?

     - Per accedere a specifiche funzionalità del OS,




74                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                ESTENDERE LE API: Perché?

     - Per accedere a specifiche funzionalità del OS,

     - Sfruttare liberie native pre-esistenti,




75                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                ESTENDERE LE API: Perché?

     - Per accedere a specifiche funzionalità del OS,

     - Sfruttare liberie native pre-esistenti,

     - Ottimizzare parti critiche dell’app,




76                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                ESTENDERE LE API: Perché?

     - Per accedere a specifiche funzionalità del OS,

     - Sfruttare liberie native pre-esistenti,

     - Ottimizzare parti critiche dell’app,

     - Estendere e migliorare porzioni del framework
       Titanium Mobile
77                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                  ESTENDERE LE API: Come?

     - Creando un fork sul sorce code
       di Titanium Mobile su github

     	 PRO
     		 + Modifiche sostanziali al core del framework.
     	 CONTRO
     		 - Mantenere aggiornato un fork separato
     		    è costoso e noioso.
78                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                  ESTENDERE LE API: Come?

     - Creando uno o pìù moduli nativi tramite
       l’SDK Titanium Module.

     	 PRO
     		 + Grande flessibilità
     		 + Semplice da distribuire come modulo open
     		   source, package precompilato e ...
              Appcelerator Ti+Plus Marketplace
79                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                 Moduli nativi - alcuni esempi

     - Android scanner di codici a barre (wrapper Zxing)
     	 https://github.com/mwaylabs/titanium-barcode
     - iOS ZipFile (creare/decomprimere file zip)
     	 https://github.com/TermiT/ZipFile
     - iOS TiStoreKit (acquisti in app)
     	 https://github.com/masuidrive/TiStoreKit
     - iOS TiSMSDialog (invio di sms dall’app)
     	 https://github.com/omorandi/TiSMSDialog
     - Appcelerator Titanium modules (esempi di moduli)
     	 https://github.com/appcelerator/titanium_modules
80                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




            Titanium JS Interface: Esempio

      var bt = Titanium.UI.createButton({
      	 title: ‘Click me’,
      	 width: 100,
      	 height: 40,
      	 bottom: 40
      });
      bt.addEventListener(‘click’, function(e) {
      	 label1.text = ‘OK!’;
      });

81                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




            Titanium JS Interface: Esempio

                         - Module
                         		Titanium.UI
                         - Object
                         		Titanium.UI.Button
                         - Object Factory
                         		Titanium.UI.createButton()
                         - Property getters/setters - methods
                         		Button.title
                         		Button.width
                         		Button.animate()
                         		ecc...
                         - Event handling
                         		Button.addEventListener()
82                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                              Struttura del Modulo




83                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                Open Mobile Market




84                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                Open Mobile Market




85                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                Open Mobile Market




86                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                Open Mobile Market




87                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                Open Mobile Market




88                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                Open Mobile Market




89                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




               Open Mobile Market: ForgetUI




90                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




               Open Mobile Market: ForgetUI




91                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




92                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




93                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                         Framework javascript...




94                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




     1   - User management                    9   -
                                                  Status updates
     2   - Photos                            10   -
                                                  Chat
     3   - Photo collections                 11   -
                                                  Ratings and reviews
     4   - Places                            12   -
                                                  Discussion forums
          (rich location storage)            13   -
                                                  Messaging and email
     5   - Social integration                     templates
     6   - Custom data objects               14 - Client identification
     7   - Push notifications                15 - Key values
     8   - Check-ins
95                                            Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                                                                               ...
96                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




97                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                   Apps Open Sorce: NYSenate




98                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                   Apps Open Sorce: NYSenate

     Android per smartphone:




99                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                    Apps Open Sorce: NYSenate

      iPad:




100                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                    Apps Open Sorce: NYSenate

      iPad:




101                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                    Apps Open Sorce: NYSenate

      iPad:




102                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012




                    Apps Open Sorce: NYSenate

      iPhone:




103                                           Marco Livraghi|User eXperience Designer & Software Engineer
mobiledevcamp | Lecce |19 Maggio 2012
                                              Riferimenti
       appcelerator:
        website:		 http://www.appcelerator.com
        github:			 https://github.com/appcelerator
        kitchen sink:	 http://github.com/appcelerator/ KitchenSink
        last builds:	 http://builds.appcelerator.com.s3.amazonaws.com/index.html
        docs:      		 http://docs.appcelerator.com
        cloud: 			 http://cloud.appcelerator.com
        blog:			 http://developer.appcelerator.com/blog
       					thinkmobile.appcelerator.com/blog
        showcase:		 http://www.builtwithtitanium.com
        nysenate:		 http://github.com/nysenate
       mobile SDK
       	iOS:			http://developer.apple.com
       	Android:	http://developer.android.com
104                                                  Marco Livraghi|User eXperience Designer & Software Engineer
User eXperience Designer & Software Engineer
marco@livraghi.com
www.livraghi.com




Fabrizio Martina
graphic designer
studiograficofm@mac.com




fotografo
massimo.cordella@alice.it
mobiledevcamp | Lecce |19 Maggio 2012




                                              Q?



106                                            Marco Livraghi|User eXperience Designer & Software Engineer

Más contenido relacionado

Similar a MobileDevCamp2012 - Titanium Appcelerator

【16-C-4】次期Internet Explorer、IE10とHTML5 API
【16-C-4】次期Internet Explorer、IE10とHTML5 API【16-C-4】次期Internet Explorer、IE10とHTML5 API
【16-C-4】次期Internet Explorer、IE10とHTML5 APIMicrosoft
 
Rt responsive design_final
Rt responsive design_finalRt responsive design_final
Rt responsive design_finalJellyfish Agency
 
デブサミ2012 appinventorユーザー会
デブサミ2012 appinventorユーザー会デブサミ2012 appinventorユーザー会
デブサミ2012 appinventorユーザー会Takeaki Tada
 
DevOps indonesia #14 - Announcement
DevOps indonesia #14 - AnnouncementDevOps indonesia #14 - Announcement
DevOps indonesia #14 - AnnouncementDevOps Indonesia
 
Backbone And Marionette : Take Over The World
Backbone And Marionette : Take Over The WorldBackbone And Marionette : Take Over The World
Backbone And Marionette : Take Over The Worldharshit040591
 
Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1Teamstudio
 
13 Best IDE for Web Development Projects in 2022.pdf
13 Best IDE for Web Development Projects in 2022.pdf13 Best IDE for Web Development Projects in 2022.pdf
13 Best IDE for Web Development Projects in 2022.pdfmithranmithran1
 
JSFoo Backbone Updated
JSFoo Backbone UpdatedJSFoo Backbone Updated
JSFoo Backbone UpdatedHarshit Jain
 
The AICA proposal for Computing in Italian Primary and Lower Secondary Schools
The AICA proposal for Computing  in Italian Primary and Lower Secondary SchoolsThe AICA proposal for Computing  in Italian Primary and Lower Secondary Schools
The AICA proposal for Computing in Italian Primary and Lower Secondary SchoolsPierfranco Ravotto
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
実践Android Developer Testing
実践Android Developer Testing実践Android Developer Testing
実践Android Developer Testingussy
 
Growing a software craftsmanship community for a large enterprise english
Growing a software craftsmanship community for a large enterprise   englishGrowing a software craftsmanship community for a large enterprise   english
Growing a software craftsmanship community for a large enterprise englishMartin Heider
 
Socionity internship July 2020
Socionity internship  July 2020Socionity internship  July 2020
Socionity internship July 2020Madhavan Malolan
 
Mobile Design is for Mobile Users
Mobile Design is for Mobile UsersMobile Design is for Mobile Users
Mobile Design is for Mobile Usersgforce414
 
Rohit_Suri_Resume_0522.pdf
Rohit_Suri_Resume_0522.pdfRohit_Suri_Resume_0522.pdf
Rohit_Suri_Resume_0522.pdfRohit Suri
 
Portfolio Nicole Lobia
Portfolio Nicole Lobia Portfolio Nicole Lobia
Portfolio Nicole Lobia Nicole Lobia
 

Similar a MobileDevCamp2012 - Titanium Appcelerator (20)

cv
cvcv
cv
 
【16-C-4】次期Internet Explorer、IE10とHTML5 API
【16-C-4】次期Internet Explorer、IE10とHTML5 API【16-C-4】次期Internet Explorer、IE10とHTML5 API
【16-C-4】次期Internet Explorer、IE10とHTML5 API
 
Rt responsive design_final
Rt responsive design_finalRt responsive design_final
Rt responsive design_final
 
Lemonat Credentials
Lemonat CredentialsLemonat Credentials
Lemonat Credentials
 
デブサミ2012 appinventorユーザー会
デブサミ2012 appinventorユーザー会デブサミ2012 appinventorユーザー会
デブサミ2012 appinventorユーザー会
 
DevOps indonesia #14 - Announcement
DevOps indonesia #14 - AnnouncementDevOps indonesia #14 - Announcement
DevOps indonesia #14 - Announcement
 
Kotlin Script
Kotlin ScriptKotlin Script
Kotlin Script
 
Backbone And Marionette : Take Over The World
Backbone And Marionette : Take Over The WorldBackbone And Marionette : Take Over The World
Backbone And Marionette : Take Over The World
 
Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1
 
13 Best IDE for Web Development Projects in 2022.pdf
13 Best IDE for Web Development Projects in 2022.pdf13 Best IDE for Web Development Projects in 2022.pdf
13 Best IDE for Web Development Projects in 2022.pdf
 
JSFoo Backbone Updated
JSFoo Backbone UpdatedJSFoo Backbone Updated
JSFoo Backbone Updated
 
Backbone demo final
Backbone  demo finalBackbone  demo final
Backbone demo final
 
The AICA proposal for Computing in Italian Primary and Lower Secondary Schools
The AICA proposal for Computing  in Italian Primary and Lower Secondary SchoolsThe AICA proposal for Computing  in Italian Primary and Lower Secondary Schools
The AICA proposal for Computing in Italian Primary and Lower Secondary Schools
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
実践Android Developer Testing
実践Android Developer Testing実践Android Developer Testing
実践Android Developer Testing
 
Growing a software craftsmanship community for a large enterprise english
Growing a software craftsmanship community for a large enterprise   englishGrowing a software craftsmanship community for a large enterprise   english
Growing a software craftsmanship community for a large enterprise english
 
Socionity internship July 2020
Socionity internship  July 2020Socionity internship  July 2020
Socionity internship July 2020
 
Mobile Design is for Mobile Users
Mobile Design is for Mobile UsersMobile Design is for Mobile Users
Mobile Design is for Mobile Users
 
Rohit_Suri_Resume_0522.pdf
Rohit_Suri_Resume_0522.pdfRohit_Suri_Resume_0522.pdf
Rohit_Suri_Resume_0522.pdf
 
Portfolio Nicole Lobia
Portfolio Nicole Lobia Portfolio Nicole Lobia
Portfolio Nicole Lobia
 

Último

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Último (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

MobileDevCamp2012 - Titanium Appcelerator

  • 1. Mar co Livraghi ............................... User eXperience Designer & Software Engineer . . . . .
  • 2. mobiledevcamp | Lecce |19 Maggio 2012 2 Marco Livraghi|User eXperience Designer & Software Engineer
  • 3. mobiledevcamp | Lecce |19 Maggio 2012 3 Marco Livraghi|User eXperience Designer & Software Engineer
  • 4. mobiledevcamp | Lecce |19 Maggio 2012 4 Marco Livraghi|User eXperience Designer & Software Engineer
  • 5. mobiledevcamp | Lecce |19 Maggio 2012 5 Marco Livraghi|User eXperience Designer & Software Engineer
  • 6. mobiledevcamp | Lecce |19 Maggio 2012 6 Marco Livraghi|User eXperience Designer & Software Engineer
  • 7. mobiledevcamp | Lecce |19 Maggio 2012 7 Marco Livraghi|User eXperience Designer & Software Engineer
  • 8. mobiledevcamp | Lecce |19 Maggio 2012 8 Marco Livraghi|User eXperience Designer & Software Engineer
  • 9. mobiledevcamp | Lecce |19 Maggio 2012 9 Marco Livraghi|User eXperience Designer & Software Engineer
  • 10. mobiledevcamp | Lecce |19 Maggio 2012 10 Marco Livraghi|User eXperience Designer & Software Engineer
  • 11. mobiledevcamp | Lecce |19 Maggio 2012 11 Marco Livraghi|User eXperience Designer & Software Engineer
  • 12. mobiledevcamp | Lecce |19 Maggio 2012 12 Marco Livraghi|User eXperience Designer & Software Engineer
  • 13. mobiledevcamp | Lecce |19 Maggio 2012 13 Marco Livraghi|User eXperience Designer & Software Engineer
  • 14. mobiledevcamp | Lecce |19 Maggio 2012 14 Marco Livraghi|User eXperience Designer & Software Engineer
  • 15. mobiledevcamp | Lecce |19 Maggio 2012 15 Marco Livraghi|User eXperience Designer & Software Engineer
  • 16. mobiledevcamp | Lecce |19 Maggio 2012 16 Marco Livraghi|User eXperience Designer & Software Engineer
  • 17. mobiledevcamp | Lecce |19 Maggio 2012 17 Marco Livraghi|User eXperience Designer & Software Engineer
  • 18. mobiledevcamp | Lecce |19 Maggio 2012 18 Marco Livraghi|User eXperience Designer & Software Engineer
  • 19. mobiledevcamp | Lecce |19 Maggio 2012 Studi sul dispositivo 19 Marco Livraghi|User eXperience Designer & Software Engineer
  • 20. mobiledevcamp | Lecce |19 Maggio 2012 Studi sul dispositivo 20 Marco Livraghi|User eXperience Designer & Software Engineer
  • 21. mobiledevcamp | Lecce |19 Maggio 2012 21 Marco Livraghi|User eXperience Designer & Software Engineer
  • 22. mobiledevcamp | Lecce |19 Maggio 2012 22 Marco Livraghi|User eXperience Designer & Software Engineer
  • 23. mobiledevcamp | Lecce |19 Maggio 2012 23 Marco Livraghi|User eXperience Designer & Software Engineer
  • 24. mobiledevcamp | Lecce |19 Maggio 2012 24 Marco Livraghi|User eXperience Designer & Software Engineer
  • 25. mobiledevcamp | Lecce |19 Maggio 2012 25 Marco Livraghi|User eXperience Designer & Software Engineer
  • 26. mobiledevcamp | Lecce |19 Maggio 2012 26 Marco Livraghi|User eXperience Designer & Software Engineer
  • 27. mobiledevcamp | Lecce |19 Maggio 2012 27 Marco Livraghi|User eXperience Designer & Software Engineer
  • 28. mobiledevcamp | Lecce |19 Maggio 2012 28 Marco Livraghi|User eXperience Designer & Software Engineer
  • 29. mobiledevcamp | Lecce |19 Maggio 2012 29 Marco Livraghi|User eXperience Designer & Software Engineer
  • 30. mobiledevcamp | Lecce |19 Maggio 2012 30 Marco Livraghi|User eXperience Designer & Software Engineer
  • 31. mobiledevcamp | Lecce |19 Maggio 2012 Prototipare... 31 Marco Livraghi|User eXperience Designer & Software Engineer
  • 32. mobiledevcamp | Lecce |19 Maggio 2012 Prototipare... Prototipare... 32 Marco Livraghi|User eXperience Designer & Software Engineer
  • 33. mobiledevcamp | Lecce |19 Maggio 2012 Prototipare... Prototipare... Prototipare... 33 Marco Livraghi|User eXperience Designer & Software Engineer
  • 34. mobiledevcamp | Lecce |19 Maggio 2012 Prototipare... Prototipare... Prototipare... 14:15 Prototipazione Paolo Buono - IVU Lab Università degli Studi di Bari Aldo Moro 34 Marco Livraghi|User eXperience Designer & Software Engineer
  • 35. mobiledevcamp | Lecce |19 Maggio 2012 35 Marco Livraghi|User eXperience Designer & Software Engineer
  • 36. mobiledevcamp | Lecce |19 Maggio 2012 36 :-( Marco Livraghi|User eXperience Designer & Software Engineer
  • 37. mobiledevcamp | Lecce |19 Maggio 2012 37 Marco Livraghi|User eXperience Designer & Software Engineer
  • 38. mobiledevcamp | Lecce |19 Maggio 2012 38 Marco Livraghi|User eXperience Designer & Software Engineer
  • 39. mobiledevcamp | Lecce |19 Maggio 2012 Mobile Desktop Netbooks Web Developers Tablets Titanium Set-top Boxes Users 39 Marco Livraghi|User eXperience Designer & Software Engineer
  • 40. mobiledevcamp | Lecce |19 Maggio 2012 Titanium Mobile Desktop 40 Marco Livraghi|User eXperience Designer & Software Engineer
  • 41. mobiledevcamp | Lecce |19 Maggio 2012 JavaScript  Applica-on  Code   Titanium  Framework   Titanium  JavaScript  API   JS   JS   Interpreter   iOS     Interpreter   Android     Modules   Modules   Run-me   Run-me   iOS  SDK   Android  SDK   41 Marco Livraghi|User eXperience Designer & Software Engineer
  • 42. mobiledevcamp | Lecce |19 Maggio 2012 JavaScript  Applica-on  Code    Framework   Titanium  JavaScript  API   JS   JS   42 Interpreter   iOS     Interpreter   Marco Livraghi|User eXperience Designer & Software Engineer Android    
  • 43. mobiledevcamp | Lecce |19 Maggio 2012 43 Marco Livraghi|User eXperience Designer & Software Engineer
  • 44. mobiledevcamp | Lecce |19 Maggio 2012 44 Marco Livraghi|User eXperience Designer & Software Engineer
  • 45. mobiledevcamp | Lecce |19 Maggio 2012 45 Marco Livraghi|User eXperience Designer & Software Engineer
  • 46. mobiledevcamp | Lecce |19 Maggio 2012 46 Marco Livraghi|User eXperience Designer & Software Engineer
  • 47. mobiledevcamp | Lecce |19 Maggio 2012 manifest #appname: prima_app #publisher: marcolivraghi #url: http://www.livraghi.com #image: appicon.png #appid: com.livraghi.prima_app #desc: undefined #type: ipad #guid: 09dd7e67-f94f-42a8-8f8e-6ab512da3b06 47 Marco Livraghi|User eXperience Designer & Software Engineer
  • 48. mobiledevcamp | Lecce |19 Maggio 2012 tiapp.xml <?xml version=”1.0” encoding=”UTF-8”?> <ti:app xmlns:ti=”http://ti.appcelerator.org”> .... .... <iphone> <deployment-targets> <orientations device=”iphone”> <target device=”iphone”>true</target> <orientation>Ti.UI.PORTRAIT</orientation> <target device=”ipad”>true</target> </orientations> <target device=”android”>true</target> <orientations device=”ipad”> <target device=”blackberry”>false</target> <orientation>Ti.UI.PORTRAIT</orientation> </deployment-targets> <orientation>Ti.UI.UPSIDE_PORTRAIT</orientation> <sdk-version>2.0.1.v20120405211737</sdk-version> <orientation>Ti.UI.LANDSCAPE_LEFT</orientation> <id>com.livraghi.prima_app</id> <orientation>Ti.UI.LANDSCAPE_RIGHT</orientation> <name>prima_app</name> </orientations> <version>1.0</version> </iphone> <publisher>marcolivraghi</publisher> <android xmlns:android= <url>http://www.livraghi.com</url> ”http://schemas.android.com/apk/res/android”/> <description>not specified</description> <modules> <copyright>2012 by marcolivraghi</copyright> <module platform=”commonjs” version=”2.0.1”> <icon>appicon.png</icon> ti.cloud <persistent-wifi>false</persistent-wifi> </module> <prerendered-icon>false</prerendered-icon> </modules> <statusbar-style>default</statusbar-style> </ti:app> <statusbar-hidden>false</statusbar-hidden> <fullscreen>false</fullscreen> <navbar-hidden>false</navbar-hidden> <analytics>true</analytics> <guid>09dd7e67-f94f-42a8-8f8e-6ab512da3b06</guid> <property name=”ti.ui.defaultunit”>system</property> 48 Marco Livraghi|User eXperience Designer & Software Engineer
  • 49. mobiledevcamp | Lecce |19 Maggio 2012 tiapp.xml <?xml version=”1.0” encoding=”UTF-8”?> <ti:app xmlns:ti=”http://ti.appcelerator.org”> .... .... <iphone> <deployment-targets> <orientations device=”iphone”> <target device=”iphone”>true</target> <orientation>Ti.UI.PORTRAIT</orientation> <target device=”ipad”>true</target> </orientations> <target device=”android”>true</target> <orientations device=”ipad”> <target device=”blackberry”>false</target> <orientation>Ti.UI.PORTRAIT</orientation> </deployment-targets> <orientation>Ti.UI.UPSIDE_PORTRAIT</orientation> <sdk-version>2.0.1.v20120405211737</sdk-version> <orientation>Ti.UI.LANDSCAPE_LEFT</orientation> <id>com.livraghi.prima_app</id> <orientation>Ti.UI.LANDSCAPE_RIGHT</orientation> <name>prima_app</name> </orientations> <version>1.0</version> </iphone> <publisher>marcolivraghi</publisher> <android xmlns:android= <url>http://www.livraghi.com</url> ”http://schemas.android.com/apk/res/android”/> <description>not specified</description> <modules> <copyright>2012 by marcolivraghi</copyright> <module platform=”commonjs” version=”2.0.1”> <icon>appicon.png</icon> ti.cloud <persistent-wifi>false</persistent-wifi> </module> <prerendered-icon>false</prerendered-icon> </modules> <statusbar-style>default</statusbar-style> </ti:app> <statusbar-hidden>false</statusbar-hidden> <fullscreen>false</fullscreen> <navbar-hidden>false</navbar-hidden> <analytics>true</analytics> <guid>09dd7e67-f94f-42a8-8f8e-6ab512da3b06</guid> <property name=”ti.ui.defaultunit”>system</property> 49 Marco Livraghi|User eXperience Designer & Software Engineer
  • 50. mobiledevcamp | Lecce |19 Maggio 2012 tiapp.xml <?xml version=”1.0” encoding=”UTF-8”?> <ti:app xmlns:ti=”http://ti.appcelerator.org”> .... .... <iphone> <deployment-targets> <orientations device=”iphone”> <target device=”iphone”>true</target> <orientation>Ti.UI.PORTRAIT</orientation> <target device=”ipad”>true</target> </orientations> <target device=”android”>true</target> <orientations device=”ipad”> <target device=”blackberry”>false</target> <orientation>Ti.UI.PORTRAIT</orientation> </deployment-targets> <orientation>Ti.UI.UPSIDE_PORTRAIT</orientation> <sdk-version>2.0.1.v20120405211737</sdk-version> <orientation>Ti.UI.LANDSCAPE_LEFT</orientation> <id>com.livraghi.prima_app</id> <orientation>Ti.UI.LANDSCAPE_RIGHT</orientation> <name>prima_app</name> </orientations> <version>1.0</version> </iphone> <publisher>marcolivraghi</publisher> <android xmlns:android= <url>http://www.livraghi.com</url> ”http://schemas.android.com/apk/res/android”/> <description>not specified</description> <modules> <copyright>2012 by marcolivraghi</copyright> <module platform=”commonjs” version=”2.0.1”> <icon>appicon.png</icon> ti.cloud <persistent-wifi>false</persistent-wifi> </module> <prerendered-icon>false</prerendered-icon> </modules> <statusbar-style>default</statusbar-style> </ti:app> <statusbar-hidden>false</statusbar-hidden> <fullscreen>false</fullscreen> <navbar-hidden>false</navbar-hidden> <analytics>true</analytics> <guid>09dd7e67-f94f-42a8-8f8e-6ab512da3b06</guid> <property name=”ti.ui.defaultunit”>system</property> 50 Marco Livraghi|User eXperience Designer & Software Engineer
  • 51. mobiledevcamp | Lecce |19 Maggio 2012 tiapp.xml <?xml version=”1.0” encoding=”UTF-8”?> <ti:app xmlns:ti=”http://ti.appcelerator.org”> .... .... <iphone> <deployment-targets> <orientations device=”iphone”> <target device=”iphone”>true</target> <orientation>Ti.UI.PORTRAIT</orientation> <target device=”ipad”>true</target> </orientations> <target device=”android”>true</target> <orientations device=”ipad”> <target device=”blackberry”>false</target> <orientation>Ti.UI.PORTRAIT</orientation> </deployment-targets> <orientation>Ti.UI.UPSIDE_PORTRAIT</orientation> <sdk-version>2.0.1.v20120405211737</sdk-version> <orientation>Ti.UI.LANDSCAPE_LEFT</orientation> <id>com.livraghi.prima_app</id> <orientation>Ti.UI.LANDSCAPE_RIGHT</orientation> <name>prima_app</name> </orientations> <version>1.0</version> </iphone> <publisher>marcolivraghi</publisher> <android xmlns:android= <url>http://www.livraghi.com</url> ”http://schemas.android.com/apk/res/android”/> <description>not specified</description> <modules> <copyright>2012 by marcolivraghi</copyright> <module platform=”commonjs” version=”2.0.1”> <icon>appicon.png</icon> ti.cloud <persistent-wifi>false</persistent-wifi> </module> <prerendered-icon>false</prerendered-icon> </modules> <statusbar-style>default</statusbar-style> </ti:app> <statusbar-hidden>false</statusbar-hidden> <fullscreen>false</fullscreen> <navbar-hidden>false</navbar-hidden> <analytics>true</analytics> <guid>09dd7e67-f94f-42a8-8f8e-6ab512da3b06</guid> <property name=”ti.ui.defaultunit”>system</property> 51 Marco Livraghi|User eXperience Designer & Software Engineer
  • 52. mobiledevcamp | Lecce |19 Maggio 2012 Un primo esempio: App.js 52 Marco Livraghi|User eXperience Designer & Software Engineer
  • 53. mobiledevcamp | Lecce |19 Maggio 2012 Un primo esempio: App.js 53 Marco Livraghi|User eXperience Designer & Software Engineer
  • 54. mobiledevcamp | Lecce |19 Maggio 2012 Un primo esempio: App.js 54 Marco Livraghi|User eXperience Designer & Software Engineer
  • 55. mobiledevcamp | Lecce |19 Maggio 2012 Un primo esempio: App.js 55 Marco Livraghi|User eXperience Designer & Software Engineer
  • 56. mobiledevcamp | Lecce |19 Maggio 2012 Un secondo esempio: App.js var win = Titanium.UI.createWindow({ title:’Hello’, backgroundColor:’#fff’ }); var label1 = Titanium.UI.createLabel({ color:’#333’, text:’Hello World!’, textAlign: ‘center’, font: {fontSize: 30, fontWeight: ‘bold’} }); win.add(label1); var bt = Titanium.UI.createButton({ title: ‘Click me’, width: 100, height: 40, bottom: 40 }); bt.addEventListener(‘click’, function(e) { label1.text = ‘OK!’; }); win.add(bt); win.open(); 56 Marco Livraghi|User eXperience Designer & Software Engineer
  • 57. mobiledevcamp | Lecce |19 Maggio 2012 titanium studio 57 Marco Livraghi|User eXperience Designer & Software Engineer
  • 58. mobiledevcamp | Lecce |19 Maggio 2012 titanium studio 58 Marco Livraghi|User eXperience Designer & Software Engineer
  • 59. mobiledevcamp | Lecce |19 Maggio 2012 59 Marco Livraghi|User eXperience Designer & Software Engineer
  • 60. mobiledevcamp | Lecce |19 Maggio 2012 Appcelerator Titanium Docs 2.0 60 Marco Livraghi|User eXperience Designer & Software Engineer
  • 61. mobiledevcamp | Lecce |19 Maggio 2012 Appcelerator Titanium Docs 2.0 61 Marco Livraghi|User eXperience Designer & Software Engineer
  • 62. mobiledevcamp | Lecce |19 Maggio 2012 Appcelerator Titanium Docs 2.0 62 Marco Livraghi|User eXperience Designer & Software Engineer
  • 63. mobiledevcamp | Lecce |19 Maggio 2012 Appcelerator Titanium Docs 2.0 63 Marco Livraghi|User eXperience Designer & Software Engineer
  • 64. mobiledevcamp | Lecce |19 Maggio 2012 Appcelerator Titanium Docs 2.0 64 Marco Livraghi|User eXperience Designer & Software Engineer
  • 65. mobiledevcamp | Lecce |19 Maggio 2012 Appcelerator Titanium Docs 2.0 65 Marco Livraghi|User eXperience Designer & Software Engineer
  • 66. mobiledevcamp | Lecce |19 Maggio 2012 MEDIA API: CAMERA 66 Marco Livraghi|User eXperience Designer & Software Engineer
  • 67. mobiledevcamp | Lecce |19 Maggio 2012 MEDIA API: PHOTO GALLERY 67 Marco Livraghi|User eXperience Designer & Software Engineer
  • 68. mobiledevcamp | Lecce |19 Maggio 2012 GEOLOCATION API 68 Marco Livraghi|User eXperience Designer & Software Engineer
  • 69. mobiledevcamp | Lecce |19 Maggio 2012 ACCELEROMETER API 69 Marco Livraghi|User eXperience Designer & Software Engineer
  • 70. mobiledevcamp | Lecce |19 Maggio 2012 MAP API 70 Marco Livraghi|User eXperience Designer & Software Engineer
  • 71. mobiledevcamp | Lecce |19 Maggio 2012 FACEBOOK API 71 Marco Livraghi|User eXperience Designer & Software Engineer
  • 72. mobiledevcamp | Lecce |19 Maggio 2012 FACEBOOK API 72 Marco Livraghi|User eXperience Designer & Software Engineer
  • 73. mobiledevcamp | Lecce |19 Maggio 2012 ESTENDERE LE API: Perché? 73 Marco Livraghi|User eXperience Designer & Software Engineer
  • 74. mobiledevcamp | Lecce |19 Maggio 2012 ESTENDERE LE API: Perché? - Per accedere a specifiche funzionalità del OS, 74 Marco Livraghi|User eXperience Designer & Software Engineer
  • 75. mobiledevcamp | Lecce |19 Maggio 2012 ESTENDERE LE API: Perché? - Per accedere a specifiche funzionalità del OS, - Sfruttare liberie native pre-esistenti, 75 Marco Livraghi|User eXperience Designer & Software Engineer
  • 76. mobiledevcamp | Lecce |19 Maggio 2012 ESTENDERE LE API: Perché? - Per accedere a specifiche funzionalità del OS, - Sfruttare liberie native pre-esistenti, - Ottimizzare parti critiche dell’app, 76 Marco Livraghi|User eXperience Designer & Software Engineer
  • 77. mobiledevcamp | Lecce |19 Maggio 2012 ESTENDERE LE API: Perché? - Per accedere a specifiche funzionalità del OS, - Sfruttare liberie native pre-esistenti, - Ottimizzare parti critiche dell’app, - Estendere e migliorare porzioni del framework Titanium Mobile 77 Marco Livraghi|User eXperience Designer & Software Engineer
  • 78. mobiledevcamp | Lecce |19 Maggio 2012 ESTENDERE LE API: Come? - Creando un fork sul sorce code di Titanium Mobile su github PRO + Modifiche sostanziali al core del framework. CONTRO - Mantenere aggiornato un fork separato è costoso e noioso. 78 Marco Livraghi|User eXperience Designer & Software Engineer
  • 79. mobiledevcamp | Lecce |19 Maggio 2012 ESTENDERE LE API: Come? - Creando uno o pìù moduli nativi tramite l’SDK Titanium Module. PRO + Grande flessibilità + Semplice da distribuire come modulo open source, package precompilato e ... Appcelerator Ti+Plus Marketplace 79 Marco Livraghi|User eXperience Designer & Software Engineer
  • 80. mobiledevcamp | Lecce |19 Maggio 2012 Moduli nativi - alcuni esempi - Android scanner di codici a barre (wrapper Zxing) https://github.com/mwaylabs/titanium-barcode - iOS ZipFile (creare/decomprimere file zip) https://github.com/TermiT/ZipFile - iOS TiStoreKit (acquisti in app) https://github.com/masuidrive/TiStoreKit - iOS TiSMSDialog (invio di sms dall’app) https://github.com/omorandi/TiSMSDialog - Appcelerator Titanium modules (esempi di moduli) https://github.com/appcelerator/titanium_modules 80 Marco Livraghi|User eXperience Designer & Software Engineer
  • 81. mobiledevcamp | Lecce |19 Maggio 2012 Titanium JS Interface: Esempio var bt = Titanium.UI.createButton({ title: ‘Click me’, width: 100, height: 40, bottom: 40 }); bt.addEventListener(‘click’, function(e) { label1.text = ‘OK!’; }); 81 Marco Livraghi|User eXperience Designer & Software Engineer
  • 82. mobiledevcamp | Lecce |19 Maggio 2012 Titanium JS Interface: Esempio - Module Titanium.UI - Object Titanium.UI.Button - Object Factory Titanium.UI.createButton() - Property getters/setters - methods Button.title Button.width Button.animate() ecc... - Event handling Button.addEventListener() 82 Marco Livraghi|User eXperience Designer & Software Engineer
  • 83. mobiledevcamp | Lecce |19 Maggio 2012 Struttura del Modulo 83 Marco Livraghi|User eXperience Designer & Software Engineer
  • 84. mobiledevcamp | Lecce |19 Maggio 2012 Open Mobile Market 84 Marco Livraghi|User eXperience Designer & Software Engineer
  • 85. mobiledevcamp | Lecce |19 Maggio 2012 Open Mobile Market 85 Marco Livraghi|User eXperience Designer & Software Engineer
  • 86. mobiledevcamp | Lecce |19 Maggio 2012 Open Mobile Market 86 Marco Livraghi|User eXperience Designer & Software Engineer
  • 87. mobiledevcamp | Lecce |19 Maggio 2012 Open Mobile Market 87 Marco Livraghi|User eXperience Designer & Software Engineer
  • 88. mobiledevcamp | Lecce |19 Maggio 2012 Open Mobile Market 88 Marco Livraghi|User eXperience Designer & Software Engineer
  • 89. mobiledevcamp | Lecce |19 Maggio 2012 Open Mobile Market 89 Marco Livraghi|User eXperience Designer & Software Engineer
  • 90. mobiledevcamp | Lecce |19 Maggio 2012 Open Mobile Market: ForgetUI 90 Marco Livraghi|User eXperience Designer & Software Engineer
  • 91. mobiledevcamp | Lecce |19 Maggio 2012 Open Mobile Market: ForgetUI 91 Marco Livraghi|User eXperience Designer & Software Engineer
  • 92. mobiledevcamp | Lecce |19 Maggio 2012 92 Marco Livraghi|User eXperience Designer & Software Engineer
  • 93. mobiledevcamp | Lecce |19 Maggio 2012 93 Marco Livraghi|User eXperience Designer & Software Engineer
  • 94. mobiledevcamp | Lecce |19 Maggio 2012 Framework javascript... 94 Marco Livraghi|User eXperience Designer & Software Engineer
  • 95. mobiledevcamp | Lecce |19 Maggio 2012 1 - User management 9 - Status updates 2 - Photos 10 - Chat 3 - Photo collections 11 - Ratings and reviews 4 - Places 12 - Discussion forums (rich location storage) 13 - Messaging and email 5 - Social integration templates 6 - Custom data objects 14 - Client identification 7 - Push notifications 15 - Key values 8 - Check-ins 95 Marco Livraghi|User eXperience Designer & Software Engineer
  • 96. mobiledevcamp | Lecce |19 Maggio 2012 ... 96 Marco Livraghi|User eXperience Designer & Software Engineer
  • 97. mobiledevcamp | Lecce |19 Maggio 2012 97 Marco Livraghi|User eXperience Designer & Software Engineer
  • 98. mobiledevcamp | Lecce |19 Maggio 2012 Apps Open Sorce: NYSenate 98 Marco Livraghi|User eXperience Designer & Software Engineer
  • 99. mobiledevcamp | Lecce |19 Maggio 2012 Apps Open Sorce: NYSenate Android per smartphone: 99 Marco Livraghi|User eXperience Designer & Software Engineer
  • 100. mobiledevcamp | Lecce |19 Maggio 2012 Apps Open Sorce: NYSenate iPad: 100 Marco Livraghi|User eXperience Designer & Software Engineer
  • 101. mobiledevcamp | Lecce |19 Maggio 2012 Apps Open Sorce: NYSenate iPad: 101 Marco Livraghi|User eXperience Designer & Software Engineer
  • 102. mobiledevcamp | Lecce |19 Maggio 2012 Apps Open Sorce: NYSenate iPad: 102 Marco Livraghi|User eXperience Designer & Software Engineer
  • 103. mobiledevcamp | Lecce |19 Maggio 2012 Apps Open Sorce: NYSenate iPhone: 103 Marco Livraghi|User eXperience Designer & Software Engineer
  • 104. mobiledevcamp | Lecce |19 Maggio 2012 Riferimenti appcelerator: website: http://www.appcelerator.com github: https://github.com/appcelerator kitchen sink: http://github.com/appcelerator/ KitchenSink last builds: http://builds.appcelerator.com.s3.amazonaws.com/index.html docs: http://docs.appcelerator.com cloud: http://cloud.appcelerator.com blog: http://developer.appcelerator.com/blog thinkmobile.appcelerator.com/blog showcase: http://www.builtwithtitanium.com nysenate: http://github.com/nysenate mobile SDK iOS: http://developer.apple.com Android: http://developer.android.com 104 Marco Livraghi|User eXperience Designer & Software Engineer
  • 105. User eXperience Designer & Software Engineer marco@livraghi.com www.livraghi.com Fabrizio Martina graphic designer studiograficofm@mac.com fotografo massimo.cordella@alice.it
  • 106. mobiledevcamp | Lecce |19 Maggio 2012 Q? 106 Marco Livraghi|User eXperience Designer & Software Engineer