Perché le aziende non spediscono più moduli all'interno di un'app mobile? Ci sono preoccupazioni per l'accoppiamento stretto?

5

Prefazione: la mia domanda non appartiene esclusivamente a Google e non riguarda esclusivamente iOS. Sto solo usando Google e iOS come esempi perché sono familiari a molti. Avrei potuto facilmente usare "Company X", app "A", "B", "C", "D", "E" e "Android", ma volevo mantenere la mia domanda radicata nella realtà mondo con un esempio tangibile.

Nell'app store iOS, Google ha molte app. A colpo d'occhio, posso visualizzare "Ricerca Google", "Google+", "Google Maps", "Google Earth" e "Gmail".

Ma mi chiedo - Perché Google non ha creato semplicemente un'app "Google" in grado di fornire tutte le funzionalità offerte da queste cinque app? la barra dei menu nera nella parte superiore di ogni pagina Web di Google rende questo possibile sul web; quindi perché non lo rendono possibile grazie a un pulsante del menu nella parte inferiore di un'app Google "globale"?

  • Google è preoccupato per l'accoppiamento stretto tra le app?
  • Google è preoccupato per l'accoppiamento stretto tra i team che sviluppano le app?
  • Google è preoccupato per le dimensioni dell'app?
  • Google è preoccupato per l'ingombro della memoria o il carico della CPU che un'app monolitica potrebbe incorrere quando viene caricata?

[Non è una sfuriata. Semplicemente facendo l'avvocato del diavolo.]

Nonostante molti vantaggi, alcuni critici di iOS dicono che più pagine di app lasciano l'iPhone e l'iPad "ingombri". Ciò è particolarmente pertinente alla mia domanda perché sembra un po 'troppo aspettarsi che un utente conosca (e gestisca) così tante offerte per dispositivi mobili di Google. Dal punto di vista del prodotto, e probabilmente da un punto di vista dell'usabilità, sembra opportuno spedire una singola app.

Seseicurioso,possiedouniPhoneeunNexus7;quindinonsonosposatoanessunadelledueprincipalipiattaformemobili.

Ehounveroproblemadarisolverequi:seraggrupparepiùappall'internodiun'unicaappdigrandidimensioniodistribuirepartiseparatedifunzionalitàinpiùapp.

EDIT:Inrispostaa @ commento di MichaelT

posta Jim G. 11.07.2013 - 22:40
fonte

7 risposte

22

In parole semplici:

  • Non tutti gli utenti utilizzano tutte le app di un'azienda
  • Diversi utenti hanno esigenze diverse
  • Perché costringere un utente a comprare un pacchetto completo quando ha bisogno solo di una parte? (Ok, le app di Google sono gratuite, ma non quelle di altri produttori di software.)
  • Disporre di app separate consente di essere aggiornato separatamente e, soprattutto, venduto separatamente.
  • Il fatto che diverse app siano fatte dalla stessa azienda non significa che appartengano insieme.
  • Immagina di avere una singola app "Adobe" che comprende Photoshop, Lightroom, Reader, Dreanweaver, ecc.
  • Immagina una singola app "Apple" con questi moduli: iPhoto, iTunes, Aperture, ecc.
  • Questa logica si applica sia per le app desktop sia per quelle per dispositivi mobili

Modifica

  • Le app mobili di solito hanno limitazioni di memoria (@AndreF)
  • Le app mobili vengono solitamente scaricate over-the-air, quindi una dimensione file enorme non è una buona idea
  • Le app multi-modulo richiedono più passaggi per navigare. Gli utenti mobili hanno bisogno di GUI più semplici e veloci.
risposta data 12.07.2013 - 16:16
fonte
6

Gli utenti si aspettano che un'applicazione mobile esegua una singola attività o una piccola serie di attività correlate.

Le piattaforme mobili che menzioni sono state avviate in particolare come sistemi operativi per telefoni. In genere gli utenti svolgono molte brevi attività sul proprio smartphone per tutto il giorno. Questo è completamente diverso dai computer desktop. Questo breve schema di utilizzo abbreviato ha portato alla progettazione di una schermata iniziale personalizzabile che consente l'accesso diretto alle app a singola attività . Anche gli sviluppatori di terze parti sono stati incoraggiati a concentrare la propria app su un'unica attività.

Con l'arrivo dei tablet, i modelli di utilizzo dei dispositivi mobili si sono diversificati, ma i produttori apparentemente hanno scelto di mantenere i paradigmi che erano stati originariamente ottimizzati per gli utenti del telefono. Suppongo perché gli utenti hanno acquisito familiarità con esso.

Per tornare al tuo esempio di app Google: la maggior parte delle persone non avrà bisogno di tutte loro. E anche se è vero che la confusione nella schermata iniziale può rendere più difficile trovare l'app / attività giusta; un'app con un livello di navigazione aggiuntivo è praticamente la stessa.

    
risposta data 14.07.2013 - 09:08
fonte
2

Tre parole: separazione delle preoccupazioni Fai una cosa (e fallo bene). ; -)

E su un sidenote: non è possibile multitasking in una singola app senza reimplementare alcun tipo di "gestione delle finestre" o qualche altra logica folle. Il che riporta alla mia affermazione iniziale ...

    
risposta data 15.07.2013 - 19:27
fonte
1

