-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinforme.lyx
267 lines (216 loc) · 7.39 KB
/
informe.lyx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
\lyxformat 345
\begin_document
\begin_header
\textclass article
\begin_preamble
% Preview source code
\end_preamble
\use_default_options false
\language english
\inputencoding utf8
\font_roman default
\font_sans default
\font_typewriter default
\font_default_family default
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\paperfontsize default
\spacing single
\use_hyperref false
\papersize default
\use_geometry false
\use_amsmath 1
\use_esint 1
\cite_engine basic
\use_bibtopic false
\paperorientation portrait
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\defskip medskip
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\author ""
\end_header
\begin_body
\begin_layout Title
Informe HCI TPE2
\end_layout
\begin_layout Section
Decisiones de diseño
\end_layout
\begin_layout Subsection*
Vista de Categorías, Subcategorías y productos
\end_layout
\begin_layout Standard
Si bien se trató de ser lo mas fiel posible al diseño original, se hizieron
cambios leves.
\end_layout
\begin_layout Standard
En cuanto a las listas, se optó por:
\end_layout
\begin_layout Itemize
Agregar el precio a cada producto, ya que este dato es lo primero que el
usuario mira al momento de tomar una decisión.
\end_layout
\begin_layout Itemize
Usar una tipografía mas grande.
Cuando se diseñó el menú, este aparentaba ser mas
\begin_inset Quotes grd
\end_inset
agradable” cuando cada item utilizaba una única línea, pero al ver los resultado
s obtenidos en la práctica, se decidió que era un buen cambio.
Además, no se había tenido en cuenta a los usuarios con problemas de visión
(hay que tener presente que estos son dispositivos con pantallas muy reducidas
y que además uno puede encontrarse en ambientes muy iluminados y no verse
bien el brillo de la pantalla) ni a los usuarios con dedos grandes, a los
que puede dificultarse seleccionar un ítem de la lista debido a su tamaño
reducido.
\end_layout
\begin_layout Itemize
Se agregó un texto en la parte inferior de la pantalla que muestra por unos
segundos la opción seleccionada (para complementar al breadcrumb que puede
no ser notado debido a su tamaño).
\begin_inset Newline newline
\end_inset
\end_layout
\begin_layout Standard
En cuanto a su implementación, por experiencia con el trabajo práctico anterior,
se implemento un "
\begin_inset Formula $category$
\end_inset
\begin_inset Formula $manager$
\end_inset
", que se encarga de almacenar una lista de categorías y subcategorías que
ya fueron pedidas al servidor y de esta manera, se reduce a uno la cantidad
de peticiones de cada categoría.
Consideramos esto un detalle muy importante a tener en cuenta ya que (por
lo general), los dispositivos moviles poseen conecciones a internet mediante
3g (coneciones muy inferiores a las que se tienen en el hogar) y que además
es cobradas por paquetes.
Por lo que el uso del programa terminaría saliendole muy caro al cliente
si va y viene constatemente en la lista.
\begin_inset Newline newline
\end_inset
Se consideró hacer lo mismo para el listado de productos, pero se presentaba
el problema que pueden llegar a existir cientos de productos en el servidor
y esto resultar en un programa final mas lento (debido a demasiada información
cargada en memoria
\begin_inset Foot
status open
\begin_layout Plain Layout
Se tuvo en cuenta el hecho de usar una lista de tamaño fijo en la que se
guarden los últimos elementos consultados y los demás sean descartados,
pero se dejó esto para una futura implementación ya que se tenían otras
prioridades de funcionalidad mas importantes.
\end_layout
\end_inset
).
\begin_inset Newline newline
\end_inset
\end_layout
\begin_layout Standard
En cuanto a la vista de producto, se logró implementar una pantalla muy
fiel a la planeada.
Un detalle muy importante que hay que resaltar es el hecho que al momento
de listar los datos del producto, se usa la misma tipografía para la etiqueta
y su valor, esto se vería muchísimo mejor si fuese como en la vista de
información de ordenes.
\begin_inset Newline newline
\end_inset
\end_layout
\begin_layout Subsection*
Filtro, paginación y ordenamiento de la información
\end_layout
\begin_layout Standard
Al principio del trabajo se pensó en implementar una barra de búsqueda en
la parte superior de la pantalla.
Sin embargo, al momento de comenzar a programar, se encontró que android
ya ofrecía una de estas (y de hecho era casi igual a la pensada originalmente!).
Aunque por falta de tiempo, no se pudo llegar a implementar esta funcionalidad
ni la de paginación (load on demand).
\end_layout
\begin_layout Standard
En cuanto al filtro, éste si fue aplicado.
En cualquier momento se puede ingresar texto y la lista se fija si hay
algún producto que
\begin_inset Formula $contenga$
\end_inset
las palabras ingresadas.
Como no es para nada intuitivo el ingresar un texto sin que halla ningún
lugar para escribir (solo seleccionar) se optó inicialmente por crear un
menú
\begin_inset Formula $ayuda$
\end_inset
en el menú principal en donde se hable sobre esto (y posiblemente sobre
otras cosas mas).
Pero, por experiencia, se sabe que el usuario no ingresará en este menu
a menos que le sea imprescindible.
Por lo que se tuvo que pensar otra solución, ya que no se quiere ofrecer
funcionalidad que no se use por no ser
\begin_inset Quotes eld
\end_inset
visible
\begin_inset Quotes erd
\end_inset
.
\end_layout
\begin_layout Standard
La solución que actualmente se encuentra aplicada es la de mostrar un texto
corto explicando la funcionalidad mencionada en un
\begin_inset Formula $Toast$
\end_inset
por un corto intervalo de tiempo.
Por supuerto, en un lugar poco invasivo en la pantalla.
\begin_inset Newline newline
\end_inset
\end_layout
\begin_layout Subsection*
Menú principal
\end_layout
\begin_layout Standard
Para simplicidad de la aplicación y mejor aprovechamiento del espacio en
la pantalla, se trató de reducir al mínimo la cantidad de objetos a mostrar.
Actualmente (y debido a la cantidad de funcionalidad) solo se tienen tres
botones.
Uno para ver productos, otro para ver ordenes existentes y un botón para
desloguearse.
\end_layout
\begin_layout Standard
Por experiencia en trabajos anteriores, se sabe que no es una buena práctica,
habilitar botones al usuario cuando en realidad no tiene sentido debido
al estado en el que la aplicación se encuentra.
Y es por esto que el botón de ver ordenes se desactiva automaticamente
cuando el servidor indica que el usuario actual no posee ordenes.
\begin_inset Newline newline
\end_inset
\end_layout
\begin_layout Standard
\end_layout
\begin_layout Section
Conclusiones
\end_layout
\begin_layout Standard
Luego de concluido el trabajo práctico, nos dimos cuenta sobre el potencial
de
\begin_inset Formula $Android$
\end_inset
, lo fácil que es diseñar aplicaciones con esta herramienta (sin mencionar
el complicado arranque desde cero) y que nos pareció una idea muy innovadora
que se halla implementado el uso de este framework en el curso .
\end_layout
\begin_layout Standard
No esta de más mencionar que nos hubiese resultado muy interesante poder
probar nuestro resultado final en un aparato real ya que después de todo
es donde esta destinada a andar.
\end_layout
\end_body
\end_document