drupal hit counter
Jerry Huang | All posts by jerry

Jerry Huang apps and developing apps

Windows Phone beta tester wanted

5. March 2013 18:00 by Jerry in IP CAM

Thank you for all the participants! The beta has completed and new version v2.5.5 has been released to Windows Phone market.

I'm planning a major PTZ behavior change in the next release (WP first, Android might probably follow afterward), for those "keep moving" camera types like:

Foscam,
EasyN,
Tenvis,
Sony,
Bosch,
X10

These cameras have a common feature that camera won't stop moving until reach the dead end or send an extra stop command for it. In the app (both Android and WP), you will have to tap twice on the screen in order to stop your camera. This doesn't bring too much trouble when you just use tap to move or trigger Left, Right, Up and Down directions. But it becomes very annoying when using zooming, because you just couldn't be quick enough to activate the 2nd zoom command - either by using pinch to zoom gesture or selecting zoom in/out command from the menu. Moreover, for a new user, normally she/he don't know about this feature and consider it's a problem of my app - I have received tons of emails about this, and I have to explain again and again.

There are several work-around for this type of camera actually, and believe me, I have evaluated all them and I have made my decision to: send the stop command in background automatically after 1 second.

if you are using my Windows Phone IP CAM Controller and happen to own one of the those camera above, and would like to experience the big change, please kindly click the link below and leave me your Windows Live ID using on the phone. I will send you the beta afterward.

http://www.jerryhuang.net/contact.aspx

You will receive a link from me, and what you need to do is just to tap on that link with your phone then install. You will have 2 "IP CAM Controller" in your app list after installed, and they won't fight each otherLaughing. So don't worry about affecting the production version.

WowWee Rovio is now supported

1. March 2013 14:48 by Jerry in IP CAM

The latest IP CAM Controller Windows Phone and Android version now support an interesting camera - not really a camera or more than a camera. See this link for more about Rovio: http://www.wowwee.com/en/products/tech/telepresence/rovio/rovio

 

Rovio is a mobile robotic camera - the "camera" can not only PTZ, but actually MOVING! So my app is working a little bit different from other cameras. IP CAM Controller is using tap-to-move to support Rovio. But instead of pan and tilt, the 8 directions have different meaning:

 

Above snapshot is from Windows Phone, but it works the same in Android. As you can see, the 8 spots have been re-defined as following:

Center: stop Rovio, let's say you previously tap the Home position and then during Rovio is finding its way back to dock, you can tap center to stop it if you change your mind

Left, Right, Up and Down: these 4 spots are for moving to corresponding directions.

Upper left and Upper right: changing the head positions: middle or up. Rovio actually support 3 head positions but here only support 2, "head down" is missing because you can use "home position" in order to restore head to original position.

Lower left and Lower right: these 2 are using to rotate camera.

Interesting, isn't it?

Thanks Anton from Russia for providing testing Rovio:)

Tap to Move on IP CAM Controller Android v1.3.4

31. January 2013 23:00 by Jerry in IP CAM

IP CAM Controller Android v1.3.4 is on Google Play todayLaughing

Tap to center is a great selling point of this app honestlyCool However TTC is not always supported for some cameras (because hardware or firmware restriction), so this version introduce a work around for TTC - tap to move. How it works? Fairly simple:

There are 8 directions above: as the yellow and green arrows show. Most PTZ cameras support at least 4 directions and some of them support 8. So for PTZ cameras, this version provides tap to move on 4 or 8 directions depending what camera you are using. If you want the camera moves left, tap on any area near spot A; if you want up, go for B, and so on.

In such way, you no longer need to swipe around on the screen but a single tap is good enough to drive your camera moving. Furthermore, this will work on multi-view screen as well - each camera image become your virtual joystick!

IP CAM Controller tutorial (Android): how to set up my camera

31. January 2013 14:08 by Jerry in Android, IP CAM



Add your first camera

Launching the app at the first time, it will automatically navigate to create new camera screen.

1) Choose a camera type most close to your IP Camera; sometimes you need to try all types of your brand, e.g. Foscam user is suggested to test each Foscam type in the app in order to find out which one work the best for you.

2) Type in a camera name you like.

3) If your camera is a DVR, you may need to input a camera no which is normally corresponding to stream no, channel no etc.

4) Hostname or IP address of your camera. In order to access your camera over the internet (e.g. a 3G network), you must use internet IP address, but not internal address like 192.168.1.x. This kind of address only work at home when you are connected to home WiFi.

5) The port no where your camera is hosted on. If your camera is behind a WiFi router, you will probably need to configure port forwarding on your router.

6) Type in username and password of your camera (not the router) and choose the quality and image resolution.

7) Tap the "save" button at the bottom of this screen.

Add more cameras

Tap the "+" icon to add another camera

Then you will enter the camera setup screen again, just do the same as you set up the first camera, and don't forget to tap the "save" button to save it.

Edit/Delete a camera

There is a menu icon on the right upper corner of each camera in main screen, tap on that and select "Edit Camera" to edit the camera; or "Remove Camera" to delete a camera.

There are some other options in this menu:

  • delete the selected camera
  • edit the camera
  • refresh the snapshot
    snapshot is not supported for all cameras, in case it's not supported for your camera, it will display the default camera icon
  • share camera access with friends and family. The app will generate an encrypted hyper link which you could send it to friends via SMS, email etc. The person who receive the link could open IP CAM Controller and view your camera instantly. This is extremely helpful when your friend has difficulty to set up the camera. Click here for more info about sharing. 

