Cargando...
Feedback
 

Hace ya algunas semanas decidimos embarcarnos en el diseño de una nueva aplicación para iPhone que permitiera a los usuarios de FacturaDirecta poder entrar los gastos (facturas recibidas) directamente desde el teléfono móvil.

Aburrido entrar gastos al final de trimestre, ¿verdad?

Dejar como tarea de final de trimestre (justo antes de presentar el resumen del IVA) la contabilización de tus gastos, puede resultar una tarea bastante pesada y aburrida. Como autónomo o pequeña empresa tienes que parar tu trabajo diario para dedicar unas horas a introducir todos los gastos soportados por la empresa.

Conscientes de lo pesada que es esta tarea, hemos preparado una pequeña aplicación que se instala en el iPhone y que permite introducir los gastos en cualquier momento del día en cualquier sitio a medida que se van generando, sin necesidad de disponer de conexión a Internet.

Download and install Por ejemplo, si vas de viaje puedes fácilmente introducir los gastos de restaurante, hotel, transporte, gasolina, billetes de tren o avión, etc... al momento. Pensamos que esta forma de introducir gastos puede reducir de forma considerable el tiempo dedicado al final de trimestre a preparar la información para presentar el resumen del IVA.

¿Por qué solo gastos y no facturas o presupuestos?

Antes de empezar el diseño de la aplicación, estuvimos valorando detalladamente qué debíamos incluir en esta primera versión. Decidimos que queríamos mantener la primera versión de la aplicación para iPhone lo más sólida y simple posible. Es por eso que pensamos que la consulta e introducción de gastos es en una de las funcionalidades que más sentido tiene tener en el teléfono móvil. Más adelante, podemos ir introduciendo mejoras para soportar otros conceptos como son las facturas y los presupuestos.

Para conseguir esa simplicidad y robustez, hemos preparado la aplicación para iPhone para que se descargue desde tu cuenta de FacturaDirecta todos los proveedores y gastos ya introducidos hacia una base de datos localizada en el propio teléfono móvil. De esta manera, resulta muy sencillo introducir nuevos gastos o modificar los gastos existentes. Los cambios que realices en los gastos o proveedores quedarán incorporados automáticamente en tu cuenta de FacturaDirecta en el momento en que tu teléfono disponga de conexión a Internet.

Consulta los gastos de tu cuenta

Accede rápidamente a todos los gastos de tu cuenta en FacturaDirecta desde tu teléfono móvil e identifica fácilmente aquellos gastos que están pendientes de pago.

Visualización de gastos

Crea o modifica tus gastos

Introduce nuevos gastos o modifica aquellos gastos que ya tenías creados anteriormente.

Nuevo gasto

Selecciona proveedor o introduce nuevos proveedores

Busca proveedores del listado de proveedores existentes en tu cuenta de FacturaDirecta o crea nuevos proveedores a tu aire.

Seleccionar proveedor

Esperamos que te guste

Estamos realmente emocionados de poder presentar finalmente la versión 1.0 de FacturaDirecta Gastos para iPhone. Esperamos que te guste. Gracias de nuevo por utilizar FacturaDirecta.

Download and install

 

Si tus proveedores te envían las facturas a través de FacturaDirecta, ya puedes contabilizar estas facturas como gasto de forma totalmente automatizada y sin esfuerzo dentro de tu cuenta de FacturaDirecta.

A partir de ahora, las facturas enviadas directamente desde FacturaDirecta incorporan un pequeño enlace que permite fácilmente, a quien reciba la factura, incorporarla como gasto dentro de la cuenta de FacturaDirecta.

Cuantos más proveedores tengas que utilicen FacturaDirecta, menos trabajo tendrás para contabilizar sus facturas. :)

Por supuesto, si eres un usuario suscrito a un plan de pago, nuestra factura también te llegará con un enlace para poderla contabilizar de forma automática dentro de tus gastos.

¡Esperamos que te guste esta nueva funcionalidad!

Ejemplo de email

 

