drupal hit counter
Jerry Huang | apps and developing apps

Jerry Huang apps and developing apps

Next stop: win 10

I wrote a blog post (here) last year whether I should or should not upgrade my development from WP8 to WP8.1, and my conclusion was "no go". Basically it's not worth it. I believe that I made the right decision back then, because otherwise I will fall into similar situation again, Win/WP8.1 -> Win10.

 

I have been keep track of MSFT's app development for a few years now, and honestly I'm tired and a bit sick about that. Because every time MSFT announce something new, something they are really excited about, developers need to drop something they had been familiar with and rewrite the codes. Even worse, the "excitement" is short, the "new thing" becomes worthless in just maybe 1 or 2 years (such as WP7, Silverlight). Maybe that's the reason WP's market didn't go any further in the past few years - At first, MSFT pissed off customers (WP users) by announcing WP7 cannot upgrade to WP8, and then MSFT pissed off developers by keep introducing new stuff without backward compatibility. Myself for example, I brought 3 lumia 800 phones (the price of 800 is almost the same as iPhone back then) at the beginning, when lumia 930 launch, I hesitated and eventually I went with lumia 720 and half year ago I switched to iPhone. I wouldn't call myself a loyal user of MSFT but I start using MSFT's phone since Windows Mobile 5. I don't know too much about marketing, but this is really sucks!

 

Being said that, the good thing is that MSFT seems to aware of the problems they are having. I attended the Build Tour in my city yesterday. They start to demonstrate MSFT technologies on competitors' products, such as MacBook and iPhone; and I'm sure you heard of MSFT start to attract Android and iOS developers by supporting them in the new VS2015 (probably because they are losing their own developers??LOL); MSFT is having an open-mind more than ever. This is good but this is far from enough and I believe they know it.

 

Win10, after a few years' struggling, this piece of ....... thing looks decent to me, from a developer's angle of course (I heard some noise about the UI changes BTW). But on the other hand, as usual, every upgrade is painful, especially true for WP developers. I would rather not going too much details here, you may have a taste by reading this post: http://blogs.msdn.com/b/lucian/archive/2015/06/09/win10-apps-in-net-porting-from-8-1-universal-to-win10.aspx

In short, it's not that bad by comparing transitions in the past, because most codes and XAML should be still useful while for 3rd part controls just give it some time, they will be supporting win10 sooner or later. At the very least, the underlaying frameworks are not being changed; they are not turning the framework up side down this time like what they did in Silverlight to WinRT. But I feel lucky and happy that I didn't go for WP8.1 last year because that is simply not the final stop. While for this time, I probably will go for win10:)

 

PS. yesterday's Build Tour, free entrance, free foods, basically free of everything and you could get a nice Build t-shirt at the end, my opinion to MSFT would be a lot more depressed if it's not because of that:))))))

2 way audio camera testers wanted

24. April 2015 21:22 by Jerry in IP CAM

As you may or may not know, last release of IP CAM Controller on WP and Android have 2 way audio support for Foscam. This has been sitting in my TODO list for quite a long while and finally getting somewhere:)

 

To support more cameras, I will need some volunteers whose camera is following brands:

Axis
AVTech
Canon
D-Link
TRENDNet

Please note that I will need access to your camera and might require admin permission for investigation. Please click here and leave me your camera access info if you would like to participate. You can use following as a sample:

Camera brand and model: TRENDNet 862IC

Camera type using in the app: TRENDnet TV-IP 862IC

Host: www.mycamera.com

Port: 80

Username: temp

Password: SomeSecurePWD

 

IP CAM Controller is now available on Apple app store!

9. April 2015 20:01 by Jerry in IP CAM

Today I'm thrilled to announce that IP CAM Controller for iOS 1.0 is launched for both iPhone and iPad. For those who have iOS device could simply click on this link to download:

https://itunes.apple.com/app/ip-cam-controller/id972015484

1.0 is just a beginning, we are actually working on the next version, hopefully to bring audio and multi-view support in the very near futureCool

Nuova funzione di condivisione per WP e WinRT

5. September 2014 23:28 by BBSYSTEM.IT in IP CAM, Windows Phone, Windows Store

 

Con l'aggiornamento per  WP8 (v3.3.5) e WinRT (v1.3), le impostazioni di una telecamera possono essere condivise tra queste due piattaforme software, sia tramite linkche file allegato. Guarda l'esempio successivo:

 

Sul tuo tablet, attiva il pulsante che trovi nella modalità di visione singola telecamera, quindi scegli "Share via File" (oppure  Share via Link, se preferisci)

 

Una finestra di condivisione si aprirà nel lato destro: 

Scegli Email per mandare il file come allegato; effettivamente, se avrai installate altre app che possano condividere, ci saranno più opzioni di scelta.

 

Dopo questo, proprio come per mandare una classica mail, potrai digitare un messaggio per il ricevente. Non dimenticare di cliccare sul pulsante "invia" nell'angolo in alto a destra! :-)

Tramite IP CAM Controller preventivamente installato nel telefono o tablet del ricevente, semplicemente aprendo l'allegato, IP CAM Controller sarà in grado di leggere il file criptato e aprire una schermata di visione immediatamente. Con questa caratteristica, il ricevente non avrà bisogno di inserire tutte le configurazioni relative alla tua telecamera (come per esempio indirizzo IP, porta, credenziali di accesso, ecc), tutto ciò sarà all'interno del piccolo file che avrai inviato. 

 

