samuelclay / NewsBlur

NewsBlur is a personal news reader that brings people together to talk about the world. A new sound of an old instrument.
http://www.newsblur.com
MIT License
6.83k stars 996 forks source link

iOS: Mac Catalyst edition #1247

Open Dejal opened 4 years ago

Dejal commented 4 years ago

Now that iOS 13 and macOS Catalina introduces the ability to build iOS apps for macOS, via Catalyst, there may be customer demand for a Mac edition of NewsBlur.

I've turned on the checkbox to build under Catalyst in a local branch, as an experiment, but there are a number of issues preventing successful building of a Mac app:

Beyond those, of course, the app would need many changes to work well as a Mac app, including adding a menubar, probably some layout changes, and other UI tweaks.

But I think it could a a popular option for many people. Something to consider. Let me know if you want me to explore further.

samuelclay commented 4 years ago

Oh I remember attempting to transition to WKWebView a long time ago and it was not fun. I ultimately abandoned that branch.

That said, I would love to see this. NewsBlur was originally developed to replace NNW, a Mac app.

Dejal commented 4 years ago

NetNewsWire has a new lease on life now. But I'm sure Brent would welcome other Mac newsreaders.

Yeah, transitioning to WKWebView will be a fair bit of work, but I'm confident that it is feasible, useful for Catalyst, and ultimately probably required for a future iOS version.

Okay, I will begin work on that in the next month or two, depending on other priorities that come up in the meantime.

Dejal commented 4 years ago

A partial list of issues I've noticed, that I'll work on in the coming months, as time allows:

samuelclay commented 4 years ago

On the three-pane, I would love to rethink how NewsBlur iOS app has the panes. Today it's not great, but it works. I would be happy to move to something a bit more like sliding doors (ala Reeder), although that would make the dashboard river harder to show.

Dejal commented 4 years ago

Work on the three pane option (and much more) is underway; see #817 for more info.

samuelclay commented 2 years ago

Looking good! Stories aren't tappable right now, but using the keyboard shortcut got around that. Also, the login screen needs adjustment (ugh, such an old view too).

samuelclay commented 2 years ago

For Catalyst, let's reintroduce story content previews, story date, and author, as well as larger fonts.

Screen Shot 2022-01-26 at 11 52 38 AM
samuelclay commented 2 years ago

I take that back, I prefer the extra story titles. But that's for the widget (#1334).

Let's widen the story titles a bit. Looks like they widen on their own at ~2000px.

Screen Shot 2022-01-27 at 10 18 54 AM Screen Shot 2022-01-27 at 10 18 57 AM

Also, let's add a max-width to images of 1200px or something.

Dejal commented 2 years ago

The Catalyst branch and Mac app are not ready for release yet. This is on hold until more required changes are done.

samuelclay commented 2 years ago

Should I still be merging in catalyst into testflight?

Dejal commented 2 years ago

No, merge Dejal to TestFlight.

Dejal commented 11 months ago

I've resumed work on the macOS edition of NewsBlur, in the Catalyst branch. The NewsBlur Alpha app for macOS is available via internal-only TestFlight.

There's still a bunch of refinements to do (so don't bother reporting issues yet), but it's in a usable shape already:

Screenshot 2023-10-05 at 14 42 46

samuelclay commented 11 months ago

It's really great! What happened to the widget? I want to see it in my widget dashboard on macos.

Dejal commented 11 months ago

As I recall, the widget isn't included in the Alpha build, for some technical reason I forget right now (maybe related to the bundle identifier or something). I'll take another look at that when next working on it.

Dejal commented 8 months ago

More progress, with the user profile in the window body like on web, and work on menus. I spent a fair bit of time struggling to get the navigation bars to behave; they appear to be implemented outside the scope of the app with Catalyst, using separate windows for each button. And clicking on one disabled the menus. A bit of a mess. But I've found a solution, using Mac-native toolbars, and have started implementing that. I'll finish that next time.

Screenshot 2024-01-05 at 21 55 29

Dejal commented 7 months ago

I think the app is almost ready for release now. Just a few issues left. You can begin to report issues or request tweaks now if you wish.