FacturaDirecta crece y evoluciona incorporando nuevas funcionalidades. Intentando aprender de nuestros propios errores hemos llegado a la conclusión que la zona de cabecera, donde se ubican los menús, necesitaba algunos cambios para mejorar su usabilidad.

En primer lugar, hemos modificado el menú principal basado en pestañas para que oculte automáticamente aquellas opciones que no se utilizan. A partir de ahora, todas las secciones del programa que no hayan sido utilizadas van a quedar ocultas debajo de la última pestaña.

Por otro lado, al incorporar nuevas opciones en el menú superior (como la nueva pestaña de Herramientas), nos hemos visto obligados a suprimir el logo superior y sustituirlo por un texto con el nombre de la empresa. A medida que hemos ido aumentando el número de pestañas, el logo se convertía en una limitación de espacio que se veía agrabado si se trabajaba en dispositivos con pantallas pequeñas como son el iPad o el iPhone.

Es por ello que el logo de empresa sólo aparecerá de momento en la pantalla de identificación inicial, siendo sustituido por el nombre de la empresa dentro de la zona de trabajo.

Esperamos que te gusten las mejoras introducidas y que te ayuden a ser más eficiente en tu trabajo diario con FacturaDirecta.

 

Si tu empresa tiene que tratar diariamente con una gran cantidad de clientes y/o proveedores, hemos mejorado el sistema de presentación en los listados de clientes y proveedores para que sea aún más fácil su localización.

Últimos clientes/proveedores utilizados

Para mejorar la localización de clientes y proveedores, hemos introducido en el listado de clientes y proveedores un nuevo mecanismo de búsqueda inteligente.

A partir de ahora, al acceder a la pestaña de clientes (o proveedores) visualizarás en primer lugar un listado de los últimos 20 clientes (o proveedores) con lo que has estado trabajando (creando facturas, presupuestos, etc...).

Client 1

Si el cliente/proveedor que deseas localizar no se encuentra en esta lista inicial, puedes utilizar el campo de búsqueda e introducir una parte del nombre de la empresa o una parte del NIF o código fiscal. A medida que vayas tecleando el nombre o NIF de la empresa, el campo de búsqueda te sugerirá una pequeña lista de resultados encontrados.

/blog/images/facturadirecta/201010_clients2.png

A partir de ahí, solo tienes que seleccionar el cliente/proveedor de la lista de sugerencias para poder acceder a sus datos

Client 3

Todos los clientes/proveedores

Por último, si prefieres visualizar la lista entera de clientes o proveedores (como se hacía anteriormente), puedes continuar haciéndolo clicando sobre el enlace: Todos los clientes (o Todos los proveedores).

Todos los clientes

 

Seguro que muchos de ya conocéis este genial plugin (Masked Input Plugin de Josh Bush) para facilitar la entrada de datos en formularios asignándoles una máscara que facilite la introducción de datos estructurados.

El plugin funciona realmente bien, pero creemos que tenía una carencia muy importante para algunos tipos de datos, en concreto para introducir fechas. La eterna duda sobre qué valor hay poner delante, si el mes o el día, en función del idioma y del lugar en que te encuentres. Para solucionarlo hemos modificado ligeramente el plugin para que acepte un "placeholder" de más de un carácter y que será el que se muestre durante la edición del input mientras no se haya completado.

Con esta modificación el único cambio sobre el plugin es que acepta valores de más de un caracter en su parámetro de configuración "placeholder":

    $("#date").mask("99/99/9999", {placeholder: 'dd/mm/yyyy'});

Aquí podéis ver un ejemplo de uso completo.

Plugin original: http://digitalbush.com/projects/masked-input-plugin/

Plugin modificado (src): jquery.maskedinput-1.2.2-co.js

Plugin modificado (min): jquery.maskedinput-1.2.2-co.min.js

 

Hemos preparado una pequeña colección de videos relacionados con la tecnología de Google Apps donde se puede ver rápidamente el uso de tecnologías de computación en la nube (cloud-computing) aplicadas a la empresa actual.

Google Apps en un caso práctico

Google Apps para negocios (parte 1): Trasladando mi oficina

