drupal hit counter
Jerry Huang | All posts by jerry

Jerry Huang apps and developing apps

Work around for FOSCAM 9821W V2 audio issue

23. August 2014 00:08 by Jerry in

It's a known  issue that audio is not working on FOSCAM FI9821W V2 even with the latest firmware. More info could be found on this post:


If you are interesting in applying the patch as mentioned at the end of the post above, you can download it here and uploaded at patch update:



I believe this patch will be shipped in future firmware update eventually, so if audio is working for your camera, there is no need to update the patch.


Update: the patch is reported by a Foscam 9821P user that it's also working on 9821P

WP8.1: 想说爱你不容易

8. August 2014 12:42 by Jerry in Windows Phone Development

MSFT is about to rolling out the gorgeous WP81 update - the biggest and the most important upgrade in the history. And that is a nightmare for most app developers like meCry

First of all, for those who are having trouble with the title of this post, please kindly click here for translation. I just couldn't find a better title than that and it's time for you guys to learn some Chinese, LOLCool

When I upgraded from WP7 to WP7.8, I don't have too much trouble and of course less excitement - it was nothing but adding a socket (to some extend:). When it came to WP7 to WP8, I was excited because C++ is available and the app finally support audio. I have done a lot of coding at that upgrade but mostly about new functionalities - I don't have to rewrite everything.

Now, things are getting more complicated and it looks like there isn't much benefit I could have (neither the app user). There are 2 options to upgrade the development from WP8 to WP8.1, let's start with a nice comparison: http://msdn.microsoft.com/library/windows/apps/dn655121(v=vs.105).aspx

There are actually 3 options in above article but option 1 (not upgrading) is out of the table as we want to move on and believe me that's the last option MSFT ever want (they put huge money on the new WP81 but telling you to hold off, no way!).  For the other 2 options let's read a discussion I found here: http://social.msdn.microsoft.com/Forums/windowsapps/en-US/bf855b7f-d7ca-4b73-964f-22ac77f7d4c4/benefits-of-windows-runtime-over-silverlight-in-wp81?forum=wpdevelop

To simply put, there are 2 different WP8.1 in terms of development framework, one is Silverlight 8.1 (SL8.1) while another is Windows Runtime (WinRT, aka Universal app). The latter one is the same framework when you develop a Win8.1 store app for Windows tablets and/or W8.1 desktop (Metro). Although MSFT claims that they are equivalent about everything, the truth is that WinRT (universal app) is being seriously promoted right now while SL8.1 in my opinion is something intermediate during the transition (remember WP7.8 before WP8, sound familiar?).

If I predict above correctly, RT is the future for app development (phone and tablet) on Microsoft's platform, therefore in long term I would like my development to be on that. However, it really means to rewrite the whole app again - not everything, but still a lot including the UI. And it becomes more trouble if your projects have reference to 3rd party libraries (which is very common for even a small project) - they need to upgrade to support that as well.

When I say "including the UI", I mean:

  1. This only apply to WP8 -> WinRT upgrade path
  2. XAML is not reusable, because the UI framework are different between WP8 and WinRT, you may consider things are being rewritten/re-design in WinRT.
  3. There are a lot of UI controls available in wp8 have gone or being replaced. such as LongListSelector (replaced by GridView or ListView or maybe something else), <controls:Pivot> becomes just <Pivot>, etc
  4. If you are porting your WP8.1 app from a Win8.1 app, and if you use lib like WinRT XAML Toolkit, you need to find alternative or wait for future update from the component developer because currently doesn't support WP8.1 just yet
  5. If you are upgrading from a WP8 app, and if you use lib like Coding4Fun toolkit, similar to above, you have to find alternative or wait for update because current version doesn't support WP8.1
  6. Don't forget doing so much will not bring any improvement or new feature to your users, instead, it's very likely to cause some bugs as the changes are about everything: UI, API, etc


So what if we go with SL8.1 as MSDN suggests just some changes? It's much less painful (above item 5 is also applicable though) but keep in mind that WP8.1 is new, you might still have a lot of users on the old platform and so you need to maintain development on 2 platforms (if you care those users). As a result, you will have to clone a new set of projects (including the UI project) from your WP8 solution (you will need linked files); and re-target the new projects to WP8.1. After that, any change, especially on the UI, you are likely to code twice. This kind of maintenance will last for a while base on my experience, until WP8 is completely or almost fading out.

