Páginas

miércoles, 5 de febrero de 2014

Change of song

As you already know, this year I'm not devoting to much time to my projects nor the championship due to the work and the classes, and I'm advancing on ShareIt! more slowly that what I wanted.

None the less, in the last days after the exams I have been pushin WebP2P.io working on a rewrite from scratch and now has get a really clean, nice code and stable performance, and it's starting to became something really serious to be usable. My intention was to release a 1.0 version this days, but I got the conclusion that it's better to wait and get a more mature protocol, and implement from start a secure, anonimous and reliable one instead of change it in the future.

That's the reason I've decided to follow the advice of my teacher and employer Prof. Luis López and change my strategy: instead of focusing on code development, focus on the development of the ideas and write papers and specs of them. This way, I can be able to make development more dynamic and request help from others more easily (no long debuging nights stage ;-) ), instead of need to wait to have it finished (if so!) just to see that it was a waste of time, and dedicate to development when I have more time (probably summer, or maybe also the next course if I can be able to integrate my ideas in the products of my company :-) ) with the advantages of having the concepts more polished and go straight to code them.

So, at this moment I doesn't have written the specs of the new version of the protocol, but I hope to have them in some days and I'll put a post to talk about their main points. Stay tunned! ;-)

miércoles, 25 de diciembre de 2013

Still alive

It was almost two months from my last post, and as you can see on my GitHub account, I've didn't do any commit to ShareIt! on this time. Reason? Job and classes (and in fact I've drop out of the gym and the KinBall team during this time to focus on them...). In fact, I wanted to release ShareIt! 2.0 on the aniversary of the release of ShareIt! 1.0 "Armageddon", but it was fairly impossible, as the holidays I've taken on Las Palmas to don't get me insane shows.

Now that I have got for the first time in some years full Christmas holidays, I'll try to retake the P2P project and move it forward, although I have some pending practices for it. This is not the best year for my personal projects, but at least I hope I can finish the degree the next year, so the effort will pay off... :-)

And if not, we can always take a piece of cake... :-P

viernes, 1 de noviembre de 2013

Here we go... again

Just as something that's starting to became a tradition, new course... and new inscription :-)

Yes, one more year, I'm participating (again) on the Free Software Universitary Championship, that so many good moments gave me the last year. That's the reason why I will participate again with ShareIt!, only that this time with a fairly more ambitious project (if something like this is possible!): make it a production-ready P2P framework focusing on easy to use and freedom of speech instead of just a P2P filesharing application. This has the problem that will need an almost from scratch rewrite (that I'm currently doing) isolating each area and making a lot of efforts of making them solid and future-proof, but as the existence of another WebRTC-based project on the championship shows, this kind of technologies will be the basis of the future new Internet applications on a mid-term, and it compensate the effort to give them a try. Ey, I got a job thanks to them, so they shouldn't be so bad anyway! :-D

I only hope that the job and the studies (hopefully this is my almost-last-year of college :-) ) don't kill me too much time to dedicate to the project (it's almost one month that I don't write any line of code... :-/ ).

miércoles, 21 de agosto de 2013

Teaching the hard way

When we teach kids to ride a bike, at some point we have to take the training wheels off. Here’s an idea. When they hit eleven, give them a plaintext file with ten-thousand WPA2 keys and tell them that the real one is in there somewhere. See how quickly they discover Python or Bash then.
EPIC

jueves, 8 de agosto de 2013

A leap frog

In the last weeks I didn't get too much progress with ShareIt!, between exams and my new job, but specially due to the fact that with the problems I had with the removal of the anonimous XMPP server I was using and that the browsers starting with Chrome v26 generated a big SDP strings, I got fixed on using Chrome v25 if I wanted to keep experimenting :-(

But, in my new job I'm working with WebRTC all the time :-) And doing some experiments not only found that the big SDP strings was a bug of Chrome but also thanks to it another bug on Firefox has been found, but not only that, I was able to find a solution to create smaller SDP strings... and got ShareIt! working directly with Chrome v30 and their native reliable DataChannels :-D Only thing is that seems reliable support is not finished so I'm only able to get fileslist but not files content, so while it got fixed I decided to test it on Firefox and after some work... now it working there.

Yes, ShareIt! working on Chrome and Firefox!!! :-D

Well, sort of. As I said, it's mainly experimental only allowing to get files list, but they are working using native DataChannels, that's a big advance. Now I'll try to be able to use DeviceStorage API on Firefox until interoperability appear since the Filesystem API is not available nor support to upload folders, and also the input tag seems it's a dead end also in Chrome, and maybe I'll start with the Node.js based implementation ;-)

lunes, 22 de julio de 2013

One year ago...

One year ago I didn't know what WebRTC was. In fact, if someone would talked to me about a new in-development technology to directly connect web browsers between them and that I would became some months later a international reference doing keynotes and receiving several job offers thanks to it, I would give him a pokerface :-P

But just one year ago I had a dream. I dreamed about me asking myself why browsers couldn't be able to transfer files between them in real time and how WebSockets could help on this (real time communications between a browser and a server are the main purpose of WebSockets). After this and concluding it was a good idea, I asked myself "how the browsers would meet themselves? They would need an ID"... and at this moment I got something that would be comparable to a revelation or an epiphany: just came to my head an splash of the TeamViewer call ID window...


Just have an ID for each WebSocket connected to the server and use it as an address book! EUREKA!

After that, I was not able to get back to sleep :-P

So, I had the sensation of found something great, just great enough that if I got fired from my work (something that in fact it happened just less than a week after) it only would means that it was my destiny and I should as hard as possible to develop it. So, I asked for advice to a friend of mine about create something like PasteBin but for files (something that recently has developed Pipe). He was not confident about the commercial viability of the project (it would require both ends to be connected at the same time and also there's already a lot of ways to transfer files that doesn't have this requeriment, for instance DropBox), so I decided to take another way:
- Ok, so what if I convert it on a P2P network and register on the Universitary Free Software Championship?
- If you do it, you will crush the others and win them by several heads of advantage ;-)
So I did it... and several months later I won it :-)

