Posts Tagged: tecnologia


30
mar 12

La Web Tridimensional : WebGL

No Gravatar

WebGL Es una especificación estándar en desarrollo que permite mostrar gráficos tridimensionales acelerados por hardware en navegadores web sin necesidad de instalar software adicional al navegador (plug-ins).

En realidad es una API para javascript que permite usar OpengGL incorporado en los navegadores.[1]

WebGL utiliza un elemento de HTML5 llamado Canvas el cual permite mostrar gráficos 2D e imágenes de una manera dinámica, canvas consiste de una región dibujable definida en código HTML con los atributos de altura y espesor, el código javascript permite acceder a esa región a través de un conjunto completo de funciones de dibujo 2D, esto es lo que permite generar los gráficos dinámicamente. [2]

Esta especificación es gestionada por el consorcio de tecnología Kronos Group.

http://www.khronos.org/webgl/

Para comenzar hay unos muy buenos tutoriales para aprender a usar WebGL [3], que son referencia obligada para entender como funciona esta tecnología.

Para acelerar las cosas existe una biblioteca 3D en javascript llamada three.js, la biblioteca provee <canvas>, <svg> y render WebGL.[4] creada por mrdoob : https://github.com/mrdoob

demos

Demos de mrdoob

En esta biblioteca se incluyen funcionalidades para manejo de camaras (ortografica y perspectiva), funciones para manejar la geometria, el color, vertices, splines, matrices, luces, materiales, objetos (esqueletos, modelos, modelos animados, particulas, etc), renders (canvas, dom, svg, webgl), escenas, texturas y muchas otras mas : http://mrdoob.github.com/three.js/docs/48/#Camera

Y este es un ejemplo de un trabajo muy bueno usando esta tecnología Web3D.

http://www.ro.me/

Una cuestión interesante sobre WebGL es que es un estandar que ha sido adoptado para integrarlo en las nuevas versiones de los navegadores web de Google (chrome) y Mozilla (firefox) incluso de Apple (safari) pero no así en internet explorer de Microsoft pues menciona cuestiones de seguridad para no hacerlo. Por el momento WebGL sigue avanzado.

Nota:

“Los gráficos vectoriales escalables (svg) es una especificación para describir gráficos vectoriales bidimensionales estáticos o anímados en formato xml.” [5] 

Referencias:

[1]http://en.wikipedia.org/wiki/Canvas_element


[2]http://en.wikipedia.org/wiki/WebGL


[3]http://learningwebgl.com/blog/?page_id=1217


[4]https://github.com/mrdoob/three.js/


[5]http://en.wikipedia.org/wiki/Scalable_Vector_Graphics


[6]http://es.wikipedia.org/wiki/Khronos_Group

Imagen y demos:

http://mrdoob.github.com/three.js/


http://mrdoob.com/


http://alteredqualia.com/

Compartir y Disfrutar

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon

16
mar 12

Mundos Virtuales

No Gravatar

Desde hace mucho tiempo me interesa el desarrollo de aplicaciones 3D supongo que fue por ver muchas peliculas de ciencia ficción en especial “El jardinero, asesino inocente” y Tron, también creo que por leer artículos de una revista que colecciono de hace mas tiempo, en especial un número de 1995 que habla sobre los próximos 100 años de la tecnología. En este número mencionan “En la sociedad del conocimiento, buena parte de nuestra vida transcurrirá en mundos sintéticos y hasta buscaremos pareja en ellos. Las computadoras imitarán el cerebro humano, habrá granjas moléculares, llevaremos tarjetas de crédito bajo la piel y unos microrrobots se encargarán de quitar el polvo a la computadora cuando la apaguemos” [1]

Los primeros acercamientos a esta area que tuve fue con un libro de 1997 llamado Realidad Virtual. Construcción de Proyectos de Joe Gradecki.

“Los mundos virtuales son lugares donde experimentamos nuevas realidades. Contienen todos los objetos que podemos ver y manejar. Nos permiten además, experimentar cosas que no son posibles en el mundo real” [2]

“Un verdadero programa de realidad virtual debe contener dos componentes:

  1. El punto de vista de un usuario en primera persona que debe realizar movimientos completos a voluntad en tiempo real.
  2. La capacidad de visualizar y modificar el entorno virtual en tiempo real” [3]

