Closed Bug 977200 Opened 10 years ago Closed 10 years ago

Create Firefox Hub add-on for subscribing to arbitrary RSS feeds

Categories

(Firefox for Android Graveyard :: General, defect, P1)

All
Android
defect

Tracking

(Not tracked)

VERIFIED FIXED
Firefox 30

People

(Reporter: deb, Assigned: Margaret)

References

Details

Create an add-on that allows users to subscribe to an RSS feed from the page they're currently on where that feed is added as a Hub panel.

Ideally we'll be able to get this for Firefox 30.

ibarlow is working on designs
Give it a try!
http://people.mozilla.org/%7Emleibovic/rss.xpi

This just uses the page actions API to add an RSS icon to the toolbar when you're on a page with a feed.

Some issues:
* I just use the feed title (and failing that the feed URL) for the panel title, we probably want to give users a way to edit this themselves
* I added logic to periodically update the feed, but that needs testing.

Code here:
https://github.com/leibovic/fennec_rss/tree/hub
Holy crap you are fast!

Ok so I did some sketching that builds on how your add-on seems to work. I admit that I wasn't able to actually see my feeds showing up on the RSS panel of about:home with your add-on, but we can work on that. 

So check this out: http://cl.ly/image/0L3A3j26342D

The designs look at a few ways of subscribing to feeds:
1. The pageactions menu, as you described
2. The "Subscribe to page" functions in the bookmark and page submenus. 

And what an RSS panel could look like:
1. With one feed, it could just look like our stock "world cup rss" one
2. With multiple feeds, it would be nice to provide a way to filter down to one feed if desired, using a spinner menu. We can default to showing them all intermixed.
3. The world cup one would not be a part of the generic RSS Feeds panel. It would be a separate thing.
4. we should try to open content directly into Reader Mode if we can. That was a nice touch in the Pocket app that we should keep doing elsewhere.

Do you think this is all feasible for a Fx30 timeline?

---

