Sunday, February 27, 2011

Keyboard Control

Some users run ReelPortal on a Home Theater PC, and wanted to use their remote control to operate the software.  So I just added some rudimentary keyboard controls:

button1=1
button2=2
button3=3
button4=4
button5=5
button6=6
button7=7
button8=8
button9=9
button10=0
exit=q
fullscreen=f


For example, pressing 1 is equivalent to clicking on button 1, and press 'q' to exit.

Caution:  When running the web client in a browser, keyboard input is disabled by the Flash Player when the app is in Fullscreen mode.  Press Esc to switch back to Normal mode.  This is not an issue if you run ReelPortal on Adobe AIR.

The below applies to Adobe AIR version only:

To modify the keyboard mapping to your liking, just create the following file in the directory where ReelPortal is installed, and change the keys on the right hand side of the "=" sign.  Do not change the order of the buttons or delete any buttons!  It will mess things up.

keyboard.txt:
button1=1
button2=2
button3=3
button4=4
button5=5
button6=6
button7=7
button8=8
button9=9
button10=0
exit=q
fullscreen=f


As always, I welcome any comments/suggestions.

Thursday, February 24, 2011

iPhone & iPad Port

Adobe just released AIR 2.6 SDK, which seems to support cameras and microphone on the iOS devices.

On iOS devices with a both a front- and a rear-facing camera, you can only capture video from one camera at a time. On Android devices, you can only access the rear-facing camera.

Too bad, they didn't update it for Android to access multiple cameras.  I will look into porting ReelPortal to iPhone/iPad now.

Update:  Not owning any Apple devices (iphone/ipad/mac), this task may not be as easy as I thought.  I'd need to find someone with the devices to help test.  Any volunteers?


Update:  (June 4 2011)  First beta available for testers.  A few things are not working yet (text chat), but video/audio are streaming okay.  Both front and back camera work!

Update: (July 18 2011)  Version 1.0.0 for iOS has been submitted into the App Store, waiting for approval.  Text chat is supported.  Performance seems a little sluggish compare to Playbook and Android.  I wonder if it's due to the single core CPU, or the Adobe iOS packager, or both. 

Update: (July 23 2011)  See this new post.

Sunday, February 13, 2011

Calling Others

To make a direct call to someone, just click one of the side window with a "blue head" on the right, and a "Make Video Call" window pops up, then click on the ">" and a list of names appears. Click on any nick to place the call.

If you did not join a room, then the list would contain the names of people who also did not join a room.  This provides a way for people who do not know each other to make contact.

If you joined a room, then only people who are in that room are listed.  This allows you to avoid being seen/called by strangers.

Wednesday, February 9, 2011

Android 2.3 Front Facing Camera Access

Even with Android 2.3, which supports multiple cameras, software written for Android 2.2 would still not be able to access the front camera.  The reason is the old interface is hardcoded to search for the rear camera.  I've posted more details at this thread:

http://forum.xda-developers.com/showthread.php?t=947018

Hopefully someone can make that simple change and recompile it.  It would allow all video chat apps to work with the front camera, not just mine.  As for Android 2.2, each device provides a specific API to access the front camera, so one would need to change the open() method to invoke that specific API, and of course, recompile.

Looks like this multiple cam access feature has been requested since 2008 (link), if not earlier, and now we finally see it in 2011.

Thursday, February 3, 2011

Compatible Android Devices

The following devices are known to work correctly with ReelPortal app, with the appropriate setup (ROM, AIR, Dashboard, etc). Note they all have a single front camera (no rear camera):

- Viewsonic gTablet (more details)
- Archos 70/101 Tablet (more details)
- eLocity A7 (more details)

The app runs on other Android devices, but only the back camera would work.  So it's not practical for doing video chat.  I'm disappointed to find that while Android 2.3 supports multiple cameras natively, Adobe AIR 2.5.1 can access only one (the rear one).  So hopefully Adobe hurry up and release an update that'd support multiple cameras.

