Technology stack required for development of WEB video conference application? - java

We have requirement to develop a full fledged WEB application which should support the following functionality in any browser/tablets/android/ios?
video conference one to one.
video conference one to many.
screen sharing.
video/screen recording.
I have already gone through WebRTC which has browser compatibility issues on IE and Safari for video chat and it seems the screen sharing works only on chrome to chrome browser.
Can anyone help me on technology stacks to achieve above?

At this point in time, the best way to do the above is to write plugins for the IE and Safari that do not (yet?) support WebRTC and use WebRTC for the Chrome and Firefox. You might be tempted to also write plugins for Chrome and Firefox but they are phasing out plugins so that is not a good long term solution.

Try http://skylink.io/
They are already providing plugins for IE and Safari alongwith a stack of SDKs to build an application on top of it.

Related

Java Headless browser with Flash Support

I'm looking for a fast and reliable headless browser for Java that can interact with flash elements. I have already looked into PhantomJS, but there are too many errors when I try to run tests with PhantomJS on my target website. It also doesn't have flash support at all. If anyone knows of a headless browser that can interact with flash elements that would be great! Thanks!
Edit: So it appears that I need to state a problem and what I've done to try and solve it. The problem is that twitch.tv uses flash for many elements on their website, and when I try to run a headless browser such as HTMLUnit in Java or PhantomJS, they can't interact with those flash elements. I would like to know a workaround/solution for how I can continue using headless browsing but be able to interact with SWF elements.

Browsergame for PC and tablet - which plug-in to rely on?

I am part of a student project working to create a free educational chemistry browser game, but we can't decide on which plug-in to use (Flash, Java, Unity...).
The game will consist of 2d graphics and short movie-scenes and it will mainly be a drag-and-drop game.
We want it (the plug-in) to be supported for the next several years and compatible with most (if not all) PCs and tablets - so Flash is already out of the question.
We're horrible programmers, but we have some funding, so we will outsource the actual programming, which means that it is also relevant whether we can find people able to work with the plug-in.
So which plug-in would you recommend to our needs? Pros and cons are very welcome.
Also please do tell if I've left out some relevant points!
I think the best option is to avoid plugins entirely.
Apple iPad and iPhones don't support flash as you know, but they don't support any other plugins either.
Flash is supported on most (but not all) Android tablets and phones up to and including Android 4.0. But Adobe (makers of the flash plugin) have discontinued it and said that it will not be supplied for Android versions above 4.0.
Even on Android 4.0, users who have installed and are using the Chrome browser instead of the default browser, will not be able to view flash because even though the Android 4.0 OS might have a flash plugin, the Chrome browser when installed on Android 4.0 has not been designed to use it.
Android apps are written in Java, but the Android web browser doesn't actually include a plugin for running Java applets. Plugins are basically being phased out across the board, regardless of the OS or browser.
The best strategy:
To reach the widest number of users
Regardless of the type of PC, tablet, or browser they use
And which will not result in the game becoming unsupported by browsers in in the long term
is to design your app using web standards.
These days, HTML 5 Canvas, CSS, JavaScript, and other technologies, which have been standardized to be supported across all web browsers, allow complex animations/graphics inside the browser, support drag and drop, and support playing video, without using any plugins at all. You could look at outsourcing development to a team which knows these technologies.
Since you are also looking at video, be aware though that there is an ongoing debate surrounding the <video> tag in HTML 5 (the feature which allows videos to be played without plugins). Basically it has been agreed that all browsers will allow videos to be played without plugins, but the actual format of the video which the tag should support, was left out of the standard (due to disagreements) and so has not been decided.
The candidate video formats being debated include WebM/VP8, H.264/MPEG-4 AVC and Theora.
The workaround to this issue, is that the HTML 5 <video> tag allows you to list multiple sources for a video (i.e. multiple files on your server, all for the same video but in different formats). So if you save your videos in the most common formats, the browser can then choose the best format that it supports.
The HTML 5 video format debate therefore would not impact the design of your game (much), it just might give you a headache in needing to save videos in multiple formats. If you do this then your game would have wide compatibility across all of the major browsers.

how to make website compatibility for mobiles as well as pc's

i searched on net for web apps compatibility on mobile and pc browser finally i decided.make 2 websites one is for mobile browser and other is for pc browser.how to find out requested is mobile or pc and how to redirect website for mobile or pc.
If there is any other way for compatibility.Please let me know and give your good suggestion for this
Thanks in advance
Well, actually you can do it in different ways. The best solution is some script which checks the UserAgent first. I kow, its not that save, 'cause its easy to change the agent but why should someone do it and with which benefit of it ;)
So this should be your solution. Also you can optimize the websites to the specfic target device/browser. For example, for devices like iPhone, Android or WinMob you ould use Javascript Frameworks to work withthe website content.
I made a little post on another question which could help you aswell: Is there an equivilent of jQTouch that covers iPhone, Android, WebOS and Blackberry OS?
This is not as simple as one may think.
First, determine if the web app is accessed from a mobile device is not easily done. What is a mobile device? Is iPad a mobile device? Should all devices with a resolution less than 1024*768 be handled as "mobile devices"?
Second, designing a web application to make it compatible for all different devices - which in turn can have many different browsers installed - is not a piece of cake.
But fortunately there are some solutions as well.
There is WURFL -
http://wurfl.sourceforge.net/ - which
is an open source alternative.
Device Atlas -
http://deviceatlas.com/ - a
commercial alternative.
Mobizoft C4M - http://mobizoft.com/ -
another commercial alternative with
both an API as well as some
prepackaged solutions.
Wordpress mobile pack - http://wordpress.org/extend/plugins/wordpress-mobile-pack/
Any of them can be used to switch a mobile device to a special mobile adapted site. They can also be used to build/adapt a mobile friendly site, depending on what you need.
When you have built an mobile friendly site you should first of all test it devices with different resolutions/os/browsers. Another useful site is http://mobiready.com where you can validate the site.
A final tip is to consider which devices to support. Only iPhone/Android? Maybe have a full version for these devices and a simpler version for all other devices. Depends what your requirements are.
Good luck!