Google Apps para negocios (parte 2): Mi primer día de trabajo

Google Apps para negocios (parte 3): El trabajo del día a día

Cómo funciona Gmail en tu empresa

Aplicaciones en Internet: Computación en la nube

Más información

Si estás interesado en aplicar este tipo de tecnologías en tu empresa u otras parecidas basadas en cloud-computing, contáctanos sin compromiso y te informaremos.

 

Sara Blazquez, colaboradora de el9nou, nos hizo una entrevista donde hablamos de nuestro sistema de trabajo y de la cultura de los productos freemium. La entrevista original está en catalán.


Descargar la entrevista en pdf Descargar entrevista en PDF o leer directamente online

 

He preparado un pequeño ejemplo con el código de ActionScript que utilizamos para crear algunos de los sitios web que desarrollamos en Flash hace ya algún tiempo.

¿Cómo funciona la demo?

La demo intenta demostrar como funcionan los diferentes posicionamientos líquidos en Flash. He utilizado diferentes logos de nuestra empresa para posicionarlos relativamente en diferentes puntos de la ventana. Al hacer resize de la ventana veréis que las imágenes se reposicionan solas.

Podéis encontar una demo online aquí.

El código de posicionamiento es bastante simple.

    public function onLoad() {
        var lman:CLayoutManager=
                        CLayoutManager.getGlobal("sequence");
        lman.add(this["logo_conductiva"],new LiquidLayout(new SmoothLayoutTransition())
                        .addConstrain(new BasicConstrain("top","10"))
                        .addConstrain(new BasicConstrain("left","10")));
        lman.add(this["logo_facturadirecta"],new LiquidLayout(new SmoothLayoutTransition())
                        .addConstrain(new BasicConstrain("top","10"))
                        .addConstrain(new BasicConstrain("right","10"))
                        .addConstrain(new BasicConstrain("leftlimit","400")));
        lman.add(this["logo_lonelydrops"],new LiquidLayout(new SmoothLayoutTransition())
                        .addConstrain(new BasicConstrain("bottom","10"))
                        .addConstrain(new BasicConstrain("left","10"))
                        .addConstrain(new BasicConstrain("toplimit","400")));
        lman.add(this["logo_lonelyid"],new LiquidLayout(new SmoothLayoutTransition())
                        .addConstrain(new BasicConstrain("bottom","10"))
                        .addConstrain(new BasicConstrain("right","10"))
                        .addConstrain(new BasicConstrain("leftlimit","200"))
                        .addConstrain(new BasicConstrain("toplimit","400")));
        lman.add(this["logo_tubespark"],new LiquidLayout(new SmoothLayoutTransition())
                        .addConstrain(new BasicConstrain("middle","100")) // también puede tomar valores negativos
                        .addConstrain(new BasicConstrain("center","0"))
                        .addConstrain(new BasicConstrain("toplimit","50")));
        lman.add(this["background"],new LiquidLayout(new SmoothLayoutTransition())
                        .addConstrain(new BasicConstrain("centerInScale")));
        lman.invalidate();
    }

Cada elemento (MovieClip) se añade a CLayoutManager asociándole un LiquidLayout con una serie de restricciones que permiten fijar por ejemplo, el MovieClip siempre a 10 pixels de la zona derecha de la pantalla .addConstrain(new BasicConstrain("right","10")), o hacer que el MovieClip nunca llegue a menos de 400 pixels de la zona izquierda de la pantalla .addConstrain(new BasicConstrain("leftlimit","400")), para permitir que una imagen puede redimensionarse en función del tamaño de la ventana, basta con añadir al MovieClip que contiene la imagen, la restricción siguiente: .addConstrain(new BasicConstrain("centerInScale")).

Podéis mirar directamente en la clase: LiquidLayout en el paquete net.conductiva.framework.ui.layouts.* para conocer con más detalle los diferentes posicionamientos que permite el layout: topbottom, top, middle, cmiddle, leftright, left, center, ccenter, right, fitWidth, fitHeight, exactScale, centerInScale, centerOutScale, fitInScale, fitOutScale, toplimit, bottomlimit, leftlimit, rightlimit.