I'm the one in the middle with the beard and the trophy in the hand :-)
To be honest, by that time I was not really sure about how I would do it (I've never been a networks guy) nor if someone had my idea before, so I started to look for some example code to start about. That's the way I ended finding DirtyShare, a proof-of-concept whoose concept was almost similar to the mine, but that was talking about something a new technology called WebRTC and also about the WebP2P maillist. That was interesting, so looking for it, I found that it was really a better approach that the original one using WebSockets, that it was starting to being available... and that the part where I was interested, the DataChannels, was not ready yet, so that was the reason I developed DataChannel-polyfill, people started to take interest on my work and I started to forge myself a name :-D

So, this has been a really long and intense year for ShareIt! and for myself, learning a lot and coding a lot and getting more success that what I would imagine on first place :-) But this doesn't means the end of this journey, since in fact I'm still working on it and I will show ShareIt! the next course as my degree thesis thanks to the collaboration of professor Luis López. That's the way seems that the version 2.0 is not only around the corner but also will be really awesome, with a high focus on portability and modularity, code reliability (WebP2P.io, the underlying handshake framework, it's a really nice piece of cake :-D ) and easyling to integrate it on other products, expanding it to new horizonts like using it for P2P audio streaming (yeah! :-D ). Thank you to everybody that has offered to me their support and please don't move from your seats or you would loose the fast moving news that are comming around ;-)

jueves, 30 de mayo de 2013

Achievement unlocked

Banned from W3C Restricted Media mail list for being critic with EME & DRM on HTML5. I love to be on the first line of fire... >:-D

lunes, 27 de mayo de 2013

And the winner is...

Two days late, but my mobile internet got down this weekend.

Just to say that ShareIt! has achieved the second position on the general category (first one was for Lynckia, that was using WebRTC too, by the way) and has won the Most Innovative Project category of the VII spanish national Free Software Universitary Championship 2013.

Yeah!!! :-D

lunes, 6 de mayo de 2013

Going mobile

One of the reasons why I though it would be cool to develop a P2P application inside the browser was that it could run everywhere there was a browser, without needing to install nor configure anything, just open a web page et voila! It was working. That's one of the reasons why some time ago I started to add some integration and responsive design to allow ShareIt! to work on mobile phones browsers and limited resources ones, not only natively but also as a "remote control" for a Node.js-based client, and it was fairly simple to modify the architecture and split the different components to make it possible, and also based on this architecture ShareIt! core could fully work inside a SharedWorker and being independent from the user interface (unluckily PeerConnections are not able to work inside Workers at this moment, but that's another story...). Problem was, I didn't have a mobile browsers modern enough to test it (also using WebSockets and my DataChannels-polyfill... mobile browser s*cks).