Con el tiempo pude realizar algo relacionado con los objetos virtuales cuando conocí VRML (Virtual Reality Modeling Language)

En español “Lenguaje para Modelado de Realidad Virtual” curiosamente su primera especificación fue publicada en 1995.

http://en.wikipedia.org/wiki/VRML

Silicon

Primer acercamiento a web 3d con vrml 1999

Después vinieron los Proyectos 3D con OpenGL , Mesa,  Blender, Maya y mas recientemente

3D Studio,  GLScene y actualmente NeoAxis pero afortunada o desafortunadamente en desarrollos de escritorio.

Los primeros mundos virtuales que conocí vivian en la web, en internet, así que va siendo hora que

continuemos con el principio. “El final es en donde parti” dice una canción de La Renga.

http://www.youtube.com/watch?v=ozC9hETOt2I

Así que desde hace tiempo he estado aprendiendo un poco sobre WebGL y en un futuro no muy lejano espero tener algunas aplicaciones.

WebGL: Es una especificación estándar que está siendo desarrollada actualmente para mostrar gráficos en 3D en navegadores Web.

Los mejores ejemplos en Chrome Experiments http://www.chromeexperiments.com/tag/webgl/

 

Referencias :

[1]: Muy Interesante Especial Los próximos 100 Años. P 27.
[2,3]: Realidad Virtual Construcción de Proyectos. Joe Gradecki. 1997 AlfaOmega. P 2. y P 3

Mas Info : http://www.popsci.com/archive-viewer?id=S812DHiH7dUC

Bonus :   The Popular Science Archive Explorer

Compartir y Disfrutar

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon

2
mar 12

NUI (Natural User Interface)

No Gravatar

Los dispositivos moviles como teléfonos inteligentes y “tables” han hecho popular el uso de atractivas interfaces “multitouch”, este tipo de interfaces estan extendiendose a otros dispositivos como mesas interactivas, cristales inteligentes y otros tipos de superficies, para permitir interactuar de una manera mas natural a las personas con la información. Con la aparición de Wii y Kinect que ha agregado el lenguaje corporal, los diseñadores y programadores han pensado en una gran cantidad de aplicaciones que en los próximos años cambiaran la manera en que nos comunicamos con las computadoras.

“En computación, una interfaz natural de usuario o NUI, es el termino comun usado por diseñadores y desarrolladores de interfaces de computadora para referirse a una interfaz de usuario que es efectivamente invisible, o se vuelve invisible con las intereacciones aprendidas sucesivamente por sus usuarios. La palabra natural se utiliza porque la mayoría de las interfaces de computadora utilizan
dispositivos artificiales de control, cuyo funcionamiento se tiene que aprender. una NUI se basa en que un usuario puede rapidamente hacer la transición de principiante a experto. Mientras que la interfaz requiere de aprendizaje, por lo tanto, “Natural” se refiere a un objetivo en la experiencia del usuario, que un usuario siente “como algo natural” mientras interactua con la tecnología” [1].

Evol-Interfaz1

