Our client is Netavis, who has been developing a successful video server solution for more than ten years. They handle tens of thousands of cameras wordwide, including systems with hundreds of devices.
The project started in the summer of 2011, with a goal to bring streams to iPad. The project is interesting because of the technological challanges and the industrial use of the product. An iPad is an ideal mobile device for a security guard: it is light, easy to carry and use, but it has long battery life and an impressive screen. Guards could carry them around on the field checking other locations, so they do not have to sit in front of a monitor all day.
We started the project based on the customer’s short specification. We had many interviews with them and a UX specialist to build wireframe designs for every screen. In the end we chosebalsamiq for this purpose because of its speed and easy usage.
Balsamiq’s pdf and png exports are useful for the daily work, showing every aspect of the plan with the detailed comments. At this point we had a good specification, based on which we could’ve started the implementation, like we had done in several projects for Sanoma.
Next, a detailed screen design was made using iPad templates in photoshop based on the balsamiq files. This is very useful for the customer, who can check the look and feel of the application, she can even copy the screens to a device to “feel” the proportions and usability. It also helps the developer, who can check every element to see if they can be built from standard SDK elements or not.
After the acceptance of the wireframe and PSD designs, we could start the implentation. First we played a bit with video formats and video grid sizes. In the first version we have been using motion jpeg, and will change to H264 later. The devices aren’t really fast – especially the first generatoin iPad – but they don’t have problems handling 10+ camera streams at the same time.
We have checked the transport layer standards and seen that Apple does not prefer the widely used RTS protocol. They force the usage of HTTP live streaming, a not too elegant solution where you download several-second-long video particles over HTTP. RTSP is a more elegant solution and Android supports it out of the box, but we could not find any documentation where Apple says it will not be banned from the App Store.
The app’s first version
The application can be downloaded from the App Store, and tested using Netavis’ test server showroom.netavis.net with the credentials guest / guest. First time the app was rejected by Apple, because the name “Netavis iPad client” was not compatible with their naming conventions. One day later the same app with the name “Netavis client for iPad” was accepted, because it does not suggest that the iPad device was developed by Netavis and not Apple. Small details are still important for this company :) The approval process was pretty fast again, needing 1-2 working days before the acceptance.
We constantly work on the application’s subsequent versions. The view of the archived streams is under testing, with its nice and user-friendly player.
The event-based player is a bit easier to implement, but more interesting for the end users. It includes a new view, where the user sees the cameras where an event has recently occured . The Netavis server has a smart event system which exceeds simple motion detection. This can increase efficiency as the user does not have to monitor inactive screens, only the ones with interesting events. We can even filter the events based on the distance between the guard and the cameras.