PDA

View Full Version : iPhone, iPod Touch, and iPad RIVA Client update coming soon


SamVimes2
01-11-2011, 05:21 AM
Enhancements:
1) Progress bar support (requires RIVA v2)
2) Environment variable support (requires RIVA v3)
3) facility to view and manipulate image cache
4) internal improvements to dynamically set canvas size (noticeable 'feel' improvement) (requires RIVA v2)
5) wrapped network communication in task completion APIs - app will remain running in the background & connected for ~10 minutes after switching to another app* (requires iOS4)

*Highly dependent on what else you're doing on the device...

EDIT 3/16 - this has been submitted. In addition to the above:
6) Support for gradient text, mirrored text, and mirrored gradient text
7) more aggressive error catching/reconnection logic

full change log here (http://www.mountford.net/cqcclient/changes.html)

SamVimes2
01-15-2011, 08:54 AM
In addition, there are some additional sounds for the playWAV command:
"beep01", "beep02", "beep03", "beep04", "bubbling01",
"coin01", "doorbell01", "doorclose01", "doorclose02", "dooropen01",
"fax01", "howl01", "keyboard01", "keyboard02", "motoron01",
"mouseclick01", "pager01", "phone01", "phone02", "phone03",
"register01", "stapler01", "static01", "switch01", "switch02"

AceCannon
01-21-2011, 06:12 PM
Great! I'm looking forward to it.

pjgregory
02-06-2011, 04:13 AM
Hi

I see there is a new facility for the app to carry on when you switch tasks. As I have posted in the other thread, I have problems with the app hanging up while using the iPad in my home cinema. These are the situations.

1. The iPad stays in the Cinema (2-3ft from the wifi access point). After some time (50-60 minutes), I try to pause the film. The app locks up and I need the 4 finger salute to restart.

2. I start the TV in the cinema, then carry the iPad to another room. Since my house has stone walls, I need a wifi access point in every room. They all have the same SSID and Channel Number. However, although other apps such as newspaper readers will just carry on, the RIVA client locks up and its back to the four fingers.

3. I stay in the cinema with the iPad watching TV, but switch to the Web Browser so that I can look at a TV guide. On switching back to CQC, the Client locks up and its four finger time again.

Will any or all of these problems be fixed with this new release? Have you found a way yet to automatically reconnect to the wifi network if there is a short loss of connection? I have used my iPad on a train with wifi access while going in and out of tunnels to successfully download a copy of an electronic magazine so it must be possible to re-connect automatically and just continue.

PJG

Fonceur
02-06-2011, 05:45 AM
I have used my iPad on a train with wifi access while going in and out of tunnels to successfully download a copy of an electronic magazine so it must be possible to re-connect automatically and just continue.
That's a different issue... You can't really compare a simple file download, which can relatively easily continue after an interruption, to resuming a RIVA session.

Now should it be able to restart a new session once the network is back, without crashing, well yes it should, there's an event for that... ;)

brianmount
02-06-2011, 04:26 PM
Focusing just on the things I can accomplish in the iPhone client (as opposed to things that require server changes, like picking up where you left off after a reconnect), there are several issues which the new release may or may not fix:

1. Keeping a session alive when the device goes to sleep for less than ten minutes and CQC Client is the active app. I think this should already work in the existing version.

2. Keeping a session alive when the device goes to sleep for less than ten minutes and CQC Client has been moved to the background. This does not work in the existing version, but the new version should fix the problem using Apple's background task API. My limited testing indicates success.

3. Keeping a session alive when the device goes to sleep for more than ten minutes. I don't think this is possible on the iPhone, but if someone has information on what to do, let me know. Failing that, the best I can do is try to reconnect.

4. Reconnecting when the device goes to sleep for more than ten minutes. This is not handled that gracefully in the existing version. I am not sure what is happening in pjgregory's environment, where the session becomes unresponsive. In my experience, it just disconnects and throws you back to the main screen. In the new version, it will detect a write error (which happens when the socket gets closed by the OS, and then the client tries to send its periodic ping message). This will trigger an automatic reconnect. It seems to work for me, but may not cover all errors than can crop up, and probably won't help if the session is unresponsive.

In short, I have made several changes to improve performance, but more changes will probably be needed. Once the new version is available, we will have to take a poll of various users to see what dysfunctional scenarios persist.

AceCannon
02-06-2011, 06:38 PM
Thanks for the update. My implementation is pretty simple with one wifi router. Will post details of my connect-reconnect experience after the update.

Certainly (in my opinion) this is the biggest issue preventing CQC on iOS from feeling really polished.

Dean Roddey
02-06-2011, 07:44 PM
As has been mentioned before, one way we could do it is to move from RIVA clients connecting to the server and causing a specific template to be loaded, to allowing you to configure RIVA sessions that are just always there and running, and to which RIVA clients 'subscribe' I guess you'd say in that case. That way the client wouldn't drive the creation of the session, they'd just always be there. So it wouldn't care if the RIVA client is connected or not, and every connection would be kind of a 'reconnection'.

It would still have to be limited to one client at a given time subscribing to any given session, and of course it means no such thing as the account used to logon driving what is displayed. It's more like 'channels to subscribe to'. But it avoids many of the issues, such as time to get things up and going and loss of connection.

That might sound like overkill and just being able to reconnect would be better. But reconnection in a non-subscription sort of way has it's downsides. One is that the session has to be left up for an arbitrarily length of time, and it's eating up a client license, even if the client that was lost just got shut down and stuffed in someone's pocket when the signal was lost, because it has to assume that the client may reconnect.

If you then just open another session, since you don't know it's waiting, it's now eaten two license slots. So you can kind of eat up all of your license slots in some scenarios and be locked out for minutes since the server would have to keep the session alive for at least minutes in order for the reconnect thing to really be useful probably.

So, maybe why not just do away with that and just have the session running and just connect and disconnect from it all you want and it never goes away.

I guess it has security benefits to some degree as well, since what template you get is purely driven by configuration of the RIVA server, not by what account someone can manage to get logged in on.

pjgregory
02-07-2011, 05:21 AM
4. Reconnecting when the device goes to sleep for more than ten minutes. This is not handled that gracefully in the existing version. I am not sure what is happening in pjgregory's environment, where the session becomes unresponsive. In my experience, it just disconnects and throws you back to the main screen. In the new version, it will detect a write error (which happens when the socket gets closed by the OS, and then the client tries to send its periodic ping message). This will trigger an automatic reconnect. It seems to work for me, but may not cover all errors than can crop up, and probably won't help if the session is unresponsive.


You say it works for you, but are you running on an iPhone or the iPad?

In my system, if the iPad disconnects for any reason, it does not jump back to main screen. I get the same view of the last screen from my Interface. Sometimes there is an error message "Pipes broken" etc. and pressing the OK button does return me to the main screen. At other times, there is no error message and the client just hangs until I use the 4 fingured gesture to bring up the Disconnect screen. Pressing the disconnect button goes back to the main screen where I can re-start the App.

However this brings be to the first page of my IV, not the page on which the app failed so I have to navigate back to where I was before I can press a button again. If my IV were just a simple Remote Control emulator running on on iPhone there would would not be too much of a problem. But my IV is fairly complex using a state machine driven by events to sequence things in the Cinema. Starting from the sign on screen each time the iPad disconnects is a real PIA.

What is wrong with adopting the scheme outlined by Dean in the previous post? This may get over a number of problems. For example, some of my control buttons actually run quite complex command sequences. If the Riva app was running on the server, rather than the iPad, then maybe these would become slicker in operation.

PJG

brianmount
02-07-2011, 05:30 AM
I have no problem with adopting whatever scheme is made available. That depends on what Dean decides to do in consultation with y'all. At the moment, reconnecting will always take you back to the initial screen, and there's nothing I can do about that.

The broken pipe error makes sense to me. We have seen that, and I'm hoping that the new version will reconnect in that case, but if not, it's just a matter of adding more checks, so I'm confident we can fix it. The situation where the connection neither works nor gives an error is puzzling to me. I don't know what could be happening. Is there a way to check the CQC log to see whether the server thinks the connection is still alive, or has been disconnected?

AceCannon
02-07-2011, 05:37 AM
In my system, if the iPad disconnects for any reason, it does not jump back to main screen. I get the same view of the last screen from my Interface. Sometimes there is an error message "Pipes broken" etc. and pressing the OK button does return me to the main screen. At other times, there is no error message and the client just hangs until I use the 4 fingured gesture to bring up the Disconnect screen. Pressing the disconnect button goes back to the main screen where I can re-start the App.

This my iPad experience with the app exactly.

wuench
02-07-2011, 05:58 AM
Ditto on my IPhone 4, I always get an error dialog.

But just to be clear on expectations. Even with the proposed changes, if the client does get disconnected and automatically reconnect you will not be able to pick right back up where you left off. The server will take you back to your start screen, this is because the RIVA server does not maintain session state. This is not a limitation of the client but the server. It is basically like you launched a new client, all your variables will get wiped, etc. You may be able to do something with the variables driver to track state to get around this....

SamVimes2
02-07-2011, 09:26 AM
As has been mentioned before, one way we could do it is to move from RIVA clients connecting to the server and causing a specific template to be loaded, to allowing you to configure RIVA sessions that are just always there and running, and to which RIVA clients 'subscribe' I guess you'd say in that case. That way the client wouldn't drive the creation of the session, they'd just always be there. So it wouldn't care if the RIVA client is connected or not, and every connection would be kind of a 'reconnection'.

It would still have to be limited to one client at a given time subscribing to any given session, and of course it means no such thing as the account used to logon driving what is displayed. It's more like 'channels to subscribe to'. But it avoids many of the issues, such as time to get things up and going and loss of connection.

That might sound like overkill and just being able to reconnect would be better. But reconnection in a non-subscription sort of way has it's downsides. One is that the session has to be left up for an arbitrarily length of time, and it's eating up a client license, even if the client that was lost just got shut down and stuffed in someone's pocket when the signal was lost, because it has to assume that the client may reconnect.

If you then just open another session, since you don't know it's waiting, it's now eaten two license slots. So you can kind of eat up all of your license slots in some scenarios and be locked out for minutes since the server would have to keep the session alive for at least minutes in order for the reconnect thing to really be useful probably.

So, maybe why not just do away with that and just have the session running and just connect and disconnect from it all you want and it never goes away.

I guess it has security benefits to some degree as well, since what template you get is purely driven by configuration of the RIVA server, not by what account someone can manage to get logged in on.

I like this train of thought A LOT.

wuench
02-07-2011, 11:03 AM
I like the session timeout better and make it configurable. That seems like a more common implementation. If you come back in with the same user ID you get your session back, if not it's a new session.

If the "channel" method is implemented I think it should be the userid that is the channel identifier.

Or you could get both by just having a configurable timeout and allow a timeout of never. I think, either way, you will need some sort of console implemented so people can see session info (how many sessions are active, who is logged on, how long has it been idle) and the kill a session.

pjgregory
02-07-2011, 11:37 AM
I have no problem with adopting whatever scheme is made available. That depends on what Dean decides to do in consultation with y'all. At the moment, reconnecting will always take you back to the initial screen, and there's nothing I can do about that.

The broken pipe error makes sense to me. We have seen that, and I'm hoping that the new version will reconnect in that case, but if not, it's just a matter of adding more checks, so I'm confident we can fix it. The situation where the connection neither works nor gives an error is puzzling to me. I don't know what could be happening. Is there a way to check the CQC log to see whether the server thinks the connection is still alive, or has been disconnected?

Sorry I don't know how to check the CQClog and first thing in the morning I am off on 3 weeks vacation. I will log in again when I return and if you have not fixed the problems, I will try to provide more detailed information.

PJG

Dean Roddey
02-07-2011, 12:21 PM
Sorry I don't know how to check the CQClog and first thing in the morning I am off on 3 weeks vacation. I will log in again when I return and if you have not fixed the problems, I will try to provide more detailed information.

PJG

Wow, three weeks vacation. I've heard of that. I think I saw something about it on TV once :tounge

monetteboy
02-07-2011, 02:55 PM
I like this train of thought A LOT.

Count me in also! It would be great to come back to where you left off.

pjgregory
02-08-2011, 11:02 AM
Count me in also! It would be great to come back to where you left off.

I think in the end this is essential not just great if the iPad is to become the viewer of choice. I just did not realise that it would involve a lot of work on Deans part.

PJG
(From an airline lounge in Dubai on the way to my three week vacation in India - gloat, gloat!)

Dean Roddey
02-08-2011, 11:09 AM
I think in the end this is essential not just great if the iPad is to become the viewer of choice. I just did not realise that it would involve a lot of work on Deans part.

PJG
(From an airline lounge in Dubai on the way to my three week vacation in India - gloat, gloat!)

There's just a pretty heavy conflict between wanting to be able to recover from a loss of signal, and wanting to avoid hanging up available license slots, and of wanting a quick up and going on initial connect.

The ability to recover from a loss of signal, without an always on viewer session already going, is kind of the worst case scenario. The current scenario is pretty straightforward, but problematic because you go back to scratch if you lose the connection. Though I don't think that's really so much of an issue when it's being used in the normal sort of way in the home, right?

The always on 'channel' approach is kind of next in line, since you never have any worries about whether this is a reconnection or a connection or whether the same client is getting confused and reconnecting again and again until eats up all the license slots and then they are in use for minutes until the server can drop them. It's just always there and it doesn't care if the client is connected or not. It just sends it stuff if it is.

The primary complication of the channel scenario is getting the client back into sync, but that's pretty easy to do. The simple senario is just force a redraw of the screen upon connect, which will send out everything to the client as though (in the current scheme) he just logged in. We could try to be fancier and send a PNG of the screen as it currently is, and then start sending redraw commands. I'm not sure if one will ultimately be that much faster than the other.

LesAuber
02-08-2011, 02:32 PM
FWIW I'm watching all this with a great deal of interest. Outside of adding control to my iPhone the airpanel is getting quite long in the tooth. This leaves me debating touchscreen capable clients as replacements. Both the iPad and HP's Touchsmart PCs seem promising.

pjgregory
02-08-2011, 11:08 PM
The ability to recover from a loss of signal, without an always on viewer session already going, is kind of the worst case scenario. The current scenario is pretty straightforward, but problematic because you go back to scratch if you lose the connection. Though I don't think that's really so much of an issue when it's being used in the normal sort of way in the home


Sorry to disagree, but I think that going back to scratch is an issue for any interface that really exploits CQ. If all you want is an iPhone emulator of an IR remote, then OK. But as soon as you starting using events, delays, popup's etc., then you are in trouble. Either we have to start keeping track of everything in a variable driver and have the added complexity of creating logic to return thing to where they were before the lost connection, or the RIV system does it for you as part of a channel subscription or whatever.

As I said, I think this is fundamental to making the iPad a real alternative to a wired touchscreen based PC such as the old Samsung Q1

PJG

LesAuber
02-09-2011, 06:43 AM
+1 It needs to pick up where it left off. Otherwise one is better of with something running windows natively.

Fonceur
02-09-2011, 07:21 AM
+1 It needs to pick up where it left off. Otherwise one is better of with something running windows natively.
Technically, you are comparing apples to oranges... If you never left the RIVA client go in sleep mode and shutdown its wifi antenna, it wouldn't need to pick up... Alternatively, if you were to unplug the "native windows client" and replug it when needed, it wouldn't pick up either... ;)