Grouping

 The grouping (or multi-view) icon will appear when you have more than 1 cameras, tap on that to add a new camera group

Editing a grouping is straightforward as below screenshot shows: 

IP CAM Controller tutorial: how to add/edit/delete camera

30. January 2013 20:34 by Jerry in IP CAM



Add your first camera

a) Tap the "Setup" icon in main screen

b) Input camera info and save it

 

1) Choose a camera type most close to your IP Camera; sometimes you need to try all types of your brand, e.g. Foscam user is suggested to test each Foscam type in the app in order to find out which one work the best for you.

2) Type in a camera name you like.

3) If your camera is a DVR, you may need to input a camera no which is normally corresponding to stream no, channel no etc.

4) Hostname or IP address of your camera. In order to access your camera over the internet (e.g. a 3G network), you must use internet IP address, but not internal address like 192.168.1.x. This kind of address only work at home when you are connected to home WiFi.

5) The port no where your camera is hosted on. If your camera is behind a WiFi router, you will probably need to configure port forwarding on your router.

6) Type in username and password of your camera (not the router) and choose the quality and image resolution.

7) Tap the "save" button at the bottom of this screen.

 

Add the 2nd camera

a) Tap the "Setup" icon again

b) Tap the "new" button and do the same as you set up the first camera, and don't forget to tap the "save" button to save it

 

Edit a camera

a) Press and hold on the camera you want to edit, then choose "edit" (this is new menu item from v2.5.3, older version please go to step c) from the pop up menu.

 

 

b) Update the camera info, then tap the "save" button 

 

c) Alternatively, you can tap the "Setup" icon in main screen and then choose the camera from "My Cameras" list; then go ahead, but don't forget to tap the "save" button at the end. 

 

Delete a camera

Press and hold a camera in the main screen, then choose "delete" from pop up menu.

Add a multi-view grouping

 a) Tap the "Multi View" icon in main screen

b) Tap the ellipsis (...) from bottom, then choose your cameras from the list

c) Tap the "save" icon (only for paid version, free trial could not save the view) 

d) Input a name for the grouping

e) The view will then be saved for further usage

Get back your microsoft games in win8

3. November 2012 19:43 by Jerry in
  1. Copy all files and sub folders in "Microsoft Games" from old system backup, which in my case locates at: C:\Windows.old\Program Files\Microsoft Games
    to C:\Program Files\Microsoft Games
  2. copy old backup C:\Windows.old\Windows\System32\CardGames.dll to
    C:\Program Files\Microsoft Games\FreeCell
    C:\Program Files\Microsoft Games\Solitaire
    C:\Program Files\Microsoft Games\SpiderSolitaire
    C:\Program Files\Microsoft Games\Hearts
  3. Download the Microsoft Games Patcher 1.2 from http://rghost.net/37573001 (please ignore any warning from anti-virus software such as Windows Defender)
  4. Run and apply the patch

Ref: http://forums.mydigitallife.info/threads/33214-How-to-use-Microsoft-Games-from-Windows-7-in-Windows-8

IP CAM Controller v2.5.1 is now on Windows Phone store

2. November 2012 20:16 by Jerry in IP CAM, Windows Phone

The new version (BTW Microsoft finally support 4 digits version numberLaughing) contains a new function - to share your camera's snapshot to social networks (Facebook and Twitter at the moment). How to do it? Pretty simple...

1) tap the share button (the 4th button at the bottom)

 

2) Choose which social network you would like to share

 

 

3) One off: if this is the first time you choose the social network, you will need to input your username and password of Facebook (in this case) and authorized my app to post update on behalf of you

 

 

4) then input the message (a.k.a status update), and share

 

Translation between WP and Win8 Metro series: loading byte array into BitmapImage

1. November 2012 14:07 by Jerry in C#, Win8 Development, Windows Phone Development

WP

Code
1
2
3
 byte[] frameBuffer;BitmapImage.SetSource(new MemoryStream(frameBuffer, 0, frameBuffer.Length));

Win8

Code
1
2
3
4
5
  var ms = new Windows.Storage.Streams.InMemoryRandomAccessStream();ms.AsStreamForWrite().Write(frameBuffer, 0, frameBuffer.Length);ms.Seek(0);BitmapImage.SetSource(ms);

it looks to me that Win8 just making thing complicated:(

Translation between WP and Win8 Metro series: async anonymous method in Win8

1. November 2012 13:48 by Jerry in C#, Win8 Development, Windows Phone Development

As I mentioned previously, I'm trying to develop a Win8 Metro version of IP CAM Coontroller, so I'm basically translating the WP coding into Win8. I'm going to post a series of blog post to record (and so benefit those googler with same problem) some of the interesting issue and topic.

WP coding:

Code
1
2
3
4
5
6
 Deployment.Current.Dispatcher.BeginInvoke(() =>{//do something here});

WIN8

Code
1
2
3
4
5
6
7
  Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,new Windows.UI.Core.DispatchedHandler(() =>{//do something here}));

This is not end of the story, by using the RunAsync like above, you will get a compiler warning from VS2012, and it's interesting that if you assign the returning result (of RunAsync) to a variable, the warning goes away. So the final version is like:

Code
1
2
3
4
5
6
7
  var dummy = Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal,new Windows.UI.Core.DispatchedHandler(() =>{//do something here}));