Build an Open Source Browser Based on AIR


#1

Yeah probably something I should not be even planning or doing
but related to

I do think that would be the most straightforward simpler and faster solution to “save” all those legacy SWF.


In fact, it has already been done years ago

see Adobe Developer Connection - Using Flash CS4 and Adobe AIR to build custom browsers for e-learning and social networking

I would not do it exactly like that but the basic principle is there and easy to do

and fairly well documented


The Pros

  • huge time saver to reuse an HTMLHost based on Webkit Safari instead of compiling your own browser
  • super easy UI to build: a location bar, few buttons, etc.
  • because of the old Webkit Safari no blocker for the users eg. no click to activate the plugin
  • would work by default on Windows and macOS with the latest Flash Plugin installed on the system
  • no need to rebuild the original SWF or export it to something else

The Cons

  • Yeah but not Linux
    not so fast, you can package an AIR 2.6 for Linux and it would work
    so yeah you will be limited to the Flash Player plugin version 10.3 embedded with AIR 2.6
    but … you could override the libflashplayer.so and you’ll get the latest plugin version
  • Yeah but that’s an old Safari Webkit, it would not support the latest HTML/CSS and other Web Browser API
    we don’t care, the goal would be be to play SWF embedded in HTML :slight_smile:

Some Extras

  • it could even act as a “SWF player” of some kind
  • it could even act as a local HTML documentation viewer
  • with some more efforts you could even host a local http server and view archived content as if they were played on their original domain

inputs, ideas, criticisms, etc. welcome :slight_smile:


User Interface Conservatism versus Liberalism
Let's Build a Web Browser
Project Setup, Operating Systems and Virtual Machines
#5

well … I’m sorry for that

and that

and that

ok so let me explain a little bit

there is a guy from Brazil, I’m not sure why but he keep coming back in this forum
under different username @hydroper-v3, @superanimexkai, @hydp, @hydroper etc.

today he used @what-k but I was out and did not see the crazy talk right away


#6

I do have some questions, since this is something I’m looking into for a possible future project.
I’ve only done minimal amount of work with HTMLLoader (made a small browser, for a game, that sort of thing).
So some (probably amateur) questions…

TL;DR: Are there ways of bypassing the need for a person to have the Flash Player installed on their system? (for building something that keeps old .swf files relevant)

When using HTML Loader to load swf’s as part of an html page… the Flash Player IS required on the system (that was actually news to me till recent). Has there ever been a case when it wasn’t? Like an older version of AIR? I thought at one point there was…

If I wanted to make something that keeps older .swf’s accessible (mainly for AS2 projects) would it be better to package it as Electron or NWJS? As far as I remember you could package the Flash Player with (one of) those?
Asking for potential ways of avoiding a user having to have it installed.

Something like this makes a lot of sense for AS2 specific projects (for the sake of preservation). For AS3 it seems better just to load it directly into your AIR project (without HTML).

Also, thank you for that list of documentation!


#7

Yes there is :slight_smile:

in Release Notes for Adobe AIR 22

System level Flash Player support for AIR desktop applications

Starting in AIR 22, applications that play swf content via the HTML control (WebKit) will now load the system level NPAPI Flash Player provided by Adobe (https://get.adobe.com/flashplayer). If this plugin is not available on the system, the end user will be prompted to download and install the plugin from Adobe.

Which means off course that if you build with AIR 21 then there you still have an embedded Flash Player 21 without the need to install it on the system


yes definitively possible to use either NW.js or Electron

see

and then would it be better?
it depends …

even if I would push for using AIR first there are many cases where Electron could be better

  • case of need to use nw-flash-trust because you load a local SWF from file://
  • case where it would be easier to support Linux (latest plugin, 64-bit )
  • case where you need a recent HTML engine for HTML stuff next to the SWF stuff
  • case where you want to reuse electron-builder because you do not want the headache of building your own installer

and others where it would not be better

  • case of wanting to be “small”, Electron apps can go over 100MB in file size
  • case of memory usage, Electron app is running a full-featured chrome browser and chrome is a memory gluton
  • case of wanting to use “drag n drop”, I do think it is more usable/advanced in AIR
  • out of spite not wanting to use anything related to chrome :stuck_out_tongue:

Now all that said, the simpler is just to make a couple of prototype and see which “way of doing” fits your need better.

In my case with the idea of an open source AIR Browser some of the goals are to make the solution easily reusable to others wether in packaging options, branding, etc. but also be honest about the pros and cons.

Electron and other NW.js are perfectly good solutions too, but I just want really bad to do it with AIR just for the beauty of it: saving SWF with Flash tech, and yeah out of spite too.