Screenshot 2024-01-19 at 21 43 28

samuelclay commented 7 months ago

Are you sure you want me to report issues? There's some quality of life issues in the Grid view on Catalyst. I suggest taking a look at how that's transitioning between stories.

Also, the scroll is much slower than I would expect from a native app. Isn't there a faster scroll option for story titles and the story detail?

Dejal commented 7 months ago

Yes, you're welcome to report issues. I'm aware of some, but you may have other priorities.

I'll take a look at the Grid view, and the scrolling performance, though it's basically using the same code as on iOS, with the Catalyst translation layer to work on macOS, so there may be some performance impact. Still, I might be able to do something. Any performance improvement would probably also benefit the iOS app.

Dejal commented 7 months ago

I've addressed all known issues now, so unless you have some specific issues, I think it is ready for public TestFlight feedback. Let me know if you want me to produce a public TestFlight build (it's currently internal-only).

Screenshot 2024-02-09 at 20 59 59

Dejal commented 6 months ago

I've finished my polishing; I don't have anything more on my list to do on this. Ready for a public TestFlight? Rather than making the NB Alpha app TestFlight public, we could merge into the Dejal branch, and do a main app TestFlight from there. Let me know if you want me to prepare that.

samuelclay commented 6 months ago

Nicely done. I've got some show stoppers that we need to fix before putting out a public beta. And sorry about the delay, I've been deep on server maintenance and transition for the past month, which you might have noticed from the flurry of commits. But we're now on dedicated hardware and it's much faster!

https://github.com/samuelclay/NewsBlur/assets/44229/9dddc160-7129-4058-af5f-1233dc54aa2f

samuelclay commented 6 months ago
samuelclay commented 6 months ago
samuelclay commented 6 months ago
samuelclay commented 5 months ago
Dejal commented 5 months ago

I've addressed some of those issues. The training one was a challenge; it appears that Catalyst doesn't support web views in sheets. So I took that as an opportunity to do something I've wanted to do for a while: make the trainer a native view. I rewrote it as a SwiftUI view.

Here's the feed trainer:

Screenshot 2024-04-04 at 19 44 58

And the story trainer:

Screenshot 2024-04-04 at 19 44 31

Notice in the Story Title section, instead of selecting text and choosing a menu item to train words, I implemented an innovative approach where you tap words to add them to a neutral trainer (which can be cleared to start again). Then tap it to toggle to like or dislike, at which point it is saved (and another phrase can be started if desired).

I hope you like this new & improved edition of the trainer.

samuelclay commented 4 months ago

This is looking nearly ready to go. One issue I found is that when I return to the app after 30 minutes, the image previews disappear.

Screenshot 2024-04-16 at 11 42 39 AM Screenshot 2024-04-16 at 11 16 41 AM
Dejal commented 4 months ago

I think the Mac app is ready for a public TestFlight. Do you have any further issues? I'll save my time in May for any more issues with it, pre-and/or-post release.

I've added an Xcode Cloud workflow to build the macOS TestFlight, and disabled the iOS one for now. So all we need to do is merge the Catalyst branch changes into the Dejal branch, and it'll run automatically. If you're ready, you can do the honors, or I can if you prefer.

samuelclay commented 4 months ago

Just merged catalyst into dejal. As soon as it's public, I'll tweet about it and maybe even blog about it to get folks involved in testing it.

Dejal commented 4 months ago

Looks like the build failed due to missing the macOS scheme (probably a merge issue). Let me know if you want me to fix that for you.

Dejal commented 4 months ago

I've fixed the build issues. The app is currently awaiting beta review, so should be live in TestFlight soon.

Dejal commented 4 months ago

And now it has been approved for TestFlight, so you can publicize it when you're ready.

samuelclay commented 3 months ago

Looks like we've got some feedback:

Just getting started with it, but some basic Mac OS conventions are missing. Menu items are missing for basic commands (like next, open in browser). And since they are missing, key commands are not labeled, and not changeable. I also miss that there is no in app browser. A lot of feeds have broken story mode and reader mode to drive views, and so to read any of these, I need to open in a browser. So basically, to read every story, I need to open in browser. If so, then I might as well go use the web app, since I end up in Safari primarily.

