IP Cam Viewer Lite Wins Award

September 8th, 2011

IP Cam Viewer Lite, has received Best Software Award 2011 in Utilities category!


Also, here’s a video of another company, AirLinkWiFi, using my app:

Here’s another set of videos by Celius using IP Cam Viewer.

IP Cam Viewer Lite pulled from Android Market

August 24th, 2011

Argh… No specific reason given but my free version of IP Cam Viewer got pulled today from the Android Market by Google, after 1.3 million plus downloads and a 4+ start rating. I supported it day and night to get 9000+ reviews. All gone.

For existing and new users, the free version is available for download from here. Until Google replies with a reason, I can’t release another free version on the market.  It will always be available directly from me so this method is better anyway.

This version also let’s you upgrade through paypal (no market dependencies). Just send $3.99 to “robertchou@gmail.com” using paypal and I’ll send you an unlock code (the pulled free version used Google’s in-app purchase for upgrade).

Google, please email developers with an explanation prior to pulling apps. Good developers will fix whatever the issue may be. Your rules come from Dilbert land and are evil:

1) wait for developer to spend tons of time building apps for your market and answering user questions regarding the crappy market bugs/issues.

2) reject, up to 3 years later, without giving any explanation.

3) count as developer *guesses* wrong with new releases, and on count of 3, wipe out entire account removing ALL other apps.

Brilliant.  Brilliantly evil!

On a personal note, I’m sadden to see the lose of this app. I launched it back in late 2008, when the market first opened (since day one). Lots of users have helped me build it to this point and I cared for it almost like a child.

Rob 8^(

ps. Still no response from Google. They talk good, but with a bad track record, I now see them as a heartless/sole-less data-mining machine. Oh well, there’s other markets and other opportunities to explore.

ps.ps. I’m guessing they pulled it because of the app description where I list the brands of devices that are supported. I worked hard over 3 years to build that support and it’s what people are searching for. For a search company, this is really a stupid reason.

iOS Launch URLs

July 26th, 2011

IP Camera Viewer for iOS version 1.3.5 or newer will support the following launch URLs for integration by other applications:

launch app in default matrix view:

launch app in default matrix view for group name (v2.1.8 or newer)
ipcamviewer://launch?groupName=[url encoded group name]

launch app in detail view for camera id
ipcamviewer://launch?id=[index of camera, 0..n]

launch app in detail view for camera name
ipcamviewer://launch?name=[url encoded name for camera]

See this post for similar launch methods for android.

IP Cam Viewer icons and TV

July 20th, 2011


The next version, 4.0.3, will use icons for all the custom buttons that vary based on camera model.  They will also toast their function when you press them.

More importantly, just before I was to start a 2 week road trip, I got a cool little device to test IP Cam Viewer on my TV.  Got it running in a few minutes but it’ll need some tweaking to work quicker without the mouse/touch gestures.

I plan to spend some time after I get back to play with it.  Pretty awesome to see the matrix mode on a large 40 inch TV.


ps. audio on iOS is progressing well. About 1/3 of the audio drivers have been ported. Will be porting Axis audio next…

Updated Online Help for IP Cam Viewer Android

June 9th, 2011

Just finished updating the online help to match version “3.9.7”.


Make a Honeycomb Tablet stand using Makerbot

June 9th, 2011

I made a tablet stand for my Acer Honeycomb tablet using a Makerbot, and make the design available under the Creative Commons license at http://www.thingiverse.com/thing:9163


Record Mode road map

May 30th, 2011


Now that recording is actually taking place in IP Cam Viewer for Android, here’s what I have planned for future releases regarding Record Mode:

– on/off schedules per camera
record mode icon in status bar
– embed web server for HTML5 playback interface so you can access it from anywhere, just like a networked dvr.
– provide live API for all cameras in record mode, turning app into a simple “universal” translator for all supported cameras into one interface for integration with websites or other systems.
– motion detection option on the record mode device to save space, also allowing for efficient alerting of the phone client (all the work is done on the record device at home, phone just gets alerts, saving power and network bandwidth).

It will take some time as I’m working on 4 different platforms now but it will be done. Thanks for your patience.


Use a foscam (or clone) to control liftmaster garage door

May 30th, 2011


This is how I use the “relay” function to open/close my chamberlain liftmaster garage door (through a foscam FI8908W camera) using my IP Cam Viewer app.

The garage door switch just shorts 2 wires when pressed (this causes the garage door to take action).

The foscam has a relay that shorts 2 wires (pins 1 and 2) when turned on.

Based on this, a simple solution is to:
1. connect pin 1 of foscam to left most pin on liftmaster.
2. connect pin 2 of foscam to 2nd left most pin on listmaster.

Now, when foscam relay is turned on, the garage will go into action. however, you’ll have to remember to turn the relay OFF to allow your garage door switch to work again.
A solution for this problem is to upgrade to the next release of IP Cam Viewer (3.7.9) and enable the “Pulse Relay On” option. With this option on, click on the relay ON button in my app will actually toggle on/off the camera’s relay so you don’t have to remember to turn relay off.

So far so good, everything works, but there is one more problem. The foscam, by default, does something unexpected. When the foscam first gains power, the relay is off (normally open). Within a few seconds (~10s), the camera always turns on the relay, by default!!! This means that when you lose power to the house and then get power back, the garage door will open because of the foscam relay turning on.

It think the reason the foscam does this is because the relay was designed for use with an alarm system. By default (after 10 seconds), the relay is ON to signal all ok to the alarm system. It turns the relay OFF to trigger an alarm to the alarm system. In this case, I’m not using it with an alarm system.

The work around for this solution was a little more work. Just a get a 8 pin microcontroller and program it to delay 30 seconds before copying the camera’s relay to another relay for the garage door. A little more money is to use an Arduino (very easy to program, code given below).

Basicallly, use digital io 2 to read camera relay and use digital io pin 3 to control a separate relay to trigger garage door. Here’s an example circuit for Arduino to control a relay:
http://www.ecs.umass.edu/ece/m5/tutoria … orial.html

here’s a cheap relay module on ebay (if you don’t want to wire one up):

Finally, don’t forget to enable the “Pulse relay ON signal” option in my app, found under Edit Camera -> More Options.

Here’s my arduino code:

// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 2; // ping which is HIGH when camera relay is shorted/closed, LOW when camera relay is open
const int relayPin = 3; // the number of the garage relay pin

// variables will change:
int bInitialized = false;
int buttonState = 0; // variable for reading the pushbutton status

void setup() {
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);

// initialize the relay pin as an output:
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW);