But now I have a Galaxy Note II, and can be able to run Chrome4Android for it :-) Since lately I was able to make ShareIt! work using native DataChannels, it was the perfect moment to give the mobile interface a new opportunity, and after some tune-ups on it, now I can say that ShareIt! is the first P2P application that can run on a mobile phone (and not just a proof-of-concept like the bittorrent port running on the Nokia S60 Python port... ;-) ). It need some improvements on usability and functionality (at this moment Chrome4Android doesn't support to share folders), but definitely it's almost as intuitively to use as the desktop version, and open new horizonts about what usages are possible with the WebRTC technology :-)

And if you are thinking about it... yes, DataChannels + reliable library are stable enough to be used on production, although is really slow (at least for me). I'm thinking about a solution for this like reducing packages size and wipe completely the need for reliable comunications, but I didn't take a final decision about this point...

miércoles, 1 de mayo de 2013

Not so dead...

Remember my last post where I told would kill DataChannel-polyfill and work since now on native DataChannels because I got too much behind with them? Well...

...not so real :-)

Since the last post I have been thinking almost obsesively with the problem of needing a deprecated browser version just because of using my DataChannel-polyfill using WebSockets, and not working in latest versions with native support for DataChannels (that, by the way, sucks). So taking in account that the DataChannel-polyfill test code works with native ones I conclude that it would be just a problem on ShareIt! side not being fully compliant, so I went straight to it, removed all references to my polyfill and started again over with the handshake and PeerConnections layer from scratch, fixing one bug at a time.

And finally, after just some hours of work (instead of several days as I thought), it worked :-)

I must to admit that it's not the best implementation ever (I still ask my self why the h*ll is required to exchange some 'candidate' messages between the peers) and also it only support to transfer files and data up to 1Kb until they implement native reliable support (or I use reliable library, whatever comes first... :-) ), but the fact is that this almost mystical sensation after seen this thing working and with so few work (just some little tune-ups on the code thanks to the fact I develop DataChannel-polyfill trying to mimic the original specification API) it's really awesome :-D

So, not only I have experimental native DataChannels support on ShareIt! (F*ck yeah!!!!! :-D) but also being so little the diferences I've decided not only don't kill DataChannel-polyfill, but also try to improve it now that I know how native DataChannels work (and being so easy to use :-) ) and think about how to make a backward compatible API so older browsers could talk with newer ones :-)

But don't get me wrong little friends, the most important part of this post, if it was not clearly noticed yet, is the fact that now we don't need servers at all, being fully decentralized and serverless :-D Combine this with the Holy Grail of Internet that almost can bring us the HandshakeManager and the handshake servers, and wonder what an awesome future is waiting us... :-D

domingo, 28 de abril de 2013

ShareIt! 1.1.1: Cloverfield

During the last weeks I was not able to publish too much here, specially because I'll start my exams the next week. But, since I got to be able to publish ShareIt! as my practice for my Networks-II class, I've been able to dedicate some time to it (maybe too much compared with the other asignatures... :-/ ) and develop some improvements directed by my tearcher Luis López, just in time not only for the lecture of the practice (tomorrow Monday on the morning :-P ) but also for the final phase of the championship, so here I'm showing to you the third public release of ShareIt! 1.1.1 "Cloverfield" (and no, although is the third release, the version is not written in unary ;-P)

It would be a fairly minor release because it only have two issues, but the fact is that it required some work on another ones and has added some great features and improvements on the architecture:

Manage duplicates: one of the problems that had ShareIt! previously is that since it was using the files hashes as unique identifiers of the files, if one of them was included twice only one of the copies whas showed (and served) also if it has different names. The solution was to identify them independently so both entries would coexist, and the ideal solution was to use the file's path. But what happens with the hashes? How I would be able to look for them if I'm not using them anymore as keys? I have been been putting off this thing a lot of time up to the point I didn't remember why I didn't do it before... and when I remembered it, I desired to forget it again.

