Sviluppatore PhoneGap/Javascript Bologna

marker

Stiamo cercando uno sviluppatore mobile da inserire nel nostro team di sviluppo interno.

 

 

Principali responsabilità:
– sviluppo di app ibride per iOS, Android e Windows Phone
– delivery delle applicazioni sugli store e gestione certificati

Competenze richieste:
– buona conoscenza di JavaScript, HTML, CSS

Competenze gradite:
– conoscenza  dell’architettura PhoneGap/Cordova
– esperienza con i framework AngularJS e/o Ionic
– almeno 1 anno di esperienza in ruolo analogo
– esperienza in ambito REST web services e scambio di dati con strutture dati JSON

Saranno inoltre valutate le seguenti competenze:
– esperienza nello sviluppo nativo di Android e/o iOS
– esperienza nello sviluppo Web PHP
– app pubblicate su Play Store e/o App Store

Per candidarti a questo annuncio decodifica l’indirizzo e scrivici una mail a “am9ic0Btb2JpbWVudHVtLml0”.

La retribuzione sarà discussa col candidato in base all’effettiva esperienza.
Contratto preferibilmente full-time, valutiamo anche collaboratori a partita iva.

Sede di lavoro: Casalecchio di Reno (BO)

Posted in Jobs.

Sviluppatore Java Bologna

marker

Siamo alla ricerca di un Java Developer con almeno 1 anno di comprovata competenza in ambito web.

Il candidato conosce il linguaggio di programmazione Java (versione 6 e/o 7), sviluppa in autonomia applicazioni web in grado di consumare ed esporre web services, interfacciarsi con database ed implementare la UI in base alle direttive fornite dal team di frontend.

La figura verrà inserita in un team di sviluppo con il ruolo di sviluppatore.

Costituisce requisito preferenziale la conoscenza di una o più delle seguenti tecnologie:
– Java Server Faces (JSF)
– Struts2 e/o Spring MVC
– JSON come tecnologia per il trasporto dati
– JPA, Hibernate o analogo framework di persistenza/or mapping
– Tomcat e relative procedure di test e deploy di web application
– Maven

La retribuzione sarà discussa col candidato in base all’effettiva esperienza.

Sede di lavoro: Bologna
Tipologia: full-time

 

Posted in Jobs.
hero-shorty

Road to PhoneGap Day EU 2016

Tra poco più di due mesi si svolgerà il PhoneGap Day EU 2016 e Mobimentum, ovviamente, ci sarà.
Siamo giunti al quarto anno di utilizzo continuativo di PhoneGap, anche se l’ultimo periodo ha visto come vero protagonista delle nostre attività Cordova piuttosto che PhoneGap.

L’ormai dimenticata submission al programma PhoneGap Enterprise ci ha spinti a muoverci in autonomia verso nuove tecnologie, mantenendo ormai il solo PhoneGap Build come strumento di delivery collegato al nostro sistema di continuous integration. La forte competenza acquisita su AngularJS e Ionic Framework ci permette di erogare corsi di formazione e sviluppare applicazioni ibride che rappresentano una vera e propria scelta di business e non più “un compromesso”.

Già in occasione del PhoneGap Day EU 2013 avevamo avuto la sensazione di un marginare interesse da parte di Adobe per la diffusione di PhoneGap nel mercato Italia, lasciandoci in attesa di novità; novità che poteva essere rappresentata da una risorsa quale PhoneGap Enterprise, ma che non abbiamo mai visto materializzarsi.

Quale sarà quindi il futuro di PhoneGap? Adobe, ci sei?

Abbiamo grandi aspettative per questo PGDAY EU 2016: ci vediamo là!

Sviluppatore Android Bologna

marker

Stiamo cercando uno sviluppatore Android nativo da inserire all’interno del team di sviluppo interno, con comprovata esperienza sulla piattaforma Google e/o CyanogenMod e una buona autonomia operativa.

I candidati verranno coinvolti nello sviluppo dei progetti aziendali e potranno occuparsi anche della formazione delle risorse interne.

Principali responsabilità:
– sviluppo di app native per Android (smartphone, tablet, wearable, custom hardware, custom firmware)
– formazione delle risorse junior interne
– delivery delle applicazioni su Play Store e gestione certificati