Documentación del framework

Lamentablemente, no tengo mucha documentación para la utilización del framework en Flash y tampoco puedo asegurar que el código que escrito en Flash tenga continuidad. Si alguien está interesado en mantener el código o utilizarlo para crear su propio framework de Flash con las nuevas versiones de ActionScript que vayan saliendo es totalmente libre de usar nuestro trabajo para lo que quiera.

Descarga

Podéis descargar la demo entera.

La demo está preparada para funcionar con AS2 y funciona de forma completamente autónoma solo descargando el archivo anterior.

Por si os puede ser de interés, también hay disponible una versión del framework implementada sobre AS3. El código en ActionScript del framework "completo" para AS2 y AS3 la podéis descargar aquí

Licencia

Si crees que el código del framework puede serte útil utilízalo libremente de la forma que mejor prefieras.

 

Acabamos de lanzar una versión gratuita de LonelyID Mobile para iPhone durante un tiempo limitado.

LonelyID es un sistema de autenticación basado en OpenID en el que no necesitarás recordar más contraseñas para acceder a tus servicios web desde tu ordenador. Tu contraseña se generará de forma segura dentro de tu teléfono móvil. La contraseña generada en el móvil cambiará al cabo de un minuto haciendo que la contraseña anterior deje de ser válida. Esto te asegurará que puedas acceder a tus sitios web sin tener que recordar contraseñas y sin tener que preocuparte por los software maliciosos o keyloggers que pueda haber en el ordenador desde donde introduzcas tu contraseña.

Si realmente te gustaría utilizar (o ya utilizas) un servicio OpenID para acceder a tus sitios web favoritos, te animamos a que pruebes LonelyID.

Descarga directamente la aplicación desde la siguiente url:

http://itunes.apple.com/app/lonelyid/id337733114?mt=8

 

Debido a que tu iPhone puede contener información sensible y confidencial (ahora más si utilizas LonelyID) debes cuidar que tu información se encuentre realmente protegida ante posibles pérdidas o despistes.

Una forma muy fácil y segura de proteger el acceso a tu iPhone es utilizando la funcionalidad de 'Bloqueo con código' que te permite bloquear tu iPhone con una contraseña de 4 dígitos.

 

Parece ser que el año 2009 acaba con buenos datos en lo que a la implantación de OpenID se refiere.

Segun la información publicada en la web de la fundación de OpenID, ya existen más de 9 millones de sitios web que utilizan OpenID en el proceso de login y registro de sus usuarios.

Dentro de este grupo de sitios web que soportan OpenID, podemos incluír también la gran mayoría de aplicaciones que hemos estado creando este año con nuestra plataforma de desarrollo TubeSpark. Como ya he mencionado en artículos anteriores, TubeSpark soporta de forma nativa la autenticación y registro de usuarios vía OpenID.

El compromiso y la confianza que tenemos con OpenID nos ha permitido crear también un servicio gratuíto que proporciona a cualquier persona que lo desee una cuenta OpenID.

El servicio se llama LonelyID y dispone de un mecanismo de autenticación algo especial que va un poco más allá de la autenticación clásica de usuario y contraseña. Con LonelyID, las contraseñas se generan de forma aleatoria en el teléfono móvil del propio usuario (utilizando la aplicación LonelyID Mobile) y sin necesidad de intercambiar datos con el servidor de autenticación.

Para conocer más información sobre LonelyID, puedes visitar: http://www.lonelyid.com

 

Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de internet manifestamos nuestra firme oposición al proyecto, y declaramos que...

 

 

Como programador web en java, me paso el día compilando con maven, updateando y commiteando del subversion, parando y arrancando el tomcat, haciendo tails de logs, y un sin fin de ejecuciones de scripts más.

Después de programar para el iPhone me pico el gusanillo y me entraron ganas de programar algo en Objective-C así que partiendo de la idea de Tomcat Controller he desarrollado una aplicación con la que poder ejecutar scripts y ver su resultado en una nueva pestaña si queremos. Por ejemplo, podemos lanzar un tail del log del tomcat en una nueva pestaña y sin tener que abrir nuevas pestañas podemos lanzar y parar el tomcat.

 

