Loading
Note di Apprendimento
Study Reminders
Support
Text Version

Dove Arrivano Le App?

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Ora, che abbiamo capito la struttura del corso, cerchiamo di capire dove è chele persone ottengono idee per le loro app. Alcuni tipi di app come i giochi sono inventati da persone chesembrano avere un certo punto di vista o stile di pensiero. Queste sono persone come i vignettisti, escrittori e così via, che hanno modo di pensare al mondo che non è così facile per gli altri acogliere.Ma molte delle app che troviamo utili arrivano ad osservare ciò che le persone sono giàa fare, e a scoprire modi per fare meglio quell' attività utilizzando i computer. Esempi di questitipi di app sono le cose che usiamo nella vita quotidiana. Per esempio ci sono le app di consegna degli alimenti
come Swiggy e Zomato, app di taxi come Ola e Uber, o mappe e app di guida alla guida comeGoogle Maps, o OpenStreetMap.C'era una volta una cosa chiamata una rubrica telefonica. Questo è stato un grande libro cheti è stato consegnato dalla compagnia telefonica, dove avresti guardato il nome di un ristorante,chiama il ristorante e spero che ti consegnino cibo. Ovviamente questo era limitatoai ristoranti che erano abbastanza vicini a casa tua. Oggi l'app Swiggy o Zomato conil loro servizio di consegna permette di ordinare cibo da luoghi relativamente distanti.E ci dà aggiornamenti in tempo reale di varie fasi del nostro ordine. È anche divertente guardare atutte le tappe che accadono mentre aspettate il cibo a casa. Allo stesso modo, una volta su untempo, bisognava sapere delle compagnie di servizio taxi, bisogna conoscere i loro numeri di telefono.Dovreste chiamarli spesso al giorno o così in anticipo, e poi prenotare un taxi. Oggi, con leapp di navigazione in taxi come Ola e Uber, i conducenti e i corridori lavorano quasi direttamente tra loro.E il middleman, qui l'app company, è quasi invisibile a entrambe le parti, tranne quando sorge qualche problema. I creatori di queste app hanno osservato un bisogno comune, hanno visto come implementarlo usando le appe poi costruire un servizio intorno a questa idea. Inizialmente, queste idee erano ispirate da solo semplicecopia o mimetica di servizi esistenti che si basavano sulla tecnologia più vecchia. Ma come queste appe le aziende che li costruiscono capiscono meglio il dominio, e capiscono meglio come usare la tecnologia di oggi, l'alternativa basata su app va ben oltre quello che era possibile nel serviziopiù vecchio.
L'app che costruiremo in questo corso si basa sull'idea simile, osserveremo un bisogno dicomune e partiremo per risolverlo e costruire un'app che possiamo quindi mettere a disposizione delle persone comeun servizio. Allora, di cosa abbiamo a che fare questa app.
(Riferimento Slide Time: 03.12)
L'app che abbiamo progettato si chiama FairShare. FairShare è un'app che è un servizio per aiutarecoinquilini a decidere come suddividere le proprie spese, e tutti finiscono per pagare una quota equa ditutte le bollette che hanno condiviso congiuntamente. Partiremo con un servizio che risolve per una situazione moltosemplice. Le ipotesi che facciamo sono così, il coinquilino condivide le spese per il cibo, l'acqua, la TV via cavo, i viaggi al ristorante e così via tutte le attività che potrebbero fare congiuntamente.Presupponiamo che per ogni attività congiunta di questo tipo, una persona paghi per l'intera attività alla volta.Alla fine di ogni mese ogni coinquilino può ottenere un report che gli dica chi deve i soldi echi deve ricevere denaro. Così che ognuno finisca per pagare la stessa cifra. Come leipotrebbe immaginare, nel tempo possiamo aggiungere funzioni più complesse a questo servizio. Per esempio, diversepersone potrebbero chip in diverse quantità di denaro ad una singola attività, invece del nostro presuppostodove solo una persona paga tutto.Un altro caso è che qualche coinquilino partecipi ad alcune attività invece di ogni singolocoinquilino che partecipa. In quel caso, la parità di condivisione si applica solo a quei coinquilini, mentre inon partecipanti non devono pagare nulla per quanto riguarda quell' attività. Non è un casoche il nostro scenario semplificato si occupa. Una terza possibilità è che qualche persona rimanda il loro
pagamento a fine mese, e sarà d'accordo a pagare qualche tempo dopo. La nostra app potrebbe essererettificata per tenere traccia anche di questa situazione.Ci sono molti altri modi in tal senso che potete immaginare in cui possiamo rendere il servizio app molto piùcomplicato. Tuttavia, in qualsiasi situazione di progettazione del software, è meglio iniziare a piccoli ed evolvere il programmanel tempo. Questo è il motivo per cui abbiamo delineato la discussione della nostra app nel modo in cui abbiamo.Sono le caratteristiche semplici che sono facili da capire che inizieremo con prima. Questa idea dicrescendo gradualmente il programma invece di costruirlo è stato scoperto con qualche sforzo.(Fare Slide Time: 05.36)
Nei primi giorni di calcolo, le persone hanno cercato di costruire programmi seguendo lo stile utilizzato in altri campi di ingegneria. Tenterebbero di decidere cosa costruire, creare piani e poi implementareil programma. L'analogia che seguivavano era con campi come l'ingegneria civile, dove unoredige piani, crea bluestampe e poi assumi subappaltatori per lavorare su vari pezzi, ma noiabbiamo scoperto, da “ we ” qui, sono in tutto il campo, che è molto più difficile nel software adecidere cosa costruire e come costruirlo.
La ragione sembra che non ci sia la natura o la fisica per imporre limiti a ciò che può enon può essere fatto. Il risultato è che le persone finiscono per immaginare ogni sorta di feature. E non è solole caratteristiche stesse, ma il modo in cui queste caratteristiche interagiscono tra loro, che finisce perdiventare immensamente complicata. Questo è molto di più di quello che può accadere sotto i limitiche la natura crea. E quindi, i campi che si affidano alla natura per mettere dei limiti, in alcunimodi, hanno un momento più facile di decidere cosa fare a causa dei limiti molto contenuti incosa si può fare.
Infine impariamo che il software non deve essere costruito, dovrebbe essere coltivato. Un noto librochiamato Mythical Man - Month di Fred Brooks parla di questa scoperta. Con il passare del tempo, noiabbiamo trovato modi migliori per organizzarci al di là di quanto discusso in Mythical Man - Month.I metodi che sono stati scoperti hanno nomi come XP, Scrum, Kanban, che potreste avereprobabilmente sentito parlare di.Ma qualunque siano i loro dettagli, ci sono cose che questi metodi hanno in comune, e forse ilpiù importante è la lezione unica che dice: inizia piccola. Di seguito i punti valgonoricordando:• Non immaginate troppo di fronte.• Ottieni qualche esperienza con il prodotto.• Allora lo evolvi un passo alla volta.Ma il nome breve per questa idea è un prodotto minimo vitale. Quella parola MVP è una giocata sull'acronimoper la maggior parte dei premi più preziosi nel cricket e negli altri sport.Così, useremo lo stesso stile che abbiamo imparato in questa lezione. Partiremo con uno scenariomolto semplice, che è grezzo ma funziona, poi aggiungiamo più funzioni che sembrano necessarie dopo qualche esperienza. In ogni passo, però, il nostro software funzionerà sempre. Non dovrebbe mai il caso cheavremo un lungo periodo durante lo sviluppo tale che il nostro programma funzioni solo alla finedi quella durata.
Questo si adatta bene al nostro approccio complessivo, che è quello di iniziare con un programma di riga di comando efinire con un'app moderna. Ecco allora l'idea generale. Il passo successivo, avendo specificato quello che èche abbiamo in programma di fare, e l'idea che inizieremo costruendo una piccola app minima che possiamocapire. Facciamo il passo successivo.(Fare Slide Time: 08.39)
Così, il passo successivo è capire il problema nel dettaglio. La prima regola è quella di spendere adeguatequantità di tempo per capire il problema. Quello che facciamo è provare alcuni degli scenari da parte dimano e vedere quali sono realmente i dettagli. Un nome elegante per quello che stiamo facendo sarebbe“ carta prototipazione ”.
1 Questo è solo un altro modo di dire che usa la carta per pensare le idee attraverso;il nostro prototipo di carta sarà sufficiente per poterci orientare su dove siamo nel provarequeste idee fuori. Ci aiuterà a inventare l'algoritmo di base, e in breve tempo saremo anchein grado di passare all'implementazione.
1 La prototipazione di carta è un processo che aiuta gli sviluppatori a creare software che soddisfino le aspettative dell'utentee le esigenze creando interfacce grezze disegnate a mano e progetta al prototipo seguito dai test.
(Riferimento Slide Time: 09.24)
Così, per fare questo, esamiamo con alcuni esempi. Ecco il nostro primo esempio molto semplice, lìsono solo 2 le persone A e B. E lo scenario che capiremo è il seguente:1. A paga 10 rupie prima per qualche evento congiunto che A e B partecipano.2. A paga 20 rupie per un altro evento.3. B paga per 40 rupie per qualche evento che di nuovo entrambi hanno partecipato.Così, al termine di questa sequenza di eventi, A ha speso 30 rupie B ha speso 40 rupie, e la domandaè come condividiamo ugualmente. Notate che abbiamo preso un esempio estremamente semplice perassicurati che svilupperemo l'idea di base e funzionerà per situazioni assolutamente fondamentali.