IndexedDB: the reason why I have been been putting off so much the management of duplicates is because the optimal solution was to use IndexedDB's indexes, in fact a keyPath (multiple fields) for the primary key, and a non-unique index for the hashes (so they would be duplicated). What's the problem? Chrome hasn't still fixed the support of Blob and File objects inside IndexedDB (after almost one year and a half...), so I was alone using my polyfill. Two options: accept it, and told the reason to my teacher, or get mad myself, go for it and implement index support on my polyfill. At the worst, I would reuse later on my upcoming implementation of IndexedDB for Node.js for the headless version of ShareIt!... So I went directly for it, and after 8 hours listening to Daft Punk and the discography of Ke$ha and Demi Lovato (no comments), I got support for indexes on my own (in-browser, memory-only) pure Javascript IndexedDB implementation. #feelingLikeABoss... B-)

Sharedpoints: after that achievement another interesting point would have been detecting when a file has been added to a sharedpoint so it could be shared automatically without adding it by hand. Until this moment it was only able to detect when a file was deleted so it would be removed since I was using an input tag and its FileList object, that's mainly a photograph of the files that where available when the user selected it (although you can detect when it has beem removed checking an error when accessing to a file), and also it was done in a not maintable way, being all the management of the sharedpoints inside the hasher. Taking that in account, I decided to develop a new sharedpoint using DirectoryEntry from scratch, so I could be able to take in account the diferences and make it more portable. Now is fairly easier to add new types of sharedpoints like the ones I have been thinking about for Dropbox and Mega, and also I have been thinking about consider that internally the other peers would work as sharedpoints so I could simplify the way to access to them. Problem is, that I didn't notice until I finished it that Chrome has another bug not populating entries on the input tag and also I didn't be able to make drag&drop to work (this probably my fault...) so I've let this to be finished later.

And lastly by not least, the biggest feature added to this release and the one that made me think about tagging it as a mayor one, is the fact that now we have searches!!! :-D It's very primigenic and required some hacks (the fileslist is being shared between the peers after connection, having all of them the info of what are sharing others), but thanks to Lun-r.js now we can search by keywords, giving us a list of the files and hashes that correspond the them ready to be downloaded. It need some improvement in the future (like for example sending request to the others) but definitely it works :-)

But the reason why I didn't released it as a mayor release besides the fact that it has few (but important!!!) improvements, is that it will be the last of the 1.x series. This week I've discovered that ShareIt! doesn't work on Chrome browsers equal or newer than the current stable v26 because some API changes (the ones that almost crash the 1.1 release some weeks ago), so being only able to work on a legacy browser (Chrome v25) with my DataChannel-polyfill and without time in the next weeks to fix it because of the exams, I've decided to go directly to the 2.0 version after that and start using native DataChannels (I hope that by then reliable support will be implemented...), try to remove all the polyfills and develop all the backward incompatible features of the new protocol, like multiple and independent channels per PeerConnection on WebP2P or change the protocol to be RPC-based to increase reliability.

Good luck DataChannel-polyfill, and thank for the fish! :-D

martes, 16 de abril de 2013

WebP2P.io

I know that at this moment the WebP2P library is very tied to ShareIt!, specially because the universitary championship requires to have only one repository, but since I'll split it in the near future and in prevention of stealing it, I've decided to bought the (rather expensive...) domain WebP2P.io to host there the library project, focused in allow a server-less and distributed signaling channel for WebRTC applications. At this moment it only host a default webpage, but in the next weeks after I split the code I'll fill it with more info :-)

lunes, 15 de abril de 2013

Yoigo no cuida sus clientes, verdad verdadera

Hoy voy a dejar de hablar de ShareIt! para hacer una queja publica, de ahi que la entrada sea en español.

Recientemente he tenido problemas con mi telefono movil, los cuales el operador Yoigo (con el que tengo contratada la linea) no ha querido hacerse responsable de ellos sino que encima me han tratado con prepotencia y desden y se han estado pasando responsabilidades unos a otros, motivo por el cual estoy muy seriamente decidido a cambiar de compañia (a no ser que ahora se me presenten con que me regalan un movil nuevo, lo cual haria pensarmelo segun cual sea el modelo...). Despues de un mes peleandome con ellos al final les critico en Twitter, momento en el que entran a razones y me piden que les envie un email contandoles mi problema. Pues bien, este es el email que les he mandado (cuidado, es largo):