A principios del año 2009 después de valorar diferentes alternativas en alojamiento, nos decidimos por cambiar de proveedor para nuestros servidores dedicados.

 

Este año, dentro de la Campus Party 2009, hemos participado en el desarrollo de un aplicación de software para el registro e impresión de tarjetas de acreditación.

Siguiendo la misma línea de nuestro trabajo de los últimos años, hemos optado por el desarrollo de un software totalmente online. El software se ejecuta directamente sobre el navegador web y solo necesita de una conexión a Internet para ser usado (cosa bastante fácil de conseguir en un acontecimiento como la Campus Party)

En este caso, nos gustaría destacar el uso que hemos hecho de la tecnología Flash para realizar un pequeño componente de software que permite, de forma muy sencilla, la captura de imágenes desde el propio navegador web.

 

Hoy me he encontrado con un artículo interesante que hablaba de un proyecto llamado Personas, llevado a cabo por Aaron Zinman y que forma parte de una exposición que lleva por nombre Metropath(ologies) expuesta en el Museo del M.I.T.

Se trata de un pequeño experimento que mediante algormitmos semánticos intenta, a partir del contenido que encuentra en Internet, realizar una representación gráfica de las diferentes áreas de identidad digital de una persona, utilizando su nombre como base de búsqueda.

Como nota curiosa, me ha llamado la atención ver que la caracterización del concepto conductiva dentro del proyecto Personas contiene un área bastante significativa relacionada con la definición de nuestra empresa y nuestro carácter online.

http://personas.media.mit.edu/personasWeb

 

Conductiva profiling

P.D.: Quien opine que este proyecto no aporta mucho a la humanidad, seguramente está en lo cierto. En el caso de conductiva, nuestra definición como empresa aparece la primera probablemente porque nuestra web se encuentra alojada en conductiva.com. De todas formas, no por eso deja de ser un proyecto interesante y curioso de visitar y ver como funciona.

 

Hace algún tiempo cuando creamos el blog de conductiva, teníamos claro que debíamos disponer de la opción de poder descargar en RSS todos los contenidos publicados en nuestro blog y, puesto que el blog iba a ser el principal punto de encuentro y de comunicación, evaluamos lo que nosotros creemos que son las dos principales alternativas:

1. La primera y más fácil era publicar los feeds/rss del blog a partir de una url directamente en nuestro sitio web.

Veíamos claramente algunas de sus ventajas:

  • Controlaríamos la url de publicación de los feeds ya que se encontraría publicada bajo nuestro dominio
  • No dependeríamos de servicios de terceros que podrían dejar de funcionar sin que pudieramos hacer nada. 
  • Como el blog se publicaría bajo el mismo dominio que el rss, esto nos permitiría mantener las urls relativas a las imágenes y enlaces dentro de los artículos del blog.

Pero creo todas las ventajas se acabarían aquí.

2. La segunda opción (casi tan fácil de implementar como la primera) era activar un servicio externo de feeds y configurarlo para que leyera el contenido en rss de nuestro sitio web y lo republicara bajo otra url.

Como desventajas de esta segunda opción veíamos que:

  • Esto nos obligaba a dar una url de rss externa a nuestro dominio (ya que la url pertenecería al servicio externo de feeds)
  • Perdíamos el control de que algo pudiera fallar en los servidores del servicio externo de feeds
  • Estábamos obligados a mantener urls absolutas en todas las imágenes y enlaces dentro de los artículos del blog (fácilmente solucionable)

Pero la verdad es que si podíamos convivir con estos pequeños inconvenientes, todo el resto eran ventajas.

Creamos una cuenta en feedburner.com y configuramos 3 feeds básicos que enlazaban a los 3 rss de nuestro blog (cada uno bajo un idioma: inglés, español, catalán)

   feed://feeds.feedburner.com/conductiva

   feed://feeds.feedburner.com/conductiva_es

   feed://feeds.feedburner.com/conductiva_cat

