-
Notifications
You must be signed in to change notification settings - Fork 4
/
index.html
424 lines (378 loc) · 40 KB
/
index.html
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
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Metadata -->
<meta charset="UTF-8">
<meta name="description" content="Website description.">
<meta name="author" content="Aerolab">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
<link rel="canonical" href="https://aerolab.co/criterios">
<meta property="og:title" content="Aerolab - Criterios de Calidad">
<meta property="og:description" content="En Aerolab creemos en el trabajo y en el aprendizaje permanente. Estamos seguros de que las metas deben servir a modo de superación personal y que cualquiera puede impartir conocimiento.">
<meta property="og:image" content="https://aerolab.co/criterios/images/criterios-fb.jpg">
<meta property="og:url" content="https://aerolab.co/criterios">
<!-- CSS & Fonts -->
<link type="text/css" rel="stylesheet" href="css/dist/aerolab.css">
<!--[if lt IE 9]>
<script type="text/javascript" src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Favicon & iPhone Icon -->
<link rel="icon" type="image/png" href="favicon/favicon.png">
<link rel="shortcut icon" href="favicon/favicon.png">
<link rel="apple-touch-icon-precomposed" sizes="60x60" href="favicon/apple-touch-icon-iphone.png">
<link rel="apple-touch-icon-precomposed" sizes="76x76" href="favicon/apple-touch-icon-ipad.png">
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="favicon/[email protected]">
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="favicon/[email protected]">
<!-- Site Title -->
<title>Aerolab - Criterios de Calidad</title>
<!-- Scripts -->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="js/compressed.js?v=1"></script>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-P2X572X');</script>
<!-- End Google Tag Manager -->
</head>
<body>
<a href="" id="toggle-nav">
<i>
<span class="top-left"></span>
<span class="top-right"></span>
<span class="middle"></span>
<span class="bottom-left"></span>
<span class="bottom-right"></span>
</i>
</a>
<nav id="navigation">
<ul>
<li class="animated"><a href="#nosotros" data-chapter="Acerca de nosotros"></a></li>
<li class="animated"><a href="#guia" data-chapter="Acerca de la Guia"></a></li>
<li class="animated"><a href="#diseno" data-chapter="Diseño"></a></li>
<li class="animated"><a href="#desarrollo" data-chapter="Desarrollo"></a></li>
<li class="animated"><a href="#comunicacion" data-chapter="Comunicación"></a></li>
<li class="animated"><a href="#flujo" data-chapter="Flujo de trabajo"></a></li>
</ul>
</nav>
<div id="intro" class="intro">
<div class="intro-contents-wrapper">
<h1 id="intro-title" class="intro-title">
<span></span>
</h1>
<img class="intro-decoration id-from-top id-notas" src="images/intro/notas.svg" alt="notas">
<img class="intro-decoration id-from-bottom id-guide" src="images/intro/guide.svg" alt="guide">
<img class="intro-decoration id-from-top id-list" src="images/intro/list.svg" alt="list">
<img class="intro-decoration id-from-top id-keyboard" src="images/intro/keyboard.svg" alt="keyboard">
<img class="intro-decoration id-from-top id-pencil" src="images/intro/pencil.svg" alt="pencil">
<img class="intro-decoration id-from-top id-sandwich" src="images/intro/sandwich.svg" alt="sandwich">
<img class="intro-decoration id-from-bottom id-picture" src="images/intro/picture.svg" alt="picture">
<img class="intro-decoration id-from-bottom id-coffee-mug-spilled" src="images/intro/coffee-mug-spilled.svg" alt="coffee mug spilled">
<img class="intro-decoration id-from-bottom id-iphone" src="images/intro/iphone.svg" alt="iphone">
<img class="intro-decoration id-from-bottom id-snippet" src="images/intro/snippet.svg" alt="snippet">
<img class="intro-decoration id-from-top id-pen" src="images/intro/pen.svg" alt="pen">
<img class="intro-decoration id-from-top id-mouse" src="images/intro/mouse.svg" alt="mouse">
<img class="intro-decoration id-from-top id-pendrive" src="images/intro/pendrive.svg" alt="pendrive">
<img class="intro-decoration id-from-top id-ruler" src="images/intro/ruler.svg" alt="ruler">
<img class="intro-decoration id-from-top id-coffee-mug" src="images/intro/coffee-mug.svg" alt="coffee mug">
<img class="intro-decoration id-from-bottom id-sandwich-eaten" src="images/intro/sandwich-eaten.svg" alt="sandwich eaten">
<img class="intro-decoration id-from-bottom id-hammer" src="images/intro/hammer.svg" alt="hammer">
<img class="intro-decoration id-from-bottom id-wrench" src="images/intro/wrench.svg" alt="wrench">
<img class="intro-decoration id-from-top id-postit-notes" src="images/intro/postit-notes.svg" alt="postit notes">
<img class="intro-decoration id-from-top id-seal" src="images/intro/seal.png" alt="seal">
<img class="intro-decoration id-from-top id-phone" src="images/intro/phone.svg" alt="phone">
<img class="intro-decoration id-from-top id-ssd" src="images/intro/ssd.svg" alt="ssd">
<img class="intro-decoration id-from-top id-controller" src="images/intro/controller.svg" alt="controller">
<img class="intro-decoration id-from-bottom id-glasses" src="images/intro/glasses.svg" alt="glasses">
<img class="intro-decoration id-from-bottom id-glue" src="images/intro/glue.svg" alt="glue">
<img class="intro-decoration id-from-top id-pen-tilted" src="images/intro/pen-tilted.svg" alt="pen tilted">
<img class="intro-decoration id-from-bottom id-screwdriver" src="images/intro/screwdriver.svg" alt="screwdriver">
<img class="intro-decoration id-from-bottom id-chat" src="images/intro/chat.svg" alt="chat">
</div>
<a id="skip-intro" class="skip-intro" href="#">
<img src="images/skip-intro.png" alt="skip intro">
</a>
</div>
<div id="content">
<section id="nosotros">
<header>
<div class="flex col-12-12">
<div class="bg"></div>
<h2>Acerca <br>de nosotros</h2>
</div>
</header>
<article class="col-12-12">
<p>Ávidos de crear soluciones para un mercado creciente, desde hace algún tiempo nos vimos involucrados en el desarrollo de productos digitales que den respuesta a necesidades propias de una era que, entre otras cosas, obliga a permanecer a la vanguardia en materia de procesos y resultados. En este contexto, nuestro principal desafío radica en el perfeccionamiento de una impronta propia que continúe sorprendiendo.</p>
<p>En Aerolab creemos en el trabajo y en el aprendizaje permanente. Estamos seguros de que las metas deben servir a modo de superación personal y que cualquiera puede impartir conocimiento.</p>
<p>Pero principalmente, <strong>creemos fervientemente en el poder de las ideas simples bien ejecutadas.</strong> Y damos por sentado que contamos con aptitudes y valores de trabajo lo suficientemente maduros como para hacer de estas premisas nuestra más sólida fuente de inspiración.</p>
<blockquote>En Aerolab creemos en el trabajo y en el aprendizaje permanente. Estamos seguros de que las metas deben servir a modo de superación personal y que cualquiera puede impartir conocimiento.</blockquote>
</article>
</section>
<section id="guia">
<header>
<div class="flex col-12-12">
<div class="bg"></div>
<h2>Acerca <br>de la Guía</h2>
</div>
</header>
<article class="col-12-12">
<p>Como en cualquier flujo de trabajo, todas y cada una de las partes involucradas en los diferentes procesos son fundamentales y, por ende, la falla de alguna de ellas tiene un impacto directo en el resto.</p>
<p>Para evitar inconvenientes y malos entendidos <strong>decidimos crear esta suerte de guía rápida que enumera recomendaciones, consejos, sugerencias y algún que otro pedido puntual</strong>, esperando optimizar un curso de acción que debería funcionar de manera aceitada asegurando eficiencia en el desempeño y buenos resultados.</p>
<p>No obstante, no es la intención de esta guía delimitar formas de actuar, ni tampoco moldear comportamientos.</p>
<figure><img src="images/illus-clippy.png" width="150" alt=""></figure>
<p><strong>Queremos que quede claro que podés trabajar de la manera que te resulte más práctica y útil</strong>. Nos interesa que te sientas cómodo porque sos una parte importante de nuestro equipo de trabajo y sabemos que tu aporte es sumamente valioso. Sin embargo, sea cual sea la forma en que elijas desempeñar tus actividades, vamos a necesitar que no pases por alto ciertas pautas. Simplemente con eso, nos estarás ayudando de manera significativa a mantener (e inclusive hacer crecer) el prestigio con esfuerzo ya consolidado.</p>
</article>
</section>
<section id="diseno">
<header>
<div class="flex col-12-12">
<div class="bg"></div>
<h2>Diseño</h2>
</div>
</header>
<article class="col-12-12">
<p>En Aerolab tenemos una forma particular de atravesar el proceso de diseño, al cual dividimos en tres etapas:</p>
<ul class="stages">
<li data-scroll-reveal><img src="images/illus-ux.png" alt=""><span>01.</span> Experiencia de Usuario</li>
<li data-scroll-reveal="after .1s"><img src="images/illus-ui.png" alt=""><span>02.</span> Diseño de interfaz</li>
<li data-scroll-reveal="after .2s"><img src="images/illus-kit.png" alt=""><span>03.</span> Componentes de la interfaz</li>
</ul>
<p>La etapa de UX trabaja sobre la experiencia general del usuario asociada al uso del producto a crear. Los wireframes adquieren especial protagonismo en esta fase, no solo porque permiten delinear la estructura de las diferentes secciones del sitio o app (teniendo en cuenta arquitectura de la información, usabilidad, flow de navegación, etc.), sino porque, además, es a través de ellos que se definen las posibilidades de interacción.</p>
<p>Esta etapa suele ser la más larga de todo el proceso de diseño. <strong>¡No desesperes! Es importante ser muy metódico y prolijo en la organización de archivos, principalmente cuando los proyectos adquieren grandes dimensiones.</strong> Pero más importante es considerar en cada una de tus decisiones los pedidos y/o criterios del cliente; no desde un rol de sumisión, sino más bien proactivo.</p>
<p>Al cliente no le gusta ser tratado como un estúpido y a menudo buscará que sus ideas se hagan valer. No obstante, <strong>nunca dejés de dar tu opinión si hay algo que pensás podría hacerse de otra manera más efectiva.</strong> Sé cauteloso respecto a la forma en que redactás tus enunciados y cuidá la ortografía. Frases como “entiendo tu punto, pero opino que…” o “me parece bien lo que decís, pero considero…” son una buena forma de dar a conocer tu postura sin sonar pedante. <strong>No busques imponer tus ideas sino sugerir o proponer cambios con argumentos.</strong> Si no estás seguro de lo que escribiste, pedile a alguien más que lo lea y te dé su opinión. Actitudes como éstas te exponen frente al cliente como una persona criteriosa y respetuosa, lo cual hará que, muy probablemente, éste busque conocer tu opinión en futuras decisiones que deba tomar.</p>
<blockquote>...nunca dejés de dar tu opinión si hay algo que pensás podría hacerse de otra manera más efectiva.</blockquote>
<p>Una vez que los wireframes pasaron por, al menos, 2 iteraciones y fueron aprobados por el cliente, se procede al desarrollo de UI, en el cual se define el Look and Feel que tendrá el sitio/app (enfoque conceptual y lenguaje gráfico a utilizar) para, posteriormente, estilar los wireframes. Esta etapa suele requerir menos iteraciones por parte del cliente dado que involucra meras decisiones estéticas, siempre respetando los wireframes ya aprobados.</p>
<p>Por último, en algunos casos, se realiza una compilación de todos los elementos gráficos del sitio/app en un único archivo que se extiende al cliente como guía para nuevas decisiones de diseño relativas al producto que pudiera tener que tomar.</p>
<figure><img src="images/illus-01.svg" alt=""></figure>
<h3>Criterios de calidad en entregables</h3>
<p>Como nos interesa generar una buena impresión ante nuestros clientes, <strong>es importante que prestemos atención a cada uno de los detalles que hacen a las piezas de diseño que les mostramos.</strong></p>
<p>La humildad es fundamental en este proceso. Todos quienes formamos parte de Aerolab somos personas que destacamos por algo, con conocimientos y habilidades que nos hacen únicos y aportan, sin lugar a dudas, al equipo de trabajo (si, ¡sos talentoso! ¡superalo!). Pedir ayuda no te hace menos capaz o inteligente. Las ideas de otros pueden ser una bocanada de aire fresco a tu cabeza y aportarte perspectiva frente a eso a lo que no terminás de encontrarle la vuelta, principalmente en esos momentos en que sentís que ya consideraste, sin éxito alguno, todas las opciones posibles.</p>
<blockquote>Pedir ayuda no te hace menos capaz o inteligente <3</blockquote>
<h3>Recordá:</h3>
<ul>
<li>Usar los criterios unificados para wireframes de Aerolab cuando no te sientas preparado para crear tu propio sistema de wireframing.</li>
<li>Corroborar alineación conforme a la grilla elegida para el desarrollo del trabajo.
Ser consistente en el uso tipográfico (verificar coherencia entre estilos, legibilidad, etc.).</li>
<li>Buscar concordancia estética con los guidelines de diseño de la empresa cliente (si existieran).</li>
<li>Ser coherente con las necesidades/objetivos del cliente.</li>
<li>Contemplar tipografías e imágenes a utilizar, comunicándole oportunamente al cliente que puede que tenga que comprar las respectivas licencias.</li>
<li>Profundizar respecto a los estándares web y mobile al momento de realizarse el trabajo.</li>
<li>Ser consistente respecto a las páginas presentadas. El cambio en alguna de las secciones compartidas (header, footer) debe repercutir necesariamente en todas las demás para no confundir al cliente.</li>
<li>Trabajar los archivos a tamaño real (en pixels) de acuerdo a la resolución del dispositivo de destino.</li>
<li>Esperar a que el <strong>Creative Director</strong>, el <strong>Lead UI Designer</strong> y/o el <strong>Project Manager</strong> hayan visto tu trabajo antes de subirlo a <a href="#">Basecamp</a> para que el cliente de feedback.</li>
<li>Tratar de no utilizar texto o contenido simulado. De no existir material, deberán buscarse textos que se aproximen en su contenido a los que vayan a incluirse finalmente. Nunca uses lorem ipsum (salvo que sea para puro relleno).</li>
<li>Contemplar los diferentes escenarios posibles a la hora de plantear un diseño con contenido que será dinámico. Prestá atención en particular a casos donde el texto pueda ser mucho más largo, ya que es algo que impacta mucho en la etapa de implementación.</li>
<li>Generar propuesta justificando decisiones que evidencien criterio y buen gusto.</li>
</ul>
<p class="note">Por otra parte, para entregas de archivos finales, además de lo mencionado anteriormente, deberías:</p>
<ul>
<li>Construir un archivo PSD por cada pantalla creada.</li>
<li>Nombrar y organizar archivos siguiendo las pautas estipuladas.</li>
<li>Corroborar que los archivos sean la versión aprobada por el cliente.</li>
<li>Ordenar prolijamente los elementos que hacen a los diferentes archivos en carpetas que identifiquen propiamente cada una de las secciones diseñadas. Los nombres de los elementos/carpetas deberán estar en inglés o español, dependiendo del idioma elegido por el cliente para llevar adelante la comunicación.</li>
<li>Optimizar el peso de los archivos, eliminando todos aquellos elementos que no tengan razón de ser en el diseño final aprobado por el cliente.</li>
</ul>
<figure><img src="images/illus-02.svg" alt=""></figure>
<h3>Documentos de especificaciones</h3>
<p>Es un mito que los diseñadores y desarrolladores hablan lenguajes diferentes. Pueden, cuando así lo quieren, intercambiar opiniones como con cualquier otro simple mortal.
Sin embargo, los desarrolladores no son adivinos. Cuando les llega la hora de hacer lo suyo necesitan que se les expliquen los pormenores vinculados a los archivos con los que deben trabajar. </p>
<blockquote>Es un mito que los diseñadores y desarrolladores hablan lenguajes diferentes.</blockquote>
<p><strong>Es tu trabajo como diseñador crear un pequeño documento con especificaciones sobre funcionalidades que proporcione al desarrollador la información necesaria respecto a posibilidades de interacción</strong>, flujos o cualquier otro detalle relevante que éste necesite conocer para llevar adelante su tarea con el mismo nivel de profesionalismo que el tuyo.</p>
<p>Prestá particular atención para documentar animaciones, estados de hover y active para links, comportamiento del layout para diversos monitores (aclará qué tamaño tiene el diseño, si ocupa toda la pantalla o no, qué componentes quedan fijos, etc), y verificá los efectos a usar junto con un desarrollador para asegurarte de que puedan ser implementados correctamente.</p>
<figure><img src="images/illus-03.svg" alt=""></figure>
<h3>Importancia de generar propuesta</h3>
<p>Los clientes que acuden a nosotros, persiguen un diferencial basado en competencias y experiencia que no solo deseamos mantener, sino hacer crecer. <strong>En Aerolab somos muy estrictos con respecto a todo aquello que pone en juego nuestra reputación y la calidad de nuestro trabajo.</strong> Sin embargo, buscamos flexibilizar al máximo los procesos que hacen a ese producto final. Por lo tanto, sentite libre de hacer comentarios (siempre con respeto) sobre trabajos de otros. La crítica bien aceptada siempre es constructiva. <strong>Permitite, también, innovar y cambiar de perspectiva cada vez que tengas que encarar un nuevo proyecto.</strong></p>
<p>Lo trendy puede ser una fuente de inspiración sumamente valiosa, pero no es la única. Pensar en grande y “por fuera de la caja” siempre es una actitud apreciada; aporta valor a tu trabajo y, sin lugar a dudas, colabora en el proceso de generar nuevas tendencias en las que podrías ser pionero. Ir a lo seguro es aburrido, ¡y para aburrirse siempre hay tiempo!</p>
<blockquote>Ir a lo seguro es aburrido, ¡y para aburrirse siempre hay tiempo!</blockquote>
</article>
</section>
<section id="desarrollo">
<header>
<div class="flex col-12-12">
<div class="bg"></div>
<h2>Desarrollo</h2>
</div>
</header>
<article class="col-12-12">
<p>Como desarrollador front-end, <strong>tu principal responsabilidad es la de implementar la interfaz final sobre la cual van a interactuar los usuarios.</strong> Esto no es simplemente traducir un PSD a HTML y CSS, sino que es pulir la interacción con el usuario y establecer los criterios necesarios para que la UX sea lo mejor posible, creando todo desde las adaptaciones responsive hasta esos pequeños detalles (como animaciones sutiles y una excelente performance) que hacen que una interfaz pase de muy buena a excelente.</p>
<p>Para esto tomamos en cuenta nuestro punto de partida, que es la etapa de wireframing y diseño. En lo posible, <strong>es conveniente que te involucres temprano en el proyecto para asegurarte de que el diseño de UI/UX puede ser llevado a cabo correctamente</strong>, al igual que poder chequear el costado técnico del proyecto para marcar las cosas que hay que tener en cuenta antes de comenzar con la implementación.</p>
<blockquote>...esos pequeños detalles hacen que una interfaz pase de muy buena a excelente.</blockquote>
<p>Cuando termina esta etapa de diseño, ahí sí es necesario crear un pequeño documento que establezca los detalles a tener en cuenta sobre la implementación:</p>
<ul>
<li>¿Cuál es el target de browsers y dispositivos? Verificá esto con las especificaciones del trabajo.</li>
<li>¿Cómo son los :hover, :active y animaciones del site? Trabajá codo a codo con los diseñadores para llegar al mejor resultado posible.</li>
<li>¿Hay componentes que tengan un funcionamiento particular? (Headers fixed, fondos con parallax, transiciones de elementos).</li>
<li>¿Cuánta libertad hay para modificar el diseño? Esto es importante en sitios donde se espera una representación pixel-perfect del diseño, por más complejo que sea. Si este es el caso, y hay que hacer un cambio, asegurate de comunicárselo al <strong>Project Manager</strong> para que no haya malentendidos.</li>
<li>¿Qué va a hacer el cliente con esta implementación? ¿Es conveniente crear una estructura que después permita adaptarla a otra app/plataforma?</li>
<li>¿Esto va sobre un framework (CodeIgniter, Laravel, Symfony, Rails, Django, etc) o sólo hay que entregar el HTML? Es conveniente en lo posible trabajar sobre la implementación final, ya que aceleramos el trabajo de integración.</li>
<li>¿Hay algún requerimiento en lo que refiere a tecnologías? Por ejemplo, usar Angular, alguna versión de jQuery en particular, evitar elementos de HTML5, entre otras. Documentalas apropiadamente para que se conozcan las restricciones del proyecto.</li>
<li>¿Cómo va a ser la integración final con el producto? ¿Quién se encarga de los merges y subida a producción?</li>
<li>¿Hay algún estándar de código que haya que seguir?</li>
<li>¿Cómo hacemos para avisar que un entregable está listo? Si tenemos un repositorio compartido con el cliente es posible que haya malentendidos de cuáles cosas están listas y cuáles no. Establecé apenas empiece el proyecto una metodología para avisar (cerrando tickets en <a href="https://basecamp.com">Basecamp</a> con un comentario que notifique al cliente, por ejemplo) para saber qué cosas se pueden dar por hechas. Recordá siempre la revisión final antes de confirmar un entregable.</li>
</ul>
<h3>Nuestras reglas principales</h3>
<h5>Performance es una feature</h5>
<p><strong>Queremos 60FPS</strong>. Esto es nuestra guideline principal a cumplir en nuestros dispositivos de referencia. Si tenés que usar varios polyfills, filtros lentos o plugins/componentes que arruinan el rendimiento de la interfaz (reflows excesivos, no aprovechar el GPU, etc) probablemente termines con una implementación lamentable.</p>
<p>La única excepción que podemos tener a esta regla es si existe un <strong>motivo artístico</strong> lo suficientemente importante como para reducir nuestro target a 30FPS. Por ejemplo, el sitio de <a href="https://www.jsconfar.com" target="_blank">JSConf 2014</a> o el de <a href="http://xapo.com/" target="_blank">Xapo</a> notarás que sacrifican performance en pos de conseguir un resultado visual impactante.</p>
<h5>Prolijidad ante todo</h5>
<p>Nuestras guidelines son muy simples: Usamos UTF-8 para todo, tabulado con 2 espacios, y casi siempre tomamos como base una recipe de yeoman (webapp es de las más populares internamente). Trabajamos en inglés a menos que haya una excepción para el proyecto (como este manual :P).</p>
<p>Tratá de que el código sea claro y modular, usando bower para dependencias y aprovechando SASS y partials para dividir el código en módulos lógicos. Como regla general no te repitas, y asumí que quien va a trabajar con vos en el proyecto es un asesino serial que sabe dónde vivís.</p>
<h5>Show and Tell</h5>
<p>Usamos <strong>Pull Requests</strong> para hacer una <strong>revisión de código antes de dar por finalizada una feature</strong>. De esta forma damos lugar a que nuestros compañeros de equipo puedan asegurar que se están cumpliendo nuestros estándares de calidad, al igual que nos otorga un segundo punto de vista para detectar problemas con el código.</p>
<p>Asimismo, en features complejas es conveniente que todos se sumen para testear y dar insights valiosos, los cuales pueden discutirse y corregirse antes de terminar cada objetivo.</p>
<h5>Test, Test, Test</h5>
<p>Chrome no es el único browser que existe. Desde el costado visual, nuestros estándares de compatibilidad son muy simples y sólo lleva unos minutos verificar que el funcionamiento de una interfaz es apto para la mayoría de los usuarios. A medida que aumenta la complejidad del proyecto, es recomendable incorporar unit tests y visual regression tests. Los tests no son tanto para ver si lo que acabás de terminar está bien. Es para enterarte si lo rompiste después.</p>
<p><strong>Testeá siempre antes de enviar un entregable</strong>. De lo contrario te las vas a ver con un Project Manager iracundo.</p>
<p>En desktop, como política general <strong>soportamos las dos últimas versiones estables</strong> de los browsers principales (Chrome, Firefox, IE, Safari). Asimismo, todos nuestros sites son <strong>responsive con soporte mobile</strong> por defecto. Nuestra computadora de referencia es un Core i3 con 8GB de RAM y un GPU integrado (esencialmente una Macbook/Notebook/PC de gama media).</p>
<p>En mobile, dada la mayor variación y disponibilidad de hardware, tomamos como base los dispositivos de referencia de iOS y Android, que son los <strong>iPhone y Nexus disponibles comercialmente durante los últimos 12 meses</strong>, incluyendo sus sistemas operativos. Esto significa actualmente iPhone 5/6/6Plus (iOS 7 y 8) y Nexus 5/6 (Android 4.4 y 5).</p>
<p>Estos estándares son una guía general y <strong>deben evaluarse por proyecto</strong> para garantizar un excelente resultado final. Analizá las características del sitio en la etapa de análisis para no tomar una decisión dogmática -y seguramente incorrecta-. Recordá que no podemos ofrecer una excelente UX si la mayoría de usuarios no puede usar el sitio/app.</p>
<p class="note">Además de esto, van las consideraciones que tomamos para todo proyecto.</p>
<h5>Siempre trabajá con un repositorio</h5>
<p>Tenés la posibilidad de crear repositorios propios (bajo el team Aerolab) en <a href="https://bitbucket.org">BitBucket</a>. Creá uno (o sumate al existente) al comenzar cada proyecto y hacé commits + push frecuentemente, ya que no sólo sirven de backup, sino que tienen tooling que utilizamos con mucha frecuencia.</p>
<p>Usá nuestro sistema de deployment automático siempre que puedas, que te va a permitir mostrar en qué venís trabajando en un branch específico, sin necesidad de pelearte con SSH o FTP.</p>
<h5>Usá Git Flow</h5>
<p><a href="https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow" target="_blank">Git Flow</a> es una metodología que nos permite trabajar con mayor comodidad en un repositorio. Dale una leída al documento, pero lo que tenés que saber es lo siguiente: Usá siempre branches para nuevas features y fixes (feature/redesign), los cuales se mergean a dev para testearlos y recién una vez testeados los mandamos a master.</p>
<h5>Comentá las cosas "raras"</h5>
<p>Uno siempre termina usando un hack para resolver alguna issue de compatibilidad, o bien termina implementando una feature compleja de corrido sin escribir un sólo comment. Dejá un comentario explicando brevemente la solución o el porqué de la misma para evitar traumas futuros. Si no lo hacés, seguramente te des cuenta de que el código que escribiste es confuso en el momento de la code review.</p>
<h5>Documentá todas las especificaciones</h5>
<p>Esto viene del primer punto y consiste en responder todas esas preguntas (y las que surjan aparte) documentadas en un Text Document en <a href="https://basecamp.com">Basecamp</a>. Tenelo como referencia ante cualquier duda y si hay una consulta, efectuala por <a href="https://basecamp.com">Basecamp</a> (con copia al <strong>Project Manager</strong> / <strong>CTO</strong> / <strong>Lead Developer</strong>) para que quede guardada tanto la pregunta como la respuesta del cliente.</p>
<h5>Evitá las entregas parciales</h5>
<p>Usualmente los clientes asumen que lo que obtienen es una representación clara del trabajo final, y entregar cosas a medias no queda bien (termina en listas interminables de feedback que se responden con “todavía no está hecho”). Sólo entregá cosas finales y aprobadas, y si tenés que hacer una entrega parcial de todos modos, definí con mucha precisión qué cosas están listas para que sólo se evalúe eso.</p>
<h5>Pedí la opinión de otro dev</h5>
<p>A uno siempre se le escapan cosas o termina haciendo cosas por impulso. Siempre está bueno consultar con otra persona cada tanto para que le pegue un vistazo al trabajo a medida que va avanzando. Es algo que sólo lleva unos minutos y eleva notablemente la calidad del trabajo final, ya que terminás tomando experiencia prestada de alguien que por ahí ya se topó con el mismo problema antes.</p>
</article>
</section>
<section id="comunicacion">
<header>
<div class="flex col-12-12">
<div class="bg"></div>
<h2>Comunicación</h2>
</div>
</header>
<article class="col-12-12">
<p>Una comunicación aceitada es fundamental dentro de cualquier empresa. Mucho más si tenemos en cuenta el rubro al que nos dedicamos.</p>
<p><strong>Queremos asegurarnos de que tengas absolutamente todas las herramientas posibles</strong> para enriquecer el diálogo interno y con clientes, en Aerolab utilizamos, a falta de una, cuatro (!) plataformas:</p>
<ul class="software">
<li data-scroll-reveal><a href="https://basecamp.com" target="_blank"><img src="images/soft-basecamp.png" alt="wow">Principalmente para procesos de feedback con clientes.</a></li>
<li data-scroll-reveal="after .1s"><a href="https://www.skype.com" target="_blank"><img src="images/soft-skype.png" alt="wow">Videoconferencias y llamadas con clientes.</a></li>
<li data-scroll-reveal="after .2s"><a href="https://slack.com" target="_blank"><img src="images/soft-slack.png" alt="wow">Mensajería instantánea interna.</a></li>
<li data-scroll-reveal="after .3s"><a href="https://www.gmail.com" target="_blank"><img src="images/soft-gmail.png" alt="wow">Contacto con clientes y envío de archivos.</a></li>
</ul>
<p class="note">Como verás, ¡no tenés excusas para permanecer aislado!</p>
<p>Todas estas alternativas guardan el historial de conversaciones y archivos compartidos minimizando tiempos de búsqueda y te permiten, además, mantenerte al día respecto a lo que sucede tanto dentro de la oficina como en lo relativo a cada proyecto en el que estés involucrado.</p>
<p><strong>Por eso es fundamental que, apenas enciendas tu máquina, te loguees con todas y cada una de ellas.</strong> ¡Pero eso no es todo! Es importante, además, que permanezcas alerta ante la aparición de notificaciones para, llegado el caso, poder responder a ellas con eficiencia, aplicando los criterios de prioridad que correspondan.</p>
<figure><img src="images/illus-04.svg" alt=""></figure>
<h3>Tracking de horas</h3>
<p>El objetivo de la misma es realizar una suerte de racconto de las actividades desarrolladas a lo largo del día por cada integrante del equipo, y el tiempo dedicado a cada tarea.</p>
Dado que <strong>la planilla se pone en cero todos los días y los datos son volcados en otra de control mensual, creemos indispensable que la completes antes de finalizar tu jornada de trabajo</strong>, siguiendo la estructura abajo planteada:</p>
<table id="timetable">
<caption>Lunes 12 de Mayo</caption>
<thead>
<tr>
<th rowspan="2">Nombre</th>
<th colspan="2">Hoy</th>
<th rowspan="2">Horas dedicadas</th>
<th rowspan="2">Problemas</th>
<th rowspan="2">Comentarios</th>
</tr>
<tr>
<th>Proyecto</th>
<th>Tarea</th>
</tr>
</thead>
<tbody>
<tr>
<td>Pedro</td>
<td>Olapic</td>
<td>Diseño vistas internas</td>
<td class="important">1.30 (*)</td>
<td>Faltan imágenes del cliente para terminar la vista</td>
<td>Queda pendiente ajustar detalles</td>
</tr>
</tbody>
</table>
<p class="right"><i class="marker">* 1.30 = 1 hora 30 minutos.</i></p>
<p>Somos conscientes de que no hay nada más aburrido que completar planillas. La burocracia rara vez es divertida. No obstante, suele ser sumamente necesaria en determinadas ocasiones, y hasta que los robots capaces de realizar estas actividades por nosotros no se vuelvan commodities, dudamos acerca de la existencia de mejores soluciones. <strong>La buena noticia es que hacerlo no te tomará más de 5 minutos y ayudará sustancialmente a mejorar el rendimiento de trabajo.</strong></p>
<figure><img src="images/illus-05.svg" alt=""></figure>
<h3>Tiempos Muertos</h3>
<p>Si en algún momento llegara a sucederte que, habiendo cumplido con todo lo que tenías para hacer y a la espera de que se te asignen otras tareas, no se te ocurre en qué emplear el tiempo libre, te invitamos a que lo aproveches aprendiendo alguna cosa que pensás podría llegar a servirte a futuro, buscando referencias que puedan inspirarte, actualizándote respecto a las últimas tendencias o <strong>colaborando en los distintos sideprojects de Aerolab.</strong></p>
<p></p>
<p class="omg"><img src="images/kite.svg" alt="OMG IT'S A KITE">En Aerolab nos gusta <strong>estimular la curiosidad e impulsamos al aprendizaje</strong> como herramienta primordial para combatir el aburrimiento.</p>
<h3>Orden de Carpetas y nombres de archivos</h3>
<div class="file-structure">
<div class="folders col-3-12">
<h6>Estructura de carpetas</h6>
<ul>
<li>00_Nombre Cliente
<ul>
<li>01_website
<ul>
<li>assets</li>
<li>diseño
<ul>
<li>UX</li>
<li>UI</li>
</ul>
</li>
<li>reff</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="files">
<h6>Convencion de nombres para archivos</h6>
<div class="scrollable">
<div class="convention">
<span class="order">01</span> <span class="client">Client</span> <span class="screen">Home</span> <span class="iteration">A</span> <span class="version">1</span> <span class="extension">.psd</span>
</div>
<span class="example"><small>Ejemplo:</small>01_Aerolab_Home_B3.psd</span>
</div>
</div>
</div>
</article>
</section>
<section id="flujo">
<header>
<div class="flex col-12-12">
<div class="bg"></div>
<h2>Flujo de Trabajo</h2>
</div>
</header>
<article class="timeline col-10-12">
<ol class="progress">
<li class="level-1 sep"><span data-scroll-reveal>Kick off con el diseñador asignado al proyecto.</span></li>
<li class="level-2 grad-1-2"><span data-scroll-reveal>Trabajo en UX.</span></li>
<li class="level-2"><span data-scroll-reveal>Supervisión de UX (<strong>Creative Director</strong>, <strong>Lead UI Designer</strong>, <strong>CTO</strong>).</span></li>
<li class="level-2"><span data-scroll-reveal>Publicación del archivo en <a href="#">Basecamp</a> (con explicación o descripción correspondiente) a cargo del diseñador.</span></li>
<li class="level-2"><span data-scroll-reveal>Iteración (en caso de existir feedback, se vuelve al paso 2).</span></li>
<li class="level-3 sep grad-2-3"><span data-scroll-reveal>Trabajo en UI.</span></li>
<li class="level-3"><span data-scroll-reveal>Supervisión de UX (<strong>Creative Director</strong>, <strong>Lead UI Designer</strong>).</span></li>
<li class="level-3"><span data-scroll-reveal>Publicación del archivo en <a href="#">Basecamp</a> (con explicación o descripción correspondiente) a cargo del diseñador.</span></li>
<li class="level-3"><span data-scroll-reveal>Iteración (en caso de existir feedback, se vuelve al paso 6).</span></li>
<li class="level-4 sep grad-3-4"><span data-scroll-reveal>Conversación entre diseñador y programador para alinearse respecto la funcionamiento de las diferentes vistas. Repaso en conjunto de todas y cada una de las vistas.</span></li>
<li class="level-5 sep grad-4-5"><span data-scroll-reveal>Comienzo del maquetado.</span></li>
<li class="level-5"><span data-scroll-reveal>Supervisión de maquetado (<strong>Lead Developer</strong>, <strong>CTO</strong>).</span></li>
<li class="level-5"><span data-scroll-reveal>Iteración (en caso de existir feedback, se vuelve al paso 11).</span></li>
<li class="level-5 sep"><span data-scroll-reveal>Envío de la maqueta final al <strong>Project Manager</strong>.</span></li>
</ol>
</article>
<article class="col-12-12">
<figure><img src="images/illus-pizza.png" width="180" alt=""></figure>
<h3>Importante</h3>
<ul class="arrow">
<li>Los cronogramas se pautarán en conjunto entre el Project Manager y el diseñador/programador a cargo de la tarea.</li>
<li>Se delimitará una fecha de entrega interna un día antes a la formalmente establecida para el cliente, dando margen a la revisión y corrección de archivos.</li>
<li>No se publicarán archivos antes de que hayan sido debidamente controlados previamente por un tercero capaz de detectar fallas (<strong>Creative Director</strong>, <strong>Lead UI Designer</strong>, <strong>Lead Developer</strong>, <strong>CTO</strong>, <strong>Project Manager</strong>).</li>
<li>Los archivos serán enviados directamente al <strong>Creative Director</strong>, <strong>Lead UI Designer</strong>, <strong>Lead Developer</strong>, <strong>CTO</strong> para su supervisión, con copia al <strong>Project Manager</strong> vía Mail o <a href="#">Slack</a>.</li>
<li>De existir dudas durante el proceso de diseño, el diseñador se comunicará directamente con el <strong>Creative Director</strong>, <strong>Lead UI Designer</strong> o <strong>Lead Developer</strong> para asesoramiento.</li>
<li>De existir dudas durante el proceso de maquetado, el desarrollador se comunicará directamente con el <strong>Lead Developer</strong> o <strong>CTO</strong> para cuestiones técnicas y/o con el diseñador a cargo del proyecto para asesoramiento puntual respecto al funcionamiento de las vistas.</li>
</ul>
<figure><img src="images/illus-bookhero.gif" width="310" alt=""></figure>
</article>
</section>
</div>
</body>
</html>