Dean Roddey
02-09-2011, 09:02 AM
Technically, you are comparing apples to oranges... If you never left the RIVA client go in sleep mode and shutdown its wifi antenna, it wouldn't need to pick up... Alternatively, if you were to unplug the "native windows client" and replug it when needed, it wouldn't pick up either... ;)

Yeh, that was my point above. It's not an issue because it's not too likely to happen within the home, with a strong local wireless LAN, right? It's primarily an issue from the road. And, from the road, it's likely that it can happen quite a bit. If that's the case, then the best solution is probably the subscription model, since it's the most sane from an implementation point of view, probably more secure, and will make the most of available client license slots since a client can never inadvertantly eat up all the slots trying to connect, thinking it didn't get far enough to start up a session (when it actually did) and starting a new one.

And, ultimately for us, this might be how we'd want to go in order to do license management as well, since it's also the jost sane license slot management scheme I can think of because it's pre-configured how many RIVA licenses you'll use and only that many are ever created.

kayemsi
02-09-2011, 10:12 AM
Yeh, that was my point above. It's not an issue because it's not too likely to happen within the home, with a strong local wireless LAN, right?

I am currently working on a template for my Omnia window mobile phone (WM6.1) uses riva.net client. Every time the display goes to sleep, and I push the button to wake it up it is back to the main template instead of the template I was on. If I wait long enough it goes to the yellow logon screen and then to the main template. This is at home with the Wifi LAN. Keeping a state seems better to me.

