Tuesday, October 4, 2011

Front Camera on Android Works Now!

Adobe AIR 3.0 is now available on Android Market.  Install it now, and ReelPortal will be able to access your front camera (you must have Android 2.3 or above).

Adobe also indicates that AIR itself can be packaged with the app as one item, so users don't need to install them separately.  I will look into doing this in the coming weeks.

ReelPortal is now on Android Market: 
https://market.android.com/details?id=air.com.reelportal.ReelPortal

Thursday, September 15, 2011

Web Client Auto Fill

Important:  You need at least Flash 10.3 in your browser for this feature.

You can have the ReelPortal web client automatically fill in these fields: name, room, and key.  To do that, you need to specify them in the URL of the ReelPortal web address.  Here's an example:

http://www.reelportal.com/?name=John,room=Test,key=123

You can specify any combination of the 3 fields.  If you just want someone to join you in a room with no key, just send them this URL:

http://www.reelportal.com/?room=MyRoom

All they need to do is click on the URL, enter a name, then click OK to sign on.

Wednesday, September 14, 2011

FaceBook Page

You can help spread the word on ReelPortal, by Like this FaceBook page:

ReelPortal on FaceBook

LimeTrip had created a video of ReelPortal on the Playbook here:

http://www.youtube.com/watch?v=H_K_IHdJQzo


If you decide to make a video, please let me know :).

Sunday, September 4, 2011

New Features Added

Note:  iOS users will have to wait for version 1.0.2 from the App Store.

The following commands have been added to the text chat window:

/j  [room] [key] - join or create a room
/p  [room] - join or create a Public room
/p - join the Main Public room
/r - list all public rooms
/w - list users in the current room
/w [room] - list users the specified public room.
/i [nick] - invite a user to join your room
/o - log out
/q - quit app

All public rooms shall have a "." (dot) prefix to allow users to distinguish them from the regular private rooms.  For example, a room name ".test" is public, whereas "test" is private.

Use the "/r" command to list all public rooms currently active.  Then use "/p" to jump between public rooms.  When you jump to another room, your video/audio connections to all users in the current room will be cut, and the user list of the new room replaces the old user list.  Also, there are a couple of differences between public and private rooms:

- private rooms automatically establish video connections between users in the room, whereas public rooms do not (text chat is available in both cases)
- private rooms have a limit of 5 users per room, whereas public rooms do not

The "/o" command logs you out and return you to the home screen at the start of the app.  You can then sign on as a different user to a different room, and perhaps use a different server, etc.

The "/q" command exits the app, just like the Exit button.  This command is not applicable on iOS, since you can exit via the Home button there.

Note that the original commands are preceded by the slash ("/").  However, in this NEW version, you can also use a period (".") instead.  So ".h" is the same command as "/h".

Future version will incorporate these new features into the GUI as well.

Friday, July 29, 2011

Forums Page

I've just added a page with forums, so users can ask questions and get answers here directly, instead of having to search through various forums.  And I don't have to repeat my answers all over the web.

ReelPortal Forums

Since the app currently treats every room as private, if you wish to make your room known to other readers, post it in the "Public Rooms" sub-forum.

I'm new at this forum stuff, so bear with me as I sort it out.  It will improve with all your feedback :).


Saturday, July 23, 2011

iPhone/iPad App Now Available on iTunes

Note:  ReelPortal will be available on other markets outside the U.S. once export paperwork is approved.

ReelPortal is now officially available on iTunes App Store in the U.S. and Canada.  At this time, I want to limit the roll out to see if the ReelPortal server can handle the increased load.

The original goal is to have many independent servers at different locations, so people can choose the server that works best for their location.  It would also avoid the single-point of failure scenario.  However, with limited budget, I can only afford one small server on the East Coast USA currently.

You can help out with a donation here.  Or if you can host a ReelPortal server for public use, that would help.  Otherwise, you can also click on the various advertisements on this blog ;).

Note: If you are on a single-core iDevice (i.e. not iPad2), set your video resolution to 320x240, because the CPU can't really handle the higher 640x480 resolution.

New to ReelPortal?  Click how-to-use.

Sunday, July 10, 2011

Adobe AIR 2.7 for Mobile Platforms

I'm disappointed to discover that only the desktop version (Windows/MacOS) of AIR 2.7 has echo cancellation support.  AIR 2.7 for all mobile platforms do not have it!  They should have used a different version number for them, since obviously, the features are different.