I should add that this is a pretty bare bones UX, and we should keep exploring how to make this more useful to people, if it's a thing that starts getting traction. I could see things like being able to integrate with other RSS services like Feedly, or being able to create multiple RSS panels with different themes, stuff like that.
Oh, and i forgot to mention the toast, which is important. We should provide some feedback to users that their page was successfully added.
(In reply to Ian Barlow (:ibarlow) from comment #2)
> 2. With multiple feeds, it would be nice to provide a way to filter down to
> one feed if desired, using a spinner menu. We can default to showing them
> all intermixed.

I don't think we should do this. It feels like it would make it really really cumbersome to switch between more than one feed. To the point where I wouldn't. I'd just pick one and probably never check any others.

Maybe we just need a generic overflow button to switch between ANY of panels? Maybe we show it if you tap the currently selected panel name?
Yesterday on IRC, mfinkle was asking about whether or not we plan to ship the feature, and if we do, it might make more sense to transition development from an add-on to a patch (we would need to do that, or make some other patch to add an API, if we want to hook into the "Subscribe to page" functions).

A panel with multiple RSS feeds would be more challenging than just adding one new panel for feed. We don't have anything in place to support that dropdown UI, but perhaps we could use the filter/folder UI to show a list of your feeds, then let you view the items from one at a time.

For the problem of RSS feeds not showing up, that might be an issue with handling network errors, so we probably need some more advanced way of dealing with that...
Finkle also pointed out that these designs cut out the 'add this feed to some other rss aggregator' UI that the current Subscribe to Page UI allows. 

I cut it for simplicity's sake -- it was only showing Yahoo as an option, which made for a weird experience -- but I guess we could also look at making these services parallel choices in the Save RSS Feed flow. 

Between that and Margaret's and Wes's comments, I probably have some more thinking to do about this before we decide what to do.
Hey everyone, here is a slightly tweaked version of the designs that I'm proposing as our v1 implementation. 

Designs here: http://cl.ly/image/311H3Z3A0d2x

Notable changes include
* Adding a "choose where to save this" menu, that could include other RSS services like Yahoo or Feedly etc
* Simplifying the homepage display such that only one feed shows up per panel

I do want us to keep thinking about what kind of additional functionality we might build into the homepage. Support for multiple feeds on a panel? The ability for users create their own themed panels (eg, a "Design" panel, or a "Tech news" panel within which different sets of feeds could be saved)?
(In reply to Ian Barlow (:ibarlow) from comment #7)

> Designs here: http://cl.ly/image/311H3Z3A0d2x

I was able to do all this with an add-on! \o/

https://github.com/leibovic/fennec_rss/tree/hub
http://people.mozilla.org/~mleibovic/rss.xpi

However, this just hooks into our existing "Subscribe" menuitem, and it looks like there are some things we want to file bugs for to fix in the product for consistency:

* Add the "Subscribe to page with" label for the location dialog (I just added this in my add-on, so it won't show when the add-on isn't installed).

* Simiarly, there's another prompt we show first if there are mutliple feeds on the page (e.g. cnn.com), so we may want a title for that as well (my add-on just hooks into our built-in logic to show this prompt).

* We currently don't show a toast after you add a feed, but the flow for the built-in handlers involves opening a new tab, so I don't think we actually need toasts for that.
Priority: -- → P1
Blocks: lists
Depends on: 983435
We started tracking some feeds that don't work in this etherpad here:
https://mobile.etherpad.mozilla.org/hub-rss

I found that the title problem was caused by the fact that we were using the title of the feed that was specified with it in the HTML, but we can get a better title from parsing the feed itself.

I also found that we were using the entry summary to get the description, but some feeds don't specify a summary, so we ran into an exception. I updated the logic to fall back to trying to use the content, and if that doesn't work, just log an exception.

So, this updated version of my add-on should address the problems listed, try it out!
http://people.mozilla.org/~mleibovic/rss.xpi

Remaining issues to address:

* Real RSS icon (not one I just found on the internet :)
* Localized strings
* I noticed a bug where we're not properly registering the existing panels on startup

Our normal code review processes don't apply because this is an add-on, but I would also love comments (or pull requests!) here:
https://github.com/leibovic/fennec_rss/tree/hub
Also, if you do build the add-on yourself, you can set DEBUG = true in bootstrap.js to get a test menu item to appear, and this will load test.html. This is useful for debugging feed parsing issues, since it just loads/parses a bunch of feeds. We should add any problematic testcases to that list as well.
Depends on: 988582
needinfo to ibarlow for a final page action icon, as well as a title/description for the add-on that I can use when publishing to AMO.

Also, it would be great if you could give these strings a once-over:
https://github.com/leibovic/fennec_rss/blob/master/content/locale/en-US/subscribe.properties

I got rid of references to "RSS" and instead used the more generic term "subscribe". Here's the most recent version of the add-on if you want to see it in action:
http://people.mozilla.org/~mleibovic/subscribe.xpi

I just need to fix the panel registration issue, then I think this add-on is just about ready for wider testing.
Flags: needinfo?(ibarlow)
(In reply to :Margaret Leibovic from comment #12)

> I just need to fix the panel registration issue, then I think this add-on is
> just about ready for wider testing.

Update: I fixed this issue by simplifying the way I'm storing feed/panel data to just store an array of JSON objects. This makes the code more straightforward, and it fixes the problem of not properly re-registering the panels.

So, on that note, please test this add-on!
I published the current add-on to AMO:
https://addons.mozilla.org/en-US/android/addon/home-page-feeds/

We can update it as necessary (e.g. for a new icon). We will also definitely want to update it once bug 978991 lands, so that we can delete feed data when the user removes a panel in settings.
Updated the title of the add-on per ibarlow's suggestion, so now the listing is:
https://addons.mozilla.org/en-US/android/addon/home-feeds/

I'm resolving this bug as fixed, since I did indeed create this add-on. We can continue to iterate on it on github and update AMO as necessary.
Status: NEW → RESOLVED
Closed: 10 years ago
Flags: needinfo?(ibarlow)
Resolution: --- → FIXED
Depends on: 997055
QA Contact: teodora.vermesan
I have installed the Home Feeds add-on, going to a website (for example https://quality.mozilla.org) and tried both ways of adding RSS feeds (from Page Settings and tapping the RSS icon) and works as expected. I will mark the bug as verified fixed on all three branches: 32 Nightly 05/26, 31 Aurora 05/26 and 30 Beta 6 based on the above steps.
Status: RESOLVED → VERIFIED
Setting P1 hub bugs to block hub v1 EPIC bug (targeting fx30 release).

Filter on epic-hub-bugs.
Blocks: 1014025
I don't agree that bug https://bugzilla.mozilla.org/show_bug.cgi?id=1301909 is a duplicate of this one:

1. It makes sense to properly display an RSS feed even though you don't want to suscribe to it (maybe you just want to read one article or to download one attached file. This is the case with Firefox for desktop, why not with Firefox for Android?

2. It makes sense to subscribe with any software, not only with Firefox: as for me, I prefer Smart Feed Reader. Subscribing to 10 or 20 feeds using Home Feeds is just not practical.

3. Anyway, on Firefox 48.0 for Android, the plugin Home Feeds does not work anymore (no RSS symbol displayed when on a page with an RSS link, or when on an RSS link, "page => subscribe" is always greyed,... no effect at all). The last positive feedback was in April 2016.
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.