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.

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