Remotely control desktop without downloading anything? How does join.me do it? - remote-desktop

How does join.me allow attendees to control someone else's desktop without requiring a download on their part? Unless we're mistaken, it seems like only the organizer is required to download anything.

I don't specifically know how join.me does their desktop sharing, but there are JavaScript-only solutions for the client, like http://kanaka.github.com/noVNC/, so that all you'd need is for the organizer to have a VNC client installed. SmartCode has a version of a VNC ActiveX control that almost certainly violates the VNC GPL (here), but it might be something you'd want to look into for the organizer-side.

Related

Does silverlight really solve browser compatibility issues?

I'm planning web application and considering silverlight as development platform. Will it help to solve browser compatibility issues? The app intended to be used on desktops only (no mobile).
Yes, it will solve browser compatibility issues, and could work on both Mac OS and Windows with the very same code.
The only drawback is that, the first time your user connect to your application, he will need to download the Silverlight plugin.
Awesome you would say? Well, unfortunately some people that probably never try to do something like image processing or advanced line of business application in a browser decide that plugins are not so cool and that you would be able to do the same thing with the magic power of HTML5.
We are still waiting to have the same possibility in HTML5 that we have in Silverlight or Flash, but plugins are already dead. At least as long as no big compay want to push them again.
So, my advice would be: don't start a project in Silverlight. You will have problems, even if you do not target mobile. For example it becomes harder and harder to find compatible good tools (like ReSharper, NCrunch, or even just a decent unit testing library). And in further release of Windows and Mac OS, it will probably not be supported at all (IE for Windows RT already does not support Silverlight).
Sorry man, Silverlight is dead, you arrive after the battle.
If your developing your application for an Intranet, I would say Silverlight is an excellent choice.
If you are developing for the Internet, use an HTML based language

Minimum requirement users must have to run a simple WPF browser application?

I am thinking of making a website using a WPF browser application, but would like to know the minimum requirement a client/internet user must have to access this website made by using WPF.
Please state even the very basic requirements, like does he need to run Windows or will even Mac and Linux do, with any browser to view the application?
Three main requirements:
User has to run the application under Windows;
The browser should be either Interned Explorer or Firefox;
The .Net Framework should be installed on user's machine.
One requirement is to have the .NET framework installed (same version as you used to build your application), so that means it will only run under Windows.
Also I think only Internet Explorer and Firefox support XBAP applications.
Also I assume that you know there is a lot of restrictions for you, the developer, on what is allowed or not compared to a full trust program. For example, the file system and registry among other things are restricted in a WPF browser application.

Solution for overlapping windows bug?

WPF is promising us a lot of niceties, but some of them don't live up to our expectations.
One example is the borderless window. So just this simple code added to the Xaml of the window:
AllowsTransparency="True"
Background="Transparent"
WindowStyle="None"
will make my it look nice like this: (ignore the ugly colors they got messed up during the screen clipping)
alt text http://img29.imageshack.us/img29/5759/withoutborder.png
Too good to be true?
Yes it is!
It looks nice, but once the user tries to select something from the ComboBox, he can't, because it opens behind !! - yes behind the window. Of course then he cannot see anything which is not very practical.
This is due to a known Windows XP bug, more here.
I was fortunate enough to be developig on an XP machine otherwise I wouldn't have found out about this until the negative feedback from my users would have hit me ... which makes me wonder, why this bug isn't mentioned anywhere, where this "great" transparent window feature is explained (e.g. books, MSDN etc.)
Even if the fix that is mentioned (link above) could work, I will not require my users to download a hotfix, just to make my windows look nice.
That's why I'm looking for a better solution, maybe someone figured something out?
Until then my windows will have to look like this:
alt text http://img29.imageshack.us/img29/1570/withborder.png
Not very enjoyable as you can see, so you can imagine my appreciation for any solutions out there.
UPDATE:
In the meantime I confirmed, that this is only an issue when using multiple monitors (in my case Extended Desktop).
After installing the fix, the problem is gone entirely (even with extended desktop).
Downloading the fix though was a pain. Why does Microsoft make you give them your email to then send you a link to a password protected file, which then needs to be extracted manually to be able to finally install the bug fix?
Are they serious?
Shouldn't they make it simple for the users to fix Microsoft bugs?
How can I tell my users (who may not be so computer inclined as we developers are) to go to some site, enter email (oh and captcha too - I guess Microsoft is afraid computers are stealing their bug fixes LOL) and then go through above described process?
Anyways, I'll stop here before the question is turned into an entirely different one which makes me emphasize that now even more I look for alternative solutions to the problem.
Yes, it is annoying when a feature like this doesn't work in an older OS and you need to support it. Here is how I would solve it:
Check the Microsoft license agreement for the hotfix download to make sure the following would be legal
Add the extracted .exe to your application (either as a separate file or inside your executable, extracted with GetManifestResourceStream, ReadAllBytes, and WriteAllBytes)
When your application starts up for the first time, check to see if you are on XP with Extended Desktop and if so, if the hotfix has been installed or you are on a newer service pack. If so, cache that fact in the registry so you can skip the check in the future.
If you are on XP with Extended Desktop and don't have the hotfix or the latest service pack, change the window background to be opaque and enable a menu option to install the hotfix.
If you are running for the first time as administrator, pop up a MessageBox saying there is a hotfix that allows window transparency and asking if you should install it. If the user says yes, run the hotfix install. If they say no, tell them the menu option is available if they change their mind in the future.
Or alternatively, if they are running on XP you could always run opaque and popup a message that your application "runs even better on Vista or Windows 7".