Competenze richieste:
– buona conoscenza di Java
– ottima conoscenza del sistema operativo Android
– ottima conoscenza dell’ambiente di sviluppo Eclipse e/o Android Studio
– almeno 1 anno di esperienza in ruolo analogo
– esperienza in ambito REST web services e scambio di dati con strutture dati JSON

Completano il profilo:
– la conoscenza di iOS e/o PhoneGap
– esperienza con i framework AngularJS e/o Ionic
– esperienza nello sviluppo Web (HTML/JS/CSS, PHP)
– App pubblicate su Play Store e/o App Store

Per candidarti a questo annuncio decodifica l’indirizzo e scrivici una mail a am9ic0Btb2JpbWVudHVtLml0

Sede di lavoro: Casalecchio di Reno (BO)

Posted in Jobs.
smartphone-natale-mobimentum-2015-small

Santa che ti passa: primo gioco Mobimentum ed è subito virale!

Da qualche anno qui in Mobimentum regaliamo ai nostri clienti per le festività un goloso smartphone di cioccolato bianco realizzato per noi dalla Pasticceria La Dolce Vita di Bazzano, personalizzato con una grafica natalizia disegnata da noi.

Quest’anno volevamo che fosse veramente speciale e, da bravi nerd quali siamo, non ci siamo accontentati di decorare lo schermo a tema 8bit, ma abbiamo completato il tutto con un regalino scaricabile tramite QR code.

il nostro bellissimo smartphone 2015!

A questo link potete ammirare Santa che ti passa, il nostro primo videogioco! Abbiamo sviluppato il gioco con il framework Construct2 personalizzandone la grafica (sui bolognesissimi colli dello sfondo si vede il santuario della Madonna di San Luca, quasi come dal nostro ufficio!) e i suoni e pubblicandolo sul nostro sito e sul Play store (presto disponibile anche per gli amici Apple!).

Lo scopo del gioco è far saltare il nostro Babbo Natale (ribattezzato “Salta Claus” da un nostro geniale utente) di camino in camino grazie alle molle di cui abbiamo dotato la sua renna per fargli consegnare gli smartphone Mobimentum di Natale, accumulando più punti possibile.

Saltando al camino immediatamente successivo si guadagna un punto, mentre i salti multipli vengono premiati con un punteggio superiore, pari al doppio dei camini saltati in un colpo solo. Perché la renna spicchi il salto è sufficiente una pressione sullo schermo del gioco con il dito (o con il cursore del mouse per chi gioca da pc) tanto più intensa quanto più lontano si desidera saltare, proprio come se si volesse caricare una molla vera.

Quante volte in vita vostra avete scoperto un gioco, vi siete detti “Dai, faccio solo una partita!” e vi siete ritrovati a guardare l’orologio e constatare che erano passate ore? E più il gioco è fastidioso, più passate il tempo a giocarci, soprattutto nel momento in cui iniziano a giocarci anche i vostri amici (o colleghi, nel nostro caso) e condividono i loro punteggi migliori su Facebook… è proprio così che Santa che ti passa è diventato virale in pochissimi giorni dalla sua pubblicazione. In soli 4 giorni il nostro gioco ha già raggiunto 1300 visitatori unici e più di 600 condivisioni su Facebook, con la Top10 dei punteggi attualmente dominata da un imprendibile 93: un successo che davvero non ci aspettavamo! Per non parlare del quantitativo di improperi pronunciati dai nostri amici che non riuscivano a staccarsi più…

Per chi fosse interessato, di seguito qualche dato un pochino più tecnico sulle tre criticità principali che abbiamo affrontato nella realizzazione del gioco.

Eventi personalizzati

La difficoltà principale è stata la personalizzazione degli eventi. Sebbene funzionassero benissimo nella versione desktop, i comandi per le condivisioni sui social avevano problemi sui dispositivi mobile, in particolare su iOS in quanto Safari blocca l’apertura di nuove tab.

Sia per iOS che per Android abbiamo quindi optato per l’esecuzione di codice Javascript che controllasse il sistema operativo e richiamasse il metodo “open” dell’oggetto “window” fornendo come target “_self” o “_blank” rispettivamente.

