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

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 

Último (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 

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