Dean Roddey
02-09-2011, 10:17 AM
I am currently working on a template for my Omnia window mobile phone (WM6.1) uses riva.net client. Every time the display goes to sleep, and I push the button to wake it up it is back to the main template instead of the template I was on. If I wait long enough it goes to the yellow logon screen and then to the main template. This is at home with the Wifi LAN. Keeping a state seems better to me.

Oh, OK. I was thinking more due to network issues. I didn't consider the device going to sleep.

wuench
02-09-2011, 10:28 AM
Yeah and all I* devices go to sleep, if you have a corporate policy on your phone, you don't necessarily have control over those settigns and ditto for whenever an app is backgrounded in Appleworld (except in sounds like in the future we'll get an extra 10mins).

LesAuber
02-09-2011, 11:39 AM
Oh, OK. I was thinking more due to network issues. I didn't consider the device going to sleep.

Which is my point also. The iPhone goes to sleep. If I go this route I want it to pick up where I left off. Just as with the airpanel now. As long as I don't intentionally log out or turn the PC off the session is there waiting as I left it. Even if the airpanel had gone to sleep or lost the wifi connection.

pjgregory
02-10-2011, 05:15 AM
Oh, OK. I was thinking more due to network issues. I didn't consider the device going to sleep.

Speaking just of the iPad

