NetNewsWire/Frameworks/Account/AccountTests/Feedly/Initial/newcollection_addcollection...

1 line
40 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","updated":1569829821629,"items":[{"originId":"https://inessential.com/2019/09/25/i_had_the_fun_of_interviewing_old_friend","fingerprint":"efab5851","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d996:18991ffa","summary":{"direction":"ltr","content":"<p>I had the fun of interviewing old friend Daniel Jalkut on the <a href=\"https://theomnishow.omnigroup.com/episode/daniel-jalkut-marsedit-developer-and-omnifocus-user\">latest episode of The Omni Show</a>.</p>"},"alternate":[{"href":"https://inessential.com/2019/09/25/i_had_the_fun_of_interviewing_old_friend","type":"text/html"}],"crawled":1569829821629,"published":1569437386000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/09/13/netnewswire_5_0_1_released","fingerprint":"f53acc86","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d995:18991ffa","summary":{"direction":"ltr","content":"<p><a href=\"https://ranchero.com/netnewswire/\"><img width=\"256\" alt=\"NetNewsWire for Mac icon: globe with a satellite in the foreground.\" src=\"https://ranchero.com/images/nnw_icon_256.png\" height=\"256\"></a></p>\n<p>NetNewsWire 5.0.1 is almost entirely a bug-fix release — see the <a href=\"https://nnw.ranchero.com/2019/09/13/netnewswire.html\">release notes</a> for the full scoop.</p>\n<p>It includes one sort-of new feature: theres now a checkbox in Preferences for turning off the unread count in the Dock. (It was a hidden pref — now its visible.)</p>\n<h4>Status</h4>\n<p>Heres what else were working on:</p>\n<ul>\n<li>iOS/iPadOS app</li>\n<li>NetNewsWire 5.0.2 for Mac — which will mainly be about performance (yes, we can make it even faster)</li>\n<li>NetNewsWire 5.1 for Mac — tentative feature list includes content extraction and at least one more syncing option (but we might change our minds on these: anything can happen between now and then)</li>\n</ul>\n<p>We might also distribute NetNewsWire 5.0.2 for Mac on the Mac App Store. No guarantees yet, of course, but work is happening in that direction. This goes to our goal of getting as many people as possible using RSS readers.</p>"},"alternate":[{"href":"https://inessential.com/2019/09/13/netnewswire_5_0_1_released","type":"text/html"}],"crawled":1569829821629,"title":"NetNewsWire 5.0.1 Released","published":1568408217000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/09/10/had_to_get_a_new_key_fob_at_work_today_m","fingerprint":"5b6c292f","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d994:18991ffa","summary":{"direction":"ltr","content":"<p>Had to get a new key fob at work today — my old one wore out. Just a couple weeks shy of my fifth anniversary at Omni! Time flies.</p>\n<p>I figure Im just over eight years from retiring, so Im not even halfway done here. :)</p>"},"alternate":[{"href":"https://inessential.com/2019/09/10/had_to_get_a_new_key_fob_at_work_today_m","type":"text/html"}],"crawled":1569829821629,"published":1568153137000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/09/06/on_syncing_netnewswire_using_icloud","fingerprint":"3b5ade1b","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d993:18991ffa","summary":{"direction":"ltr","content":"<p>People have been asking me about supporting iCloud as a sync method for NetNewsWire.</p>\n<p>It would be really cool because:</p>\n<ul>\n<li>Theres no sign-in</li>\n<li>Its free — no need to spend money on another service</li>\n<li>It would help broaden the pool of people using RSS, since there would be no additional expense or service theyd need — they could just get going</li>\n</ul>\n<p>Its a great idea — no question. Given that my goal is to get as many people as possible using RSS, this makes total sense.</p>\n<h4>Why we didnt ship with this feature</h4>\n<p>For the first release — I still think of it as a 1.0, because it really is — our best bet was to appeal to people already using an existing RSS service. We know that those people like and use RSS, and theyre the people most likely to check out a new RSS app.</p>\n<p>(We could have delayed and shipped with support for more existing services, but we figured one was enough to get started with, and we could add other services later. And we are.)</p>\n<p>In other words, we tried to make an app that the existing market would like. And thats the right call when youre starting out.</p>\n<p>Also: iCloud sync makes the most sense when you have both a Mac and an iOS app, and we dont — the iOS app is still in progress. We totally expect people to use NetNewsWire on the Mac and Unread or Reeder on their iPhone and iPad — and iCloud sync wont work across apps. This scenario requires using services such as Feedbin.</p>\n<h4>Why I have no idea when this feature might appear</h4>\n<p>For any existing RSS service, we can be confident that our effort to support it in NetNewsWire would be successful. This is well-trodden ground: we make some web API calls, integrate with our database, and done. Its not nothing, but conceptually its simple and theres no cause to worry about technical issues.</p>\n<p>But iCloud syncing will mean writing exploratory code and only <em>then</em> finding out if its going to work.</p>\n<p>Syncing the feeds list should be relatively easy — the real issue is with syncing read/unread/starred states of articles. That means a <em>lot</em> of small records.</p>\n<p>Is CloudKit up to this? What are the limits? How fast is it? How reliable?</p>\n<p>We just dont know.</p>\n<p>Yes, its encouraging that <a href=\"https://betamagic.nl/products/newsexplorer.html\">News Explorer</a> has this feature — but that doesnt tell us much about the limits, reliability, and performance.</p>\n<p>Working on this is a risk.</p>\n<p>So — as you can imagine — were still more keen on supporting existing RSS services, because we know there are plenty of people who for-sure like RSS, and who might like NetNewsWire, but who wont switch their syncing system just to use NetNewsWire.</p>\n<p>That said: I do think well get around to trying this, and Ill be super-pleased if it works, because it really is a great idea — but we have a bunch of other work to do first. (Including the iOS app!)</p>"},"alternate":[{"href":"https://inessential.com/2019/09/06/on_syncing_netnewswire_using_icloud","type":"text/html"}],"crawled":1569829821629,"title":"On Syncing NetNewsWire Using iCloud","published":1567817061000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/09/06/_markos_charatzas_writes_https_qnoid_com","fingerprint":"ca200f5a","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d992:18991ffa","summary":{"direction":"ltr","content":"<p><a href=\"https://qnoid.com/2019/09/06/Apple-Developer.html#main\">Markos Charatzas writes</a> about his excitement in joining the Apple developer world in 2009 to his eventual disillusionment today.</p>"},"alternate":[{"href":"https://inessential.com/2019/09/06/_markos_charatzas_writes_https_qnoid_com","type":"text/html"}],"crawled":1569829821629,"published":1567788970000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/09/04/on_the_many_netnewswire_feature_requests","fingerprint":"66196df9","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d991:18991ffa","summary":{"direction":"ltr","content":"<p>A number of people have asked that NetNewsWire show the full web page — right there, in the app — after clicking a link.</p>\n<p>The idea is pretty good! It solves two big problems:</p>\n<ul>\n<li>You get full content, which is great when a feed contains only summaries or truncated articles</li>\n<li>You dont have to switch to another app: you can stay right where you are</li>\n</ul>\n<p>Youd think its a no-brainer, and we should just go ahead. But there are other considerations.</p>\n<p>One big one is that your ad blockers and privacy extensions wont run. They work in Safari, but they do <em>not</em> extend to other apps that use WebKit. This means that viewing a web page in NetNewsWire would be less secure and more annoying than viewing the same page in Safari (or whatever your browser is).</p>\n<p>This points to one of my design principles: the app should have boundaries. Some features belong in the app, and some features are best left to apps that do that feature way better than NetNewsWire could. One of those things is showing web pages — thats really a web browser feature.</p>\n<p>Having boundaries means we can concentrate on doing a great job at the things that do belong in the app.</p>\n<p>(Before you mention <a href=\"https://developer.apple.com/documentation/safariservices/sfsafariviewcontroller\">SFSafariViewController</a>, recall that its iOS-only.)</p>\n<h4>What about the glory days?</h4>\n<p>“But Brent! In NetNewsWire 2.0 you added a tabbed browser to NetNewsWire, and it was awesome and a hugely popular feature!”</p>\n<p>It was! But times have changed. Many websites are hostile these days. In 2005, this feature was fine — but these days its totally not.</p>\n<h4>A winged messenger arrives with a solution</h4>\n<p>There <em>is</em> a solution to the problem of showing full content and not leaving the app, and its a feature that really <em>does</em> belong in an RSS reader: using content extraction to grab the article from the original page.</p>\n<p>If youve ever used Safaris Reader view, then you know what Im talking about. The idea is that NetNewsWire would do something very much like the Reader view (but inline, in the article pane), that grabs the content and formats it nicely, without all the extra junk that is <em>not</em> the article you want to read.</p>\n<p>There are a number of open source options for this. Were looking at using <a href=\"https://feedbin.com/blog/2019/03/11/the-future-of-full-content/\">Feedbins content extraction service</a> (which wouldnt require you to have a Feedbin account).</p>\n<p>The generous folks at Feedbin are running a copy of the open-source Mercury Parser, and theyve offered to open this service up to RSS readers like NetNewsWire. (<a href=\"https://www.reederapp.com/\">Reeder</a> uses it already, for instance.)</p>\n<h4>When?</h4>\n<p>Right now were working on NetNewsWire 5.0.1, which is (almost entirely) a bug-fix release. I dont know whats going to be in 5.1 yet — were still digesting all the feedback, looking at our original roadmap, and thinking about things.</p>\n<p>Were also working on NetNewsWire for iOS! Were busy.</p>\n<p>But this is definitely the kind of feature that should come sooner rather than later.</p>"},"alternate":[{"href":"https://inessential.com/2019/09/04/on_the_many_netnewswire_feature_requests","type":"text/html"}],"crawled":1569829821629,"title":"On the Many NetNewsWire Feature Requests to Show Full Web Pages","published":1567661107000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/09/02/on_my_funny_ideas_about_what_beta_means","fingerprint":"bb260103","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d990:18991ffa","summary":{"direction":"ltr","content":"<p>John Gruber has mentioned, on <a href=\"https://daringfireball.net/thetalkshow/2019/08/28/ep-261\">The Talk Show</a>, that Ive got some weird ideas about what <em>beta</em> means.</p>\n<p>Here are my definitions:</p>\n<p><strong>development</strong> (d): everything is in progress and the app might be completely unusable.</p>\n<p><strong>alpha</strong> (a): the app is feature-complete and has no known bugs — but, importantly, its had very little testing.</p>\n<p><strong>beta</strong> (b): the app is feature-complete, has no known bugs, and has been tested — but further testing is still warranted. Every beta is a release candidate.</p>\n<p>These are <a href=\"https://github.com/brentsimmons/NetNewsWire/blob/master/Technotes/DevelopmentAlphaBeta.md\">defined in a NetNewsWire Technote</a>. Its important to have definitions that everybody working on or testing the app understands.</p>\n<p>But why these rather strict definitions?</p>\n<p>Its part of our commitment to quality. What matters is the end result — the shipping app — and these definitions make sure we dont get to beta, or even alpha, with the app up on the table with wires sticking out and pieces missing.</p>\n<p>This gives us a big space between <em>development</em> and <em>shipping</em>, and that space is all about making sure the bugs are all fixed.</p>\n<p>This is a matter of ethics and pride in our work. Absolutely.</p>\n<p>But its also pragmatic. This is an open source app, written by volunteers in their spare time, and having this rhythm baked-in to the process helps make sure we can uphold our standards even without full-time developers, managers, and testers.</p>\n<p>* * *</p>\n<p>And… it bugs me how little real attention our industry pays to quality these days. In some cases the consequences are disastrous; in other cases theyre merely expensive. It doesnt have to be this way.</p>\n<p>If it seems like Im going too far with my definitions, well, Im trying to bend the stick here.</p>"},"alternate":[{"href":"https://inessential.com/2019/09/02/on_my_funny_ideas_about_what_beta_means","type":"text/html"}],"crawled":1569829821629,"title":"On My Funny Ideas About What Beta Means","published":1567455823000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/08/31/i_love_this_netnewswire_write_up_on_wp_t","fingerprint":"e526eb19","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d98f:18991ffa","summary":{"direction":"ltr","content":"<p>I love this <a href=\"https://wptavern.com/netnewswire-5-0-rss-reader-rebuilt-from-scratch-now-free-and-open-source\">NetNewsWire write-up on WP Tavern</a>.</p>"},"alternate":[{"href":"https://inessential.com/2019/08/31/i_love_this_netnewswire_write_up_on_wp_t","type":"text/html"}],"crawled":1569829821629,"published":1567280353000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/08/31/netnewswire_5_feature_requests","fingerprint":"57ea983b","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d98e:18991ffa","summary":{"direction":"ltr","content":"<p>NetNewsWire 5.0 is a 1.0 app in disguise.</p>\n<p>And so, as expected, weve had a ton of feature requests. Most people tend to request one or two features — and theres a huge variety in these. People want different things.</p>\n<p>Nevertheless, there are a few themes we can pick out from what people are asking for:</p>\n<ul>\n<li>More syncing options, especially Feedly support</li>\n<li>iOS app</li>\n<li>Some way to deal with partial-content feeds</li>\n<li>Customization of the article pane (fonts, colors, etc.)</li>\n<li>Traditional view (timeline on top with single lines, article below)</li>\n<li>More sharing options (Instapaper, Pinboard, etc.)</li>\n<li>Customizable keyboard shortcuts</li>\n<li>State restoration</li>\n<li>Localizations</li>\n<li>Hiding read items in the timeline (or dimming them)</li>\n<li>Hiding feeds (in the sidebar) that have no unread articles</li>\n<li>User-created smart feeds</li>\n</ul>\n<p>The less-common, more singular requests are for things like specific sorting options — there are lots of different small options that people would like.</p>\n<p>People have also asked for things that might surprise you (they surprised me) — for instance, weve had a request for monochrome icons for the toolbar. Another request for a Dark Mode thats <em>different</em> from Apples Dark Mode. Etc.</p>\n<h4>How We Choose What To Do Next</h4>\n<p>The first principle is that we cant lose what we love about the app. We do our damnedest to ship with no bugs, and the app needs to be fast and, most importantly, it needs to feel lighter-than-air.</p>\n<p>Whenever you add things — even if the app remains just as fast, even if there are no bugs — you still run the risk of losing that feeling of lightness. One of the quickest ways to lose that feeling is to add a whole bunch of preferences, View menu options, toolbar commands, and other chrome. So were going to be very slow to add things like that.</p>\n<p>NetNewsWire needs to not become <em>fiddly</em>. (Earlier versions of NetNewsWire got way too fiddly.)</p>\n<p>There are other questions we ask about a feature before we do it.</p>\n<ul>\n<li>Will it substantially benefit current users?</li>\n<li>Will it bring a number of new users to the app?</li>\n<li>Does the feature depend on something else being done first?</li>\n<li>How much work will it take?</li>\n<li>Does it require resources (such as new icons) that our programmers cant provide?</li>\n<li>Does the feature really belong in an RSS reader at all?</li>\n</ul>\n<p>And, because this is an open source app, theres another dimension: people. Is someone available? Has someone just shown up whos eager to work on a specific feature? Those things have an impact on scheduling, too.</p>\n<p>The good news is that most of the common feature requests are obvious things to do.</p>\n<p>Some examples — not nearly everything, just a few thoughts:</p>\n<p><strong>The iOS app</strong> is in progress. Maurice Parker has been writing it, and its coming along very well. Still plenty more to do, and we wont ship before iOS 13 ships, but its happening.</p>\n<p><strong>Adding syncing options</strong> is a definite good thing for the app. Doing the first one (Feedbin) was the big effort, because it required building the infrastructure that makes syncing possible. Once that was done, adding additional services is not super-difficult. (Not <em>easy</em>, no. Nothings trivial. But at least the infrastructure and patterns are in place.)</p>\n<p>Wed like to support all the various services, or at least a majority of them. And we have people working on adding services.</p>\n<p><strong>Customization of the article pane</strong> will most likely work the way it did in older versions of NetNewsWire: we had theme files which included templates and CSS. The app shipped with a few, and you could make your own and use themes other people made.</p>\n<p>This feature shipped with NetNewsWire 2.0, and people really loved it. It was fun!</p>\n<p><strong>More sharing options</strong> is an obvious good idea. <em>Of course</em> you should be able to send to Instapaper, Pocket, Pinboard, and so on. We shipped with custom support for MarsEdit and the Micro.blog app — mainly because I use those apps. But an RSS reader ought to support as many sharing workflows as possible. Thats one of the core points of the app.</p>\n<p>* * *</p>\n<p>Anyway — the above doesnt cover everything. Dont take any of the above as gospel about what were doing or when, or what were not doing. We havent planned 5.1 yet! Its too soon.</p>\n<p>There are also features that we want to do that people havent asked for, but that we think are cool. \uD83C\uDFB8</p>\n<p>The take-away from this article should be: were being very careful about designing and implementing new features, because we have to make sure NetNewsWire doesnt lose what makes it special.</p>\n<p>But we <em>are</em> doing new features, because there are so many things that can make the app even better — we can make it better for current users and we can bring in new users.</p>"},"alternate":[{"href":"https://inessential.com/2019/08/31/netnewswire_5_feature_requests","type":"text/html"}],"crawled":1569829821629,"title":"NetNewsWire 5 Feature Requests","published":1567278518000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/08/29/follow_through","fingerprint":"444937b","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d98d:18991ffa","summary":{"direction":"ltr","content":"<p>Decades ago, when I was working for <a href=\"http://scripting.com/\">Dave Winer</a> at UserLand, I learned about the concept of <em>follow-through</em> after a major release.</p>\n<p>If youre an app maker, it might seem like your goal is to get to release day. Get the app done, make it available, publish an announcement, and then get back to coding. Let the world do what its going to do.</p>\n<p>One bang, and then back to work, in other words.</p>\n<p>But thats <em>not</em> going to maximize your chances for a good release. You need to follow through — you need to keep going.</p>\n<p>Some of the things you might do, in no particular order:</p>\n<ul>\n<li>Publish tips on using your app — one a day or so</li>\n<li>Update your website with feedback, testimonials, and good reviews</li>\n<li>Be available and communicative about your app</li>\n<li>Go on some podcasts</li>\n<li>Write about how release day went</li>\n<li>Write about plans for the x.0.1 version</li>\n<li>Field bug reports and feature requests <em>gratefully</em></li>\n<li>Thank reviewers whove done a good job</li>\n<li>Make it as easy as possible for reporters and reviewers to get access to your app and to you</li>\n<li>Work to build a community of customers, on Slack or similar</li>\n</ul>\n<p>Im sure you can think of more things to do — the above isnt everything, and every app is different.</p>\n<p>But the key is that you dont just do the release and then <em>stop</em>. Instead, show that youre responsive, show that your app has momentum, show that you care enough to keep showing up.</p>\n<p>For me, at least, this is the fun part. I realize thats not true for everybody — but you should do it anyway. \uD83C\uDFA9</p>"},"alternate":[{"href":"https://inessential.com/2019/08/29/follow_through","type":"text/html"}],"crawled":1569829821629,"title":"Follow-Through","published":1567110304000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/08/28/daniel_figures_out_one_of_the_two_crashi","fingerprint":"669e65c4","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d98c:18991ffa","summary":{"direction":"ltr","content":"<p>We have a few reports of a crash where the <a href=\"https://github.com/brentsimmons/NetNewsWire/issues/897\">add-feed-sheet window doesnt load</a>. Theres a line of code with <code>window!</code> — because of course we expect the window to have been loaded — and it crashes right there.</p>\n<p>This crash made zero sense to me, but Daniel Jalkut figured out the most likely cause and was able to reproduce it: its because the person has moved the app (from one folder to another) after launching it, while its running, and the nib-loading machinery cant find the nib, because its moved along with the app.</p>\n<p>Tip: if youre going to move an app, quit it first, then move it, and then re-launch it!</p>\n<p>At any rate: our fix for this will be to load that sheet on startup, and then recycle it on each use. This fix will go into NetNewsWire 5.0.1.</p>\n<p>This just fixes the bug with this one nib, though. A more systematic fix — maybe just a warning to the user suggesting they quit and re-launch — would be a good idea.</p>\n<p>File under “bugs iOS developers never have to worry about.” \uD83D\uDC07</p>\n<p>PS We have a <a href=\"https://github.com/brentsimmons/NetNewsWire/milestone/9\">5.0.1 beta milestone</a> now.</p>"},"alternate":[{"href":"https://inessential.com/2019/08/28/daniel_figures_out_one_of_the_two_crashi","type":"text/html"}],"crawled":1569829821629,"title":"Daniel Figures Out One of the Two Crashing Bugs","published":1567022746000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/08/27/how_release_day_went","fingerprint":"2394a816","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d98b:18991ffa","summary":{"direction":"ltr","content":"<p>Yesterday was a great day! A few things to note, in no particular order:</p>\n<p>NetNewsWire got some press coverage, including a well-done <a href=\"https://www.macstories.net/reviews/netnewswire-review-the-mac-rss-client-rebooted-with-a-solid-foundation-for-the-future/\">review in MacStories</a>.</p>\n<p>We got a lot of feature requests, but no bug reports.</p>\n<p>Except that we did get a single-digit number of crash logs. On investigation, I found two distinct backtraces — well need to fix those. The thing is, theres <em>no freakin way</em> the app should crash in those spots. Except that, obviously, it can. Rarely, but it happens.</p>\n<p>The servers started timing-out at one point during the day. I contacted DreamHost support and they fixed things (and told me that the fixes they applied should prevent this in the future).</p>\n<p>There were a number of nice blog posts and tweets about NetNewsWire, which was <em>awesome</em>. After working so hard for so long, its great when people appreciate the app. We dont get paid in money, after all. \uD83D\uDC23</p>\n<p>I have no idea how many downloads of the app there were. GitHub is hosting the download, via its releases feature, and I dont see a way to find out how many times its been downloaded. Which is totally fine with me.</p>\n<p>* * *</p>\n<p>I should say something more about the no-bug-reports. Theres no special magic or talent or anything to this — theres just the willingness to say that were not going to ship until weve got the bugs out, and then sticking to that.</p>\n<p>This is a matter of pride and ethics, for sure, but theres another dimension: since the app is open source, its written by volunteers (including me), and we have no dedicated support team. Any time we spend fielding bug reports is time taken away from working on the next feature.</p>\n<p>Making apps — even, or especially, free apps — is an exercise in economics. With free apps, the economics are even more constrained, because nobody is going to hire even a part-time support person. So we do everything we can do keep costs down — especially time costs.</p>\n<p>Plus — buggy apps can be demoralizing to the people who work on them. Part of my job is to make sure people are proud and happy to work on the app. And that means making sure everyone knows were super-serious about doing our best to never ship bugs.</p>"},"alternate":[{"href":"https://inessential.com/2019/08/27/how_release_day_went","type":"text/html"}],"crawled":1569829821629,"title":"How Release Day Went","published":1566937707000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/08/26/netnewswire_5_0_now_available","fingerprint":"175d2cdb","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d98a:18991ffa","summary":{"direction":"ltr","content":"<p><a href=\"https://ranchero.com/netnewswire/\"><img width=\"256\" alt=\"NetNewsWire for Mac icon: globe with a satellite in the foreground.\" src=\"https://ranchero.com/images/nnw_icon_256.png\" height=\"256\"></a></p>\n<p><a href=\"https://ranchero.com/netnewswire/\">NetNewsWire 5.0</a> is shipping!</p>\n<p>In case you havent been following along until just now: NetNewsWire is an open source RSS reader for Mac. Its free! You can just download it and use it. No strings.</p>\n<p>Its designed to be stable, fast, and free of bugs. It doesnt have a lot of features yet, and thats because we prioritized quality over features. We <em>will</em> be adding more features, of course, but not quickly. Were also working on an iOS app.</p>\n<p>It syncs using Feedbin. Well support more systems in the future (as many as possible).</p>\n<p>I hope you like it!</p>\n<p>Some links…</p>\n<ul>\n<li><a href=\"https://ranchero.com/netnewswire/\">NetNewsWire home page</a></li>\n<li><a href=\"https://ranchero.com/netnewswire/screenshots\">Screenshots</a></li>\n<li><a href=\"https://nnw.ranchero.com/\">NetNewsWire blog</a></li>\n<li><a href=\"https://ranchero.com/netnewswire/frequently-asked-questions\">Frequently Asked Questions</a></li>\n<li><a href=\"https://ranchero.com/netnewswire/help/mac/5.0/en/\">NetNewsWire Help</a></li>\n<li><a href=\"https://ranchero.com/netnewswire/history\">NetNewsWire History</a></li>\n<li><a href=\"https://netnewswire.slack.com/join/shared_invite/enQtNjM4MDA1MjQzMDkzLTNlNjBhOWVhYzdhYjA4ZWFhMzQ1MTUxYjU0NTE5ZGY0YzYwZWJhNjYwNTNmNTg2NjIwYWY4YzhlYzk5NmU3ZTc\">NetNewsWire Slack group</a></li>\n<li><a href=\"https://github.com/brentsimmons/NetNewsWire/blob/master/Technotes/HowToSupportNetNewsWire.markdown\">How to Support NetNewsWire</a></li>\n<li><a href=\"https://github.com/brentsimmons/NetNewsWire\">NetNewsWire repository on GitHub</a></li>\n</ul>\n<h4>Thanks to so many people</h4>\n<p>I want to especially thank Sheila Simmons and my family and friends.</p>\n<p>This release took five years to make, and for four of those years it wasnt even called NetNewsWire. It was just a year ago that I <a href=\"https://inessential.com/2018/08/31/netnewswire_comes_home\">got the name NetNewsWire back from Black Pixel</a> — and I thank them again for their wonderful generosity.</p>\n<p>I also want to thank <a href=\"https://twitter.com/BradEllis\">Brad Ellis</a> for making the beautiful app icon and toolbar icons. Thanks to our major code contributors: <a href=\"https://github.com/vincode-io\">Maurice Parker</a>, <a href=\"https://github.com/olofhellman\">Olof Hellman</a>, and <a href=\"https://github.com/danielpunkass\">Daniel Jalkut</a>. Thanks to <a href=\"https://nostodnayr.net/\">Ryan Dotson</a> for writing the Help book. Thanks to <a href=\"https://rhonabwy.com/\">Joe Heck</a> for looking after infrastructure issues (especially continuous integration).</p>\n<p>Thanks to my co-workers and friends at <a href=\"https://www.omnigroup.com/\">The Omni Group</a> (which is a wonderful place to work). Thanks to the ever-patient and ever-awesome NetNewsWire beta testers on the Slack group and elsewhere.</p>\n<p>And thanks to everyone whos ever used the app in its 17-years-and-counting run. Because of you, NetNewsWire has been, and remains, the thrill of my career.</p>"},"alternate":[{"href":"https://inessential.com/2019/08/26/netnewswire_5_0_now_available","type":"text/html"}],"crawled":1569829821629,"title":"NetNewsWire 5.0 Now Available","published":1566834451000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/08/22/end_of_the_line_for_netnewswire_3_3_2","fingerprint":"e30daaa8","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d989:18991ffa","summary":{"direction":"ltr","content":"<p>This is a little bit of bad news. Its not my intention, and its not what I want to happen — but NetNewsWire 3.3.2 apparently does not launch in the next version of macOS (10.15, Catalina).</p>\n<p>It links to the PubSub framework, which is not included with the next macOS.</p>\n<p>NetNewsWire 3.3.2 was the last release of the full version that I worked on, before selling NetNewsWire to Black Pixel, and Ive heard from lots of people that theyve been using it ever since. They never switched.</p>\n<p>I would rather it continued working forever, but thats not to be. Not my choice. Sorry about that!</p>"},"alternate":[{"href":"https://inessential.com/2019/08/22/end_of_the_line_for_netnewswire_3_3_2","type":"text/html"}],"crawled":1569829821629,"title":"End of the Line for NetNewsWire 3.3.2","published":1566515704000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/08/21/the_netnewswire_blog_has_the_details_on_","fingerprint":"c583e740","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d988:18991ffa","summary":{"direction":"ltr","content":"<p>The NetNewsWire blog has the <a href=\"https://nnw.ranchero.com/2019/08/21/netnewswire-b-probably.html\">details on NetNewsWire 5.0b5</a> — which should be the last beta.</p>\n<p>Still planning to do the 5.0 final release Monday morning, which really means doing the release on <em>Sunday</em> and pushing an announcement to this blog Monday morning. :)</p>\n<p>The last things on my to-do list are actually writing that announcement and doing screenshots for the <a href=\"https://ranchero.com/netnewswire/\">NetNewsWire web page</a>. Easy. \uD83D\uDC2F</p>"},"alternate":[{"href":"https://inessential.com/2019/08/21/the_netnewswire_blog_has_the_details_on_","type":"text/html"}],"crawled":1569829821629,"published":1566452581000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/08/20/immunization","fingerprint":"39a4bdb0","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d987:18991ffa","summary":{"direction":"ltr","content":"<p>Before every major release I like to try and think of everything mean that people might say about the app. Its fun!</p>\n<p>So we just went through this exercise on the NetNewsWire Slack group. Heres a taste:</p>\n<ul>\n<li>This took five years? I could write an RSS parser in a weekend.</li>\n<li>Cant get my Twitter and Facebook feeds. Whatever.</li>\n<li>Doesnt work with my Usenet host.</li>\n<li>The information density of the timeline is… lacking. What the hell.</li>\n<li>Not truly open source since its on a Mac.</li>\n<li>Not truly open source since its not GPL.</li>\n<li>No vim keys. Why bother.</li>\n<li>Regular people will never use an RSS reader. Whats the point?</li>\n<li>Brents last good idea was in 2002. Consider this a textbook case of coasting.</li>\n<li>Great app. Too bad RSS died with Google Reader.</li>\n<li>It totally didnt pick up my subscriptions from the earlier version. How is this an upgrade?</li>\n<li>When does a 5.0 have fewer features than a 3.0? When its NetNewsWire.</li>\n<li>The echo chamber will love this app. They always do.</li>\n<li>Free app. Continues the race to the bottom. Pour one out for Silvio Rizzi.</li>\n<li>No way to send to Instapaper. Fuck it.</li>\n<li>Brent Simmons cant stop pursuing a technology that even Google famously admitted was not worth bothering with.</li>\n<li>If this app took five years, imagine how long it will take before it will actually sync with Feedly.</li>\n<li>Sure its free, but I bet the Feedbin people paid them off, because the only way to sync is to pay money to Feedbin.</li>\n<li>No iCloud sync? Jerks.</li>\n<li>No iOS app. The revolution happened on mobile, Brant. What the actual fuck.</li>\n<li>Shoulda been Catalyst. Dinosaurs wrote this app.</li>\n<li>Not on the Mac App Store? I guess they dont want users.</li>\n<li>I would totally use this if it had just this one [feature x], which I cant believe they shipped without. (Multiply this comment by 100, with a different feature x each time.)</li>\n<li>Area Man Cant Let RSS Go</li>\n</ul>\n<p>Some feedback will be factually inaccurate, but we like to imagine that too:</p>\n<ul>\n<li>I remember using NetNewsWire on OS 9, and it hasnt really improved since then. They should make it a Cocoa app.</li>\n<li>Doesnt work with web comics. POS</li>\n<li>Doesnt support 10.5.</li>\n<li>It should be free.</li>\n<li>Youd think they would have updated the design — but it looks <em>exactly</em> like NetNewsWire of old.</li>\n<li>Why the hell would they build on that aging code base from Black Pixel? I heard it doesnt even use ARC.</li>\n<li>No way to sync? Whats their actual problem?</li>\n</ul>\n<p>See? The actual feedback will be nicer than the stuff we thought up. This provides a bit of immunization. :)</p>\n<p>But, also, there will be negative feedback we didnt imagine. Thats the gold!</p>\n<p>* * *</p>\n<p>Bonus from <a href=\"https://red-sweater.com/\">Daniel Jalkut</a>, but not actually a criticism:</p>\n<blockquote>\n<p>Cant innovate, my RSS.</p>\n</blockquote>"},"alternate":[{"href":"https://inessential.com/2019/08/20/immunization","type":"text/html"}],"crawled":1569829821629,"title":"Immunization","published":1566332363000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]},{"originId":"https://inessential.com/2019/08/19/i_think_were_still_on_track_for_releasin","fingerprint":"592043f","id":"ITR2bp1hhxjNSFKlSuZR7gUTTcxmHRq2TwhCgV9CifI=_16d81261cbd:4d986:18991ffa","summary":{"direction":"ltr","content":"<p>I think were still on track for releasing NetNewsWire 5.0 Monday, August 26. There will be one more beta before then.</p>\n<p>Ill be available for podcasts, interviews-via-email, etc. If youd like to set something up, email me or DM me on Twitter.</p>"},"alternate":[{"href":"https://inessential.com/2019/08/19/i_think_were_still_on_track_for_releasin","type":"text/html"}],"crawled":1569829821629,"published":1566259329000,"origin":{"streamId":"feed/http://inessential.com/xml/rss.xml","htmlUrl":"https://inessential.com/","title":"inessential.com"},"unread":true,"categories":[{"id":"user/f2f031bd-f3e3-4893-a447-467a291c6d1e/category/fc09f383-5a9a-4daa-a575-3efc1733b173","label":"NewCollection"}]}]}