miércoles, 19 de marzo de 2014

Logoshi, bosqueja tu logo


Hoy quería hablar de algo diferente, pero que también sea útil y me acordé Logoshi. El concepto de la web es simple y útil, bosqueja un logo y Logoshi te generará uno a partir del tuyo.

La idea surge de un programador que necesitaba un logo para un proyecto pequeño y no tuvo suerte con diseñadores, decidió tomar el toro por las astas para diseñar su logo y creó esta web que es capaz de transformar bocetos simples en logos de estilo moderno.

Luego de dibujar tu boceto Logoshi generará 4 alternativas distintas entre las que podrás escoger, además también genera la tipografía; cuenta, también, con una zona de preview donde puedes ver tu logo en tarjetas de presentación, papelería y hasta en las oficinas de tu compañía, es un detalle genial. Al terminar puedes descargar tu recién generado logo en formato PNG o como imagen vectorial de alta resolución, la descarga incluye el logo con el nombre de tu compañía en varias presentaciones.

Saludos,
Giank

viernes, 14 de marzo de 2014

gTimer, mi librería para conteos regresivos

Continuando con los post relacionados a mi proyecto, esta vez me toca hablarles de una librería Javascript que hice hace poco, se llama gTimer y es una librería para trabajar con un contador regresivo.
Trabajando con un menú lateral me di cuenta que sería útil ocultar el menú luego de un tiempo sin usarlo, googlee un poco en busca de una librería que me ayudara pero no encontré nada útil por lo que me decidí a implementarlo yo mismo.  La librería es simple de usar, consta  de un inicializador, el que recibe el tiempo de la cuenta y un método para ejecutarse al terminar y varios métodos sin parámetros para controlar el conteo, terminarlo o reiniciarlo.
La librería está publicada bajo la licencia del MIT y alojada en GitHub. Si tienen alguna idea o necesitan que se agregue algo pueden pedirlo directamente en el repositorio del proyecto (aqui) o por los comentarios.

Saludos,
Giank

sábado, 8 de marzo de 2014

Agregar texto fijo a un mapa con OpenLayers

Entre las cosas que tiene mi proyecto es que trabajo con mapas en web, como quiero que use componentes 100% libres decidí utilizar la librería OpenLayers para manejar el mapa y demás cosas relacionadas. Una de las últimas cosas que he tenido que hacer es mostrar una etiqueta perenne en el mapa que indique el nivel de zoom en el que el usuario se encuentra. Leyendo y probando cosas encontré un solución, esta consiste en agregar un panel en el mapa que contenga un único "botón", el que luego reemplazaremos por nuestra etiqueta.
Para que esta solución funcione es necesario crear un div con id "panel" en nuestra web, no entiendo bien el motivo de esto, pero así funciona. Además, hay que definir estilos para el botón-etiqueta y para el panel.

Sin más preámbulo, aquí está el código explicado!

//Primero, debemos crear el botón que insertaremos en nuestro panel.
var btnZoom = new OpenLayers.Control.Button({
 displayClass: 'olControlBtnZoom',
    text: 'Soy la etiqueta de Zoom',
    type: OpenLayers.Control.TYPE_BUTTON
});

//Luego definimos el panel que contendrá el botón e indicamos que será el control por defecto.
//Además en la propiedad "createControlMarkup" definimos una función que se encargará de crear nuestra
//etiqueta y nos la retornará, esto con el fin de reemplazar el botón.
var panel = new OpenLayers.Control.Panel({
defaultControl: btnZoom,
createControlMarkup: function(control) {
var textoSpan = document.createElement('span');
textoSpan.id="spnZoomText";
textoSpan.innerHTML = control.text;
return textoSpan;
}
});

//A continuación agregamos el botón al panel y el panel al mapa
panel.addControls([btnZoom]);
map.addControl(panel);

//Esta es la clase para el panel, el nombre es el que asigna por defecto OpenLayers
//y es el que debemos usar
.olControlPanel {
    top: 15px;
    left: 15px;
    width: 65px;
    cursor: default;
    }

//Esta es la clase para el botón que luego será etiqueta, es importante saber que si quieren cambiar el
//nombre del estilo solo puede cambiar el texto correspondiente al nombre del botón, el prefijo "olControl"
//es usado por OpenLayers y debe permanecer.
.olControlBtnZoom{
    position: absolute;
    height: 18px;
    width : 65px;
}

Espero que esto les sea de utilidad!

Saludos,
Giank


martes, 4 de marzo de 2014

Trello, que útil eres!

Como ya había comentado, tengo un proyecto personal en el que ando trabajando y desde que lo empecé he buscado un sitio donde pueda gestionar las tareas y el avance del mismo. Como siempre lo primero que se me vino a la mente fue lo que conocía, Scrumy, una web app donde podría gestionar al estilo Scrum Board el avance de mi proyecto, pero no me llegó a convencer del todo. Luego busqué otras alternativas online, que resultaron en su mayoría de paga, por lo que ni pensé en usarlas. Por último decidí registrar todo en un excel y trabajarlo "a mano". Ya tenía un buen tiempo en excel cuando conversando con unos amigos uno de ellos me contó de Trello. Cuando me terminó de contar puso el video de presentación y fue amor a primera vista, era exactamente lo que estaba buscando, flexible, online, organizado, colaborativo, simplemente perfecto.

En general Trello es una especie de kanban board flexible, se divide en organizaciones, pizarras y listas. Los proyectos se pueden gestionar como organizaciones, las organizaciones están compuestas por pizarras (boards) y estas a su vez están compuestas listas(lists) de tarjetas (cards). Las tarjetas son objetos sumamente útiles y completos; permiten agregar una descripción, que será el texto mostrado; comentarios; aplicar etiquetas; asignar miembros; adjuntar imágenes o links; organizar votaciones; agregar listas de tareas y comentarios. Son la herramienta principal de trabajo en Trello y están muy bien pensados. En los proyectos se pueden asignar miembros y estos repartirse entre pizarras distintas para formar grupos de trabajo. 

Por ejemplo, para usar Trello como herramienta en Scrum podríamos crear una organización para todo el proyecto. Crear una pizarra como Backlog, esta puede contener 3 listas, una para historias nuevas, otra con historias ya puntuadas y priorizadas, listas para un próximo Sprint, y por ultimo una que tenga las historias terminadas. Para cada Sprint habría que crear una nueva pizarra, agregar a todos los miembros del team y crear listas para los estados de las historias, creo que también sería bueno agregar una lista para registrar bugs. Cada historia sería una tarjeta y las tareas de cada una se podrían incluir en un check list, incluso si hubieran documentos relacionados con la historia se podrían adjuntar.



Particularmente uso Trello para mi proyecto personal con una configuración de listas simple: por hacer, en progreso, en proceso constante, detenida, terminada, ideas nuevas(como backlog) e incidencias/cambios. Para un proyecto pequeño esto debe ser más que suficiente, todo en una sola pizarra y se puede trabajar de maravilla.
Esta útil herramienta tiene apps para Android, iOS y Windows Phone 8, solo he probado la de Android y es completamente funcional, tiene prácticamente las mismas opciones que la web con el adicional de notificaciones para el móvil.


Saludos,
Giank