1. It does go to sleep - max on time is 60mins which is not enough for a film.
2. It's wifi performance is not robust and there is no option to connect it with a cable to the LAN.
3. It is designed as a portable device with lots of applications.

Unlike a wired in touch pad, you normally want to do lots of other things with it. Short of buying a second iPad and screwing one to the wall in the cinema, it will always be moved about, changing both applications and connections.

I have a cinema and three music zones all controlled by CQ. It just seems natural to me that I should be able to carry the iPad around to read a newspaper, listen to music or look at one of my cameras. That's the way the iPod is used so it would be much better if a solution can be found to picking up where it left off rather than trying to restrict the user to a fixed type of interaction.

PJG

SamVimes2
02-10-2011, 07:21 AM
aren't you supposed to be on vacation? :-)

wuench
02-10-2011, 07:25 AM
Maybe we need to write a vacation how-to:

1.) Put down the keyboard
2.) Pick up drink
3.) Chug

batwater
02-10-2011, 04:00 PM
Maybe we need to write a vacation how-to:

1.) Put down the keyboard
2.) Pick up drink
3.) Chug
4.) Repeat starting with 2

LesAuber
02-10-2011, 04:10 PM
Doesn't this create a do loop without an exit? Not a bad idea mind you, endless vacation, but somehow you need to get them not to cut off the tap. I guess it all ends up being the same in the end bit living in Italy sounds like a vacation already.

AceCannon
02-10-2011, 06:54 PM
I got a Verizon iPhone 4 today. I can't get the iOS RIVA client to work.

It is working fine on the wife's iPhone 3GS and the older 3g we use basically as an iPod Touch.

I can see part of the interface, but it will not scroll to the right to see the rest. On high-res mode, you can see the whole screen but the buttons are way too small.

I've tried every combination of settings I can think of. Anyone else get an iPhone 4 working?

pjgregory
02-10-2011, 07:52 PM
Maybe we need to write a vacation how-to:

1.) Put down the keyboard
2.) Pick up drink
3.) Chug

Problem is, I am on vacation at an Ayurvedic health resort in India. Lots of yoga and walks inside the walled grounds, but no alcohol and less than 800 calories a day. Take away the keyboard and I really will lose touch with reality.

PJG

znelbok
02-11-2011, 12:37 AM
I got a Verizon iPhone 4 today. I can't get the iOS RIVA client to work.

It is working fine on the wife's iPhone 3GS and the older 3g we use basically as an iPod Touch.

I can see part of the interface, but it will not scroll to the right to see the rest. On high-res mode, you can see the whole screen but the buttons are way too small.

I've tried every combination of settings I can think of. Anyone else get an iPhone 4 working?

Got my mates iphone 4 going. He has pudgy fingers and the buttons were too small in high res mode so we left it off and the buttons are a much better size. I built the screens at 3GS resolution and they look fine.

Mick

AceCannon
02-11-2011, 04:21 AM
Got my mates iphone 4 going. He has pudgy fingers and the buttons were too small in high res mode so we left it off and the buttons are a much better size. I built the screens at 3GS resolution and they look fine.

Mick
On the 3gs and 3, we have been using the same interface screens we were using on the Samsung Q1Ultra (so, that means the screens are bigger than the iPhone's screen and must be scrolled to see everything. But that works really well, actually). On the iPhone4, the screens will not scroll as they do on the older iPhones. I can see the very edge of what should appear when I scroll to the right and down, but it will not actually scroll.

On hi-res mode, the whole interface is visible. . . but they were not designed for that small of a physical screen so that won't work unless I make all new screens. So something in the iPhone 4 is different enough to kill the scrolling functionality that works fine in the 3gs and 3.

SamVimes2
02-11-2011, 05:36 AM
Couple things:
1) Have you tried the various 'scroll' settings in the options? I think you want 'On'.

2) what res are the templates? it's possible they are too big under the low-res setting (each dimension doubled) and capped by how much memory we can allocate...