Abbiamo poi dovuto variare il comportamento per l’app rispetto alla versione web. Potendo usufruire dei plugin Cordova, in particolare di InAppBrowser, ci è stato possibile forzare l’apertura di una pagina nel browser di sistema ed usufruire così del deep linking del Sistema Operativo, quando presente.

Musiche

A seconda del sistema operativo possono essere supportati due differenti formati: m4a per Apple ed ogg per gli altri. Siccome Construct2 non fornisce un tool di conversione, una volta compreso il problema, è stato necessario convertire personalmente i file .ogg in .m4a per estendere la compatibilità.

…ok, ora potete tornare a giocare! Condividete, sfidate i vostri amici e taggateci se riuscite a raggiungere la vetta della nostra classifica!

eu-cookie-law

E il tuo sito è in regola con le nuove normative europee?

Il 31 Maggio entrerà in vigore la nuova normativa europea che obbliga i siti Web ad informare gli utenti sull’utilizzo dei cookie. Gli utenti quindi devono dare il consenso per essere tracciati tramite cookie.

Il riferimento normativo è la legge del Garante sulla Privacy del 08/05/2014 che recepisce la direttiva europea 2009/136 ed è stata convertita in legge dello Stato il 03/06/2014.

Questa nuova legge prevede l’obbligo per i titolari/gestori di siti web di:

  • inserire sul proprio sito l’informativa riguardante l’utilizzo e la gestione dei cookie (cookie policy)
  • inserire l’ avviso (banner, pop-up, lightbox, ecc) che il sito utilizza i cookie
  • spiegazione di cosa sono i cookies

Se non si ottempera l’obbligo entro i tempi stabiliti si può incappare nelle sanzioni previste per l’omessa o inidonea informativa all’interessato (Art.161 Codice privacy) con sanzioni da 3.000 a 18.000€, oppure da 5.000 a 30.000€ se dati sensibili. La somma può essere aumentata sino al triplo quando risulta inefficace in ragione delle condizioni economiche del contravventore.

I cookie

Ma cosa sono i cookie? Sono piccoli file di testo che vengono scaricati e memorizzati dal browser sul vostro PC e servono per salvare informazioni persistenti. I cookie sono usati, solitamente, a fini statistici o salvare alcune preferenze del visitatore: un esempio pratico consiste nel ricordare l’utente, nei siti Web che richiedono l’accesso ad un’area riservata, al fine di non dovergli chiedere nuovamente username e password al prossimo accesso.

Tutti i cookie devono necessariamente essere autorizzati? No, soltanto quelli che profilano l’utente, in paricolare si definiscono “cookie tecnici” per i quali non è necessaria l’autorizzazione:

  • cookie di navigazione o sessione utilizzati al solo fine di effettuare la trasmissione di una comunicazione, compreso il cookie che memorizza il carrello
  • cookie di analisi della navigazione che non vengono associate ad un identificativo utente ma aggregano e rendono anonime le informazioni

Queste considerazioni, tuttavia, non si applicano a cookie di terze parti come Google Analytics per i quali invece è necessaria l’autorizzazione!

L’informativa

In caso di cookie esenti da consenso, non ci sono specifiche su come comunicare l’informativa. Negli altri casi, il garante suggerisce una modalità semplificata per fornire l’informativa: una prima informativa (di primo livello) sotto forma di banner con contenuto minimo (ma occorre segnalare se si usano cookie di terze parti), che attiri l’attenzione del navigatore con un link verso l’informativa di secondo livello.

Proseguendo la navigazione stiamo di fatto prestando consenso a ricevere cookie dal sito. L’informativa estesa deve poter consentire di selezionare i singoli cookie.

L’informativa estesa deve:

  • essere linkabile da tutte le pagine del sito
  • contenere tutti gli elementi ex art 13 codice privacy
  • descrivere in maniera precisa la finalità dei cookie installati (anche quelli tecnici)
  • consentire di selezionare e deselezionare i singoli cookie
  • contenere i link alle informative dei cookie di terze parti
  • indicare all’utente la possibilità di configurare il browser per la più congeniale gestione dei cookie