Buenas tardes, tal y como os comente por Twitter, aqui muestro las
razones que me han llevado en menos de un mes de querer renovar mi
telefono movil con Yoigo e incluso recomendar Yoigo a mis conocidos
(especialmente porque es la unica compañia de las grandes con la que
no siento que me estafan con las tarifas), a estar decidido a cambiar
de compañia de forma inmediata.

Actualmente, poseo un telefono movil Samsung Galaxy SCL que me
ofrecisteis de regalo hace algo menos de año y medio como contraoferta
cuando intente cambiarme de compañia al terminar mi periodo de
permanencia. El motivo por aquel entonces fue que mi telefono habia
sido robado meses antes y desde atencion al cliente se desentendieron
del problema incluso despues de haber puesto una denuncia, por lo que
despues de varios meses pagando por un terminal y una conexion a
internet de los que no disfrutaba y tener que usar un movil antiguo
que tenia perdido por casa, decidi cambiarme para obtener un nuevo
terminal puesto que el internet en el movil se me habia hecho algo
imprescindible. Sin embargo, como contraoferta me ofrecisteis el
telefono antes citado totalmente gratis, y viendo que era un buen
detalle decidi continuar con vosotros.

Volvamos al presente. Dicho terminal empezo a darme problema de
bateria hara medio año, llegando dificilmente al final del dia. Es
normal, las baterias se ceban.. pero desde navidades ya empezo a darme
problemas mas serios: la interfaz se notaba pesada e incluso saltaba
el salvapantallas sin llegar a reaccionar, se sobrecalentaba en exceso
hasta el punto de no poder sugetarlo con la mano, se reiniciaba solo e
incluso a veces despues de tenerlo recien cargado, lo guardaba en el
bolsillo y al cabo de una hora notaba que me quemaba la pierna y la
bateria estaba completamente agotada. Sin embargo, aunque ya la
bateria me duraba unas 6 horas, desde semana santa la duracion ha
caido en picado hasta apenas 4 horas, ademas de que el terminal empezo
a hacer cosas raras como cortar llamadas (no me duran mas de dos o
tres minutos), pasar de estar con 4 rayas y 3G activado a un segundo
despues decir que no hay cobertura y un instante despues volver a
conectarse mediante roaming, bloquearse por completo teniendo que
sacar la bateria para reiniciarlo, apagarse y decir que la bateria
esta agotada pero despues indicar al recargar que esta por encima de
la mitad...

Debido a todo esto, empece a mirar terminales de Renuevo. Faltaban
menos de dos meses para el fin de la permanencia y estaba muy contento
con vosotros, asi que decidi continuar con vosotros. Mirando los
terminales que teniais disponibles vi que me ofreciais el Galaxy Note
II por 15€ al mes durante 24 meses, y puesto que no tengo tablet y me
vendria bien para estudiar los apuntes de la universidad, decidi ir a
por el.

Primer problema: mi telefono estropeado sigue en permanencia, y aunque
estuviera convencido de desear continuar con vosotros y ademas con una
permanencia de dos años y pagando un telefono movil caro, me indicais
que tengo que pagar la penalizacion de la permanencia del telefono
antiguo. ¡Pero si esta estropeado y no funciona, y ademas voy a seguir
con vosotros y no me voy a ir a la competencia! Idealmente al estar
permanencia y garantia lo suyo seria que se me ofreciera otro terminal
totalmente gratis en su lugar. Pues nada, que la unica solucion es o
pagar la penalizacion, o aguantar estos dos meses... Visto lo cual,
creo que lo mejor es intentar arreglarlo ya que no tengo ningun otro
terminal y ademas necesito estar conectado 24 horas por el trabajo y
las clases.

Segundo problema: en la tienda se me indica que la reparacion tardaria
25 dias, durante los cuales no podria disponer de mi telefono ni de
ningun otro ya que no tienen telefono de sustitucion disponible (¿no
pueden abrir una caja de los que tienen en la trastienda y dejarmelo?
Ademas, les serviria de demostracion y prueba de los nuevos terminales
y la gente podria convencerse de usarlos...), aparte de que me
dejarian uno antiguo que solo sirve para llamar con lo que estaria
pagando por un internet que no solo uso sino que necesito por trabajo.
Al no ser esta una solucion viable, decido llevarlo directamente al
servicio tecnico de Samsung, que no solo esta cerca de mi casa, sino
que ademas tardan solo una semana en lugar de los 25 dias que tardaria
dejandolo en tienda.