I haven't completely decided yet how to upgrade my development for my app, for now, I would rather just sit tight and watchCool

Sensor mode: tilt the phone and camera move

1. May 2014 15:41 by Jerry in IP CAM

A new cool way of controlling your camera had been introduced in the latest updates: sensor mode. After turning on the sensor mode, the app will use your phone's Accelerometer Sensor to detect which direction you are tilting and so trigger a Tap to Center (or Tap to Move if your camera doesn't support TTC) command.

Tapping the "direction" button to activate sensor, hold your phone horizontally, then tilt to a direction the camera will move toward that. The above video is using WP8 as sample, the feature is working the same way in other platforms (Android, WinRT). In android, to activate sensor mode, should tap the "compass" icon instead:


This is actually interesting and it extends a lot of possibilities. Imagine that you can put your phone on something constantly shaking and so trigger a random patrol on the camera. Another idea which I haven't think it through is that if you have something more advanced like a robot-car, so that your robot could somehow control another camera.


The new share feature in WinRT and WP versions

15. April 2014 12:27 by Jerry in IP CAM, Windows Phone, Windows Store

With latest update for WP8 (v3.3.5) and WinRT (v1.3), a camera setting could be shared between these 2 platforms, with either a link or a file attachment. See follow scenario as a sample:


On your tablet, activate bottom command bar in single view screen, then choose "Share via File" (or Share via Link if you like)


A share charm will be showing on the right hand side:


Choose Email to send the file in email attachment; In fact, if you had installed other app with file-sharing ability, there will be more options there.


After that, just like sending a regular email, you can type in extra info for the recipient. Just don't forget to tap the "send" button on the right upper corner:)


With IP CAM Controller installed on recipient's phone or tablet, simple open up the attachment, IP CAM Controller is able to read the encrypted content from file and open a view screen immediately. With this approach, the recipient doesn't need to input any configuration about your camera (such as IP, port, credentials, etc), they are all inside the small file you sent over.



Note for using "Share via Link"

The share by link is working similar except that the camera info is inside a hyper link (aka deep link). The link following this format:


There are 2 critical parameter here:

v=4: version is 4 which is the newest version number by far;

cam=... : for different version, it works quite differently. For version 4 specifically, it's a shorten URL like http://goo.gl/abcdefgh; for version 3, the cam value is a very long string which normally over 600 characters;

The phone version supports all versions while the WinRT only support version 4.

IP CAM Controller for Windows 8 Store is on its way

15. March 2014 17:24 by Jerry in IP CAM, Windows Store

Finally, we are hereCool

The first release have just been submitted to Windows Store for verification. It might take a few days if I'm not breaking anythingEmbarassed.