Aiuto!

Se avete dubbi su come procedere o non avete le conoscenze tecniche necessarie per mettervi in regola contattaci e indicaci il tuo sito, ti faremo un preventivo gratuito per metterlo in regola.

 

phband-190322-352x300

Smartphone Android dual-SIM: quale e come scegliere

Oggi esaminiamo un argomento poco tecnico… ma decisamente androidiano: gli smartphone dual-sim!

Una delle caratteristiche sicuramente più interessanti del robottino verde è la versatilità: gli sviluppatori la chiamano con accezione dispregiativa frammentazione, indicando l’enorme quantità di modelli disponibili; per gli utenti, invece, è indiscutibilmente un grande vantaggio!

Una “nicchia” (ma neanche troppo) all’interno dell’ecosistema Android è costituita dai modelli dual-SIM che offrono la possibilità di inserire due SIM nel telefono. Le schede possono essere di operatori diversi e si accendono o spengono in modo del tutto indipendente, scenario ideale per chi ha numeri di casa e lavoro, due numeri personali o diverse promozioni per chiamate e sms.

La fascia media (150-250€) è decisamente sovraffollata e ci sono decine di modelli disponibili. Nella fascia alta invece (>250€) c’è meno concorrenza, segno di un mercato evidentemente meno appetibile per i produttori. Molti dei modelli di punta, inoltre, sono delle vere e proprie “padelle” (termine tecnico che identifica smartphone con schermo di 5.5”).

Vediamo quindi quali sono gli smartphone dual-SIM più interessanti, con buone caratteristiche hardware, dimensioni contenute e prezzo interessante:

  • ZTE Nubia Z7 mini: quad-core, 2GB RAM, schermo 5” e batteria da 2300mAh, ha un design originale anche se non modernissimo. Si trovano in rete ottime recensioni ed è sicuramente uno dei nostri modelli preferiti, unica pecca esce con Android 4.4.2 e ha un “vecchio” processore a 32-bit.
  • Lenovo Vibe X2: processore octa-core, 2GB RAM, schermo 5” e batteria da 2300mAh, design originale e curato. Questo smartphone ci piace molto, peccato solo per la batteria un po’ inadeguata per un processore octa-core.
  • Coolpad Dazen X7: quad-core a 64-bit e 2GB RAM, schermo 5.2” e batteria da 2700mAh. Il nostro preferito come design e caratteristiche hardware, il processore a 64-bit lo rende già pronto per Lollipop. Anche se… quegli 0.2” lo rendono qualche millimetro troppo ingombrante…
  • Oppo R1C: processore quad-core a 64-bit con 2GB RAM, schermo 5” e una “strana” batteria da 2420mAh con design molto curato ed elegante. Anche l’Oppo è già pronto per Lollipop… ma arriverà mai su questo terminale?
  • ZTE Blade S6: octa-core con 2GB RAM, schermo 5” e batteria da 2400mAh, è noto come “miglior clone dell’iPhone 6” anche se le somiglianze, tolto il tasto home, non sono poi così evidenti. Al momento è l’unico dual-SIM con Lollipop già all’uscita di fabbrica… bravi ZTE!

Noi stiamo valutando quale acquistare… anche se con il Mobile World Congress alle porte forse vale la pena di temporeggiare un mesetto! E voi quale modello scegliereste oggi?

 

Gestione del layout in Appcelerator Titanium e Adobe Phonegap - Mobimentum

Titanium e Phonegap: gestione del layout

Nel precedente post Titanium e Phonegap: il nostro punto di vista abbiamo analizzato le differenze architetturali e le caratteristiche delle due piattaforma.

La caratteristica con cui ci si scontra maggiormente quando si parla di applicazioni cross-platform è sicuramente la UX dell’applicazione. Cercare di fornire un’esperienza utente che non dia la sensazione di trovarsi davanti ad una pagina web, ma ad una vera e propria applicazione. Lo sviluppo cross-platform vorrebbe puntare proprio a questo risultato ma, fino a non molto tempo fa, le differenze con lo sviluppo nativo erano davvero palesi, oggi fortunatamente i passi avanti in questa direzione sono stati notevoli.

