Cerca con Google

Translate

24 gennaio 2012

MIT App Inventor, ora Open Source!!!


Continua la spasmodica attesa per il lancio dei server pubblici di MIT App Inventor, volevo aggiornavi sulle ultime news che sono riuscito a recuperare:

1 - App Inventor è diventato ufficialmente un progetto Open Source

Il codice sorgente è infatti disponibile a questo indirizzo

http://code.google.com/p/app-inventor-releases/

per ora non è possibile fare molto, non esiste praticamente documentazione e non viene accettato il contributo di sviluppatori esterni.
E' comunque un importante passo verso il futuro successo di AI , come dichiarato dal team MIT il loro obbiettivo primario è ora quello di mettere in piedi un server funzionante ed aperto a tutti, dopodiché la gente potrà contribuire con le proprie modifiche al codice AI per migliorarlo giorno dopo giorno. Sono ottimista ed entusiasta di questa cosa (pensate a quante cose magnifiche offre l'Open Source...Android su tutte!!!!)
Potete quindi liberamente usare il logo ed il nome "App Inventor" nei vostri progetti, visto che anche loro son diventati Open Source.

2 - Status Update di metà gennaio da parte del team MIT
Un post di Hal Habelson ci informa sugli ultimi progressi in corso, il post originale lo trovate qua:
http://appinventoredu.mit.edu/developers-blogs/hal/2012/jan/mit-app-inventor-mid-january-status-update
vi riassumo brevemente le notizie più importanti.

Sono passati circa 3 mesi da quando il MIT ha iniziato a lavorare al progetto, e 3 settimane da quando i server Google son stati spenti.
Per ora il lavoro procede senza intoppi ed in linea con le aspettative pianificate, ovvero rendere i server pubblici entro il primo quarto di quest'anno, siamo ottimisti e prevediamo il lancio per circa metà Aprile.


