Building iOS native apps

The easiest way to include video recording in iOS native apps is using our open-source SDK.

To add a video player to your app, use the following basic code:

- (void)viewDidAppear:(BOOL)animated
{
	[ZiggeoiOsSDK init:@"application_token"];
	ZiggeoPlayerView *playerview = [[ZiggeoPlayerView alloc] initWithFrame:CGRectMake(0, 0, 320, 200)];
	[self.view addSubview:playerview];
	[playerview setVideoToken:@"video_token"];
}

And similarly to get a video recorder:

- (void)viewDidAppear:(BOOL)animated
{
	[ZiggeoiOsSDK init:@"application_token"];
	ZiggeoRecorderView *recorderview = [[ZiggeoRecorderView alloc] initWithFrame:CGRectMake(0, 0, 320, 200)];
	[self.view addSubview:recordererview];
}

Building Android native apps

The easiest way to include video recording in Android native apps is using our open-source SDK.

To add a video player to your app, use the following basic code:

Ziggeo.initialize("YOUR_APPLICATION_TOKEN");

getFragmentManager().
    beginTransaction().
    add(R.id.main_layout,
            VideoPlayer.newInstance("YOUR_VIDEO_TOKEN"),
            "VideoPlayer"
    ).commit();

And similarly to get a video recorder:

Ziggeo.initialize("YOUR_APPLICATION_TOKEN");

getFragmentManager().
    beginTransaction().
    add(R.id.main_layout,
            VideoRecorder.newInstance(RECORDING_DURATION_LIMIT),
            "VideoRecorder"
    ).commit();

Pulling videos from Ziggeo’s servers

Pulling videos from our servers is simple. The following PHP script is an example on how to do it:

require_once(dirname(__FILE__) . "/Ziggeo/Ziggeo.php");

$opts = getopt("", array("token:", "private:", "target:"));

$ziggeo = new Ziggeo($opts["token"], $opts["private"]);

$skip = 0;
$limit = 100;
$returned = -1;

$videos = array();

while ($returned != 0) {
	$ret = $ziggeo->videos()->index(array(
		"skip" => $skip,
		"limit" => $limit
	));
	$videos = array_merge($videos, $ret);
	$returned = count($ret);
	$skip += count($ret);
}

foreach ($videos as $video) {
	$file_name = $opts["target"] . "/" . $video->token . ".jpg";
	echo $file_name . "\n";
	$file_data = $ziggeo->videos()->download_image($video->token);
	file_put_contents($file_name, $file_data);
}

You could call it as follows:

php pull_videos.php --token APPLICATION_TOKEN --private PRIVATE_KEY --target ~/SAVE_VIDEOS_HERE

How can I get a list of all videos from the browser?

For security reasons, the index operation is not enabled by default in the browser. You should rather use the server-side SDK to perform the index operation.

That being said, it is possible to enable the index operation in the browser for testing purposes. First, go to your application settings in the dashboard and check the box to allow the index operation on the client-side.

You can now perform the index operation by a simple asynchronous JavaScript call as follows:

ZiggeoApi.Videos.index({}, {
	success: function (args, videos) {
		// videos is an array of all the videos
		// the following code dynamically adds all the videos to the page
		for (var i = 0; i < videos.length; ++i) {
			$("body").append("<ziggeo ziggeo-video='" + videos[i].token + "'></ziggeo>");
		}
	}
});

How can I prevent an html form from being submitted if no video has been recorded?

You can either listen to the submission event and do it yourself, or let our system prevent the submission of your html form.

Let myform be the id of your html form. You can then use the following recorder code:

<ziggeo ziggeo-form_accept='#myform'></ziggeo>

Of course, in most cases you would combine that with a hidden input field for the video token.

How can I submit the token of a recorded video in an html form?

You can either listen to the submission event, or let our system automatically add the token of the recorded video to your html form.

Our system either creates or uses your hidden input field to store the token of the recorded video. Let the name of the hidden input field be video token. You can then configure the recorder as follow:

<ziggeo ziggeo-input_bind='videotoken'></ziggeo>

Yep, that’s it.

Ziggeo’s Recruiting Tool Now Adds Resume Attachments

Ziggeo’s recruiting tool just got better. In addition to requesting videos answering your questions, you can now let candidates upload their resumes. You can find more information about Ziggeo’s recruiting tool here on Ziggeo.

The first hundred minutes of video is still free. And it’s less than 3 cents per video after that (see Pricing).

Hacking on Ziggeo’s API at Hack the North Hackathon

We had a blast this past weekend at Hack The North Hackathon.

We learned so much sponsoring the hackathon from testing out Ziggeo’s API to finding creative uses for it. And in the process we got to meet talented engineers who represent the future of technology. We just wish more women would participate (sigh).

We saw three cool hacks that made use of Ziggeo’s API for video recording/playback.

The first, which won Ziggeo’s prize, is called Refue, and was developed by Will, Vahe and Vadim. Using our API, the winning team hacked up a Disqus-like widget that includes video reviews with up-voting.

We also wanted to give a shout out to Pass It On, a system for viral video-sharing. Videos are viewable only for a certain period of time (votes keep them visible longer).  You can even track where people are watching the video.

And finally there was QuickVid, a way to send short videos by text, and you control the recording and sending of the videos through voice commands.

Congrats to all the hackers and many thanks to the organizers of Hack the North for a great hackathon.