Fonceur
02-11-2011, 06:17 AM
The way the "retina display" of the iPhone 4 works, is that it still considers the screen 320x480 for most things, but using graphics with double the width and height. So that can definitely make things tricky... ;)

AceCannon
02-11-2011, 01:29 PM
Couple things:
1) Have you tried the various 'scroll' settings in the options? I think you want 'On'.

2) what res are the templates? it's possible they are too big under the low-res setting (each dimension doubled) and capped by how much memory we can allocate...

The templates are 1024x600. I've tried all the scroll settings without success.

Maybe I understand. The same templates I use successfully on the 3gs require much more memory to display on the iPhone 4?

znelbok
02-11-2011, 02:43 PM
On the 3gs and 3, we have been using the same interface screens we were using on the Samsung Q1Ultra (so, that means the screens are bigger than the iPhone's screen and must be scrolled to see everything. But that works really well, actually). On the iPhone4, the screens will not scroll as they do on the older iPhones. I can see the very edge of what should appear when I scroll to the right and down, but it will not actually scroll.

On hi-res mode, the whole interface is visible. . . but they were not designed for that small of a physical screen so that won't work unless I make all new screens. So something in the iPhone 4 is different enough to kill the scrolling functionality that works fine in the 3gs and 3.

Scrolling worked fine on the i4 when I had a hi res template loaded.

AceCannon
02-11-2011, 03:11 PM
Scrolling worked fine on the i4 when I had a hi res template loaded.
Scrolling works for me in hi res, but not low res.

znelbok
02-12-2011, 01:12 AM
hi res template was loaded but viewed in low res so the buttons could be pressed and thus it had to be scrolled - all worked fine

Mick

gacevich
02-13-2011, 08:32 AM
Can I get a quick assist? I've got my Riva screens built and they work fine when I am at home using my iphone. I'm accessing via wi-fi at home. However when I'm away from home (and the wi-fi in my house) I can't connect to my system. I've got ports 13516 and 13517 forwarded to my cqc ms per the routing table in my router. I'm using the local ip address of cqc ms (192.168.1.107). Thinking that I need to use the external IP address of my router, I went to admin section of my router and found its IP address assigned by TimeWarner cable. If I use this address for the Host address in riva setup i cannot connect to my cqc ms.

Which IP address should I use for Host in RIVA setup?

Fonceur
02-13-2011, 08:59 AM
Which IP address should I use for Host in RIVA setup?
You need some kind of free dynamic ip (search for free dynamic DNS), your router might have something for that. In your router you will also need to forward those ports (13516 and 13517) to the right machine (192.168.1.107).

SamVimes2
02-13-2011, 09:08 AM
The templates are 1024x600. I've tried all the scroll settings without success.

Maybe I understand. The same templates I use successfully on the 3gs require much more memory to display on the iPhone 4?

That's correct. In low-res mode, those templates are rendered as 2048x1200. The max is roughly 1100x1100.

gacevich
02-13-2011, 11:41 AM
You need some kind of free dynamic ip (search for free dynamic DNS), your router might have something for that. In your router you will also need to forward those ports (13516 and 13517) to the right machine (192.168.1.107).
Here is how my ports are being forwarded
http://i225.photobucket.com/albums/dd95/withmere/portsforwarded.png

And here is the router info
http://i225.photobucket.com/albums/dd95/withmere/routerip.png

In the ports being forwarded section, you can see a port forwarded to my iDVR at 192.168.1.120. From both my home wi-fi and the cell network I use the 69.132.95.42 address which forwards port 7000. This works fine from my iphone. So I assumed that the 69.132.95.42 address is what I should use in the Host section of RIVA setup. This fails both on my home wi-fi and on the cell network. But if I use 192.168.1.107 on my home wi-fi the RIVA on my iPhone works fine, just not away from my wi-fi.

Is there another IP address I should use for Host other that 69.132.95.42 or 192.168.1.107?

Fonceur
02-13-2011, 11:45 AM
Is there another IP address I should use for Host other that 69.132.95.42 or 192.168.1.107?
The first one can be reassigned by your ISP, so don't expect it to last forever, thus my recommendation... The second one isn't accessible outside your network.

As for what the issue with the port forwarding might be, that I don't see why it's not working...

gacevich
02-13-2011, 03:15 PM
The first one can be reassigned by your ISP, so don't expect it to last forever, thus my recommendation... The second one isn't accessible outside your network.

As for what the issue with the port forwarding might be, that I don't see why it's not working...
I'd be willing to risk reassignment of the 69.132.95.42 address if I could just get it to work.

Is there a setting somewhere else in CQC (admin interface, cqc internet server?) that I can check as a possible culprit?

Dean Roddey
02-13-2011, 03:55 PM
I'd be willing to risk reassignment of the 69.132.95.42 address if I could just get it to work.

Is there a setting somewhere else in CQC (admin interface, cqc internet server?) that I can check as a possible culprit?

The first thing to do is see if you can ping the address from outside. That will see if you are getting there at all. If not, then work on that, else it's more likely something internal within the network.

wuench
02-14-2011, 05:00 AM
I telneted to your ports just fine on your 69. public address. So network communication seems to be working. You just need to point your RIVA client at that address (or setup DynDNS if you want a friendly name as mentioned above).

Also you will need to setup a default template on your RIVA user for it to work (under Admin interface/Users)

MikeA
02-14-2011, 08:05 AM
One more thing to look at. Why is your subnet mask 255.255.248.0? All of mine are 255.255.255.0. I am not sure what the submask even does, but it may be something to investigate. With 255.255.255.0, I have had no problems addressing multiple computers/devices on my network from the internet via port forwarding.
On the other hand, the subnet mask may not be a contributor to your problem at all. Just a thought.

wuench
02-14-2011, 08:47 AM
The netmask is coming from his provider, that is fine. It tells you the size of the network. A 24-bit mask (255.255.255.0) allows for 254 hosts on a network. A 21-bit mask (255.255.248.0) allows for 2046 hosts on that network. Basically the number of bits tells you how much of the address space is network and how much is allowed for hosts.

gacevich
02-14-2011, 10:46 AM
Wuench, Mike, Fonceur and Dean:

Thanks for feedback. I just put in the 69....public address while at work and everything worked fine. Didn't change anything from yesterday. Baffling. I'll check when I get home, but historically, when at home and connected via my wi-fi, I get timeout problems with the 69. public address in the Host ip address. Now that riva is working away from home, should I reasonable expect it to work fine at home, too?

wuench
02-14-2011, 10:54 AM
Not all routers allow you to hit the outside address from inside. If you can't hit that address you may need to configure two profiles, the RIVA app allows you to specify a default WIFI profile you point to your 192 address and another 3g profile to point to your 69 address.

I had this issue too until I loaded DDWRT on my router...

gacevich
02-15-2011, 03:01 AM
Wuench,

Indeed my iphone failed to connect when I got home last night. I would appreciate a bit more guidance on how to solve the issue. I looked at the two technical documents that Dean has posted on the home page and didn't see how to have two profiles for one device. Can you lead me a bit farther on this one so I can put two profiles in action.

Also, I looked up DDWRT and my Linksys router is listed as supported by one of the versions of DDWRT. Do I need to both generate two iphone profiles for each family members iphone and install DDWRT on my router?

Thanks,

potts.mike
02-15-2011, 05:39 AM
Indeed my iphone failed to connect when I got home last night. I would appreciate a bit more guidance on how to solve the issue. I looked at the two technical documents that Dean has posted on the home page and didn't see how to have two profiles for one device. Can you lead me a bit farther on this one so I can put two profiles in
Thanks,

In the settings in the RIVA client on your phone make two login profiles. One using your internal ip the other using the external one.

gacevich
02-15-2011, 08:27 AM
In the settings in the RIVA client on your phone make two login profiles. One using your internal ip the other using the external one.
Oh...would then be the case that when at home I use my "@home" profile and when away from home I use my "away" profile? That sounds too easy but I just created the two profiles and will test upon ariving home.

Does dual profiles eliminate the need for DDWRT?

wuench
02-15-2011, 09:17 AM
Oh...would then be the case that when at home I use my "@home" profile and when away from home I use my "away" profile? That sounds too easy but I just created the two profiles and will test upon ariving home.

Does dual profiles eliminate the need for DDWRT?

Yes, you just need the dual profiles.

Bauer83
02-22-2011, 08:50 PM
Not sure of a better place to put this, but I have recently upgraded to WHS for my server, and now I am unable to connect to the Riva server. I have the firewall turned off on the WHS, and I know that I was able to access the Riva server on another computer on the same network so I doubt it is the router.

I continually get the connection refused when trying to access on my ipad, and even when I run the Remote Viewer on the WHS server, I get the error message Connection Operation Failed. Something must be blocking the port, but I cannot figure out what is.

I am hoping someone has went through the same issues I have, as I cannot solve this thing for the life of me.

Dean Roddey
02-22-2011, 09:21 PM
Are you sure you installed the RIVA server on that machine? Is there a CQCRemvSrv.exe running there?

Bauer83
02-22-2011, 09:34 PM
Are you sure you installed the RIVA server on that machine? Is there a CQCRemvSrv.exe running there?

It is installed, but it does not appear to be running. If I double click on it, it loads up then exits instantly.

Dean Roddey
02-22-2011, 09:47 PM
It is installed, but it does not appear to be running. If I double click on it, it loads up then exits instantly.

That would likely only happen if it's not licensed. Did you install the right version of CQC and use the right license file for 3.4 that includes the RIVA server stuff?

Bauer83
02-22-2011, 09:52 PM
That would likely only happen if it's not licensed. Did you install the right version of CQC and use the right license file for 3.4 that includes the RIVA server stuff?

Can't see how I didn't. I installed 3.4.13 and used the license file that was sent on the weekend when I fired you an email.

Dean Roddey
02-23-2011, 10:05 AM
Can't see how I didn't. I installed 3.4.13 and used the license file that was sent on the weekend when I fired you an email.

Did you enable the RIVA server? If you installed over an older version that didn't have it enabled it won't be enabled by default. You'll need to do a fully custom install pass and enable the server.

znelbok
03-03-2011, 08:27 PM
I recently did up upgrade of my phone to the latest iOS which supports multitasking.

Before, when I pressed the home button, it would close the app and then when I opened it again, and I was on my wireless network, it would start up again and re-connect with out any user interaction.

Now that we have multitasking, the client is not being closed off, and when I open the app again I often get a broken pipe or socket error message, which means I have to close the message and then press the button to start it again.

To me this is a backward step, the multitasking is not better for this at all.

How do we stop this from happening? Can we close the app instead of just moving it to the background?

Mick

brianmount
03-04-2011, 05:46 AM
I don't think there's an easy way to turn off backgrounding, unless I do it universally for the application all the time, which is not what I think people want. What I need to do instead is catch these errors due to stale connections and reconnect automatically. I have done this for a number of errors, and I think your experience will be much improved when we release the new version in a few weeks. Just to be sure I have seen all cases, though, if you can send me a list of the errors you see, together with whether they say "Read Error" or "Write Error", I will make sure that those errors are being handled. Thanks.

Fonceur
03-04-2011, 06:47 AM
Now that we have multitasking, the client is not being closed off, and when I open the app again I often get a broken pipe or socket error message, which means I have to close the message and then press the button to start it again.
Typically, one issue with sending tasks to the background on Android/iOS devices, is that the OS is free to kill some threads in it, which can be really bad if it picks the TCP listening thread or other critical ones... ;)