Tercer problema: el telefono lo recibi directamente por mensajero, sin
tener ningun documento que certifique que soy su propietario. Decido
acercarme a la tienda solicitando una copia de la factura la cual me
deniegan y me entregan un "Certificado de Activacion de IMEI"
indicandome que con eso puedo ir al servicio tecnico sin problemas. Es
lo que hago... y alli me indican que "ese papel no vale nada, no es
mas que una plantilla que rellenan con el Word en la tienda y le ponen
un sello, necesitan una factura aunque sea de cero euros al ser un
regalo o un albaran de entrega", y tambien que estan hartos y cansados
de tener que explicarles a los clientes de Yoigo siempre la misma
historia, dejando a los clientes insatisfechos por un problema que no
es suyo sino de Yoigo. Por otra parte, en el servicio tecnico me
indican cual es el problema y que la unica solucion es sustituirlo por
un terminal nuevo especialmente estando en garantia, ya que es un
fallo de diseño de fabrica de este modelo en concreto (la CPU y el
chip de memoria se calientan en exceso y se producen los fallos que he
indicado antes).

Cuarto problema: ante esta situacion, vuelvo a la tienda solicitando
una copia de la factura tal y como me indicaron en el servicio
tecnico, diciendome igualmente que son tonterias suyas y que deberian
aceptarme el certificado (la misma historia que el servicio tecnico
oficial de Samsung, pero cambiando los roles). Al ser incapaz de
ofrecerme una factura puesto que el terminal no fue vendido en tienda
sino por "internet" (realmente fue una contraoferta por telefono,
aunque supongo que se referiria a que internamente los procedimientos
serian los mismos en ambos casos...) que llamara a Atencion al Cliente
en la central (telefono 622). Una vez ahi, me confirman la situacion y
proceden a enviarme la factura, indicandoseme que la recibiria durante
la semana pasada. Al no tener noticias de vosotros decido volver a
llamar y me notificais que eso es totalmente imposible, puesto que
hace meses que no enviais facturas, que no teneis medios materiales
para hacerlo posible y que la chica que me atendio se debio confundir,
que si quiero una factura la solicite en tienda, aparte de decirme la
encargada de seccion que "tuviera cuidado" porque no sabia si al
utilizar un servicio tecnico distinto al de Yoigo lo cubriria la
garantia (¡pero si lo iba a llevar al servicio tecnico oficial!)
notandose en su tono de voz como una amenaza.

Quinto problema: otra vez en la tienda me cuentan la misma historia de
solicitarla a la central, momento en el que llamo directamente desde
la tienda para que se pongan de acuerdo y al final todo se aclara
resultando que no se dan facturas de ningun tipo, lo cual despues de
consultarlo en Consumo me notifican que es algo ilegal y que Yoigo
esta obligada a otorgarme una factura y permitirme llevar el terminal
directamente al servicio tecnico oficial si asi lo deseo. Sin embargo
tambien me notifica que el proceso tardara unos tres meses y lo mejor
que puedo hacer por el momento es aceptar el servicio tecnico de
Yoigo, el cual me dejara sin telefono durante casi un mes.

Sexto problema: visto lo cual, acepto mi derrota y ante la vision de
estar sin terminal decido pagar la penalizacion de la permanencia de
mi movil estropeado y solicitar el Galaxy Note II que queria... solo
para encontrarme que mi oferta especial ha desaparecido y que ahora el
terminal cuesta 20€ al mes, un 33% mas que antes, haciendo que tenga
un precio comparable a comprarlo libre y perdiendo la oferta de
cualquier interes. Quizas se pueda argumentar que sea por haber bajado
mi consumo ultimamente (lo cual me pareceria algo realmente rastrero),
pero lo cierto es que el hecho de "dosificar mis llamadas" ultimamente
es por el hecho de que no me duran mas de dos o tres minutos antes de
cortarse y apagarse el movil, motivo por el que solo hago las
imprescindibles. Asi pues, el ultimo punto que despues de toda esta
historia todavia me hacia plantearme el seguir con vosotros habia
desaparecido, asi que a partir de ahora ya no habia nada mas que me
mantuviera unico a Yoigo.

