I was tired of the endless “I’d like to add you to my professional network on LinkedIn.” emails from LinkedIn and I was tired of them trying to sell me a so called “Premium account”. I like the idea of LinkedIn and the German equivalent XING but I don’t like how they are solving the given problem. Too many emails, too many pop-ups, too slow and too little features for non-paying users. I created vutuv (https://www.vutuv.de) to be a free and faster alternative.
Obviously I didn’t want to create a 100% copy. I want it to be better. More focused on the main feature which is the exchange of contact information and the rating of skills. The networking for people. I’m not a big fan of LinkedIn’s Facebook blog/postings like features because Facebook does a much better job for those features. But I’m open for this if users convince me that this has it’s place on such a platform.
I don’t want vutuv to be just a pure career network. It’s potential is bigger.
Speed has been a big issue from the very beginning. For people in San Francisco or Berlin it is kind of ok to use LinkedIn. They either have fiber in their office or LTE (4G) on their mobile phone. But the big majority of internet users don’t have fiber or they use very slow 2G or 3G mobile networks. For them those heavy webpages are painful slow to use and they are expensive to use too. Users in most developing countries use prepaid data plans which are paid in 10 MB slices. Loading a single LinkedIn profile can cost up to 1 US$ for a mobile user in Zimbabwe. And most internet users in development countries only have their mobile phone to connect to the internet. Botton line: There is a big potential which is totally untapped.
Therefor it became very clear that vutuv would have to have a light footprint and a very good webperformance. As a side effect it would be fast even while surfing on those overcrowded and super slow WiFi hotspots at technical conferences everywhere.
According to Wikipedia LinkedIn has more than 100 million active users and about 10,000 employees. According to a Quora posting they run over 40,000 servers. Those numbers are important to understand why they need to sell not only ads but also Premium accounts. They simply have a lot of bills to pay.
It became very clear to me that the key for a free service is the use of better software technology and architecture. I can only offer this service for free if vutuv needs less servers and less maintenance. My role model is WhatsApp which was run by some 30 people and had a comparable small amount of servers when it was bought by Facebook but already had an enormous amount of users.
That still left the server question to be solved. The Phoenix Framework came to the rescue. It was invented by Chris McCord who comes with a heavy Ruby on Rails background. He actually started the development of Phoenix because he couldn’t stand the performance and concurrency limitations of Rails any more. Phoenix is lightning fast and offers nice production features like a zero downtime deployment. Phoenix is written in Elixir. A functional programming language which is on top of Erlang. Erlang is the secrete sauce that made WhatsApp success story possible because of it’s speed and scalability. I’m not going to lie to you: The change from Ruby to Elixir is intense and hard for any programmer. The Phoenix/Elixir combo has a steep learning curve. But it was worth it. The average vutuv request is handled in a 2 digits millisecond timeframe. Many request are answered within less than 10ms.
Please send me feedback in case you are interested in a more detailed analysis of the architecture. I know this is boring for most people so I try to keep it as short as possible here.
We run our own server farm instead of jumping on the AWS train. There are performance reasons but the main reason is budget. For us it’s cheaper to run our own servers in a freezing cold and boring computing center in Frankfurt (Germany). But we’ll have to rethink the one central server farm idea in the future because of webperformance issues. Today users in Sydney are punished unnecessarily. Users in San Francisco could use the page at twice the speed. The length of the network connection between the server and your devise is our main webperformance bottleneck.
vutuv runs circles around LinkedIn on any devise!
Done is better than perfect! We start with the minimal system where users can enter their contact information (e.g. phone numbers, email addresses, Twitter and Facebook accounts). Those informations can be downloaded as vcards to be easily imported to your address book.
There is no reason for us to store a password. Even with a maximum effort in security there is always a slim chance of some evil hacker breaking into a system and stealing stuff. We all have seen it way too often in the last years. So vutuv doesn’t store a password but sends a “magic link” by email which you can use to log in. Easy peasy! Than we set a 90 days cookie which authorize your devise as being you.
Of course the system will send you emails. But not about every little thing in the universe. We try to optimize the amount of sent emails to a minimum. This is going to be an ongoing optimization process. So don’t be scared if you don’t receive an email for every single new follower.
A user can create skills and other users can upvote those skills. There is no downvoting because that is just mean. Once we have a critical mass we will use those skills for a better search (e.g. find a PHP consultant in my area).
This is a chicken-egg-problem. We just started vutuv so who do you want to search for? ;-) The current search is very basic. The best chances to find somebody is to search for his/her email address.
Friends or Followers?
Traditionally a social network uses some sort of friend request system. So Alice sends a friend request to Bob and Bob has to accept or deny it. This can become awkward pretty easily. Let’s assume Bob is on vacation or simply forgot the friend request. Than Alice gets the impression that Bob doesn’t want to be befriended to Alice. And maybe he really doesn’t want to. Which is even more awkward. To avoid those situations vutuv uses a follower system like Twitter does. So Alice can follow Bob without him having to refollow.
In any social network there is always the potential of having fake accounts. We don’t disallow that because sometimes an anonymous account can be useful for people who live in political systems which don’t grand them all human rights. If somebody has the need of creating an anonymous fake account he/she is welcome to do so. But we are providing a verified functionality for real humans. In the beginning we are going to hand pick those humans and verify them manually. In the future we will find some sort of process to streamline that. Those accounts will have a verified mark near the avatar.
What’s in the pipeline for future releases?
The next big feature will be a better permission system for your data. In the first version everyone can see nearly all information of a given user. In the next version there will be groups of users who get special access to information. You can grand rights to the people you follow.
I’ll give you an example: I’d like to give the parents of my kid’s friends access to my land line phone number. But I don’t share that information with my business associates. Expect this feature soon.
After that we will give companies the possibility to create accounts and will associate their employees with them. Companies will be able to grand other companies read access to their information.
Additionally we are going to improve the search functionality. There is a lot of room for improvement but you need a critical mass to make that feature usable.
About the Software
vutuv is an open-source software (MIT license). The source code is hosted at https://github.com/vutuv/vutuv/. I’m not religious about software licenses. I do believe that the quality of open-source software is better because more pairs of eyes look at the code. I do hope that the community is going to help making vutuv better and more powerful but I’m not relying on it.
If you want to help with this open-source project send me an email to firstname.lastname@example.org. Currently we are searching for CSS gurus. But of course Elixir developers are welcome any time too.
We start with a German and an English version. Obviously we’d like to offer other languages too. Please do not hesitate to contact me if you want to participate in this effort. And please create a bug report if you find mistakes.
Accessibility is a very important for me. But it is an area where we (the developers of vutuv) feel insecure. Please create a bug report as a new issue in our Github repository when ever you see a bug or have a better idea. We will invest time to solve those issues.
Being a single child I always talk about “I” but obviously vutuv is made by a team. The following developers create it together. Without them I would still sit in a traffic jam and theoretically think about architectures. Here they are in alphabetically order:
- Oliver Andrich (Germany)
- Chris Freeze (USA)
- Christian Frørup (Denmark)
- Kasper Tideman (Denmark)
- Max Mai (Germany)
- Lennex Zinyando (Zimbabwe)
All great guys. All great developers. I’m thankful for their patience. I’m not an easy guy to work with.
I want to take this oportunity to say thank you to José Valim for inventing Elixir and to Chris McCord for inventing the Phoenix Framework. I also want to thank the stackoverflow.com user Dogbert who answered probably a million of my Phoenix and Elixir questions. And I want to thank Ilya Grigorik who’s talks and book (High Performance Browser Networking) are eye opener for anybody interesting in WebPerformance.
That’s it for today. I’d like to invite you to open a free account at https://www.vutuv.de and have a look for yourself. Please tell other people about it too. We need word of mouth. Thank you!
Please send me feedback by email to email@example.com