Nota bene per usare "share via Link"

La funzione "share by link" funziona similare eccetto che le informazioni della telecamera sono all'interno di un Hyper link. Il link successivo mostra come è strutturato:

ipcamcontroller:view?v=4&cam=xxxxxxxxxxxxxxxx

Ci sono due parametri critici da considerare:

v=4: versione 4 che è la più nuova da tempo;

cam=... : per differenti versioni, funziona in maniera leggermente differente. Per la versione 4 , è una  URL più corta come http://goo.gl/abcdefgh; per la versione 3, il valore della telecamera è una stringa veramente lunga, normalmente oltre 600 caratteri.

La versione per telefoni supporta tutte le versioni, mentre quella per WinRT solo la versione 4

Modalità sensore: muovi il telefono e muovi la telecamera (PTZ)

5. September 2014 23:04 by BBSYSTEM.IT in Android, IP CAM, Windows Phone, Windows Store

Una Nuova interessante maniera per controllare la tua telecamera è stata introdotta in una delle ultime versioni: modalità sensore. Dopo aver attivato la funzione la telecamera potrà essere mossa tramite l'accelerometro presente nel tuo device!

Cliccando sul pulsante "direzione" per attivare il sensore, tenendo il tuo device orizzontale, quando orienterai il telefono da una certa parte la telecamera ti seguirà in quella direzione. Il video precedente fa vedere il funzionamento su WP8, questa nuova funzione lavorerà nella stessa maniera anche in altre piattaforme (Android, WinRT). Su Android, per attivarla, cliccare sull'icona della bussola, come mostrato nella figura:

 

Questo è interessante e può essere esteso a molte possibilità... Immagina per esempio di posizionare il tuo telefono su qualcosa in continuo movimento e quindi attivare una specie di movimento di ronda automatica alla tua telecamera. Un altro esempio, su una macchina telecomandata, puoi a sua volta muovere una telecamera PTZ .. :-)

 

Esporta/importa su Android con la versione 1.8

5. September 2014 22:38 by BBSYSTEM.IT in Android, IP CAM

Prima dell'aggiornamento di oggi (IP CAM Controller Android v1.8) se avessi voluto effettuare il backup delle tue telecamere, l'unica opzione era di utilizzare la funzione di condivisione tramite un hyper link virtuale una per una. La bella notizia è che adesso potrai effettuare il backup di tutte le telecamere in un sol colpo. Ti mostro come funziona:

 

 Passaggio 1, seleziona"esporta Camera" dal menù

Ci sarà un messaggio di attenzione, seleziona OK (se sei d'accordo :-))

 

Passaggio 2. Ti mostrerà una lista di applicazioni abilitate ad inviare il tuo backup, in questo caso, utilizzerò Gmail.

Dopo questo, si tratterà di comporre una classica mail (con Gmail ovvviamente), perfavore notare che tutte le telecamere esportate sono all'interno di un hyper link criptato (alla fine della mail), proprio come un file allegato in formato testo. E' per questo che devi fare attenzione a chi manderai la mail, perchè chiunque abbia il file e la mia app installata sarà in grado di accedere alle tue telecamere!

 

Passaggio 3: Importare il backup. Aprire la mail, potrai sia scegliere il link nella mail, oppure scaricare il file allegato (per Android versione 4 solamente), il tuo device dovrebbe chiederti come completare l'azione.

Proprio così:

Scegli IP CAM Controller, l'applicazione aprirà un messaggio che ti avvertirà che alla scelta di questo tutte le telecamere esistenti verranno cancellate

 

Ecco fatto. Le telecamere da un device Android potranno essere trasferite ad un altro! 

Export/Import comes to Android in v1.8

30. August 2014 19:55 by Jerry in Android, IP CAM

Before today's update (IP CAM Controller Android v1.8) if you want to back-up your camera, the only option is to use share function to share your camera via a virtual hyper link one by one. The good news is that now you can backup your camera in the same way but this time you can export all cameras. Let's see how it works.

 

 Step 1, select "Export Cameras" from menu

There will be a warning after that, tap OK (if you are ok:))

 

Step 2. Then it will show up a list of apps that able to send your backup, in this case, I'm going to go with Gmail

After that, it just like composing an ordinary email (with Gmail of course), please note that the exported cameras are inside an encrypted hyper link (at the end of the email),as well as a file attachment with your setting in plain text. And that's why you have to be caution whom the email is sending to - because whoever have the file and installed my app will be able to access to your cameras.

 

Step 3: Import. Open up the email, you can either tap on the link in the email or download the file attachment (for Android 4 users only), your phone should be asking how to complete the action.

Just like this:

 Tap IP CAM Controller, my app will promote a warning to ask whether you would like to proceed, as this will clear out all your existing (if any) cameras.

 

That's it. Cameras from one phone could be transferring to another Android device just like that:)

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:

http://foscam.us/forum/fi9821w-v2-rtsp-via-vlc-working-for-video-but-not-audio-t10025.html

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:

http://www.jerryhuang.net/ipcamcontroller/FosIPC_A_patch_ver2.x.1.10_1_20140606_150128_rtsp_audio.bin

 

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