There are a lot of great skills you get from school/university lectures, no doubt. But on the other hand, for some specific and practical "super powers" you want to acquire or enhance, you have no other choice but teach yourself. The potential reasons are legion. That could happen by mere interest or if you want to deepen your knowledge in one of your subjects. Or maybe for the sake of personal projects, say learning some essential life skill they don't teach you in class. So yes, when college doesn't prepare you for life battles, you have to coach yourself.
Anyway, I am not here to complain about any education system. I am writing this post because I would like to share the best and most useful books I went through, as I have been reading a lot lately. I read on a variety of fields and for each of them I am suggesting the top books (according to my humble opinion). Here we go:...
Enough talk. This one will be my last post on Bavardica (for this version at least). I now need to get back to work. Anyway, this is just a summary of the most important lessons I learned from building and publishing Bavardica. I sincerely hope you get some useful information (or reminder if you already knew all of this) from that. ( PS: a working version of bavardica is available at www.bavardica.com )
1. Nobody will use an application unless it provides some value, something interesting they don’t already find in what they normally use. This is so true, even for free applications. They might try it but they would give it up quite soon if there is no actual incentive.
2. The very fact that they are asked to register will discourage many people from trying a web application. The most obvious causes might be that they don’t want to waste time doing it, or they don’t want to give away their details for privacy purpose. So at least a trial version should be offered to visitors without registration so that they can see what it’s all about before they make any decision....
How I draw the 2D characters
Due to the nature of the drawing art, which is not really computer science related, I thought it was best to describe this process in another part right after the progress description. This work had been a full part of the project and even though it does not directly concern programming (before we get into animation), it is also a computer work involving a pen tablet and some image processing software (Adobe Photoshop). The following screenshots describe the steps in the drawing of one character (out of four)...
As we discussed the subjects areas related to Bavardica, we can now go through the steps in the actual achievement of the project.
i. Sending a public message over the TCP network from a Silverlight client
The model selected for this project is the prototyping model. Starting first with a throwaway prototype, I could first send simple TCP packets using Silverlight and a console application as a server. It was a very basic chat that let a user, say A send a message to a user B so that no one else with receive the message apart from A and B. The server is a .Net console application and the client is a Silverlight application hosted in a......
A modern instant messenger is composed of various features which include public conversations, private conversations, user picture and signature. When it’s time to innovate and make an instant messenger that is so special that it is both interesting and standing apart from whatever program already available on the market, it is not too obvious to figure out what extra features could be attached. It feels like almost everything had been already thought of and implemented in some other application.
However, Bavardica is my attempt to make a communication platform like no other. Bavardica, derived from Bavardage, which actually means talking in French, has got mostly two assets over regular instant messengers. Firstly, there is the permanent presence of artificial beings that interact with other users. Secondly, the application relies on a two-dimensional space which represents a small world in which the users are inhabitants represented by animated characters. This project is a good chance to set the scene of what could become an innovative virtual world....