We have launched a new Objective C / Cocoa client library!
As you know, the Kaltura server provides an API that can be used to access all its functionality. These APIs are REST based (or REST-ful), this means that in order to execute an API call, you can just retrieve a URL, like you’d open a webpage.
Any language that can retrieve data from a URL can work with our system, meaning almost all possible programming languages.
However, in practice it would require a fair amount of effort to put together the correct URLs and to interpret the results that come back. This is where client libraries come in. These libraries are created by Kaltura in a variety of programming languages, to make it easier to use the Kaltura API. Also, as experts in our own APIs, we create these in the best possible way, so everything should work faster and better.
All our client libraries are available to download here (or under http://[YourKalturaServer]/api_v3/testme/client-libs.php).
The new objective C library enables native iOS / Mac-OS applications to use the Kaltura API. As all other client libraries, this library is auto-generated, and therefore always updated with the latest API changes. This library is bundled with a static library Xcode project, for easy integration with existing projects.
This is probably one of the best Kaltura client libraries to date, for the following reasons:
- The server response is parsed as it arrives rather than waiting for the entire response to arrive before parsing. For example, let’s assume the library is used to execute an API request asking for a big list of video titles. The response will be delivered back in several chunks. When the first chunk arrives, the client library can immediately start processing it, rather than waiting for the complete list. Depending on the size of the list this could result in a dramatic improvement in the speed experienced by the end user.
- Support for asynchronous mode – allows the processing of API requests to occur in the background while the application UI remains active (without the need to spawn additional threads)
- Support for multi-request – like all other Kaltura client libraries, this library has built-in support for multi-request. Multi-requests enable the client application to pack several API calls together, reducing the number of round trips to Kaltura.
- Optimized to perform the bare minimum of memory copy operations, for maximum performance and minimum CPU utilization
- Supports gzip compressed responses – the gzip compression significantly reduces the response size, saving both bandwidth and time (especially when using a slow connection)
- Memory usage
- The library was optimized to reduce its memory consumption to the minimum, both the request and response parameters are stored in memory only once, while executing the API call
- Thoroughly tested with over 40 different test cases, including instrumentation for memory leak detection
Here you can download the library and create your first Kaltura powered iPhone application.
Stay tuned for more news and updates on the mobile front.