Sunday, January 23, 2011

New Version (1.0.1)

I just released this version to the xda forums for testing.

http://forum.xda-developers.com/showthread.php?t=908613

Changes:
-  option to save nickname and room last used (you can clear it by set the fields to blank, then save).
-  added new field to enter the Server ip address, in case you want to run your own server (if not set, it defaults to the last used server)
-  hide that annoying red TOS box when you check it, and click Save.
-  when you enable the webcam, you can set its resolution and frame rate.

After a few days of testing, I will upload it to AppsLib market.  The executable for the Server (version 1.0.1) should be available shortly.



Sunday, January 16, 2011

Android Testing

So far the ReelPortal software seems to be most usable on the Viewsonic G Tablet.  The Samsung Galaxy Tab has a couple of major issues:  can't access front camera, and poor performance.  The first issue is common for Android 2.2 devices with dual cameras, because the OS doesn't support 2 cameras natively.  However, Android 2.3 will have support, so it would be a non-issue once that's released.  The poor performance is probably due to the single core, whereas the Viewsonic has a Tegra 2 dual-core CPU.  The Viewsonic also has a single front camera, so it works for ReelPortal.  Someone was able to do a 4-way video conference using the Viewsonic G Tablet and 3 PCs.

Link to Viewsonic thread:  http://forum.xda-developers.com/showthread.php?t=908613

Remember to join room "xda" (all lower case) if you want to test with other xda members!

Tuesday, January 4, 2011

Published to AppsLib

The Android version is currently available on AppsLib market:

http://appslib.com/applications/app.html?ida=31520

If you can't access AppsLib, you can download the apk file here:

You'd need to have Android 2.2 (froyo) on
your device. Please follow these steps to install:

1) Install the free Adobe AIR 2.5 runtime from the Android Market

2) Enable you device to install apps outside of Android Market
(Go to Applications—> Settings –> Applications—> Turn ON “Unknown sources”)

3) Download and install the reelportal.apk file from

http://www.reelportal.com/files/theme/download.html


Reelportal is a room-centric application. While you can call other
people if you know their nicks, you will automatically connect to
everyone in a room when you enter it, without knowing their nicks.

Audio test:

a) On your computer, go to www.reelportal.com.
b) Join/create a room "X" (or any room name you want)
c) Enable the microphone (button 9 should go green)

d) On your android device, launch the reelportal app
e) Join the same room "X", to automatically connect to your computer
f) Enable the microphone (button 9 should go green)

Your computer and android device should now be connected and streaming
audio to each other. Is the audio intelligible on both devices? Is there echo on either?

If the audio test was OK, then follow on with the webcam test: enable webcam (button 9 & 10 should go green) on both devices.

Your computer and android device should now be streaming video/audio to each other. Video puts a very heavy burden on the CPU, so it may not work well, depending on your device.

Saturday, December 18, 2010

Porting to Mobile Platforms (via Adobe AIR)

A port is in the work currently.  Android 2.2 tablet/phone and BlackBerry tablet are the first targets.  A prototype is running on both, but a few things are not working.  The GUI needs some changes to accommodate the various screen sizes and resolutions.  Looking for testers.  Please PM if interested.

Saturday, December 4, 2010

Persistent Connection

Just updated the client to maintain the connections "forever".  If your internet connection disengages and reconnects at a later time, the client will reestablish the connections that you had previously, and streaming would continue as before.  With this, you can have permanent connections with family and friends.  When you are not conversing, just turn your microphone and webcam off.  The other side would do the same.  The network bandwidth and CPU usage is minimal in this mode, since there are no active media streams.  When you want to start a conversation, just turn on your microphone and call to them.  Hopefully, they are there and respond in kind :).

This usage is ideal for mobile devices (smart phones, tablets, netbooks), that can use multiple ways for internet connection (wi-fi, 3g, 4g, etc).  Switching between service providers should only cause momentary disruption.