-
Notifications
You must be signed in to change notification settings - Fork 325
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
[WIP] Add landing pages #326
Conversation
@lidel where do you think that is the better place to store the landing pages? In the original issue #324 you mentioned storing it at the same level as I was thinking about |
@nunofmn that is the question:
Personally I was thinking about following an example of WebUI, which is not shipped with go-ipfs but loaded from IPFS instead (go-ipfs has IPFS path of WebUI hardcoded in sources). I am aware that there may be use cases to make it work without internet connectivity (as suggested in #324 (comment)), but Landing Page will be displayed right after install/update, which never happen without working internet connection. So for this specific use case, it is safe to assume connectivity will always be present. An argument to ship landing page with extension is a risk of public gateway (`ipfs.io) being blocked in some jurisdictions. But then, how user is supposed to install go-ipfs/Station, if links from Landing Page point at a blocked domain? We would have to address it somehow (eg. keep installation packages at different tld than public gw) . I imagine there are other arguments which I missed, but for now, I think we can assume it will be shipped as webui-like IPFS resource (which means we keep it outside of Does this sound ok? |
I'm all for this! Seems like we could be doing a lot here to help new users get started and excited about distributing their webs. I'm mildly in favour of hosting the pages on ipfs, though i don't feel too strongly about it either way. I have more feels on the design front tho! How about something a little more like the ipfs.io site? Once the pre-built installers for |
A bit more context... I feel like I've walked in on this PR waaay late to be all "WHAT ABOUT DIFFERENT!" :-) I'm working on the UI for ipfs-companion more generally,( see: uploads and menu ) and I'd like to build a style guide for it so we don't have to think too hard about how new features should look. Would you be interested up for discussing such a thing @nunofmn ? |
....aaaaaaand I was thinking we could use the details section of the "pls install ipfs" page as a place we could explain that we need browsers to open up more apis to make the distributed web easier to use. |
@lidel sorry for the late reply. I still feel that shipping the landing pages in the extension is the better option, mainly from a deployment, distribution and user experience perspective. I understand the approach used in go-ipfs, but in that case you already have the IPFS client and you can load the WebUI. In this case the user may not have the IPFS client/Station installed and if he cannot access "ipfs.io" gateway, the extension will not show the user any page when the extension is installed. At least if the landing pages are bundled with the extension, you are able to show the user a page showing the the extension was successfully installed, even if he's not able to download IPFS Station through the provided link. This way the user could try to find an alternative source to download IPFS Station, instead of simply dismiss or uninstall the extension because it didn't receive any further instructions on how to use or properly configure it. Of course this all depends on the userbase that this extension is trying to target right now. But if we want to reach a tech-savvy userbase without a priori knowledge about IPFS and the distributed web, maybe bundling the landing pages with the extension could lead to a smoother on boarding user experience. The update/changelog pages since are not so essential could be loaded from IPFS directly. |
@olizilla yeah I think we can workout a style guide for the extension 👍 I also like the page layout you presented, but I have some observations:
But lets build a style guide with a common stylesheet that could be used across the extension. 👍 |
@nunofmn I agree, this is a valid and quite important concern:
I am guilty of forgetting that we already had an example of a government blocking public IPFS gateway. To work around such events in future we actually have no choice, but to ship post-install landing page with exception itself. Thank you for pointing this out. As for use cases around landing page, yes, we will ship it when Station has one-click install packages for all platforms. So we want to design the message as if all the pieces are ready for use. |
@nunofmn @lidel good points. I agree. Shipping these pages with the addon makes more sense. As for a style guide, we've been using tachyons as the starting point. It's an implementation of atomic css which is fun, but the killer feature is the amount of research that has gone in to the default values for all of the building blocks. I'm working on an ipfs flavoured theme on top of it. |
@olizilla nice. So maybe I will restructure the landing pages to use tachyons, and then when you finish the IPFS theme based on tachyons we uniformize the style of the extension. I could help in @lidel since we are shipping the landing pages with the extension, maybe we should move the landing pages folder to |
Agreed, it makes sense now to move them. |
130fd6a
to
1b7ba69
Compare
@lidel do you think that we should stick to static pages? Or maybe build the pages using |
@nunofmn we will have some context-dependent content, namely a section informing user that Station/go-ipfs should be installed – it will be visible only if browser extension is unable to connect to API. This is simple enough that could be handled by a static page, but we may want to anticipate future needs for other use cases, such as "displaying some engaging real-time stats about running node". If you choose to use choo, event-based code would be similar to our browser action menu, which shows/hides menu items depending on current tab being IPFS path or not, displays peer count/offline status depending on API connectivity etc. |
📷 Landing Page using Tachyons (IPFS client already running)@lidel I also think that building the static pages with |
3c462d5
to
994872d
Compare
55c9570
to
2334ccd
Compare
@lidel, the transition to I think that now the following topics need to be addressed:
|
very cool @nunofmn ! On i18n, it would be great if these pages could pull their text from the message.json files. You'd use the |
@nunofmn 👌 👌 👌 Just a thought: it may be easier to work/comment on text without i18n for now. |
Another concern: people might simply be offline while installing the extension. We should approach this from an offline-first perspective. There was a great presentation at 34C3 about SNET / Street Network in Cuba [1] but there's plenty of other cases where users are permanently or intermittently disconnected from the internet at large. Once FlyWeb/mDNS in Firefox is back working, we could have the extension announce itself to the LAN and let more users install it. [1] https://media.ccc.de/v/34c3-8740-the_internet_in_cuba_a_story_of_community_resilience |
Just fyi we started shipping parts of UI Kit in
General idea is that UI Kit will be used by both extension GUI and Landing Page (so that it works offline). Related Resources
|
Closing this, as it got superseded by #565 which just landed :) |
Related #324.