Are ActiveX applets dead?

Are ActiveX applets as a technology supported by Microsoft dead?
What are the alternatives to ActiveX to create extremely rich internet applications using Microsoft Technologies? (Silverlight does not cut it for me, as it doesnt give me access to serial ports - or does it?)
You can of course still make ActiveX applications, but know that they will only work with Internet Explorer, unless users of other browsers install hosting plugins, that aren't all that good anyway.
In either case, a web application that requires access to a serial port? Are you sure you're not better off with a desktop application instead? A simple refresh and you've cut off that serial port.
Not all applications belong in the browser.
If you want to launch an application via a web browser that can access the serial ports, one option would be to use Java Web Start with JavaFX as the rich interface API, and Java Communications for the serial port access. You could end up with a cross-platform application at the end as well.
Or just write a native application using your favoured Windows toolkit if you absolutely are restricted to using Microsoft tools.
ActiveX as technology is very much alive, and will remain for many years to come. But its usage for Internet is dead. ActiveX is to be only used from within windows stand-alone applications.
ActiveX as of 2015 is a dead technology that even the maker is no longer interested in continuing to use it. Here is something to read.
No, Silverlight is designed from the ground up to be completely sandboxed, no way to bypasss that (thank god).
If you need that kind of access, but are looking for an easy deployment, I would suggest building a Clickonce application.
There are restrictions, because I think by default they are not full trust, but that's the best you will get.
It's also going to be the only easy route if you need printing (unless you are willing to round-trip to a server to generate a PDF file).
If you need direct access to some hardware (like for a POS software with cash drawer, receipt printer etc), you need to go "desktop". Clickonce can give you some deployment options, XBAPs can give you the "browser experience", but you are going to have to make compromises based on what your "hardware access needs" are.
EDIT:
I didn't notice the Silverlight exclusion in the original question. My comment it not really applicable. Sorry!
I don't know that I would call ActiveX dead just yet, but I would be cautious if you are planning to build an application based upon this technology. My recommendation would be to use Silverlight. This provides much of the functionality that is commonly desired in ActiveX controls, but uses the newer .NET technologies.
There is alot of talk about using Silverlight for media playback, but it has many powerful feature that can also be used to create Line-of-Business applications as well. In fact there is a great podcast episode on DotNetRocks that discusses this exact subject.
Here are a few more links that might point you in the right direction:
Microsoft Silverlight Getting Started
Silverlight 2 and a Glimpse of Silverlight 3 by Scott Guthrie
To the best of my knowledge, Silverlight 4 still doesn't give you direct access to serial ports, but it does give you access to any local web cam and microphones now. You could presumably also run Silverlight 4 out-of-browser, which gives you access to COM objects, and you could write a quick-and-dirty COM object which wrapped serial port access. That said, I also agree with what folks said above about not all applications belonging in the browser.

Silverlight and Full Trust Issue

We are planning to build a new integration component that can provide us access to user's machine installed apps from our web site.
The first word that came to me was ActiveX, but our expertise with the technology was not the best in the past.
Thinkink a lit bit more, the work Silverlight also came to my head, but the full trust thing was one of the few things I remembered reading about the technology..
The question is: is there a way that Silverlight (2, 3, 4, whatever) can run as a full trusted application from within the browser?
Links are appreciated.
Filipe
Unfortunately, no. Full trust is a feature of Silverlight 4, currently in beta, and is restricted to out-of-browser applications.
Additionally, full trust SL4 applications do not have unrestricted access to the system (particularly file system), though this may change before before release (if I have anything to do with it).
Edit: If you are considering ActiveX (which is Windows/IE only), you might want to have a look at WPF, since it can run full trust from the browser (if it's in a trusted zone).
No, like Richard said, this is not at all possible inside the browser, even in SL4. There is a sandbox, and you live in it. You can talk to web services, other Silverlight applications or the browser.
By talking to the browser, I mean you can talk to the DOM and the Javascript engine. We needed to launch a Windows application and communicate to it via Silverlight. We accomplished this by putting a small ActiveX control in the web page. It is responsible for launching the WinForms application and handling inter-process communication to it.
This method has many drawbacks: It can only work in IE, and it only works in Windows. You might also run into permissions issues. The ActiveX component needs to be installed along with the desktop application, or as an additional download. The deployment story there is pretty awful, if you ask me.
In our case, the analysts were willing to deal with the restrictions for the re-usability of an existing application, and we consider it to be an optional feature.
Does it have to be a web application? sounds like you want a desktop app. It can be easiliy distributed with one Click deployment. Will work on windows only but since you were considering ActiveX sounds like that's what you need.
Well - if you're hosting the silverlight control from an ASP.NET application - Believe you have access to
Request.ServerVariables["AUTH_USER"];
...and you can pass that on to your control as a parameter.
D

Resources