The first version is always challenging, with a lot of things need to be done and a lot of testing. I admit that there are only a few screens in this version with "multi-view" is missing:( However, the tile experience in this version is great in my own opinion, I guess this is because the device has much large screen space than the phone version (obviouslyLaughing), here is a peek of the live tile on my Surface 2:


There are 3 IP CAM Controller tiles in this screen, you will notice there is an app icon at the bottom-left corner. The smaller 2 are camera tile - by tapping them will enter to the single viewer screen directly (same as WP8). While the larger tile is the app's main tile, for now, the app supports 4 different size: Large square, Wide, Medium square (same size as camera tile) and Small. Let's have a better look at the large tile:


It could take up to 5 images in the tile, the biggest one is latest snapshot and the 2 lines description shows the camera name and when the snapshot was captured. In the top area of the tile will have up to 4 snapshot in the past updates (latest at the right) from all cameras that you had added.


Other features available in this release:

  • one way audio for selected cameras
  • a light weight preview for multiple cameras on main screen
  • in app snapshot (tiles)
  • digital zoom on the fly in single view
  • motion detection

Android: Motion Detect and Baby Monitor

16. September 2013 13:55 by Jerry in IP CAM

Similar to Windows Phone version, today we released motion detection feature for Android. With this feature you are able to monitor a sleeping baby while working on something else at the same time. 


When the current movement state reach the threshold for certain level, the phone will be vibrating and playing ringtone to attract your attention.

In addition, if your camera's audio is supported, a new "Run in background" (only for users already paid for audio) menu is available at the following place:

When this activated, the app will be pushed to background while it's still running. It's like a traditional baby monitor if you turn on the audio beforehand. This could be working together with motion detection - the app will trigger alarm when motion is detected. If however, motion detect is off in background, the video streaming will be stopped to save data usage and so battery. But once bring the app back to foreground, video will start again.

Although saving energy is being considered, running in background will still drain your battery pretty fast, so it's highly recommend to plug in charge before using this feature.


Italian translation:

Simile alla versione  per Windows Phone, oggi abbiamo rilasciato la funzione di motion detection anche per Android. Con questa funzione potrete monitorare per esempio un bambino che dorme mentre lavorerete o farete altre cose.

Quando il movimento in corso raggiunge una certo livello di soglia, il telefono vibrerà e riprodurrà un suono al fine di attirare la tua attenzione


In aggiunta, se il tuo modello di telecamera supporta l’audio, la nuova funzione "Funziona in background" (solo per utenti che abbiano già pagato per la versione con audio)  sarà disponibile in questa posizione:

Quando attivata, l’applicazione sarà spostata in background mentre continuerà a lavorare. Funzionerà come un babymonitor se avrai predentemente attivato l’audio. Questo potrà lavorare in contemporanea con il motion detect - l'app farà scattare l'allarme quando verrà rilevato un movimento. Se, tuttavia, il motion detection sarà spento in background, gli streaming video saranno fermati per salvare utilizzo dei dati e quindi della batteria. Ma una volta portata l'applicazione  in primo piano, il video riprenderà. Anche se il risparmio energetico è stato considerato, in esecuzione in background continua a consumare la batteria piuttosto velocemente, quindi è altamente consigliabile collegare il telefono al caricatore prima di utilizzare questa funzione.

Tradotto da BBSYSTEM.IT

Thank you German!

2. September 2013 15:42 by Jerry in Android, IP CAM, Windows Phone

US has been the biggest market in basically all major app stores (i.e. Apple, Google and Microsoft's WP market). And so naturally US is the top country in download number of my app on WP market(it still isWink); it was the same for Android. But recently it had been exceeded by German! What a surprise!

The downloads from German started to grow dramatically right after we released the Germany language support in the app. Along with the increment in number, positive reviews are also growing. I'm so much grateful! I wish I could even write this blog in Germany but unfortunately I can'tFrown. Anyhow, for all people from German, please accept my sincere appreciation, THANK YOU!! And, a special thank-you goes to Pascal Künzli who was the voluntary translator. It has been totally a pleasure to work with himLaughing



Another great news is about Windows Phone:) Since September 1, IP CAM Controller for WP8 had been selected to feature in Brazil, Spain and ItalyCoolTongue OutLet's see one of the emails



And it's going to be 2 days on Italy market from Sept 3 to 4, credit goes to Andrea Busato from BBSystem.it, who is our Italian translatorKiss for both Android and WP

IP CAM Controller 3.2: Motion Detection - baby monitor

1. September 2013 18:26 by Jerry in IP CAM, Windows Phone

Apart from regular bug fixing and minor improvements, the new release (v3.2) of IP CAM Controller is mainly about adding a motion detection mode in single view screen. With this feature in place, you are able to turn your phone into a baby monitor - when motion is detected, the phone will play alarm audio and vibrate to attract your attention.

After activating the motion detect mode, you can adjust the sensitivity of the detection as well as the threshold to trigger alarm. In case movement is detected in the video, the movement will be highlighted in red, just like above screen shows. When the motion state reach the configured threshold in a certain level (e.g. exceed a certain time in a few seconds), the alarm is trigger - the phone will play a sound effect and vibrate as well (they can be switched in setting screen though).


A few important things to note:

  • As motion detection is based on a series of calculation, this function will consume a lot of power, so it's HIGHLY recommended to plug in power before use (if you intend to monitor for a long period of time).
  • Not only power usage, this feature also require a lot of CPU usage and so with this mode turn on, the UI will become a bit "laggy" i.e not so smooth, as a lot of stuff happening at the background. As a result, although other functions remain accessible but it's not suggested to do any PTZ actions before switch off motion detection.
  • Image quality will be poor in this mode in order to speed up the whole process, which make sense in my opinion, since this mode is mainly about detecting movement. You can switch back to normal mode whenever your eyes are back on screen.Cool
  • Free trial is offered for 5 minutes after activating the function, when time is up, you can go back to main screen and enter the viewer screen again to get another 5 minutes. Alternatively, you can support my development by paying the app at $1.99 to remove this limitation (it will also remove advertising and limitation on grouping)Kiss

 What next? Probably and hopefully monitor the volume in audio, we will see:)


