5

The question might sound dumb, but here is the use case...

  • I want to give a presentation
  • In a room without a projector.
  • The room has no wi-fi or internet connection, but my laptop can create an ad hoc wifi network.
  • My presentation is written in html so runs in a browser serving local files
  • I would like the attendees to follow my presentation on their phones/laptops/tablets
  • I want the attendee devices to only use installed software, eg. the web browser. For example, I know I could do this with VNC, but that requires installation on each device.
  • My laptop is running Ubuntu

I'm aware of several WebRTC based services (for example https://www.webrtc-experiment.com/Pluginfree-Screen-Sharing/) which would do what I need, but which require an internet connection to their server for signalling. I need something which can run in an isolated environment.

3
  • Teamviewer supports LAN Connections via IP Addresses... you can just share your IP to the other computer to share your PC screen! – mk117 Jul 2 '15 at 9:20
  • I've tried teamviewer, but it requires clients to also have teamviewer installed. I specifically want clients to be able to connect/view using only a browser. – pinoyyid Jul 16 '15 at 5:22
  • 1
    I posted an answer... The app is called Screentask. – mk117 Jul 16 '15 at 7:53
6
+100

ScreenTask

[ Answer Source ], [ Official Github Page ]

ScreenTask is an open-source screen sharing application that simplifies this task for users who just want to share their screens with others on their local network. As the sharing is done over local WiFi or LAN, it eliminates the need for cumbersome signups. Once the app is up and running, it provides you with a unique URL that can be shared with as many local computers as you want. What’s more, ScreenTask doesn’t require client-side installation. That is, using the URL you shared with them, other users can view your PC’s screen on any web browser and any platform without additional software. Details to be followed.

The application is very easy to set up. The only quirk – if this qualifies as one – is that the app isn’t portable, so if you constantly shift between computers or networks, you can’t simply run it from a flash drive. You’ll have to install it on the system you intend to use for screen sharing. Once you’ve done that, the rest can be configured within a few mouse clicks.

Launch the application and start by selecting the network device you’re currently using from the IP drop down menu. Next, you need to specify the port number, and refresh time in milliseconds.

Optionally, you can also make the screen sharing session private with a username and password. To do that, simply enable ‘Private Task’ and fill the empty ‘User’ and ‘Password’ fields to its right. When you’re done, click the ‘Start Server’ button to begin the screen sharing session.

Screentask

Screentask

Screen Task then generates the appropriate URL for you, which you may share with others on the same network. The link comprises your PC’s IP address and the port number that was set. Recipients just have to enter the URL in the address bar of their web browsers. If the sharing session is private, they will have to enter the associated username and password.

The web-based interface has three options at the bottom that allow recipients to stop watching the session, tweak the refresh time and switch to full-screen mode.

Web UI : WebUI

Even though there are quite a lot of screen sharing desktop apps, if you ever find the need to share your screen with several users on the same WiFi network or LAN, ScreenTask is definitely worth trying out.

Mobile View Supported [Thanks to Bootstrap 3] .NET Framework 4.5 Required Download NOW! Works On Windows Vista , 7 , 8 | Windows XP Not Supported Since The .NET 4.5 Not Supported On It. License : Screen Task is released under the GPL v3 (or later) license, see : http://www.gnu.org/licenses/gpl-3.0.html

1
  • 1
    Perfect. I should probably have mentioned that my presenting PC is Ubuntu, but the GitHub repo has a link to a Java version which works very well on Ubuntu. The Java/Ubuntu version is at github.com/ahmadomar/ScreenTask . Many thanks. – pinoyyid Jul 16 '15 at 16:35
2

I would not use a LAN Remote Desktop Solution although this is possible.

Better you just start a small http server on your PC and give them your IP so they just can enter it in their browser and view the files directly. However like this they have direct (read-only) control of the files and can download them. Additionally they need to go through the slides by themselves. Alternetively just give the files for download.

If you do not want to give sources you might want to export as PDF.

If you really want a LAN Remote Desktop you most likely need to setup a WebRTC server as it is the only standard I know of that is widely supported, does not require additional software and is cross-platform. Other standards like RDP only work (natively) on Windows, ssh with X Forwarding on Linux and VNC usually requires a manual install or at least a standalone executable. All those do not meet the requirements you give.

1

It's a tricky one, but here is my take on it.

If you use HTML presentation I assume you have some coding skills. If not, well, this will be a problem but you can probably hire a developer to have it up and running in few hours.

I would install web server on your laptop and open port 80 (or 443 if you prefer) for HTTP (HTTPS). Next I would modify your presentation to remove any navigation from it and make it look like a regular Power Point or Keynote presentation. This way you will have control over the pages they look at. To enable you to control the page changes you would need to write some java script to send AJAX request to your laptop every second and check what page you want on their displays. For example you can AJAX your-laptop-ip/page.php and it would return the page number or page name and refresh to that page.

Next I would write a HTML or PHP or whatever page that only you can access and that will sit on your laptop and control the output from that your-laptop-ip/page.php. You can use database, or XML or a humble text file to store the page name or number.

So to sum up:

  • Make presentation pages without navigation and make it check back with server which page should it show
  • Make control panel to set server output
  • Make server respond by sending back page name or ID or whatever
  • Make presentation refresh to that page

There is room for improvement, for example making a presentation run in full screen, disable text selection, make cursor disappear, not refreshing if page did not change (so you avoid possible flickering) and so on...

There are probably some pitfalls as well, such as users being able to save your presentation, or press back button and see previous page until it refreshes again.

If you really want to go crazy you can make a simple app that will use web browser control to display your content to the end user and take full control by disabling context menus and navigation, but make sure you enable java script execution. This way there is no clicking back button, no right clicking, no saving pages...

1
  • Thanks for the suggestion. I did consider this approach and I have a half-written app which implements it. The problem I have for this specific situation is that the presentation was written in Google Slides, which (afaik) can't be remote controlled. – pinoyyid Jul 16 '15 at 16:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.