SamVimes2
03-04-2011, 09:42 AM
the iphone is a finicky beast when it comes to the multi-tasking, as fonceur said. as brian said, the new version coming soon will make big strides on this specific issue. last time he came over, i think my wife asked him "what @#$% is a broken pipe?"

Dean Roddey
03-04-2011, 10:07 AM
Killing individual threads within an application is just flat out bad design of the worst case, unless I'm misunderstanding what it implies. That is almost certain to break any program. No application could be written to correctly deal with any of it's threads being randomly killed.

wuench
03-04-2011, 10:44 AM
On the Iphone an application needs to be prepared to be shut down at any time. Before multitasking was enabled a phone call would end your app. That's just part of the deal in developing on a platform with such limited resources. Multitasking doesn't really change things, now programs are just put to sleep when backgrounded and are still fair game to get killed when necessary. The IPhone/IPad doesn't have an easy way to shut down an app after it is launched. It takes care of that for you automatically. You can kill apps but most people probably don't.

There are a few exceptions now though where an app can be allowed to get time in the background to run. Brian mentioned the 10min continued execution, also if it is a media or GPS app you can get some background cycles, but all of this stuff is policed by Apple so that those apps don't run down the battery by constantly keeping the radios running.

Dean Roddey
03-04-2011, 12:46 PM
Being fully shut down of course is understandable. I was responding to the statement that individual threads would be killed, i.e. not kill the application but threads within it, which would make no sense to me at all.

