FOSDEM 2011 wrapup

Publicado el 11/2/2011 por Luis Peralta Tech Lead

As told last week, some of our engineers attended the FOSDEM conference in Brussels. If anything, the Free and Open Source Developer's European meeting attracts tech people from all over the world, most of them collaborating or strongly using Open Source projects. For us, it's been a great time to discuss with other people who face some of the technical challenges we do here at Tuenti. As usual in every FOSDEM, the weather could have been much better.

What we enjoyed the most were the developer rooms and we divided ourselves so that we were be able to attend most of them. We loved some of the talks at the MySQL and the Data analytics devrooms. Not to forget the hilarious moments seen on the Free Java devroom when the public started making questions to the Oracle engineers (you can imagine what happened there). It was also great to meet some of the gods like "Monty" Widenius, the creator of MySQL (who got a Tuenti t-shirt in exchange for some of his vodka chocolates). In the end, a very nice weekend.

Back in the office, a presentation about what went on there for the rest of our mates is being cooked (the least we could do! ;) ).

By the way, we ran out of Tuenti t-shirts!

HackMeUp #10

Publicado el 01/9/2010 por Andrzej Tucholka Lead Code Architect

Last Friday, we've had another HackMeUp event in Tuenti. During the day we've had our Engineers twisting their minds around a lot of projects which included (ordered by number of votes). When looking at awesomeness of those, have in mind that all of those projects are one day stunts!

  • WINNER - Nearby places on mobile - see description below
  • Flickr integration - integrating your tuenti albums with flickr, allowing to view photos from flickr through Tuenti.
  • Grouping friends - implementing the management of groups of your friends and integration with some of the common actions you could do on Tuenti.
  • Radio player - use Tuenti player as an internet radio client handling radio playlists and with different types of visualization.
  • Strawberry Jam - an integration of our internal tool (Marmite) with CruiseControl allowing to automatically detect who and when broke a unit test.
  • Amazing extension/Share on Tuenti - Chrome extension transforming the way Tuenti is displayed and make uploads of pictures from the internet much easier
  • CSV Importer - import your data, contacts into Tuenti from a portable format handled by many popular sites like LinkedIn, Facebook etc.
  • URL Shortener - a Tuenti service for shortening URLs
  • ChromedTuenti - Chrome extension allowing easy single and mass uplaods to Tuenti along with the ability to instantaneously share URLs via your status
  • Places/Emots - Tweaks to Places service and emoticons list for the chat

And a note from the winners: Jorge J. Barroso Carmona Mobile Applications Developer Miguel Lara Encabo Senior Mobile Engineer

We decided to play around with one of the new features available in the social network –Tuenti Sitios– and more specifically finding out places close to your location.

As it was a quick one day project we focused on developing this feature for iPhone and Android, facing in each platform the challenges of tracing the location of the device, following its orientation and displaying an overlay with the places on top of a camera view. We went for the simplest approach possible: projecting the place on a circular strip parallel to the ground. We though about using sphere projections similar to those on OpenGL, but we decided it was too much of an overkill.

By projecting on a 2D wrapped-around strip we simplify the process of positioning the place to just finding out the angle ?, based on the longitude and latitude of both the device (O) and the place (P). Once ? is determined, knowing the orientation of the device is enough to project it on the strip.

And few additional photos from the event.

HackMeUp #7

Publicado el 16/4/2010 por Andrzej Tucholka Lead Code Architect

Last Friday we have organized another of Tuenti's development feasts. In the atmosphere of great innovation most of our developers were coding things they find interesting, important and simply awesome.

At the end of the day everybody grabbed some snacks and favorite drinks and we had over one hour discussing and presenting results of our work.

The winner (by popular vote) project - Video Chat was implemented by Davide Mendolia and Sergio Cinos Rubio. Again, congratulations to both!

Davide Mendolia Frontend Engineer

We experimented with one of the new features of Adobe Flash Player 10.0. The feature allows us to do peer-to-peer connection for exchanging audio and video. The traditional streaming architecture is based on a client sending the content to a server (Flash Media Server) and then other clients connecting to it to receive the stream.

The new possibility introduced in 10.0, is to by-pass this bottleneck, by connecting directly to the client. How this is implemented? The two clients that wish to communicate with each other, connect first to a rendezvous server (Adobe Stratus), that generates a "Peer Id" for each of them.

This peer id should be exchanged between clients to be able to establish the connection. We decided to use our chat platform based on XMPP to send this information. When the first client decides to establish the communication with the second, we ask through our jabber interface using HMTL and Javascript, if the second client accepts the comunication and at the same time we provide the peer id of the first one. When accepted, the second client connects to the first one trough flash sending its Peer Id, and the two-way communication can start.

Links: Adobe Stratus

Other implemented projects included:

  • Photos in common - suggesting people that you might know basing on you being tagged on same photos as other people.
  • Where 2 - detecting users geoposition and suggesting places you might like and that are close to your current position.
  • Google gadgets for trac - a trac macro allowing integration with any google gadget.
  • Real time notifications - a real time notifications informing you about the activity in your friends network.
  • Local 2.0 - live visualization of what is going on in Tuenti Places, added some additional and really cool views showing interesting places that one should know about and more.
  • Tuenti in HipHop - a one day sprint to compile Tuenti using HipHop.