jueves, 30 de abril de 2015

"Softwares" libres y gratuitos.



¿Software libre y gratis? Sí, puede ser, pero no necesariamente.

Imagen de Free Software Foundation en wikipedia.org bajo licencia CC

Se entiende por software libre como aquel software que puede ser utilizado, copiado, estudiado, modificado, distribuido, redistribuido… por cualquier persona. Sin embargo, aunque suele serlo, no tiene por qué ser necesariamente gratuito, se le puede poner un precio, eso sí debe cumplir con las características nombradas anteriormente.   
Del mismo modo, el software gratuito no tiene por qué ser definitivamente libre, puede ser una prueba de un programa, eso sí con limitaciones que solo pueden eliminarse mediante el pago a la empresa o persona desarrolladora, o simplemente puede ser un software cuyo desarrollador ha decidido ceder su utilización pero no su modificación o comercialización, no deja su código libre.

Es importante tener en cuenta las licencias. Aunque el software libre se pueda distribuir, copiar, modificar… es importante que cuenten con una licencia, al igual que hacen los programas que no son libres (o privados), ¿por qué? Pues bien, imaginaos que  existiese una una persona, empresa, institución, entidad… que cogiese un software libre, hiciera lo que quisiera con él, lo privatizara y lo vendiera; vaya plan, el software libre ha sido privatizado, y además se ha perdido su condición de libre. Pues, para eso existen las licencias del software libre, para que no llegue cualquiera y modifique esta condición de libre en beneficio propio, para que el software libre siga siendo libre.
Tampoco hay que confundirlo con el software de dominio público, este software cumple unas condiciones por las cuales es aprovechable por todas las personas, no tiene ningún tipo de licencia, se puede modificar, distribuir y reutilizar siempre que sea para un uso dentro de la legalidad y se mencione la autoría original.

En definitiva, ni el software gratuito tiene por qué ser libre ni el software libre tiene por qué ser gratuito. 
 
Imagen de Jordi berenguer en wikipedia.org bajo licencia CC
A mi parecer, ambos, libre y gratuito, son importantes. Imaginaos una persona que no tiene acceso al software de pago, hay muchas personas en esa condición, el software libre y gratuito o solo gratuito son muy importantes para estas personas, o para aquellas que simplemente quieran tener otra alternativa al software privado. Este software que tratamos da una oportunidad de acercar a muchas personas a las TIC y posibilitan la igualdad, además de ayudar a cerrar un poco la brecha digital. Sobre todo, el software libre y gratuito, da la oportunidad de aprender y desarrollarse a las personas que no tienen accesos a los medios necesarios en un mundo globalizado, pero en el que, como vemos, casi todo tiene un precio.

Imagen de florisla en flickr.com bajo licencia CC


Durante este curso, hemos usado tanto software libre y gratuito, así como gratuito. Con respecto a los de licencia libre, cabe mencionar libre office, una suite ofimática que incluye procesador de textos, hojas de cálculo o bases de datos entre otros o Ubuntu, un sistema operativo de Kernel Linux, que a su vez incluye un montón de software libre que podemos instalar o desinstalar a antojo, como  GIMP, el cual también hemos usado. Seguimos con VirtualBox, que en su versión OSE es libre. No se pueden olvidar un programa como Mozilla Firefox, que es libre y en el cual se basa TOR, que no solo usamos en el curso, sino en el día a día. Por último, todo lo que hemos usado relacionado con Google, dispone en su mayor parte de código libre, eso sí, bajo las condiciones de Google, quizá podríamos hablar en esta situación de un software mixto.  

De manera particular, como soy usuario de Ubuntu, he usado programas como Shutter, para capturar pantallas, Dolphin, como administrador de archivos, KDE como escritorio, y mil cosas más, que como estoy tan acostumbrado a usarlas ni caigo en la cuenta de que son libres. Para la tercera tarea de este trimestre, use Android, cuya parte de su código es libre, para comprobar mi aplicación. Como vemos hay un montón de software libre y gratuito que suple, o incluso mejora, las posibilidades del software de pago.