void loop(){

if( bInitialized == false )
// it seems the camera bounces relay during startup so just delay 30 seconds on power up
delay( 30 * 1000 );

bInitialized = true;

// wait until camera relay goes low
while( true )
buttonState = digitalRead(buttonPin);
if( buttonState == LOW )

// wait until user clicks camera relay on
while( true )
buttonState = digitalRead(buttonPin);
if( buttonState == HIGH )

// pulse garage door
digitalWrite(relayPin, HIGH);
delay( 200 );
digitalWrite(relayPin, LOW);



// delay a bit before next action to let things settle down
delay( 250 );

Ports to iPhone, Blackberry, Phone 8, Desktop

May 30th, 2011


I have ports of IP Cam Viewer for Android to other platforms. More features will be added over time.

Look for IP Cam Viewer Lite and IP Cam Viewer Pro in the Apple iTunes app store.

Blackberry QNX OS:
Look for “IP Cam Viewer” in the Blackberry World app store. Note: native code is not allowed for blackberry so some drivers (i.e. h.264 dvrs) will not be available for now.

Windows Phone 7/8:
Under development. Target end of the year completion. Update: aborted because MS decided phone8 will not be backward compatible. Will restart on phone8 when it’s get more popular.

Table/Desktop ports:
I don’t have a desktop Mac/PC version yet. For now, you can use BlueStacks to run Android apps on both Mac and PC. After installing BlueStacks, download and install IP Cam Viewer Lite.

View your USB camera or setup old phone as webcam

May 30th, 2011


If you have an USB camera, then you need install a program on your computer to stream the USB webcam.
You can try http://www.webcamxp.com or http://www.yawcam.com for Windows.  For Apple Mac, try http://www.evological.com/evocam.html or SecuritySpy (audio supported). In the IP Cam Viewer app for Android, select the “WebcamXP” or “Yawcam” or “EvoCam” camera type.

For iOS devices, try the “ipCam – Mobile IP Camera” app (the driver for this app is listed under the “iOS” brand).

For Android devices, try the “IP Webcam” app by Pas (the driver for this app is listed under the “Android” brand).