【PAID】Plugin to Show Badges on Posts


(Judd Cobler) #1

What would you like done?
need to be able to show discourse badges underneath the user avatar in posts

When do you need it done?
Yesterday

What is your budget, in $ USD that you can offer for this task?
$200


#2

You might be going in a bit low here.
For context, we charge our development time out at $200/hour.


(Judd Cobler) #3

Not to sound snide but how many hours would it take a team that charges $200/hr to make the badges loop exist in a different location?


#4

I imagine the same amount of time that it would take any competent developer. :wink:

2-3 days probably.


(James Kiesel) #5

To give an idea of why it might take 2/3 days (which, to be fair, I’d think of as slight overestimate), here are some things I’d need to consider as a developer writing this thing:

  • There’s no mockup; what’s it going to look like?
    • On desktop?
    • On mobile?
    • With a dark theme, or vincent or something else?
  • Is it going to slow down my page load? (Badges don’t come down the wire already, so I have to make a separate request somehow)
  • The posts are rendered as widgets, meaning that there’s no plugin outlet there, and getting changes made to core is a big pain, meaning the content insertion bit is not straightforward. How do I take the JSON I’ll get from the API and put it into the widget? (NB that this is the most likely part to break in the future)
  • How often do I need to refresh the badges?
    • When the page is reloaded?
    • Each time a topic is viewed?
    • Do I need to live update them?
  • How many badges am I going to show? Is it different for desktop and mobile? What if they don’t fit in the space allowed?
  • Which badges show up? The most recent? The most ‘prestigious’?
  • Do I need to write a separate endpoint for this, or can I use the existing one for badges? (Depends on the answers to the previous questions)
  • What happens when I hover, or click on a badge?

I can imagine some of the answers to these (and could come up with suggestions for all of them), but each time I imagine something I’m upping the risk of delivering something a client doesn’t want substantially, which makes it usually not worth the time savings.

So, it’s a less straightforward problem than you might imagine, and certainly not something that you’d want to stiff someone on.


#6

Great explanation James.

My estimate includes writing an interface to manage and apply the badges, as the Envato plugin that was used as an example has.


(Angus McLeod) #7

@Judd_Cobler1 I can help you out. Send me a PM and we can discuss the price and other details.


(Judd Cobler) #8
  • There’s no mockup; what’s it going to look like?
    • On desktop?
    • On mobile?
    • With a dark theme, or vincent or something else?
      it can just be the straight list of badges in a UL - no styling required
  • Is it going to slow down my page load? (Badges don’t come down the wire already, so I have to make a separate request somehow)
    could call via ajax but having this load inline would be very unlikely to cause the page to load noticeably slower - Discourse is built as a single page application so youre not reloading headers/footers etc
  • The posts are rendered as widgets, meaning that there’s no plugin outlet there, and getting changes made to core is a big pain, meaning the content insertion bit is not straightforward. How do I take the JSON I’ll get from the API and put it into the widget? (NB that this is the most likely part to break in the future)
    this is the part Im unfamiliar with
  • How often do I need to refresh the badges?
    • When the page is reloaded?
    • Each time a topic is viewed?
    • Do I need to live update them?
      at the same time the posts are loaded - no need to live update
  • How many badges am I going to show? Is it different for desktop and mobile? What if they don’t fit in the space allowed?
    all badges - could limit with CSS if necessary
  • Which badges show up? The most recent? The most ‘prestigious’?
    this is a good point that I didnt clarify - should be in order of the badge ID which is assigned on creation
  • Do I need to write a separate endpoint for this, or can I use the existing one for badges? (Depends on the answers to the previous questions)
  • What happens when I hover, or click on a badge?
    takes you to the corresponding badge page