Imagen de dominio público.


Pero no solo de software vive el estudiante, hay muchos recursos bajo licencia libre, sonidos, música, imágenes, textos, que hemos usado durante el curso. Aquí os dejo algunas de las páginas que yo he usado, no solo en esta asignatura, en muchos de mis trabajos.

Imágenes: 

Música y sonidos:

Y por supuesto, se puede descargar software libre:

Bueno, y podría seguir hasta la eternidad...



P.D: En la entrada anterior me equivoque. Ahora sí, ¡¡¡hasta pronto!!!

miércoles, 29 de abril de 2015

Scratch y un hasta pronto




Hola a todos otra vez. Posiblemente esta sea mi última entrada en el blog sobre las tareas realizadas en esta asignatura, pero esto no quiere decir que no vaya a seguir realizando entradas…

En esta última tarea del curso hemos aprendido a hacer algunos pinitos con Scratch, un entorno de programación orientada a objetos muy cuco. 

La verdad es, que, aunque algunas creaciones pueden parecer muy infantiles, he aprendido que la programación no es precisamente un juego de niños. Modificar un proyecto ya creado, y que funcione medio bien, me ha costado, pero empezar el proyecto desde cero… casi me tienen que poner una camisa de fuerza. Para hacer estas dos cositas he gastado mucho tiempo, creedme. A pesar de todo, es algo que me ha gustado mucho. Creo que es cuestión de experimentar e ir guardando y recuperando hasta que des con la tecla, muchas veces, si no has dejado notas, no te acuerdas ni de por dónde ibas o para qué servía cada cosa. Esta tarea me ha ayudado a comprender mejor, sumándole lo aprendido con Appinventor, algunas funciones de los comandos de la programación, pero sobre todo a respetar el trabajo de los programadores por muy simple que parezca una aplicación. 

Aquí os dejo el proyecto modificado.

     


Y aquí el mío desde cero.

              
    

El curso se acaba. Esta asignatura me ha parecido muy interesante, pues toca muchas ramas de las TIC, y me ha ayudado a mejorar mis destrezas con las mismas, o a comprender mejor y acercarme más al software libre y gratuito. Desde luego, he aprendido muchas cosas. Hasta que no empecé con esta asignatura, no sabía manejar una base de datos, programar en bloques o sacar partido a algunas funciones de programas tan cotidianos como un procesador de textos o de retoque fotográfico y dibujo. Me voy con muchas cosas nuevas, que no solo me sirven en el entorno académico, sino también en el personal y el profesional.

Muchas gracias a los profesores y profesoras que han pasado durante el curso y que han preparado estas tareas que nos han ayudado a mejorar nuestras tareas (las que hemos hecho en otras asignaturas) y nuestras destrezas.

¡¡¡Hasta pronto!!!  

lunes, 20 de abril de 2015

"Appinventando"


Esta entrada ha sido modificada el 6/05/2015. He añadido al final de la misma imágenes de la misma aplicación, pero desarrollada con App Inventor (1), que era con la que había que realizar el trabajo. De paso he aprovechado para realizar algunas mejoras en la app.


Captura de pantalla
¡Hola! Aquí estoy otra vez. Hoy os hablaré sobre App Inventor.
Bueno, que queréis que os diga, a mi estas cosas relacionadas con la programación me chiflan. En esta tarea he creado mi primera aplicación para Android, y para ser la primera creo que no está muy mal del todo.

En primer lugar me puse a investigar sobre que era App Inventor y sus posibilidades, y son tantas que me podría haber muerto de viejo buscando. Tras eso, empecé a mirar en la red tutoriales sobre algunas aplicaciones que se podrían crear con este asistente de desarrollo. Tras ver algunas cosas me pregunté ¿y por qué no hago una aplicación que me sirva a mí mismo? Y eso es lo que hice. La verdad es que he cogido ideas de aquí y de allá, le di un par de retoques con otras cosas que he aprendido, y las combiné para crear una aplicación a mi medida.