Developing a mobile version of a site

I'm working on a large website project that makes heavy use of in-page graphing of data. To make the graphs interactive (the old paradigm was to post data to the server, have the server render the graph as a jpg, then send it back to the browser) we've started building the graphs in Java. It's a smooth system, but the website is still very much computer-dependent.
I'd like the site itself to work as a device-aware web application - switching layouts based on user agent strings to render a mobile-optimized version for cell phones and PDAs. But I'm concerned about the nebulous support for 3rd-party applets (Java, Flash, etc) when it comes to platforms like the iPhone.
So if you were building a web application that could be accessed either through a standard web browser or an iPhone/Blackberry/Palm device, what would you do to still display interactive graphs? Is there a workaround for using Java on the iPhone? Is there another platform we should pursue all together?
If you want to support more browsers, you may want to look at using Javascript to help decide what to do.
You could generate the graphs using the canvas element, and if the browsers doesn't support that element then you could use a Flash app, and if that doesn't work, have the graphs developed on the server and use the <img> tag and just refresh.
This third approach could also work if the browser doesn't have javascript enabled.
This way you can handle the various situations and get away from having to run Java in the browser.
The iPhone and Android browsers support HTML5 features such as "canvas", which you may want to look into. The browsers on BlackBerry phones are somewhat behind the times - they are finally releasing a WebKit-based browser for their upcoming 6.0 OS but all of the current in-market devices are quite limited in terms of browser capabilities. For those devices you're probably best off just using a static server-generated image.
I would use a JS charts library and gracefully downgrade to images when you detect an older browser.

How to port web ui to desktop app?

I have seen a lot of people try to make a web ui looks like a desktop ui. However, most of the time i feel web ui is much more interesting than the desktop ui, with the help of javascript toolkit like jquery, gwt-ext etc.
My question is, how to port the web ui to desktop ui? Do I need to embed a javascript engine in java? css engine? html layout engine? That sounds like a lot of work to do.
Any easy way of doing this?
you can embed a web server in your app and you can embed a browser inside your app window. i know eclipse does this pretty well. it uses SWT to do the heavy lifting
http://www.eclipse.org/swt/snippets/#browser
check the Browser section
your web server doesnt even have to be a proper web server, it just has to set the content, and can query / change it on the fly. the javascript on the page can even interact directly with your app.
you should be even able to use crazy web frameworks like
http://echo.nextapp.com/site/
or
http://code.google.com/webtoolkit/
or even run a ruby site through JRUBY
or make really complex apps using the new HTML5 engine [canvas/video tags] (if your client has the new mozilla installed)
Adobe AIR technology solves this exact problem. The code you develop using Flex can be rendered in the Flash player plugin of a browser or the same code can be easily packaged as a Desktop application that runs on the AIR runtime.
Have you seen Appcelerator's Titanium Desktop
This is one of the best solution for you (i think!)
You write the javascript and html code, and the titanium SDK creates the Desktop application of the same
There is support for Python and Ruby.
Must try :
http://www.appcelerator.com/products/titanium-desktop/
if you are a Ruby programmer then you must also see this
http://www.rubyinside.com/bowline-rails-for-the-desktop-2183.html
Prism from Mozilla is made for this goal, exactly. It's out of beta now too, I believe.
Check Google Gears y Adobe AIR
It not 'a lot of work to do', it's a huge amount of work to do - you would in effect be writing you own browser and it'd never come close to the poplar ones out there, simply because you wouldn't get the level of feedback something like Firefox gets.
If you're trying to avoid address bars, menu bars, etc these can be switched off in all the popular browsers and so to the user the appearance would be that it's more application like with only the rich content of the HTML visible.
Sounds like JavaFX would be good for you?
http://en.wikipedia.org/wiki/Javafx
Try XULRunner from Mozilla. If you have developed extensions for Firefox, then this is the exact same thing. XULRunner contains the Gecko engine, so it can render XUL and HTML with CSS, and it supports JavaScript with many useful XUL Components, like file read and write, directory browser and network tools.
Because it supports HTML you can in effect make a webpage and have it run like an application. Also it is cross platform, so it will run on Windows, Mac and Linux, anywhere Firefox runs actually.
There is some information on creating XULRunner applications on the net, but since it's so similar to making Firefox Extensions, you can just google for that. A good Tutorial for getting started is this one.

Categories