Another user:

I've mentioned this in the context of the iPad app, but it's also true here - I would really like if it supported all of the keyboard shortcuts that work on the web. In particular, it would be great if I could refresh the current view by pressing "R" (or by scrolling-to-refresh at the top of the current feed/folder). Thanks for continuing to develop Newsblur rather than put it in maintenance mode. I am excited to have a Mac app, but until it has parity with the web I probably won't make much use of it.

A third user:

Can you please make the sidebar resizable? Also, it'd be nice to be able to customize the toolbar in the main content area.

Agreed with all of these points! Let's:

Dejal commented 3 months ago

I'll see what I can do. Though showing keyboard commands when holding Cmd isn't a Mac paradigm, so we shouldn't do that; you see keyboard commands by looking in the menus.

samuelclay commented 3 months ago

Just installed the latest TF: on iPhone, going back to the feed list, the selected feed no longer deselects (it should fade out so you know where you've just been).

samuelclay commented 3 months ago

I wasn't able to set a notification using the catalyst app.

Screenshot 2024-05-30 at 2 25 52 PM

Here's how it works on iOS: IMG_5903

Dejal commented 3 months ago

I'm working on fixes.

Speaking of notifications, I've just created #1867 (Mac-specific notifications).

Dejal commented 3 months ago

Done all of the requests. TestFlight builds available.

Note that in addition to the keyboard shortcuts via the menus, the Mac app also supports the non-modified shortcuts of the iPad app, e.g. "j" to go to the next story, "o" to open in the browser, "u" to mark unread/read, etc.

Since macOS doesn't have an overlay to show such shortcuts, perhaps you could add a help page on the website, and I could make the NewsBlur Help menu item show that? Online help is common for Mac apps, and would be a good thing.

samuelclay commented 2 months ago

I'm starting to rely on the app more but I'm having a few issues:

Screenshot 2024-06-27 at 9 44 58 AM
Dejal commented 2 months ago

Done some fixes. I can't reproduce the widget not loading the correct story, but I did have a recent widget fix, so that might help. If not, please show your Widget Sites view with the selected feeds, so I can try to reproduce it.

Also, as noted elsewhere, I can't do a TestFlight until you update the Apple agreements.

samuelclay commented 2 months ago

Agreement has been agreed

Dejal commented 1 month ago

Any more feedback on the Mac app? It'd be great to get this launched! I'll be available over the next week if any issues come up.

samuelclay commented 1 month ago

It's still showing blank stories. I haven't been able to leave it running because it's empty when I come back to it.

Dejal commented 1 month ago

Huh, my fix on June 27 didn't solve it?

samuelclay commented 1 month ago

Nope, I'm still seeing it just as often.

Dejal commented 2 weeks ago

I had the Mac app running in the background all day today, every hour or so bringing it to the foreground and changing feeds/stories, but every time it has shown the story on activating the app; no blank stories. I was able to reproduce the issue before my June 27 fix, but not since.

So I'll need you to re-check it, and hopefully provide more clues if it is still occurring.

samuelclay commented 2 weeks ago

Yeah I've noticed it went away so I'll chalk it up to running an older build. At this point I'll need to assembly screenshots and launch it on the mac app store, which I'll try to do in the next few days.

I just moved to SF so I'm without furniture for the next couple weeks, so I'll be limited in what I can achieve.

Dejal commented 2 weeks ago

Yeah, likely using an older build. I'm glad it's resolved.

I'll have a new TestFlight in the next few days, so it'd make sense to wait for that.

Best of luck getting set up in SF!

samuelclay commented 2 weeks ago

As I was taking screenshots, I noticed the app doesn't switch from light to dark like the iOS app does.

Screenshot 2024-08-27 at 5 21 39 PM
samuelclay commented 2 weeks ago

I manually changed it but we should include a way to use the system theme. This probably goes for the iOS app as well, as a fifth theme color for "Auto"