Evolución de las interfaces. [2

“En los años 1970s,80s y 90s Steve Mann desarrollo una serie de estrategias de interfaz de usuario utilizando la interacción natural con el mundo real como una alternativa a una interfaz de línea de comandos (CLI) o a la interfaz gráfica de usuario (GUI). Mann se refiere a esta obra como “interfaces naturales de usuario”, “Interfaces de usuario directas”, y ”Computación Libre de Metaforas” [1].

Evol-Interfaz2

Evolución de las interfaces. [2

Las interfaces naturales de usuario es un siguiente paradigma en la historia de la computación y es un tema de actualidad por lo que hay que estar atento a sus avances así como aprender lo suficiente para poder desarrollar las aplicaciones que se necesitaran para la tecnología que se avecina.

Referencias :

[1].http://en.wikipedia.org/wiki/Natural_user_interface

[2].http://channel9.msdn.com/Events/MIX/MIX09/C15F

Mas información

http://channel9.msdn.com/Events/MIX/MIX09/C13F
http://nuigroup.com/log/P8/
http://nuigroup.com/tv/P75/
http://channel9.msdn.com/blogs/larrylarsen/ces-2010-nui-with-bill-buxton

Compartir y Disfrutar

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon

24
feb 12

Arreglando compatibilidad IIS6 y reporviewer con IIS7 Windows Server 2008

No Gravatar

Hace poco tuve unos contratiempos con una aplicación WEB desarrollada para funcionar con IIS6
pues en el servidor donde se quería instalar era una versión más actual corriendo IIS7 más concretamente en un Windows Server 2008.

Para empezar, el instalador de la aplicación web no se ejecutaba correctamente, pues no permitía terminar el último paso de la instalación. Y además los reportes elaborados con reporviewer tampoco se visualizaban correctamente.Así que a investigar un rato en internet para saber como resolver los problemas.
Y encontre lo siguiente:

Para instalar los componentes para la administración de compatibilidad IIS6.0 usando el administrador del servidor de Windows Server 2008 y corregir el error en el instalador de la aplicación Web.

    1. Primero hay que presionar en el botón Inicio.
    2. Dar clic sobre Herramientas Administrativas y luego en Administrador del servidor.

      CompatibilidadII6-01

      CompatibilidadII6-01

    3. En el árbol de navegación de la izquierda expandir “Funciones” y con el botón derecho dar clic sobre “Servidor web (IIS) y seleccionar agregar servicios de función.
    4. En la lista de Servicios de función desplazar la barra hacia abajo y localizar las opciones
      “Compatibilidad con la administración de IIS6”.
    5. Seleccionar los check boxes para:
      Compatibilidad con la metabase de IIS6.
      Compatibilidad con WMI de IIS6.
      Herramientas de scripting de IIS6.
      Consola de administración de IIS6.

      CompatibilidadII6-02

      CompatibilidadII6-02

    6. Presionar el boton “Siguiente>” luego presionar el botón “Instalar” y confirmar la instalación.
    7. Presionar el botón Cerrar y salir del asistente de Servicios de función.

      CompatibilidadII6-03

      CompatibilidadII6-03

La compatibilidad con IIS6 se encuentra instalada.

Visto en:

http://www.activexperts.com/support/network-monitor/online/ii6metabase/

Para corregir los errores de visualización en los reportes de reporviewer:

Primero se necesita instalar el paquete distribuible 2008 de reporviewer

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6576

CompatibilidadII6-04

CompatibilidadII6-04

También puede ser útil darle un vistazo a esta página:

http://praveenbattula.blogspot.com/2010/03/fix-to-report-viewer-problems-in-iis-7.html

Compartir y Disfrutar

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon

10
feb 12

Instituto para el futuro

No Gravatar

Estaba leyendo unos documentos del “Institute for the future” http://www.iftf.org/ y me encontre algo interesante para un nuevo post, pero …

¿Que es el IFTF?

“Intitute for the future (IFTF) es un “think tank“ creado en 1968 para ayudar a las organizaciones a planificar para el futuro a largo plazo. Fue fundado por Paul Baran, un pionero de los inicios de Internet y co-desarrollador de la conmutación de paqutes, el futurista Theodore Jay Gordon, y el co-inventor del metodo Delphi Olaf Helmer.

El instituto mantiene programas de investigación sobre el futuro de la tecnología, la salud y organizaciones. Se publica una variedad de informes y mapas, así como un blog sobre las tecnologías emergentes.”

En su página web se pueden encontrar información muy interesante sobre : Horizontes de la Salud, Horizontes de Tecnología, Pronósticos a 10 años (ó mejor conocidos como mapas de la década) entre otras.

 

Algunos de los muchos de documentos en su página que se me hacen interesantes son :

Reinventing Energy Futures: Four Visions : http://www.iftf.org/EnergyFutures

A Multiverse of Exploration: The Future of Science 2021 : http://www.iftf.org/futureofscience

The Human Internet: Where will the web take us in 2022? : http://www.iftf.org/TH2012ResearchAgenda

IFTF Announces Release of Domain-Specific Robotics Research : http://www.iftf.org/robotics2010

When Everything is Programmable Forecast and Technology Cards : http://www.iftf.org/node/3724

The Future is a Balancing Act: The 2011 Map of the Decade: http://www.iftf.org/2011mapofthedecade

 

Este sitio es un buen lugar para alimentar la mente de ideas, en un próximo post escribire algo sobre lo que he visto por aqui.

 

Mapa de la década

Mapa de la década

Imagen : http://www.iftf.org/node/3934

“think tank”

Se trata de una expresión inglesa muy utilizada en español, y que se ha intentado adaptar con distintas expresiones como comité de expertos,comité de de sabios,instituto de investigación,gabinete estratégico,centro de pensamiento,laboratorio de ideaso usina de ideasLos think tanks a menudo están relacionados con laboratorios militares, empresas privadas, instituciones académicas o de otro tipo.”

http://es.wikipedia.org/wiki/Think_tank

 

Compartir y Disfrutar

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon

3
feb 12

Certificaciones de Calidad en Desarrollo de Software

No Gravatar
   Equipo

El outsourcing de desarrollo de software ha madurado en tan solo un par de décadas y la certificación de calidad ha adquirido un significado totalmente nuevo para los proveedores y clientes.

Hay dos grandes tipos de certificaciones de calidad que se puede obtener por las empresas de desarrollo de software. Una de ellas es la norma ISO 9001:2000 y el otro los distintos niveles de SEI CMM.

CMM: Modelo orientado a la mejora de los procesos empresariales, evaluando la calidad de los productos o servicios que desarrolla y clasificándolos según cinco niveles de madurez.

Uno de los principales beneficios de la certificación de calidad en una empresa de desarrollo de software es que muestra la madurez y la continuidad de la organización.

Ambas certificaciones de calidad prestan atención a los procesos. En ISO se tienen directrices del estado que debe definir un proceso y asegurarse que se está siendo seguido mientras que SEI CMM son dictados de ciertos parámetros de un proceso en el que la empresa debería funcionar.

Las empresas no certificadas tienen un momento difícil al competir con una empresa certificada y esa es la razón por la cual más y más empresas de desarrollo de software se están moviendo hacia la certificación de calidad.

La mayoría de medianas y grandes empresas se están moviendo hacia la certificación SEI CMM.

Aunque se ha mencionado la certificación ISO 9001:2000 de calidad, y la de SEI CMM} hay otras certificaciones de tecnología específica que también puede ser obtenida por las empresas de desarrollo de software. Por lo general, estas certificaciones son dadas por los fabricantes de software u organismos independientes y, aunque podría no ser tan crítica como las certificaciones de calidad mencionadas, tienen un buen nivel de importancia en la evaluación de un proveedor.

MOPROSOF

Modelo de Procesos para la Industria del Software. Modelo para la mejora y evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos de software. Desarrollado por la Asociación Mexicana para la Calidad en Ingeniería de Software a través de la Facultad de Ciencias de la Universidad Nacional Autónoma de México (UNAM) y a solicitud de la Secretaría de Economía para obtener una norma mexicana que resulte apropiada a las características de tamaño de la gran mayoría de empresas mexicanas de desarrollo y mantenimiento de software.

Moprosoft considera que los modelos de evaluación y mejora CMMI e ISO/IEC 15504 no resultan apropiados para empresas pequeñas y medianas de desarrollo y mantenimiento de software.

Importancia de la certificación de un proveedor aliado en empresa de software

Ventajas para la Empresa Responsable

Mantener su capacidad de respuesta al cliente.
Mantener la calidad en sus procesos de desarrollo e implantación de sistemas.
Continuidad en su desarrollo empresarial y generación de historia.

Ventajas para ambas empresas
Desarrollo de alianzas estratégicas.
Continuidad en desarrollos e implantaciones (experiencia).
Mayor posibilidad de obtener proyectos.
Mayor probabilidad de ingresos constantes.

Riesgos a combatir
Aumento de precio al cliente.

Más Info:

 

Imagen :
    http://blog.wikimemoires.com/2011/08/evolution-de-la-gestion-de-grh/

Compartir y Disfrutar

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon

31
ene 12

Probador virtual, el futuro de las compras

No Gravatar
Intellifit

http://www.uniquescan.com/

Uno de estos fines de semana paseaba por una tienda de la ciudad para buscar algo de ropa, sorpresa fue la que me llevé al encontrar una cabina muy grande llamada  Probador Virtual.

Muy excéptico al inicio me quedé a ver como funcionaba o de que trataba, hasta ese momento nadie se atrevía a entrar por lo que mientras llegaba alguien para experimentar, mi mente empezaba a imaginar como era su funcionamiento. Rato después llegaría una niña, el operador de la máquina dió unas cuantas instrucciones, la niña entró a la cabina y 20 segundos después salió del provador.. seguido de esto el operador dió una lista de aproximadamente 60cm (creo) y tan tan.. así termino todo.

Investigué un poco sobre la máquina y averigué que se trata de un scanner 3D que toma la figura del cuerpo obteniendo medidas para luego ofrecer una lista de posibles tallas que estan disponibles en la tienda.

Las específicaciones técnicas del aparato son las siguientes:

  • Informa de medidas instantáneo
  • Precisión de 1 cm
  • Análisis en 20 seg.
  • 7′ de diámetro por 8′ de altura
  • Captura mediante un infrarojo que proyecta 200,000 puntos

En realidad la idea suena muy innovadora, además de conocer las medidas casi exactas del cuerpo.. lo promocionan en estas tiendas  diciendo que ahorrarás tiempo buscando ropa ya que con las medidas obtenidas y las posibles opciones de ropa para esas medidas el tiempo de búsqueda se reduce enormemente.. aunque estoy un poco en desacuerdo, ya que entra el criterio de “si me gusta o no me gusta, si el color es el que busco o no” .. y aun más importante, suele ocurrir muchas veces que las tallas varían de acuerdo a las marcas..

Mi idea de probador virtual era más como un aparato el cual ayudara a probar ropa de manera virtual.. algo así como un vestidor simulado.. imaginaba algo más cercano a la realidad aumentada, viéndome en una pantalla y teniendo opciones de ropa que podría utilizar. Un video que encontré en Youtube puede darles una mejor idea de lo que esperaba.

Ya anteriormente había leído algo similar aunque nunca había estado cerca de un aparato de estos.. Sé que estas cosas las estan haciendo también con kinects.. y en youtube encontrarán muchos videos similares.

Compartir y Disfrutar

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon

27
ene 12

Invocando un método de un objeto especifico usando Quartz .NET y Spring .NET

No Gravatar

En algunas ocaciones necesitamos dejar una tarea programada que se ejecute cada cierto tiempo, para hacer eso se puede utilizar Quartz.

¿Que es Quartz?

Es un sistema de calendarización de tareas que puede ser integrado o usado virtualmente con cualquier otro sistema de software, en este contexto una tarea calendarizada (“job scheduler”) es un sistema que es responsable de ejecutar o notificar a otros componentes de software cuando un tiempo predeterminado ha sucedido.
http://quartznet.sourceforge.net/faq.html

¿Que es un Trigger?

Es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación.

¿Que es Spring?

Es un “framework” de código abierto de desarrollo de aplicaciones para la plataforma Java. La primera versión fue escrita por Rod Jonhson, quien lo lanzó primero con la publicación de su libro Expert One-on-One Java EE Design and Development (Wrox Press, octubre 2002). También hay una versión para la plataforma .NET, Spring .NET.
http://es.wikipedia.org/wiki/Spring_Framework
http://www.springframework.net/doc-latest/reference/html/introduction.html#introduction-overview

¿Que es .NET?

.Net es un “framework” de Microsoft que hace un énfasis en la transparencia de redes, con independencia de plataforma de hardware y que permita un rápido desarrollo de aplicaciones.
http://es.wikipedia.org/wiki/.NET

Si estas utilizando el “framework” Spring .NET esto te puede ser de utilidad.

Entre las caracteristicas del “framework” Spring se encuentra la integración de clases para el soporte de calendarización, actualmente Spring soporta “Quartz Scheduler” (http://quartznet.sourceforge.net/).

“Quartz” usa objetos Trigger,Job y JobDetail para realizar calendarización de todo tipo de tareas.

Por propositos de conveniencia, Spring ofrese una serie de clases que simplifican el uso de “Quartz” en aplicaciones basadas en “Spring”.

Usando MethodInvokingJobDetailFactoryObject
En ocaciones se necesita invocar un método de un objeto especifico. Usando MethodInvokingJobDetailFactoryObject Se puede hacer de la siguiente manera:

JobDetail :


<object id="EjemploJob"
type="Spring.Scheduling.Quartz.MethodInvokingJobDetailFactoryObject, 
Spring.Scheduling.Quartz">
<property name="TargetObject" ref="smsService" />
<property name="TargetMethod" ref="EnviarUnMensaje" />
</object>

El resultado del ejemplo anterior será llamar el método “EnviarUnMensaje” de un objeto de la clase“smsService”


public class smsService {
  // propiedades y eventos
  public void EnviarUnMensaje() {
    // realizar la tarea de enviar un mensaje
  }
}
<object id="smsService" type="business.Sms.SmsServiceImp, enviosms.business"/>

Para hacer que los resultados de las tareas “MethodInvokingJobDetailFactoryObject” sean no concurrentes, poner la bandera “concurrent” a “false”.


<object id="EjemploJob"
type="Spring.Scheduling.Quartz.MethodInvokingJobDetailFactoryObject, 
Spring.Scheduling.Quartz">
<property name="TargetObject" ref="smsService" />
<property name="TargetMethod" ref="EnviarUnMensaje" />
<property name="Concurrent" value="false" />
</object>

Nota: Por omisión, las tareas se ejecutaran de manera simultanea

Configurando tareas usando “triggers” y SchedulerFactoryObject

Hemos creado una tarea “JobDetail” de ejemplo (EjemploJob), necesitamos ahora calendarizar esa tarea. Esto se hace usando “triggers” y SchedulerFactoryObject.
Varios tipos de “triggers” estan disponibles con “Quartz”. “Spring” ofrece dos subclases de “triggers” :

CronTriggerObject and SimpleTriggerObject.

Usaremos de ejemplo un SimpleTriggerObject.

Los “Triggers” necesitan ser calendarizados. “Spring” ofrece un SchedulerFactoryObject que trata a los “triggers” como propiedades, SchedulerFactoryObject calendariza las tareas actuales con esos “triggers”.


<objectid="TriggerEjemplo" 
type="Spring.Scheduling.Quartz.SimpleTriggerObject, 
Spring.Scheduling.Quartz">

<property name="JobDetail" ref="EjemploJob" />

<!-- 10 segundos -->

<property name="StartDelay" value="10s" />

<!-- repetir cada 120 segundos -->

<property name="RepeatInterval" value="120s" />

</object>

El “trigger” configurado se ejecutara cada 50 segundos con un retardo inicial de 10 segundos.
Ya solo resta configurar el “SchedulerFactoryObject”


<object id="quartzSchedulerFactory"
type="Spring.Scheduling.Quartz.SchedulerFactoryObject, Spring.Scheduling.Quartz">
<property name="triggers">
<list>
<ref object="TriggerEjemplo" />
</list>
</property>
</object>

Usando Quartz tendremos en nuestra aplicación un proceso que se repite cada 120 segundos y que
hace la llamada al evento EnviarUnMensaje() de un objeto de la clase smsService.

Más info aqui:

http://www.springframework.net/docs/1.2.0/reference/html/scheduling.html

Compartir y Disfrutar

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon

20
ene 12

Una visión sin acción es un sueño

No Gravatar

¿Que es una visión?

Visión es el resultado de nuestros sueños en acción, generalmente una visión precede al éxito tanto para las naciones, para las personas como para las empresas”

Joel Baker

La visión tiene un significado de poder ver a futuro el alcance de la empresa, por eso es importante tener claro lo que el negocio es y lo que debería ser en 3, 5 o 10 años, pero ademas debe ser una vista que sea realista y creible para la organización, por lo que si la visión no se convierte en creencia, puede que esta no sirva para nada pues como algunos autores comentan “El poder de las creencias genera resultados.”,  cabe decir que las creencias son las que asumen las personas internamente.

En muchas ocasiones dar el primer paso para realizar algo diferente es muy dificil, sobre todo cuando se esta en un momento de estabilidad o de éxito, o se llega a una situación donde ya no se puede crecer pero los ingresos económicos son muy buenos, en estos casos hay que tener en mente que “ NINGÚN CAMBIO PARTE DEL ESTADO DE COMODIDAD”.

Por eso los cambios nos hacen poner en marcha todas nuestras capacidades para adaptarnos y es en esos momentos cuando pueden darse excelentes oportunidades, nacen nuevas ideas.

Una visión sin acción es un sueño.

Una acción sin visión carece de sentido.

Una visión puesta en practica puede cambiar el mundo”

Joel Baker

QbitCumple

QbitCumple

El día de mañana Qbit Mexhico cumple 4 años desde que comenzamos a emprender acciones para convertir en realidad nuestra visión, han sido momentos de crecimiento y aprendizaje, de nuevos proyectos, de relación con clientes, de colaboración con las personas que nos apoyan, de toma de decisiones, de desarrollar con nuevas tecnologías, de ir a eventos, aún falta camino por recorrer esquivando obstáculos usando estrategias, pero nuestra misión sigue día a día para darle la dirección adecuada a Qbit. Gracias a todos nuestros clientes,amigos y seres queridos que nos han acompañado durante estos años.

 

El poder de una visión:

http://www.starthrower.com/power_of_vision.htm

http://www.starthrower.com/joel_barker.htm

Gorrito de cumple :

http://nicecliparts.com/images-Birthday_Hat.php

Compartir y Disfrutar

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon

17
ene 12

Frameworks, como elegirlos

No Gravatar
Framework como elegirlos

Framework como elegirlos

He pensado en esto unas mil veces y siempre llego a la conclusión de que aunque los frameworks hacen la vida más fácil (en algunos casos), el proceso de desarrollo más rápido y mejora las capacidades de trabajo en equipo, es necesario siempre considerar el uso o no de este tipo de herramientas. Desde mi punto de vista, trataré de explicar que se necesita para elegir un framework.

Características

Basándose en una lista de características del software a desarrollar, un framework debería de cumplir con dicha lista sin agregar complejidad al desarrollo mismo (también conocido como código extra). Suponiendo que quiero desarrollar una aplicación donde básicamente quiero tener usuarios y cada usuario tenga una lista de tareas, pues bien asumo que utilizaré un módulo de usuarios y otro para creación de tareas. Hasta este punto el framework no es necesario.. pero que tal si en mis previsiones esta el realizar funciones más complejas como agregar un calendario para tener un registro de eventos, tomados segun se fueron escribiendo las tareas.. todo esto de forma social y abierta a los demás usuarios .. ok, ya se empieza a complicar y seguro algunos dirían que el framework no se necesita.. pero lo que puede aportar el framework es que aparte de cubrir las características básicas, también se puede adaptar a las características futuras, manteniendo siempre una línea de desarrollo relativamente sencilla de mantener.

Extensible

Con un framework se resuelve más de un problema, de hecho se resuelven problemas que posiblemente no sabías que existian en tu código y eso antes de que te sentaras a codificar. La gran mayoría de frameworks cuentan con repositorios de extensiones mantenidas por la comunidad que extienden funciones y componentes de sus funcionalidades básicas. Es necesario mencionar que extensible no se refiere solamente a la cantidad de extensiones, sino también a la calidad y facilidad con que se pueden mantener y crear tus propias extensiones.

Prototipos que determinen su uso

Creo que experimentar con nuevas tecnologías te hace entender en que momento utilizarlas. Si no has experimentado con nuevas opciones de desarrollo, entonces cada vez que necesites utilizar una nueva herramienta tendrás que gastar algo de tiempo y esfuerzo extra para aprender. Una práctica recomendable es siempre construir un pequeño prototipo donde trates de agrupar por ejemplo interacciones con formularios, almacenamiento en BD y uso de javascript. Me refiero a algo muy simple que quizás con algo de documentación puedas construir en un solo día.

Ayuda

Los frameworks con más tiempo de vida suelen tener muy buena documentación en comparación con los nuevos. Foros, listas de correo, blogs, e incluso sitios como StackOverflow proporcionan una gran cantidad de información. Si hay poca actividad en los foros o listas de correo, definitivamente no es una buena opción la que has elegido por lo que una buena idea sería abandonar ese framework. Encontrar ayuda o ejemplos de código es muy importante en el proceso de aprendizaje de nuevas herramientas. En cuanto a los blogs no dejan de ser útiles porque te dicen que esta pasando alrededor de un framework.

Hay que recordar que el framework aporta agilidad y orden al desarrollo de software, si hace todo lo contrario es porque has metido la pata y debes buscar una mejor herramienta.

Compartir y Disfrutar

  • Facebook
  • Twitter
  • Delicious
  • Digg
  • StumbleUpon

Qbit Mexhico Blog is using WP-Gravatar