Replies: 10 comments 18 replies
-
Documantation
install? use? I don't know in some way, but it can be difficult if users are not a developer because it's mostly text. Easier Setup
Other Improvements
Bug FixesPersonally, I prefer to do (#80, #81) first, but I don't have a strong opinion. |
Beta Was this translation helpful? Give feedback.
-
Please do not get me wrong. I am an inspiring PWA developer focused on android chrome and IOS safari only. That is not to say I do not care about what happens to firefox. We need a counter force otherwise google will dominate the landscape of which features are implemented or not in regards to the official Web API specs |
Beta Was this translation helpful? Give feedback.
-
All in all I might think we might yet again loose one field to a single player. This time browser technology related. Google has even announced dropping http2/server push. My god!!!!! |
Beta Was this translation helpful? Give feedback.
-
Backup and restore functions for save and restore all apps created. Thank you. Great extension. |
Beta Was this translation helpful? Give feedback.
-
It's very easy and it's enough for me. Thank you very much for the answer! Greetings. |
Beta Was this translation helpful? Give feedback.
-
Sync site data automatically (preferably both ways) like logins, cookies etc, because users might have been using that website for a long time before too. Copy Extensions/Extension Data over Copy over the settings in the Settings page for firefox |
Beta Was this translation helpful? Give feedback.
-
Open a PWA from right-click menu in the main browser. Open a PWA by clicking on a link in a PWA of the same profile. |
Beta Was this translation helpful? Give feedback.
-
Hi.
For point 2, when choosing profiles it should be something like: |
Beta Was this translation helpful? Give feedback.
-
Why does Firefox Android not allow the installation of PWAs, as chrome does? |
Beta Was this translation helpful? Give feedback.
-
Can we please sync extensions from the main browser to these PWA apps. The picture with Tree Style Tabs is the main browser, but, in a PWA such as YouTube, it does not install- instead I have to do it manually. This is just an example add-on; this occurs with any given add-on really. Thanks for reading my request. Well done on your work thus far! Here's a coffee... ☕ |
Beta Was this translation helpful? Give feedback.
-
Call for Discussion
TL;DR: How to make this project more user-friendly? What would you like to be improved? Any other suggestions?
PWAsForFirefox is now around 6 months old, and in this time, it has gained some users and attraction. However, there are still some problems/bugs that cause some people not to use it, and it appears some people find the documentation and usage instructions a bit confusing. So, I'm opening this discussion in the hope to resolve some of those problems and make it more user-friendly.
Please use this discussion to suggest any thoughts or ideas how to improve this project. Feel free to also create a new issue or discussion if you have a bigger suggestion, but otherwise, you can just leave a comment here, and I'll create a new issue if needed. Of course, I will also appreciate it if you could help by contributing PRs for those features and fixes.
To start the discussion, I'll give you some of my thoughts about the project and its problems, and possible improvements to address this.
My Thoughts & Ideas
Better documentation & Website
Update: A new documentation website is in progress. Please check #335 for details.
Although this repository already has a wiki, it seems it is still not enough to make PWAsForFirefox easier for less experienced users. I'm not sure if this is because some users just haven't found it, or is it because it is still too technical for them. So, to address the problems with confusing documentation, I've been thinking about creating some "fancy" website that would better explain what this project is and how to use it, and hopefully make it more appealing and easier for less experienced users (in this case, the wiki will probably move its content to the website).
I think this website should be static and probably hosted on GitHub Pages, but I'm not sure yet whether to use GitHub-provided Jekyll or an alternative static site generator, or instead use Read the Docs. Read the Docs has the advantage of versioned documentation, which might be useful, but using classic site generators could make the website feel more user-friendly.
What do you think? Will the website solve some documentation problems? How should that website be structured? Which parts of the documentation would you like to be improved and/or hosted on the website?
Easier Setup
After observing some existing discussions about the project, it seems some users feel this project is hard and confusing to set up. I understand that, because unlike browsers with built-in PWA support, you have to install the extension and an additional program to make this project work. Unfortunately, I already made the setup process as easy as I could (it is basically just one setup wizard where almost everything is automated), so there probably won't be any big improvements coming (except if someone has a good suggestion how to improve it).
There are still a few things related to the setup process that could be improved:
Easier changing of installation paths (Modify paths using environment variables #109) & Installing the project without admin privileges (Is it possible to install PWAsForFirefox without Admin Privileges? #111):
The first issue is specifically about changing the path where Firefox runtime is installed using environment variables (to enable making it global for all users). Because Firefox runtime is downloaded and copied to the correct directory automatically, this shouldn't be too hard to implement, so I will probably implement this in the near future.
However, changing other paths (for example, the location of UserChrome source, executables, profiles and config, which could be used to install the project without admin privileges) is harder, because those files need to be copied to the correct directory before the program can function (which is normally done by MSI installer and packages for other operating systems). It is possible to use build-time environment variables to configure those paths, but this isn't very user-friendly, as it requires building the project from source and manually copying files to the correct location. Because I'm aware of any way to do this easily and automatically, this problem currently has a low priority for me, but I would still like to hear some ideas how to solve it.
Less intrusive updates (Disable updates notification #114):
Currently, every time the extension or the native connector gets updated, the browser will open a new tab to inform the user and the extension will not function until both parts are updated. This makes sure the project is properly updated and helps to prevent some problems, but can be pretty confusing and annoying. To solve this, as said in the linked issue, I will change the update check to only require both parts to be updated on a new major SemVer version, which will happen every time a change in the communication protocol between the extension and the connector could cause problems for outdated versions. To implement those changes, the next version will probably be 2.0.0, and the future versions will follow the proposed versioning scheme.
Of course, the best way to make setup easier would be to integrate this project into official Firefox, but it is very unlikely that this will happen any time soon (the project would have to be almost completely rewritten, I don't have enough knowledge and time to do that, and Mozilla currently seems to be uninterested in supporting PWAs on desktop). On the bright side, I think having this as an independent project also has some advantages, such as easier customization (different addons and settings in PWA profiles, different widget order in titlebar...) and better support for multiple profiles, that built-in solutions probably wouldn't be able to offer.
Other Improvements
I think the project just as "a tool to install PWAs" is mostly finished. So, apart from fixing existing problems I outlined in this discussion and implementing additional quality of life and utility features requested by users, it seems reasonable to also try supporting some additional PWA features that are currently only supported in Chromium-based browsers. However, many of those features are not yet standardized and the best form of "official" specification is a blog post by Google or Microsoft explaining how great they are (yeah, I really like how PWA APIs are developed). Additionally, I cannot nor want to support some of Chromium-specific APIs (such as access to the local filesystem, Bluetooth, NFC, USB, etc.), because that probably requires forking and modifying Firefox source (which I don't want to do), and I don't think giving websites those privileges is a good idea. For other, easier to implement and less dangerous APIs (like support for a protocol (#83) and
file(actually no, because this requires access to local filesystem) handlers, share targets, as well as some cosmetic features such as titlebar manipulation), I think it might be worth experimenting with them.What do you think about this plan? Which features would you like to see first? Which PWA APIs would you like to get supported?
Bug Fixes
Unfortunately, there are still some pretty inconvenient issues, such as new windows being disconnected (#79), all PWAs in the same profile being merged on Linux and macOS (#80, #81) and a new tab being opened after closing all windows on macOS (#42). I think I partially fixed the first issue (and the fix will be available in the next version), but for a complete fix and other issues, forking Firefox would probably be necessary, which I don't want to do (it would make maintenance a lot harder, require us to create a custom infrastructure for building and updating custom Firefox fork, make it impossible to use the project with alternative Firefox versions...). Some of those issues (such as merging windows on Linux) are pretty generic and could be fixed in Firefox, while others (such as issues on macOS) are quite PWA-specific, so I'm not sure if a fix in the official Firefox would be appropriate. I will appreciate any help and ideas to fix those problems.
Apart from those bigger problems, have you noticed any other smaller bugs or inconveniences in PWAsForFirefox? Or maybe some glitches when using the modified Firefox UI? Some problems that I and other users have noticed are not working offline support (#82) or the inability to store the last window size and use it when reopening PWA. Are there any other bugs you found? On which of them should I focus first?
Conclusion
I will appreciate it if you take some time to read and discuss those things or even help by contributing PRs, to make PWAsForFirefox a better project. And I wish you a happy new year!
Beta Was this translation helpful? Give feedback.
All reactions