Fonceur
03-04-2011, 01:41 PM
Well, that's what I understand from the official Android development site, but I could be wrong:

A process holding an activity that's not currently visible to the user (the activity's onStop() method has been called). These processes have no direct impact on the user experience, and the system can kill them at any time to reclaim memory for a foreground, visible, or service process. Usually there are many background processes running, so they are kept in an LRU (least recently used) list to ensure that the process with the activity that was most recently seen by the user is the last to be killed.
OTOH, if the process is really the whole app, then it doesn't matter...

batwater
03-04-2011, 02:00 PM
the iphone is a finicky beast when it comes to the multi-tasking, as fonceur said. as brian said, the new version coming soon will make big strides on this specific issue. last time he came over, i think my wife asked him "what @#$% is a broken pipe?"

:shock: Oh, I can so relate to that. If I'm having to explain this then, well, game over. It's supposed to make them happy, not pissed off, right?

-Ben

1080iAddict
03-14-2011, 09:08 AM
I am trying to set this up. I am on Verizon FiOS and when I try to port forward to 13516 or 13517 the FiOS router tells me those addresses are 'not permitted' to be forwarded. I have forwarded other addresses, including a HTTPS port at 444 for my Insteon ISY (because I am using 443 for something else)

Questions:

1) Anyone ever heard of this before on FiOS or elsewhere that these specific ports cannot be forwarded for some reason?

2) can I just use ports 445 and 446 instead? (provided I re-run the CQC setup on the server to select these ports during setup and make the change on the iPhone app also)?


I am trying to make sure I am not doing something wrong on the FiOS router.

Thanks

Fonceur
03-14-2011, 09:56 AM
when I try to port forward to 13516 or 13517 the FiOS router tells me those addresses are 'not permitted' to be forwarded.
You could try to see if they don't like those big port numbers for incoming, outgoing or both (might require a "virtual server" to use different incoming/outgoing). But otherwise, changing both side of the RIVA communication should work.

1080iAddict
03-16-2011, 06:50 AM
OK I got this working with the correct ports. Instead of selecting 'both udp/tcp' I only selcted 'tcp'. That worked - and you gave me the idea so thanks!


My only wish is that we could stream audio from a particular pc's sound card to the iphone/ipad at the same time the RIVA client is open. Man that would be killer.

I am a firefighter (volunteer) and I have a streaming audio app on my system from a Uniden scanner. The programming of the scanner is controlled by CQC so I can control which talkgroup I wish to monitor, etc. VLC media player plays the streams - and VLC also is controlled by CQC. So on the 4 touchcomputers in my house, i stream to each touch panel and from any touchpanel i can control volume and channel selection.

After getting RIVA set up, I set up a template and I can successfully control the scanner over the WAN through the router (way cool). But no audio.

So instead I am using Wyse PocketCloud Pro on my iPad to remote to my home desktop - and PocketCloud Pro does pass audio to the iPad. So basically I set up a CQC IV icon to pull up the scanner template on launch of the IV (for that icon) in full screen mode. I can now listen to the scanner and control it on the iPad in a WAN environment. VERY cool.

BUT--- if i could listen to it via RIVA that would be the bomb. Unfortunantly while PocketCloud multi-tasks it kills the audio when its in the background - or i would have been able to stream the audio, background PocketCloud, and control CQC via the RIVA.

Anyway - sorry for the long post. All I am saying is that adding audio streaming to RIVA would be awesome.

potts.mike
03-16-2011, 07:41 AM
I wonder if the vlc iPad app can stream in the background?

SamVimes2
03-16-2011, 08:18 AM
that's a pretty interesting use case. is it just iRIVA that kills the background audio, or you don't get it at all once you've backgrounded the Wyse app?

