GithubHelp home page GithubHelp logo

Comments (11)

daveverwer avatar daveverwer commented on June 20, 2024 2

Ah I understand, yea this would be a huge amount of work and would be out of date 10 minutes after every pull request. Some of those blogs are updated very regularly :)

The best way to fix this is like this:

  • A script would run regularly, every hour or so doing the following:
    • Pings each RSS file in blogs.json.
    • If it gets a response update a new JSON file updates.json with the last post date for each field.
    • If it does not get a response, whatever previous value for the last post date would be preserved.
    • The updates.json file could be keyed on the RSS URL from blogs.json.
  • The Jekyll site generation would then be modified to:
    • Use a combination of blogs.json and the new new updates.json file as data sources.
    • Sort blogs by last post date in each category.
  • The Jekyll site would then be scheduled to regenerate every hour so that the new data would update regularly.
  • Finally, there would no longer be any need for the "Inactive" section as old blogs would just fall to the bottom of the list. That should be removed and blogs from that section moved into one of the other, more relevant sections.

Currently, this site is running on a server where I can not run arbitrary server commands, and so this is beyond what's possible right now. However, I have plans to move several sites (including this one) onto new hosting where that would be possible. So, if anyone reading this is interested in helping develop this, let me know. It would primarily be a rake task written in ruby. Leave a comment here and we can discuss it.

from iosdevdirectory.

daveverwer avatar daveverwer commented on June 20, 2024 2

Thanks Marco! This seems like a good opportunity to close this issue along with some links to other sites that do this and use the directory as a source for RSS feeds.

The ones I know of are:

from iosdevdirectory.

daveverwer avatar daveverwer commented on June 20, 2024 1

I think with voting you're right that there's too many problems. Of course, I'd never have done down/negative voting but there's so much about a full feed that a simple up/down vote isn't ever going to be particularly useful. For example, are you up voting it because you liked the last post, or because you think it has been a great resource for many years? What about when that blog then goes dark for a few months/years?

So, I'd like to call an end to the discussion on voting and focus the conversation instead on the "last updated date" side of things.

The "last updated date" is a good idea and I'd love to get rid of the "Inactive" section and instead just order blogs by the date of their last posted content. Unfortunately there are two big issues with this:

  1. The site is currently a Jekyll static site and takes about 5 seconds to generate. Pinging RSS feeds on build would make it take far longer than that. Then, consider what happens if the feed is temporarily down during the build. For this to work, this would need a significant upgrade to the site, separating it into a database of feeds with a separate process there ping them independently and store the last updated date.
  2. If this then turns into a database driven app then the beautiful nature of the current contribution/editing system is made much more complicated. Having the data in a JSON file as something that can be edited by anyone, and then approved by me is beautiful. If it was a database driven system it'd then probably need to include accounts and the concept of ownership of the sites. That'd make it really hard for edits like this to get made. That data was originally contributed by me, but then the owner came along and updated it. That gets much harder when the concept of ownership gets involved.

Just some thoughts on why this isn't simple, and not just because it'd take time to ping all the sites :)

from iosdevdirectory.

daveverwer avatar daveverwer commented on June 20, 2024

Last updated would be easier to do than voting (it's a static Jekyll site right now). Good suggestions though, I'm definitely thinking of ways it could be improved like this.

from iosdevdirectory.

kristofk avatar kristofk commented on June 20, 2024

The last update is a really good idea! And if we do voting I think it would be good to keep it only positive, so only upvotes.
Also, I am not sure if this is possible with Jekyll but it would indeed be nice if the items were sorted by a combination of last update and upvotes and not alphabetically.

from iosdevdirectory.

totocaster avatar totocaster commented on June 20, 2024

Voting might be tough on new resources. I think unless votes have expiration date or some kind of intelligence is added to ranking system, such features should be considered with care. Maybe adding short description and/or tags (e.g. UIKit, functional, etc.) can be enough for the reader to make a judgement.

from iosdevdirectory.

acrookston avatar acrookston commented on June 20, 2024

I was thinking more like a twitter or reddit faving/upvoting style where the popular resources get surfaced towards the top but still the newer sources have a chance to grow. I don’t think negative voting/ranking systems are any good.

from iosdevdirectory.

dasdom avatar dasdom commented on June 20, 2024

Could this be community driven?

Cons:

  • Could be outdated quickly
  • people should commit to regular checking the sites

Pros:

  • still a static (and therefore fast) site
  • little additional work for you

from iosdevdirectory.

daveverwer avatar daveverwer commented on June 20, 2024

Not quite sure what you mean by community driven, could you elaborate?

from iosdevdirectory.

dasdom avatar dasdom commented on June 20, 2024

I mean that the dates when the blog was last updated is provided by the community. Like I have some of the feeds in my RSS reader and when I see a new post for a specific blog, I go and create a pull request.
I realize now that this would result in a lot of work for you as you would have to merge these pull requests. So seem not such a good idea now. :(

from iosdevdirectory.

MarcoEidinger avatar MarcoEidinger commented on June 20, 2024

Related to the topic of listing blogs / posts based on their publication date: I created website iOSDevUpdates which lists the blogs based on their recent publication date.

Learn more here.

TL;DR

  • each blog, written in the English language, will be listed only once with its most recent article.
  • site refresh every 2 hours
  • is currently prone to RSS feed outages (i.e. if an RSS feed is down then the blog does not get listed) but I might change this in the future.

from iosdevdirectory.

Related Issues (19)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.