La ragione principale è che i team più piccoli sono più efficaci nella distribuzione di software che i clienti desiderano effettivamente utilizzare, quindi si desidera utilizzare il più piccolo team possibile. Potresti pensare "bene, perché non usare piccoli team per le singole funzionalità e combinarli in seguito?" Si scopre che combinare il lavoro di più di un team in modo coerente e coerente è molto difficile. E gestire un prodotto di questo tipo (quali caratteristiche ha bisogno? Come lo si pubblicizza? E così via) è anche molto peloso.

Ora alcune app Android lo fanno in misura limitata. L'app Google Maps ha tre diversi punti di accesso: Mappe, Navigazione e Locale. Questi sembrano all'utente tre app separate, ma quando si installa un pacchetto, si ottengono tutte e tre le mappe. Questo ha senso perché ci sono molte funzionalità simili richieste per tutti questi, hanno bisogno della stessa grafica e icone, e così via. Fondamentalmente sta prendendo le scelte che sarebbero nel menu principale di una app "all-in one" e "spingendolo verso l'alto" per il launcher, piuttosto che far rispondere una domanda ogni volta che usano l'app. Ciò significa all'utente un gradino in meno poiché "scegliere la funzione nell'app" equivale a "scegliere l'app": scegli un'icona nel programma di avvio.

    
risposta data 15.07.2013 - 19:47
fonte
1

Non posso dire di cosa sia interessato Google, ma cosa penso:

  • Is Google concerned about tight coupling between the apps? - Avere le app insieme significa che non puoi aggiornarle separatamente. Ogni aggiornamento secondario in una singola (sotto) app si tradurrebbe in un aggiornamento nell'app. Questo significa che molti piccoli aggiornamenti frequentemente o pochi aggiornamenti più grandi raramente (il che non va bene per correzioni di bug).

  • Is Google concerned about tight coupling between the teams that develop the apps? - I team possono lavorare separatamente ma deve esserci un coordinamento tra di loro. Soprattutto per la costruzione e l'integrazione delle app insieme. Un lato positivo è che potrebbero essere necessari meno ingegneri di costruzione / architettura in quanto viene creata solo un'app (non c'è bisogno di tali membri in ogni team)

  • Is Google concerned about app size? - La dimensione è un problema valido nell'ambiente mobile. Ma penso che la dimensione dell'app stessa non sia un grosso problema perché viene scaricata una volta. Sono più preoccupato per gli aggiornamenti frequenti, a volte non desiderati dall'utente (se una subapp che non utilizza è aggiornata). Le reti lente e gli addebiti dati sono le ragioni principali: immagina di dover attendere un aggiornamento di cui non hai bisogno, perché aggiorna una parte dell'app che non usi. E devi pagare per questo ...

  • Is Google concerned about the memory footprint or CPU load that such a monolithic app might incur when it is loaded? - Dipende da come l'app è strutturata, potrebbe non aver bisogno di tanta memoria / CPU rispetto a quando è separata. Ma la dimensione dell'app / risorse sarebbe più grande. Ci sono vari vincoli come metodi / classi contano in un'applicazione. Potrebbe occupare troppo spazio nello spazio di archiviazione integrato.

risposta data 30.07.2013 - 12:13
fonte
0

A rischio di andare contro tutte le altre opinioni pubblicate, penso che creare un'app mobile di Google con tutto * integrato ma fuori mano sarebbe una grande idea!

Molti dei loro software possono essere applicabili a un singolo account utente. Personalmente uso di più Gmail, Ricerca Google e Google Drive. Queste app sono app separate ma sono integrate insieme. Se sono già su una di queste tre app nel browser e ho bisogno di passare all'altro, trovo che la barra di navigazione in alto sia il modo migliore per passare da un'applicazione all'altra.

In Pensiero programmatico e amp; Learning Refactor Your Wetware , Andy Hunt afferma che il multitasking e il cambio di contesto incide sulla produttività e questo include il passaggio da un'applicazione all'altra.

Do you know what Alt-Tab (or Command-Tab on a Mac) is called? It's a context switch.

Emacs è un buon esempio di un unico potente programma con un'enorme varietà di funzionalità e scopi. Guarda il suo successo, è in circolazione da oltre 37 anni ed è ancora un editor molto popolare. Da Emacs posso controllare e inviare email, modificare qualsiasi file, eseguire comandi di shell, navigare sul Web, pianificare eventi e cose da fare, ecc. Posso fare tutto questo senza cambiare contesto .

Google, allo stesso modo, potrebbe mitigare il cambio di contesto collegando le app mobili o evitandole completamente creando un'app Google.

* Se la produttività non è l'obiettivo dell'app o le app sono completamente scollegate, non vedrei una buona ragione per combinare le app in un singolo prodotto. Nel caso di Google, molte delle sue app sono orientate alla produttività.

    
risposta data 17.07.2013 - 17:05
fonte
0

sono programmi separati, avere tutti in esecuzione all'interno della stessa app attirerebbe un sacco di utilizzo sul processore del dispositivo. averli separati significa che i processi possono essere divisi e non tutti in esecuzione contemporaneamente sullo stesso thread. In questo modo, il sistema operativo consente di mettere le app sul masterizzatore in modo che altri processi / app possano sfruttare tutto il potenziale del processore, tuttavia non è possibile utilizzarli tutti allo stesso tempo.

potrebbero venire come un pacchetto come la suite di applicazioni di Adobe, ma quella suite è composta da diverse applicazioni separate in modo che non debbano essere tutte in esecuzione contemporaneamente solo per usarne una.

    
risposta data 18.07.2013 - 23:36
fonte

Leggi altre domande sui tag