Oban UI: Private Beta

Many months ago when I originally announced Oban I mentioned that a LiveView powered UI would be available for it soon. Well, the “soon” part wasn’t especially accurate, but I am pleased to announce that the Oban UI is now in private beta.

You can see a live version of the UI running at https://oban.dev/oban. The demo runs semi-constant stream of random jobs and doesn’t contain any actual personal information. Feel free to discard or delete jobs, it will just make more.

Now on to the “private” part.

Why is it private?

Oban itself has taken a ton of time to develop and support. I absolutely love the project, adore working on it, and am stunned by the positive response it has received. The UI requires even more work to get right and make into a truly useful tool for production applications. This is something I want to focus on and give proper attention—eventually I hope to sustain the project and by charging for a UI license.

Please note that Oban itself will always be entirely open source. There will never be an “enterprise” version with gated features.

Why is it a beta?

There are a few reasons:

  1. Installing it can be tricky. The package is largely stand alone, but it needs to be routed and configured from within a phoenix application. I expect that it will take some time to refine the installation steps and work out the kinks.
  2. The UI is missing some important features, has some known bugs and definitely needs polishing. That will take time, and I want to ensure that the initial users are willing to give meaningful and helpful feedback.
  3. There aren’t any proper support channels yet, it’s all a bit ad-hoc.

How does the UI integrate into my app?

The package is named oban_web and it is a published privately under the oban organization on hex.pm. The package is entirely self contained—it doesn’t hook into your asset pipeline at all. Just mount the live module in your router, pass some configuration, run some migrations and its up.

What’s on the roadmap?

As new features are added and bugs are fixed I’ll post about them here. Here are some of the bigger planned fixes/features currently:

  • Sidebar Accuracy
  • Pagination
  • Details View (with error details, unique information)
  • Queue Controls (scale up, down, pause from the UI)
  • Bulk Actions
  • Node Information
  • Live & Historic Metrics

How do I get into the beta?

Anybody wanting to join the beta now please go to https://oban.dev

The site has a little more info and a tiny little signup form for the beta.

Thank you to everybody that has expressed interest and offered support. If you have any questions or comments please leave them here. :yellow_heart:

35 Likes

Challenge accepted! :077:

Array.from(document.querySelectorAll(".btn--destructive")).forEach((el) => el.click())

                                                    A few attempts later …


Well … good job! :smiley:

It’s why I love fault-tolerant so much!

6 Likes

Ha :smiley:!

Thanks for accepting the challenge. That was largely a test of LiveView more than anything else!

Those buttons could really use a confirmation…

3 Likes

One more thing about joining the beta: please include the email you would like to register with.

I made a few guesses for email requests but that didn’t work when I received DMs!

It is far too late to edit the main post, but to anybody wanting to join the beta now please go to https://oban.dev

The site has a little more info and a tiny little signup form for the beta.

6 Likes

This looks really nice and sure beats manually running queries.

But one question for you, and don’t take this is an attack or a challenge to defeat your ways to generate revenue, but have you thought about what would happen if someone makes an open source web UI on top of Oban?

I only bring that up because the project is so polished and it sounds like you want to go all in and work on this as much as possible and it would be great for you to be able to sustain that work by generating income but it would also suck if you put in all of that time and effort and then all of that comes crumbling down because someone else makes a web UI that’s not being charged for.

I know you’re not going to add paid features to Oban (which I think is great because that has always been something that bothered me a lot with Sidekiq). I’m mainly writing this because maybe it will spark some ideas in other ways you can generate income on top of the web UI. I know consulting is a big one.

Have you considered offering premium support? This would be beyond github issues. People could pay you X amount per month or year and that would allow them to get X amount of hours of your 1 on 1 time to help on something specific to their app. This basically becomes a safety net and you become the person to call if something goes wrong with their Oban set up. It’s sort of like consulting but it’s more of a retainer / insurance based form of it.

3 Likes

My family was traveling yesterday, sorry I didn’t get the chance to write back.

That doesn’t seem like an attack at all! This is certainly something I’ve thought about, and something that my wife brings up all of the time. It will always be a possibility (just like somebody replicating Oban is a possibility). There are a few plans to guard against this, some of which you touch on in your message.

That would certainly suck. I’m primarily relying on the fact that the amount of time to build a UI isn’t trivial—at least not one that has much functionality. The price of the license is still up in the air, but one of my selling points is that it costs less than you would pay an entry level dev for one week of work.

That will never stop a student or somebody who has free time from taking a stab at it though. Then again, there are plenty of gems out there that replicate part of Sidekiq Pro / Ent and that doesn’t seem to impact sales much.

That’s a great idea. Offering support is definitely something I’ve thought about. Bundling it as part of the license, or using it as a add on would be great.

Thanks for your comment. I really appreciate your time, your concern, and the thought you put into it.

4 Likes

Hey beta people! ObanWeb v0.6.2 is released today with a nuanced bug fix for users that are running queues on dedicated workers and no queues on their web nodes.

Changes

  • Add support for explicitly disabling stats rather than inferring based on queue configuration. This prevents issues in production environments where certain nodes (i.e. web) aren’t processing any queues, but the the UI is accessed.

    ObanWeb configuration now differs from Oban configuration and you’ll need to specify it separately. Specify the repo in config.exs:

    config :my_app, ObanWeb, repo: MyApp.Repo
    

    Disable the stats tracker in the test environment:

    config :my_app, ObanWeb, stats: false
    

    Then, be sure to use the ObanWeb config in your application supervisor:

    {ObanWeb, Application.get_env(:my_app, ObanWeb)}
    

Thanks to @bgentry for identifying the issue.

2 Likes

This fixed our issues, thanks @sorentwo! :pray:

1 Like