Italian Translation:

Oltre a sistemare piccoli bug e aggiungere miglioramenti vari, la nuova versione(v3.2) di IP CAM Controller è soprattutto l’aggiunta della modalità motion detection nella visione singola. Con questa funzionalità, potrai far diventare il tuo telefono un babymonitor – quando sarà rilevato il movimento, il telefono riprodurrà un suono e vibrerà per attirare la tua attenzione.

Dopo aver attivato il motion detection, potrai regolare la sensibilità al meglio, come per la soglia di allarme. In caso di movimento rilevato sul video, il movimento sarà evidenziato in rosso, come mostrato nella figura sopra. Quando il movimento raggiungerà la soglia fissata in un certo livello (per esempio superandolo per qualche secondo), l’allarme sarà lanciato – il telefono quindi suonerà e vibrerà (possono essere regolati nelle impostazioni).


Alcune importanti cose da sapere:

  • motion è calcolato in base ad una serie di calcoli,  consumerà parecchia potenza, per cui è CALDAMENTE consigliato di collegarlo al caricatore prima dell’uso (se intendi utilizzarlo per lunghi periodi)
  • Non solo corrente, Motion richiede molto uso della CPU ed è per questo che quando attivo, la visione a schermo apparirà leggermente lenta e non così bella, dovuto ad una quantità di elaborazioni in background. Comunque le altre funzioni rimangono accessibili ma è consigliato di non compiere azioni con le PTZ prima di aver spento la funzione di motion detection.
  • La qualità dell’immagine sarà povera al fine di velocizzare l’intero processo, che ha senso secondo me, perché questa funzione è prevalentemente usata per rilevare il movimento. Sarà possibile comunque tornare alla normalità quando potrai tenere gli occhi sullo schermo in maniera più costante.Cool
  • La versione trial offre 5 min di servizio, quando il termine è raggiunto,  potrai tornare indietro e rientrare nella funzione per altri 5 minuti. In alternativa, potrai supportare il nostro lavoro pagando 1,99$ per rimuovere questa limitazione (verranno tolte anche le pubblicità e la limitazione sul numero di gruppi)Kiss

Cosa abbiamo in mente per il futuro? Probabilmente spero monitorare il volume dell’audio, vedremo :-)

Tradotto da BBSYSTEM.IT

Android preview: H.264 support and foscam testers wanted

26. August 2013 11:52 by Jerry in Android, IP CAM

Update: the testing had completed, now every one could download the v1.6 with HD video support from Google Play

The next Android version of IP CAM Controller will be equipped with a H.264 engine, in other word, we are able to get HD video working if your camera support H.264.

This is now in final testing and so I would like to invite some foscam camera owners to test the HD streaming on your Android phone. If your camera is a foscam H.264 series such as 9820W, 9821W, 8608W, etc, please click following link to ask for a beta:


In order to download the beta, please also provide your Google Account in the message you're going to send me.


Currently I'm focusing on foscam H.264 series, however if you have other type of camera, you can contact me to see if possible to add your camera as well, but please note I will need to access to your camera to work that out, so before contacting me, I will recommend you turn your camera toward a wall or put a large book in front of your camera if privacy concerns you.


Here is a preview of the app, if your camera's H.264 is supported by the app, a new HD button will show up next to the audio button:


Tap the icon to switch between HD and standard streaming