Vediamo le differenze che le due piattaforme forniscono allo sviluppatore.

Phonegap è il più semplice da spiegare, offre una webview. Semplice ed immediato.
A noi “basta” riempire interi file di codice HTML, CSS e Javascript per ottenere un risultato praticamente omogeneo. In realtà alcune differenze di gestione dei CSS ci sono tra iOS ed Android, e soprattutto con le versioni pre-KitKat di Android stesso. Questi sono problemi che i webdevelopers incontrano quotidianamente a causa delle differenze tra i vari browser, per cui è veramente facile trovare supporto e soluzioni anche ai problemi più particolari.
Con CSS3 sono stati fatti notevoli passi avanti nella gestione dei layout della pagina e si riesce ad operare in maniera discretamente precisa per quanto riguarda la disposizione degli elementi, ma necessita di una conoscenza abbastanza buona per poter essere sfruttato al meglio e, come detto, le complicazioni aumentano in maniera esponenziale se si lavora con Android pre-Kitkat (che oggi, dicembre 2014, rimangono comunque la maggioranza).
I problemi sono per lo più causati da HTML, che non era stato pensato come un linguaggio per l’impaginazione verticale e solo adesso si sono iniziate a strutturare le pagine con quel fine.

Dall’altro lato Titanium invece sfrutta le View native. Ogni finestra che creerete utilizzando le API specifiche verrà convertita in una finestra nativa, godendo appunto di tutti i vantaggi che questo comporta nella gestione dei layout. Potrete facilmente e velocemente gestire le spaziature ed il posizionamento centrale degli elementi, ma non ne esce indiscusso vincitore. È comunque necessario prestare notevole attenzione alla differenza tra i vari SO. Infatti è molto probabile che un’impostazione perfettamente funzionante su Android risulti completamente errata su iOS, questo in maniera ancora più frustrante che con CSS. Situazione che peggiora considerando l’assenza di tool di sviluppo in tempo reale. Esistono tool esterni per simulare un livereload ma si tratta comunque di modificare il file, attendere la compilazione e l’aggiornamento e verificare le modifiche: nulla a che vedere con la velocità di utilizzo dei Chrome Developer Tools.

Gestione del layout in Appcelerator Titanium e Adobe Phonegap - Mobimentum

Titanium e Phonegap: il nostro punto di vista

Ci apprestiamo ad entrare in un campo minato, quello dell’annoso scontro. Iniziamo subito con le ovvietà: non esiste un vincitore. Entrambe le piattaforme presentano peculiarità specifiche e problematiche con cui finirete per scontrarvi.

Nessuno dei due necessita di presentazioni approfondite. Iniziamo con alcune considerazioni di carattere generale che andremo poi ad approfondire nelle prossime settimane.

PhoneGap
Espone una webview che può essere estesa con plugin per godere dell’integrazione con funzionalità native. L’uso di HTML/CSS nudo e crudo con Javascript consente uno sviluppo molto rapido su linguaggi conosciuti e rodati, con ampie community di supporto; trattandosi di una semplice webview che mostra pagine HTML la compatibilità cross platform è praticamente assoluta finché ci si attiene alle API dei linguaggi, ma alcuni problemi possono sorgere quando si utilizzano plugin che interagiscono con elementi nativi molto differenti tra le piattaforme come la gestione della memoria fisica. Gli strumenti di sviluppo sono molteplici, perfezionati e ciascuno può basarsi sulle proprie preferenze. Inoltre ampie community stanno portando avanti l’integrazione con i più moderni framework per lo sviluppo di webapp.