Una vez realizada la configuración inicial, feedburner nos da acceso a una gran cantidad de funcionalidades que de otra forma hubiera sido imposible implementar por nuestra cuenta. Entre las funcionalidades de feedburner, destacaríamos:

  • Estadísticas de acceso y suscripciones a nuestros feeds (pudiendo conocer el origen geográfico de las suscripciones y la frecuencia de actualización)
  • Posibilidad de expotar los datos de acceso a los feeds en excel y csv
  • Posibilidades de mejorar el contenido de nuestros feeds (haciéndolos browser-friendly, etc.)

En resumen, a nuestro modo de ver, depender de servicios web externos puede tener algunos inconvenientes pero, si valoramos pros y contras, definitivamente vale la pena apostar por servicios web de terceros y ganar en funcionalidad a buen precio.

 

 

Ahora con el cambio a la TDT y el apagón analógico se está especulando mucho sobre el futuro de esta. Se supone que cuando el apagón sea efectivo empezarán a aparecer muchos más canales en la TDT, con la consecuencia de la diversificación de audiencia, con tantos canales habrá menos gente viendo lo mismo. Y además está la publicidad, el mismo pastel se va a tener que repartir entre muchos más canales. ¿Pero es este realmente el futuro de la televisión? Las estadísticas indican que cada vez hay menos jóvenes viendo la televisión, sus tendencias son las de ver vídeos por internet o la descarga de películas y series.

Por eso mismo el objetivo de muchas empresas es el de traer internet a la televisión, de manera que podamos ver los vídeos en la televisión usando una interfaz y un mando a distancia sencillos. 

¿Dónde está el negocio en este nuevo modelo? Pues es simple, cobrando las descargas de contenidos. Por ejemplo, una película, la puedes alquilar por internet por unos 4 euros en alta definición, o comprarla por un poco más. ¿Que gana el usuario? Poder ver la película en alta calidad, cuando él quiera, sin publicidad, y sin tener que moverse del sofá.

 

Desde principios de año, cuando empezamos a introducir el micro-bloging de twitter como mecanismo para publicar comunicados relacionados con Conductiva, nos surgió un problema: nuestra relación diaria con clientes y colaboradores es en múltiples idiomas. Con algunos de ellos necesitamos comunicarnos en inglés, con otros en castellano y con otros en catalán.

Entonces, ¿como hacer que el sistema de microbloging de twitter (inicialmente pensando para modo-idioma, inglés) pueda en algún momento llegar a ser útil a todos ellos a la vez sin tener que mostrarles mensajes mezclados en múltiples idiomas?

Llegados a este punto, decidimos hacer lo siguiente:

1. Creamos tres cuentas de twitter con los siguientes áliases: conductiva, conductiva_es, conductiva_cat, para inglés, castellano y catalán respectivamente.

2. Todos los comunicados que realizamos a través de twitter (que tampoco son muy frecuentes por ahora) se insertan simultáneamente en las tres cuentas en su idioma correspondiente.

3. En función del idioma escogido por el usuario que visita nuestro sitio web, www.conductiva.com, le enlazamos también a la cuenta twitter asociada a su idioma.

Pensamos que esta es una forma simple de conseguir mantener a todos nuestros clientes y colaboradores conectados al twitter y viendo en cada momento solo aquellos mensajes escritos en el idioma seleccionado por ellos.

/blog/images/twitter/conductiva.png/blog/images/twitter/conductiva_es.png/blog/images/twitter/conductiva_cat.png

 

viddler.com dispone de un interesante mensaje de confirmación de registro que personalmente me parece genial. Son numerosas las ocasiones en que los mensajes de confirmación de registro quedan perdidos en los filtros de spam de los servidores de correo.

Desde viddler.com han visto que este puede ser uno de los principales problemas que frenan el número de registros que se realizan en el sitio web y han montado un pequeño y rápido formulario que te permite reenviar el correo de confirmación de registro en caso de que éste quede perdido a medio camino. 

/blog/images/example_registration_form.png

© 2021  • condiciones generales