Asi que esta es mi situacion: un servicio de atencion al cliente que
me ningunea e ignora mi interes en querer seguir siendo cliente
vuestro, un servicio tecnico lento y deplorable que me da mas
problemas que soluciones, falta de coordinacion entre los distintos
miembros de la empresa "pasandose la pelota" unos a otros y delegando
responsabilidades en los demas y viendo recientemente que las "ofertas
exclusivas" no son tan exclusivas y que hay otras compañias ofreciendo
tarifas similares sin requerirme mantener permanencias de ningun tipo,
he tomado la decision de que cuando termine mi permanencia dentro de
poco mas de un mes (justo el tiempo que estara mi terminal en el
servicio tecnico) solicitare la liberacion de mi terminal y la
portabilidad a otra compañia mientras espero a que la reclamacion en
consumo me otorgue la factura para poder reparar y actualizar mi
terminal en los restantes 6 meses de garantia que me ofrece el
fabricante.

Sin otro particular y esperando su respuesta con sus impresiones al
respecto de mi sucesion de problemas con su compañia, se despide Jesús
Leganés Combarro.
A lo cual, solo se han dignado a responderme con un escueto, insulso y autogenerado mensaje:
Buenos días,

Por favor, facilítanos tus datos (nombre, apellidos, DNI y número de línea) para pasar tu correo al departamento correspondiente.

Gracias,
Un saludo.
En resumen, que siguen pasandose la pelota unos a otros, y ahora mi movil esta totalmente muerto durandole la bateria menos de 10 minutos desde esta mañana y estoy pagando por un linea y un servicio que no estoy recibiendo a pesar de estar el movil en permanencia y en garantia.

Definitivamente, Yoigo no cuida a sus clientes, verdad verdadera. Oh Amena, mon amour...

lunes, 8 de abril de 2013

ShareIt! 1.1: Braveheart

Today is an epic day for ShareIt!. Lately I have been able to use the project for my networks class, and this "extra time" about working on in during my study time and also with the guidance of my teacher have lead me to make some great improvements on it, and now I'm proud to show you ShareIt! 1.1: Braveheart.

This new release not only has a lot of bugfixes, but also has a really better code structure that would allow to be easier to accept external collaborations and start adapting it to became a general purpose P2P framework, but also some great improvements on security, being the most important one the fact that now it uses by default anonimous XMPP servers to manage handshakes while being still compatible with the old system using PubNub, connect automatically to other peers on load to start creating a network mesh and speed up the connections, and not only that, now it's integrated a mobile version of the application, so if you access from your mobile phone or tablet you will be able also to use it and transfer files wherever you are. Also, all this things are ready not only for my tearcher's revision that I have in some hours that also for the keynote I'll have this afternoon at #JoinBiz10 :-D

So here you are, happy testing and don't forget that the user feedback, issues and pull requests are always welcome... :-D

sábado, 6 de abril de 2013

ShareIt! working on anonimous XMPP (at last!!! :-D )

It was fairly more difficult to achieve that what I though at a first, but finally now it has been possible: ShareIt! is using an anonimous XMPP server to do the initial handshake instead of PubNub, so now it's not using a centralized server (it keeps the DataChannel-polyfill backend, but it's a matter of some more weeks until native support gets more stabilized) and it's using a distributed, federated network. I needed to change several things on the protocol and the implementation so now the inter-peers routing doesn't work, but I hope to fix it easily after changing WebP2P to be able to use several DataChannels at a time. This is really a HUGE step on the project viability, by the way, and just in time for the next milestone... :-D

jueves, 4 de abril de 2013

ShareIt! on #JoinBiz10

 I have been selected to do the next monday a keynote (really, a 'lighting talk') on the #JoinBiz10, an entrepreneurship event where interesting IT projects can meet managers and MBAs and viceversa. Leets see if I can get some patrocinators for ShareIt!... :-D

And in other news, my networks teacher has accepted to use ShareIt! as final practice and has give me some guidance, and also I have just got to use XMPP instead of PubNub as handshake server. Please don't change the dial... :-P

lunes, 25 de marzo de 2013

