Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installation instructions for users #5

Open
brettz9 opened this issue Jul 17, 2018 · 5 comments
Open

Installation instructions for users #5

brettz9 opened this issue Jul 17, 2018 · 5 comments

Comments

@brettz9
Copy link

brettz9 commented Jul 17, 2018

Hi,

I am excited to see what looks like a well-developed library to bring back powerful add-ons to Firefox. (During FF SDK, I had developed my own add-on, AsYouWish, exposing Firefox's SDK APIs upon approval in a similar manner to yours (albeit in my case directly to websites that were granted approval), but Mozilla of course dropped the SDK too.)

I developed my own Node-Native bridge for another add-on, WebAppFind, which I have been working on reimplementing (to allow desktop data files to be directly opened from the desktop into web apps), but I am investigating removing my bridge in favor of your add-on.

I might be in touch as I do this, but my first observation is just related to the installation instructions to users... Your AMO page directs people to https://github.com/NiklasGollenstede/native-ext/releases , but I think you ought to make mention there of:

  1. Whether Mac users ought to download the equivalent Linux file
  2. For users who don't know what an XPI is (or even if they do), whether they need to install that XPI file from your site in addition to the executables and the XPI from AMO. (I think "Source code" may be generally well-known enough to not require an explanation.)

Also, when you mention on the AMO page the need to click the "Apply" button in the options, it might help to clarify there whether this button is in the add-on's options or some options that will appear during the executable installation.

And your reference to profiles/ in the README does not seem clear. Will that folder be present within ~/Library/Application Support/de.niklasg.native_ext (on Mac), or somewhere else?

Thanks very much for bringing some semblance of power back to add-ons, even if the limited nature of the WebExtensions APIs does not make available to Node the full power of XUL add-ons (unless perhaps one could somehow access the XUL instance from the command line, at least for Firefox).

@NiklasGollenstede
Copy link
Owner

I'd love to see that / hear more from you!

Just linking to the project homepage (with a unnecessary redirect on top of that) was bad. I had originally just copied that text from the options page with minor adjustments. It now reads:

To use NativeExt, you must download and install its desktop application as well. The extensions option page on about:addons will guide you through the process.

The important thing here is to say that the extension itself won't do anything without further setup by the user and without the user being ok with installing additional software (trust).

As for mac, the CI service I use (AppVeyor) only offers Linux and Windows VMs. I haven't figured out how to cross compile node-ffi, so I'd need one. travis CI has MacOS VM, I just haven't looked into their service yet (and they don't do Windows, so I'd have to use both ...).
Bottom line: Currently, thee are no MacOS builds. (If you want to test on mac, you can still do a installation from source.)

But I also want to ditch the pkg and nexe application in favor of an unmodified node.js binary and a proper installer.
InstallBuilder is cross platform and free for open source software.
Preferably the result would be a stub installer, which just loads the sources from this repo, prebuilds .node modules for the current platform from somewhere and a matching node..js binary directly from https://nodejs.org/.

That would be quite a lot of integration work, but the result would be easier to update and a lot more straight forward to describe o other developers.

The profiles/ dir is directly in the installation dir, yes. I clarified that in the readme. Bt once there is an installer, that should obviously also take care of the uninstallation.


unless perhaps one could somehow access the XUL instance from the command line, at least for Firefox

Well, there are hacks out there to load a "userChrome.js" in current Firefox versions. I never tried it, but if it works, NativeExt could certainly execute that hack (and probably provide RPC to code running in that context as well).

@NiklasGollenstede
Copy link
Owner

NiklasGollenstede commented Sep 2, 2018

Little update here: AppVeyor plans to provide MacOS build VMs "later this year", so there should be MacOS builds of the NativeExt application part reasonably soon.

@brettz9
Copy link
Author

brettz9 commented Sep 2, 2018

That'd be great... I've held off for now on exploring your add-on in more depth... It's a bit of work, and I need Mac support (my add-on is actually currently Mac only). FWIW, I'm using pkg myself...

I am working on a video tutorial these days though, and hope to at least be able to share that within maybe a week or two... Energy permitting, I'd love to be able to take advantage of your approach in native-ext and collaborate.

@NiklasGollenstede
Copy link
Owner

It's a bit of work

Oh yes. I've added a minimal example and updated/improved the documentation though. I hope that helps.

need Mac support (my add-on is actually currently Mac only)

You can already develop and test on your Mac (see https://github.com/NiklasGollenstede/native-ext#building-application), there just aren't any installers yet. (But once AppVeyor supports MacOS it should be trivially easy to create them.)

@brettz9
Copy link
Author

brettz9 commented Oct 18, 2018

Haven't gotten to reviewing native-ext, but wanted to just mention I've gotten some video tutorials out now for WebAppFind... You may be interested in the overview at least: https://www.youtube.com/watch?v=2ysSAPKhDwQ&feature=youtu.be

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants