
I remember that in the previous
article I promised to tell the continuation of the history of the creation of
Ivideon . And he stopped, it can be said, on the most interesting place. If it was a movie you came to with a girl (rather for the sake of the girl herself than for the film), you would still be distracted from her to watch this scene ... and she (the girl, not the scene) would intensely thrust neat nails into armrests of his chair, waiting for the final outcome ... And I took and cut off the thread of the narrative, promising to continue in the next part. So, under the cut will not continue ...
And all because last week one of our potential users wrote such a simple message to our blog:
')
“You should have made an iPhone version, but there is no idiot for poppy. I hate you!"Of course, I would like to hope that he is the exception rather than the typical representative of Mac users. But in fact, there was a certain rational grain in his words. We needed a Mac version for a long time.
When I first saw OS X, I thought it was just a lagging semblance of modern Ubuntu. At first I was terribly uncomfortable. Where are they hiding everything - and why?
And then I realized that I was wrong. I treated OS X as a developer who needed a lot of things, specially hidden from sitting behind Mac. And I tried to look from the side of a simple user. It was necessary for me and the rest of our team to do this in order to be able to create a really good application for OS X.
After working a little bit, I realized how much everything was thought out there. Every little thing. Every item. Everything just radiates the care of the user. It just dawned on me. This is exactly what we are aiming at at Ivideon. Make a simple and user-friendly product. Which requires a minimum of knowledge and skills.
We started to develop. Surprisingly quickly, after minor fixes related to differences between Linux and Mac OS X platforms (for example, Mac OS X does not support unnamed POSIX semaphores), our system cross-platform components assembled and passed internal tests. And after fixing a few issues related to the 64-bit build, the first fully working version of the console video server was launched.
Further efforts were directed to porting our interface. As a result, we wanted to see an application that would not look alien compared to other programs under Mac OS, but at the same time corresponded to the functionality of Ivideon Server for Windows as much as possible. A separate requirement was to ensure ease of maintenance and development of both versions in the future. That release of new functions was made both for Windows, and for OS X at the same time, without reducing development speed. In this work, the Qt framework, on which the Windows version of Ivideon Server was written, perfectly proved itself.

After several days of work, it was possible to bring the versions for Windows and Mac OS to a single code base. Further it was necessary to organize support of work with webcams. In modern versions of Mac OS X for this purpose it is supposed to use QTKit Capture API - Objective-C framework, which makes it quite easy and convenient to capture video and audio from various devices. Our team has never had any experience in programming with Objective-C and there were concerns that the work on supporting webcams could be delayed indefinitely. But these concerns were in vain: Objective-C was satisfied with a simple and convenient language, which, moreover, could easily be used in C ++ projects.
After supporting webcams and various minor (but important) improvements and improvements, we released the first beta of Ivideon Server, which works on 64-bit versions of Mac OS X Snow Leopard and Lion.

From setting the task to the completion of the work, it took us about a month. In our opinion, this is pretty good, given the lack of development experience for Mac OS X.
On the first day we received good feedback from users. They found a number of flaws. One of them led to the fact that some web-cameras were displayed upside down.
Our developers quickly responded to this information and released another build with corrections.
The next day, on Saturday, our user from the United States contacted us for technical support. He just installed a version for OS X. The webcam worked for him, but he could not see the IP camera. Our specialist remotely connected to it and helped to set everything up. Damn nice when everything really works.
We really hope that our application for Mac OS X has turned out really cool and reliable. But, being moderate optimists, we do not exclude the presence of errors. If you are a Mac user, we will be happy if you tell us about the flaws found or your wishes!
To summarize, I want to note once again that despite the fact that none of our team had any development experience for Macs, we managed to port our application in less than a month. Although initially we thought it was difficult and long. Do not be afraid of Macs. Development for them is very simple and enjoyable. Especially when you see the result.