P2P networks everywhere

A lot of people has said already that WebRTC and Peer-2-Peer comunications in the browser would be the next Internet revolution ("Internet 3.0", they call it), but I wouldn't suspect that this would start so soon: the next 7th April will be released PeerKit, the first WebRTC P2P enabled application (besides my P2P filesharing application :-P ), this case oriented as a distributed, zero cost Content Delivery Network. I don't know how effective or speed it would be (search a peer with the data, delegate the request...) and there's the problem of using the client connections to distribute the content (and with mobile phones connections this would be a serious problem), but don't doubt that if it works the server costs will drop abruptly world-wide... :-D

jueves, 21 de marzo de 2013

Slipping in the snowball

As you would know, I conceived originally ShareIt! as a real-time files-oriented PasteBin-like service using a WebSockets-based relay server (creating buzzwords the wild way :-P ). This was previously to known about WebRTC and DataChannels, that demostrated to be a way better aproach.

Obviously I wasn't the only want that saw this, and lately they are appearing a lot of other projects with a similar focus, like PeerJS, ShareFest (that recently got alpha status - congratulations! :-) ), OpenPeer or Drop&Load, and other related ones like DirtyShare, QuickShare or WhatAreYouDownloading. You could think about this that's a problem (too much related projects developed indepently and with their own incompatible protocols), and more taking in account that the WebRTC doesn't stop to being modified. What a mess! How something productive can be achieved with this perspective?

Obviously I wasn't the only want that saw this ;-) and that's the reason why in the latest weeks have been discussed to create a common P2P protocol that could make all this implementations compatible... and seems will be heavily influenced by ShareIt! 2.0 and WebP2P ideas :-D They agree on the point of split the handshake and the connection framework from the application specific protocols, so it could be easier to integrate with current protocols like Gnutella, and also it could be able to improve stability and versalite on the handshake servers (everybody is using custom ones, while it seems I'm just the only one that want to use generic third party channels... :-P).

Unluckily, I'm really busy lately with the classes up to the point I don't have time also for my work (I'll try to get up to date this spring week), so I believe I will not be able to do almost any progress on ShareIt! source code until summer, just reading others work on email. The good part is, by summer usable native DataChannels should be a reality... :-D

lunes, 4 de marzo de 2013

T3chFest Keynote

Finally, after two weeks while they were editing it, I've just received the video of the T3chFest presentation :-D


As you can see, the keynote was really well, without failures and a lot of question at the end (in fact I was almost the only one that got questions :-P ) although the limited time :-D Unluckily, I only got a third position. The reason? "It's not enought commercial, but you should think about develop it as a research project".

Taking in account that I was hearthly confident that I would get to start a company from ShareIt! and how is the situation of research on Spain, at a first point I toke the comment really bad, but on a second chance I though, isn't this was I always wanted? :-) To be honest, I've always wanted to work on R&D on my own projects, only that I need to pay the bills. That's the reason why I think that finally I'll do my career thesis with ShareIt! and work on it as an research project after that on my spare time (although it would be better to find a filantropist that believe in it! :-P ). In the last days I have been thinking about some interesting concepts for the next version of ShareIt! and WebP2P becoming them in a more general and ambitious project, and they'll need some attention and love to became true... :-)

sábado, 23 de febrero de 2013

if you can not beat them, get yourself a window and jumps

During the last six months I have been waiting for just-this-week. Why? Easy: last wednesday was the expiration day of the best domain for the project: share.it. The fact is that it was abandoned (although being a good one...) so I waited for it, but at the last moment it was renewed for one more year without any reason, and in fact currently is empty and also without a parking page. I tried to contact with it's current propietary without success, so the best option was to forget about it.

...until yesterday. I was reading the newspaper during the lunch time when I saw a full page ad from a new domain provider offering .es domains for 5€, and then got an idea: I checked out for share.it, shareit.com, shareit.net... without success, but NOT for shareit.es!!! So I quickly runned to the free-access room just to find that for inaugural promotion, the domains will be for a week at just 1€... and that the .es was free :-)

So here we are, I'm proud to show you the new ShareIt! home page, ShareIt.es:


It needs some clean-up and to fill it a little, but it a good start :-)

Also, if someone can reach me the infamous .it domain, I will thank him indefinitelly :-P