Al introducir “App Inventor” en el buscador de Google, aparecieron miles de cosas interesantes, como, calculadoras, agendas, bases de datos… Con las ideas de algunas de esas páginas web, como me gusta el deporte y la montaña, decidí combinar, en una misma aplicación, una brújula, un localizador GPS y un cronómetro ¡hago la tarea y me llevo una app! Dos pájaros de un tiro. A parte de los tutoriales, algunas cosas las he sacado por mi cuenta, investigando, practicando y equivocándome mil veces, como, por ejemplo, cambiar entre pantallas o cerrar la aplicación y que se cierren todas las ventanas generadas.


Esta tarea me ha gustado bastante y me ha hecho acercarme a la programación, una cosa que siempre ha llamado mi atención, pero a la que nunca me había acercado.
 

Bloques para cambiar y cerrar pantallas en "Screen1". Captura de pantalla.



Realmente el proceso de desarrollo de la aplicación no fue llegar y topar, es decir, fui mejorando la aplicación con más botones y características a medida que iba probando cosas nuevas de App Inventor. Así, de forma general, comencé con la primera pantalla “Screen1” que me serviría de puente a las otras tres pantallas que componen esta aplicación.

Diseño de "Screen1". Captura de pantalla.


Esta era la parte, por decirlo de alguna manera, más sencilla, porque en los tutoriales te dicen cosas específicas, pero, por ejemplo, en “Screen1” tuve problemas con los bloques a la hora de cerrar la aplicación, pues solo se me cerraba Screen1 pero las demás pantallas no, así que me tuve que poner a investigar por mi cuenta. Podéis ver la solución al problema en la primera captura de la entrada.


Pero yo no soy de los que se rinden ante la adversidad, así que salí del escollo y pude seguir con mi aplicación. Lo siguiente que hice fue la brújula.
Diseño de brújula. Captura de pantalla.

 
Tras el diseño pasamos a los bloques.
Bloques Brújula. Captura de pantalla.




Como veis en la captura es sencillito, un “sprite”, una etiqueta, los relacionamos con la función “Azimuth” del sensor de localización y “a volar”, ya tenemos la brújula.
Diseño cronómetro. Captura de pantalla.



El cronómetro fue algo más complejo, había que relacionar varias funciones con las distintas etiquetas de minutos, segundos… y después añadir los incrementos al sensor “clock” para que realizase su función de cronómetro. Bueno, nada que no se pueda arreglar con un par de “when-do” e “If-else”. Y por supuesto añadir las funciones a los botones para cambiar de pantalla al pulsarlos.


En este widget di un toque personal, pues al pulsar el  botón reiniciar, en la idea original, no se paraba el crono, así que le añadí un bloque para que así fuera.

Para detener el reloj al pulsar reiniciar. Captura de pantalla
 
Bloques Reloj. Captura de pantalla.


Por último, lo que creo que es la joya de la corona, quizá porque es lo que más toque personal tiene, el GPS. En el GPS añadí por mi cuenta la función de habilitar y deshabilitar el GPS(cambiando de color el indicador), y tuve que hacer muchas modificaciones en los bloques que proponía el tutorial, trastocando una cosa y otra y probando con las distintas combinaciones de bloques, al final lo conseguí.

Por supuesto, no solo hice eso, también tuve que relacionar los sensores con los cuadros de texto y también añadí un botón con un enlace a “googlemaps” para mostrar la posición en un plano.

Bloques GPS. Captura de pantalla.
 Y aquí una captura de la aplicación funcionando en mi móvil.


Aquí las nuevas imágenes:

Bloques para abrir y cerrar pantallas

Bloques para el GPS
Diseño cronómetro.

Captura de pantalla con la aplicación funcionando en mi móvil.