I test procedono bene, abbiamo recentemente aggiunto 300 nuovi tester, quindi in tutto siamo a quota 700 e c'è una lunga lista d'attesa per chi vuole entrare a farne parte (per sapere come fare leggete il mio post http://seblogapps.blogspot.com/2011/12/beta-tester-per-mit-app-inventor.html)
Inseriremo nuovi tester il più velocemente possibile compatibilmente con la stabilità e la potenza disponibile nei nostri server.
Il nostro lavoro più recente è stato quello di migliorare il build server il più possibile in modo che possa compilare le app nella maniera più rapida ed efficiente possibile.


Per chi non potesse fare a meno di usare App Inventor, esiste sempre la possibilità di far girare in locale il proprio server, come spiegato in inglese qua (http://appinventoredu.mit.edu/developers-blogs/andrew/2011/nov/running-your-own-app-inventor-service


Finisco spiegando il perchè non ho mai fatto un tutorial a riguardo: far girare AI in locale richiede necessariamente anche il "build server" che è una macchina che deve essere collegata ad internet con indirizzo ip pubblico che giri su MacOS o Linux, cosa che forse in pochi hanno a disposizione.
Vedremo in futuro se troveranno dei modi più semplici per crearsi la propria istanza di AI, per ora lascio questa possibilità a chi è ancora più smanettone di me :)

Quindi la notizia più importante è che SICURAMENTE il progetto diventerà aperto a tutti verso metà Aprile, eh si, purtroppo c'è da aspettare ancora molto, speriamo però che almeno il bacino di utenza di beta tester si allarghi al più presto per non deludere nessuno dei miei fedeli lettori!!!

alla prossima quindi, se avete news, domande o quant'altro, usate pure i commenti del blog!

37 commenti:

  1. Veramente non ci speravo, da oggi sono un betatester anche io...
    salud

    RispondiElimina
  2. benissimo annuncio a tutti che a breve app inventor apparira su un server italiano il sito e www.hizlog.it

    RispondiElimina
  3. invito tutti a partecipare all' inaugurazione compraso e specialmente il creatore di seblog

    RispondiElimina
  4. Ciao Gex! grande idea, spero riusciate a mettere in piedi un server App Inventor vostro, da quel che ho capito la cosa non è semplice ma mi sembra abbiate la volontà e le capacità per farcela!
    fatemi sapere quando andate online e magari se volete farò anche un post dedicato a questo invitando gli interessati ad iscriversi :)

    RispondiElimina
  5. Sto usando la versione del MIT per ora tutto OK certo che rispetto a quella di Google è molto più lento

    RispondiElimina
  6. Ciao, seguo molto i tuoi tutorial. Ho provato a seguire le istruzioni per la pubblicazione e l'iserimento della chiave. Sembra tutto ok ma quando inserisco l'.apk direttamente nel mio dispositivo non mi funziona. sai dirmi perchè? (ho disinstallato l'app fatta con inventor..)

    RispondiElimina
    Risposte
    1. Riesci a prendere i log (logcat) dal tuo telefono quando provi ad installare l'app, senza di quelli purtroppo ho pochi elementi per poterti dire cosa non va...

      Elimina
  7. seba ho da farti una domanda ma e possibile vendere la propria applicazione attraverso paypal

    RispondiElimina
  8. Questo commento è stato eliminato da un amministratore del blog.

    RispondiElimina
  9. Vorrei un parere su fusion table, l'utilizzo di questo componente in una app obbliga il "cliente" a sottoscrivere obbligatoriamente un account google... ho sbaglio qualcosa.
    Se non voglio obbligare l'utente a sottoscrivere l'account di google devo usare tynidbweb o è la stessa cosa?

    RispondiElimina
    Risposte
    1. dici bene, le fusion tables sono accessibili solo a chi ha un account google. Se vuoi un app che vada anche per chi non lo ha allora meglio usare TinyWebDb (che però trovo più ostico da utilizzare)

      Elimina
    2. quello che intendevo è che nell'ipotesi di un eventuale sviluppo per iphone conviene utilizzare direttamente tiniwebdb...
      sto tentando di sperimentare qualcosa con app inventor (grazie ai tutorial che mi hanno avvicinato all'argomento) e non sono affatto ferrato sull'argomento.
      Grazie per la risposta

      Elimina
    3. Intendi dire Android...infatti App Inventor c'è solo per Android, il mondo iphone non lo conosco :)

      Elimina
  10. Altra domandona... crede sia possibile utilizzare tiniWebDb sia connesso wireless che 3g simultaneamente nella stessa applicazione?
    in pratica dovrei confrontare dei dati su un DBlocale (Sql) tramite wi-fi e metterli in rete con la app del cell in 3g
    praticamente vorrei evitare di connettere in diretta il Db locale.
    Spero di essermi spiegato più o meno.
    Salud

    RispondiElimina
    Risposte
    1. TinyWebDb è sempre e comunque un database su un webserver, che poi ci si acceda via 3g o wifi non fa alcuna differenza.
      Per fare quello che dici te dovresti usare due database, il primo che sta su un tuo webserver privato e l'altro sul webserver pubblico.
      In pratica devi lavorare su due db distinti.

      Elimina
  11. già... ma quello che mi perplime è come fare per far capire alla app quando collegarsi al 3g e quando al wi-fi.
    sSe sono collegato in wi-fi al server locale come faccio a collegarmi al 3g simultaneamente per far dialogare i dati?

    RispondiElimina
    Risposte
    1. non so come vuoi strutturare l'app ma se non erro nel componente gps c'è un metodo che ritorna se la posizione è data dal 3g o dal wifi, forse con quel blocco potresti capire con che connessione sei collegato.
      Cmq continuo a non capire come dovrebbe fare l'utente a passare da una connessione all'altra, non è più semplice implementare due db, uno locale e uno su web e dare all'utente la possibilità di aggiornare i dati su uno o sull'altro?

      Elimina
    2. in realtà le app sarebbero 2 una indirizzata all'utente finale e una all'utente gestore.
      quella per l'utente finale usa una sola connessione.
      Quella del gestore acquisisce dati dal server locale (wi-fi) e li restituisce immediatamente alla rete (3g) per aggiornare l'app dell'utente finale.

      Non conosco quel blocco che dici, ci studierò ... grazie
      Salud

      Elimina
  12. Ciao Sebastiano visto che siamo in tema di domandoni, te ne faccio uno anch'io dato che ho cercato un po in giro ma non ho trovato molto. Sai implementare un'activitystarter per richiamare il calendario android ? Se si come ? Enzo...

    RispondiElimina
    Risposte
    1. Prova con questi parametri:
      ActivityPackage = com.google.android.calendar
      ActivityClass = com.android.calendar.AgendaActivity
      trovati in rete, non gli ho ancora provati...

      Elimina
  13. Grazie, ma non riesco ad usarla. Devo studiarci su non conosco la sintassi corretta per utilizzare le activity . Se la provi o se qualcuno che legge mi scrive come settare l'activity e come lanciarla mi farebbe un gran favore. Grazie.

    RispondiElimina
  14. ciao sebastiano ho seguito il tuo video tutorial per installare app inventor.. è andato tutto ok fino a quando dicevi di andare su my project, ho cliccato e mi è uscito errore, come se la pagina non esistesse piu.. ho anche saputo che adesso app inventor non e piu disponibile. sai se sistemeranno e piu avanti ci sarà un modo di riuscire a scaricarlo completamente e fare applicazioni?

    RispondiElimina
    Risposte
    1. la pagina ufficiale di app inventor è cambiata, quella google non esiste più, devi andare su quella del MIT ma solo se ti hanno accettato come beta tester (http://experimental.appinventor.mit.edu/)
      più avanti apriranno di nuovo App Inventor per tutti e sarà probabilmente anche possibile far girare il proprio App Inventor in locale (come è possibile fare anche oggi anche se la cosa non è proprio semplicissima)
      tranquillo che tra poco si riparte con tutto! :)

      Elimina
  15. Sono nuovo della programmazione android e per iniziare avevo pensato di usare appinventor ho scaricato il file .zip che è nuovamente disponibile su googlelab ma non trovo un eseguibile per farlo partire....Mi potete spiegare bene la situazione su come usare appinventor adesso dato che le notizie sono poche ..GRAZIE

    RispondiElimina
    Risposte
    1. Guarda i miei primi tutorial sull'installazione di App Inventor, l'unica differenza è che ora i link da dove scaricare i file si trovano a :
      http://experimental.appinventor.mit.edu/learn/setup/index.html

      i miei tutorial invece sono :
      http://seblogapps.blogspot.com/2011/04/tutorial-1-installare-app-inventor-sul.html
      http://seblogapps.blogspot.com/2011/04/tutorial-2-installare-i-driver-adb.html
      http://seblogapps.blogspot.com/2011/04/tutorial-3-connessione-del-proprio.html

      se hai ancora problemi fammi sapere, ciao

      Elimina
  16. Sembra che la fase sperimentale sti finendo, sono sparite tutte le scritte sullo sfondo con "experimental use only"

    RispondiElimina
    Risposte
    1. Grazie Alessio! hai ragione! finalmente siamo in Beta Pubblica!!! Notizia grandiosa!!! grazie per avermi avvisato!!!

      Elimina
  17. Scusate, ma non è possibile gestire database in locale senza doverne usare uno web?

    RispondiElimina
    Risposte
    1. Certo! il componente TinyDB è usato proprio per gestire i dati in locale senza bisogno di alcuna connessione web.

      Elimina
    2. Si, ma TinyDB è veramente troppo limitato, praticamente è una tabella con struttura fissa Chiave-Valore e non c'è neanche la possibilità di eliminare un record.
      Non è possibile integrare ed utilizzare DB SQLite?

      Elimina
    3. Ad oggi purtroppo nessun supporto a DB SQLite, può darsi in futuro.
      Puoi usare le fusion tables ma anch'esse richiedono la connessione a internet purtroppo...

      Elimina
  18. Altra domanda:
    Non vedo nessun controllo ListView o similare per poter caricare una lista di risultati che permetta di identificare l'eventuale elemento tappato

    RispondiElimina
    Risposte
    1. Esiste il componente ListPicker, credo sia la stessa cosa della ListView se non sbaglio

      Elimina
    2. No, non fa al caso mio.
      Peccato... torno al Java ;)

      Elimina
    3. Per TeoP:
      Io ho utilizzato tinydb e ho risolto la cancellazione in questo modo: chiave = id ; variabile = oggettolista , quando cancello cancello una la riga della lista e aggiorno il database . Non so se sono riuscito a spiegarmi bene ...se hai bisogno la mia email enfandroid@gmail.com oppure puoi chiedere da qui cosi condividiamo . Se vuoi chiedi pure cosa ti serve fare con il listview , ciao .

      Elimina