Ricoh Plug-in Development Explanation



Ok cool. I also have a contact there and will reach out. Last question for now - Do you know if the “cloud connectivity” is currently enabled? My plugin will need to automatically upload to the cloud through either a WiFi or paired phone connection. Is that currently possible, or is that only coming out in the Q2 update?


At the current time (pre-release), the plug-in sample does not have an example to use cloud upload. However, as the plug-in API is basically the Android API, it is fairly straightforward to use existing Android code to upload things to the cloud.

During the pre-release phase, there is only one example plug-in code with minimal functionality. Hopefully, we’ll be able to get a small library of examples for the launch of the partner program so developers can quickly modify the examples and get up to speed.

The current sample focuses only the camera functionality, which includes image, video, and live streaming. There is greater control of the stitching.

@jcasman is helping Ricoh to organize the early access plug-in program. You may want to contact him about early access if you’re interested.

As part of the application for early-access, please send him a DM with this info:

  • tangible idea
  • engineering resource
  • motivation to finish the app

The main issue right now is that the documentation and examples for the plug-in are minimal. So, it’ll be tougher to develop now than if you wait for the program to be open to general developers. If you want to get an edge getting to market faster, going through the additional hurdles of early access might be worth it for you.

There’s a discussion here about using the camera in client-mode. You may be able to grab the camera service with NSD, assuming the plug-in connects to WiFi in client mode (which might be tricky).


Hey @dustinkerstein, looking forward to connecting with you directly. I looked through Panomoments’ Kickstarter and current website and forums and such. I don’t see RICOH THETA mentioned explicitly in the recommended cameras areas, though it appears there’s nothing against using one. Do you have Panomoments users who use THETA currently?


Yup, sounds good. I guess my only question there is how the internet connection is handled when outside the range of WiFi. Ie. Can the Theta access the internet through the paired smartphone, and if so, is this completely transparent to the plugin SDK and just treated like a normal internet connection? The way I envision my plugin working would be to utilize one of the LED’s to inform the user of whether it’s successfully “paired” to the server (internet connectivity, config, credentials, etc.) and it would need to work on both local WiFi connections and cellular connections when paired with the Theta smartphone app. Do you think that’s possible?


Hey @jcasman, I look forward to connecting with you as well. The original focus of PanoMoments was based on the rotating capture method, but we’ve recently switched things up a bit and now allow for direct uploading of 360 video. The conversion process is now entirely automatic and any 360 video camera is technically compatible. The only real requirement is that the footage needs to be captured from a static / non-moving location. Here are a couple timelapse examples from @khufkens that were captured with the Theta S:

We’d absolutely love to see more Theta users creating PanoMoments and that’s why we’re exploring the plugin opportunity as it would allow for a 1-click creation / upload :slight_smile:


Ok, got it. Koen posted his work here on in December. No wonder I thought PanoMoments looked familiar. :slight_smile:


Hopefully another quick question - Does the plugin SDK allow you to access the higher level functions of the Theta, particularly the ability to record in-camera stitched 4k video and auto exposure? Or does it only provide access to the low level Android camera API functions?


It provides access of the higher level functions. Feel free to ask as many questions as you want. It also helps the general community.

These are parameters for the pre-release API. This is subject to change before launch.


There are similar parameters for white balance and for stitching.


Broadcast to sound error tone


Broadcast to launch shooting application after plugin finish



I’m also thinking how to handle situation of plugin configuration. Should we create our own rest API to configure plugin or there will be some kind of API that will embed config into Theta app (like configuring Client mode endpoint).
Does anyone here have had issues with client mode on unlocked camera? For me it is flashing green for a while and then goes back to direct (blue) mode. I wonder if this is connected to firmware.


There is no standard API to embed configuration data into the THETA application. Right now, the only plan I’ve heard about is for the official Ricoh mobile application to support the selection of the active plug-in. For everything else, you’ll need to create your own framework.

I’ll pass your information on to Ricoh.