Titanium
Quello che per me è il suo più grande difetto è l’assoluta dipendenza da Titanium Studio per il debugging. Per iOS è disponibile uno strumento di uno sviluppatore indipendente ma per Android è obbligatorio l’utilizzo della piattaforma Studio che, sebbene soggetto a continui miglioramenti, è derivato da una vecchia versione di Eclipse e potrebbe non essere il vostro strumento di sviluppo preferito. Dal canto suo Titanium consente di ottenere applicazioni cross platform con un feeling nativo incredibile rispetto a PhoneGap ed una maggiore integrazione con i moduli grazie alla traduzione delle view in vere e proprie finestre, molto più semplici da gestire che non tramite CSS. Questo però si paga con la necessità di dover utilizzare le API specifiche di Titanium che, sebbene siano ottimamente sviluppate e coprano la quasi totalità delle necessità, rimangono un “linguaggio” da comprendere ed utilizzare, più limitato rispetto a CSS (tipicamente vittima di amore ed odio) oltre a dover prestare attenzione alle differenze di gestione dei vari layout tra le piattaforme che possono creare anche notevoli problemi. La community di supporto è appcelerator-centrica, quasi tutti i problemi che potrete incontrare sono risolti sul forum per developer proprietario di appcelerator e qualche sporadica risposta su Stackoverflow. Questo è un bene, denota una viva attenzione della società per i suoi sviluppatori, oltre a porsi essa stessa come punto di riferimento, ma potrebbe diventare una limitazione in futuro. Decidete voi se lo reputate un bene od un male.

Maggiori dettagli tecnici sulle differenze tra le due piattaforme sono disponibili nel post Titanium e Phonegap: gestione del layout.

Restiamo in attesa della presentazione di PhoneGap Enterprise per un eventuale nuovo confronto e stabilire se esiste un vincitore assoluto tra queste due piattaforme che Gartner posiziona tra Leaders e Visionaries nel Magic Quadrant for Mobile Application Development Platforms.

fb-msg

Ricevere i messaggi di Facebook senza installare Messenger

Il post di oggi è un po’ off-topic rispetto ai consueti contenuti del nostro blog, eppure riteniamo che possa essere d’interesse e che valga la pena di conviderlo con i nostri venticinque lettori.

Il problema

Recentemente Facebook ha deciso unilateralmente che per utilizzare la chat da smartphone Android è necessario installare Messenger. Se non vi è ancora successo, tranquilli: succederà a breve! Il contagio, infatti, è incrementale e all’inizio si manifesta come un semplice avviso “Stiamo spostando i messaggi, scarica applicazione?” per poi diventare un “Ok, ora o aggiorni o basta messaggi da smartphone”. Il problema è molto sentito e discusso in rete, molti (giustamente) non hanno gradito questa scelta e la stessa scheda di Messenger sul Play Store è piena di commenti negativi, per non dire peggio.

Ma cosa non va in Messenger? Tanto per cominciare, è – appunto – una scelta unilaterale, e come tale dà fastidio a prescindere. Ma ci sono anche ragioni oggettive per non passare a messenger: è un’altra app inutile, occupa memoria sul telefono, si aggiorna in continuazione, rallenta le prestazioni, richiede tonnellate di permessi e consuma batteria. I vantaggi? Nessuno.

La soluzione

Fortunatamente, i messaggi in realtà sono ancora presenti nell’app di Facebook e sono semplicmente stati nascosti! Possiamo quindi far credere a Facebook che Messenger sia installato anche se non lo è. In questo modo verrà ripristinata la funzionalità di invio/ricezione messaggi nell’app di Facebook. La procedura è molto semplice: è sufficiente scaricare e installare Fake Messenger. Se non l’avete già fatto in passato, dovete sapere che per installare app non provenienti dal market è necessario abilitare l’opzione Impostazioni > Sicurezza > Origini sconosciute (o simile, dipende dalla versione di Android, ad es. sui Samsung è “Sorgenti sconosciute”).

Che vantaggi ha Fake Messenger rispetto a Facebook Messenger?

  • la installiamo perché vogliamo noi e non perché qualcuno ci ordina di farlo
  • occupa circa 11KB invece di 13MB, cioè più di 1000 volte meno
  • non richiede alcun permesso, a differenza di Messenger che ne richiede ben 9 tra cui sapere chi siamo, dove siamo e cosa facciamo
  • non usa batteria: di fatto l’app non fa nulla se non stare lì nell’elenco delle app insieme alle altre
  • non si aggiornerà nel tempo, essendo un’app “vuota” non c’è necessità di migliorarla o correggerne errori

Ultimo ma non per importanza: l’app è assolutamente gratuita e non c’è pubblicità. Virus e malware? Neanche!

Scarica subito Fake Facebook Messenger: clicca qui.