to be honest, streaming PC audio is likely outside the scope of the RIVA protocol, but I have found the Wyse forum to be pretty interactive. You could suggest to them that they implement the background audio multi-tasking API (like pandora, for example), if they're not already. We might have to do a little work in iRIVA to make sure its sounds respect that, but I think that should be pretty easy.

1080iAddict
03-16-2011, 09:14 AM
The Wyse product kills background audio when backgrounded. It has nothing to do with cqc client.

Good idea I'll register and post in the wise forum.

SamVimes2
03-16-2011, 09:51 AM
I'm far from the expert, but it appears that iRIVA could mix its sounds on top of background audio by changing from the default to AudioSession.category=AVAudioSessionCategoryAmbien t. I'll write a note to the dev.

Bringing this thread back to original topic, the 1.6 update is submitted to the app store. See the full change log here (http://www.mountford.net/cqcclient/changes.html).

1080iAddict
03-16-2011, 11:27 AM
I'm far from the expert, but it appears that iRIVA could mix its sounds on top of background audio by changing from the default to AudioSession.category=AVAudioSessionCategoryAmbien t. I'll write a note to the dev.

Bringing this thread back to original topic, the 1.6 update is submitted to the app store. See the full change log here (http://www.mountford.net/cqcclient/changes.html).

I would be MOST appreciative if this could be done! Aside from my unique application, i can see all sorts of uses to incorporate 'real' audio (as compared to "real audio" lol) to the iRIVA!

SamVimes2
03-16-2011, 11:47 AM
we'll definitely take a look. i think that part is easy.

but just to be clear, this won't fix your problem UNLESS Wyse implements the background audio API (or you find another way to get pc soundcard --> iPad that implements that background audio API)

1080iAddict
03-16-2011, 05:32 PM
we'll definitely take a look. i think that part is easy.

but just to be clear, this won't fix your problem UNLESS Wyse implements the background audio API (or you find another way to get pc soundcard --> iPad that implements that background audio API)

I just want the Wyse audio technology implemented into iRIVA!

Bauer83
03-19-2011, 09:48 AM
Since upgrading to 3.4.14 I have been unable to get gestures supported in the iPad app. I am wondering if anyone has upgraded to the latest version of CQC and has gestures currently working? For my templates, I use swipes of course to scroll through lists.

AceCannon
03-21-2011, 05:14 AM
The new update seems to have made my installation much more stable as far as connects / reconnects. I don' think I have seen any more errors at all.

(However, I am between iPads, so I can only speak for my iPhone4)

My volume button graphics are displaying some newly-erratic behavior, but it does not seem to effect the functionality of the interface.

Also, the update has solved my problem with not being able to run my interface is low-res mode on the iPhone4. It works in either mode now, which is quite cool. Sometimes fitting the entire template on the screen at once is helpful.

brianmount
03-21-2011, 05:36 AM
Can you describe the nature of the erratic graphics? I made some changes to try to improve performance, some of which could in theory cause problems, since I am no longer implementing the RIVA protocol as strictly. But I didn't see any problems in any of the templates I tried, so I was hoping everything was OK.

Also, there is a new optimization setting in the configuration. Basically, if you lower the optimization level, it will follow the RIVA spec more faithfully. Can you try decreasing the optimization and check whether that has any effect?

AceCannon
03-21-2011, 05:53 AM
Can you describe the nature of the erratic graphics? I made some changes to try to improve performance, some of which could in theory cause problems, since I am no longer implementing the RIVA protocol as strictly. But I didn't see any problems in any of the templates I tried, so I was hoping everything was OK.

Also, there is a new optimization setting in the configuration. Basically, if you lower the optimization level, it will follow the RIVA spec more faithfully. Can you try decreasing the optimization and check whether that has any effect?
Tough to describe, but: The two volume buttons are stacked on top of each other, one for up, one for down. When pushing one or the other, the graphic for up will suddenly take up the entire space that is supposed to be for both the up and down graphics. Both buttons are still there and function fine, but it will intermittently appear as if there is only the up button, all stretched out lengthwise.

Perhaps a picture would explain it more fully. Will tinker with the optimization settings when I get home.

(I hope my overwhelmingly positive take on this update is not overshadowed by this graphic issue! It seems we are always focused on the next "problem" immediately after a significant improvement is deployed. Nature of the beast, I suppose).

wuench
03-21-2011, 06:31 AM
Yeah, it is definitely a lot snappier. Reconnecting automatically for me, and the buttons always highlight now (with the expected 3G delay).

brianmount
03-21-2011, 12:45 PM
That does sound like maybe the optimization setting will fix the problem. If so, maybe you can make a toy template for me to connect to some time, so I can try to debug the problem and see whether anything can be done to avoid this problem while still keeping the better performance. If not, you may need to stick with a lower optimization setting.

SamVimes2
03-22-2011, 01:46 PM
Can anyone else reproduce Bauer83's issue with the gestures on .14? I am still running .11 - I'll be able to upgrade this weekend.

Bauer83
03-27-2011, 04:43 PM
Can anyone else reproduce Bauer83's issue with the gestures on .14? I am still running .11 - I'll be able to upgrade this weekend.

Were you able to give this a test this weekend? I am now on .15, and still seemed to have lost the finger swipes and gestures.

SamVimes2
03-29-2011, 06:12 AM
I've not had a chance to test it yet, sorry. I will try to this week.

SamVimes2
03-31-2011, 02:14 PM
Ok, I upgraded to .15, and my gestures (mostly single finger swipes) are working on iphone4 and iPad1.

Which specific gestures are you using? Can you list your settings here?

brianmount
04-01-2011, 06:12 AM
Bauer83: Just to make sure, you don't have the Gesture Hot Keys setting turned off, do you?