I was hoping 2.7 would solve all the audio problems folks had been complaining about.  There's no word of when Adobe will put this echo cancellation feature into the mobile versions.

Anyhow, the latest release of ReelPortal app (v1.0.5) has code to use it, just like the desktop version.  So it should automatically be enabled in whichever AIR version Adobe chooses to provide the feature.

Thursday, June 23, 2011

Miscellaneous Update

- Adobe AIR 2.7 is released for all mobile platforms several days ago.  Echo cancellation is in this release.  An update of ReelPortal for mobile platforms will be released in a couple of weeks.

- The iOS beta version has been running on an iPod Touch continuously for 2 weeks, without crashing.  It's being used as a home monitoring system.  This version (based on AIR 2.6)  is a little slow, but the release version will be based on AIR 2.7, which is much faster.

- Clustrmaps now shows "recent" visitors with more details, click on the map image on this page.

Saturday, May 21, 2011

Echo Cancellation Update

My original post on echo cancellation:  Echo Cancellation Issue

We've been waiting for Adobe to add echo cancellation to Flash.  It finally arrives in Flash 10.3, for the desktop PC only (no mobile devices).  It's not in AIR yet.

I've done some testing on Windows (Firefox), and it seems to work okay.  But sometimes there are still echoes, and I have to manually adjust the microphone gain to find the sweet spot (between 6 and 8 on my system).  To adjust your microphone gain setting, make sure your webcam is in the Main window, then use buttons 3 and 4.  You should see "Microphone Gain" value displayed next to the buttons when they are pressed.  It's not perfect, but we're getting there.

So if you are interested in testing it out, just download and install Flash 10.3 for your web browser, and when you turn on the microphone (button 9), you should see "Enhanced Microphone 1" displayed next to the button.  If you see just "Microphone 1", then echo cancellation is not supported for some reason (drop me a note).  Note:  According to the Adobe forums, Flash 10.3 may introduce some graphics problems, so I suggest install it on a test system if possible.

Mobile devices must wait for an AIR update that support this feature.  Or go the hardware route, use a bluetooth headset, or speakerphone:

Samsung HF1000 Speakerphone $10 after rebate (04/01/2011 -  09/30/2011)

(I have no affiliation with the above site, just found a good deal on it)

Wednesday, May 11, 2011

Not Getting Video?

Below is a problem a user encountered:

I tried reelportal on WiFi with no problems. But connecting on 3G I had no success. I could see my friend was in the room by clicking on a face, and seeing the info, but neither of us could see any video from the other. Any thoughts? I am using a Playbook paired with a Torch. My friend was on a computer.
 
Solution:

I think it's another firewall issue that's blocking P2P (UDP packets) connection. Try turn off P2P (button 7) in ReelPortal, tell your friend as well. P2P is faster/better, but the client/server mode is the backup in cases like this. You will have more lag though, because the streams are going thru the server.

Saturday, May 7, 2011

Switching Cameras and Microphones

Pressing buttons 9 cycles through all detectable microphones on the system.  Similarly, button 10 cycles through the cameras.  For example, if you have 2 cameras, pressing button 10 results in this order:  Camera 1->Camera 2->Disable Camera.  Then repeat.

Note:  Android devices can't switch to front camera, if there's a back camera on the device.  Adobe AIR needs to be updated to support it.

Video Quality Adjustments

There are 2 ways to adjust the video settings:

1.  The sender can change the resolution and frame rate of his/her webcam.  If the default of 320x240/6fps is too low for you, set it to 640x480/10fps, and you'd see a big difference.  It will take more network bandwidth though.

2.  Both the sender and the receiver can adjust the video compression quality via buttons 5 & 6.  These buttons adjust whichever video currently in the main (large) window (object-oriented concept):
  a)  When your webcam is in the main window, the adjustments allow you to adjust the video quality of your webcam which is sent to other people.  You cannot see this reflected on the window, because you are seeing the unencoded video from the webcam, but the receiver will notice the difference.
  b)  When someone else's video is in your main window, the adjustments allow you to change their video quality.  That is, your app is sending a request to their app to change their webcam quality.  Why do this? Because the higher quality, the higher bandwidth usage.  If you have 4 video streams coming in, you may want only the main window to have high quality, and the others in lower quality.  You can swap any video to the main window when desired, and readjust its quality.

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.