monica icon indicating copy to clipboard operation
monica copied to clipboard

🔔 Update on the project

Open djaiss opened this issue 1 year ago • 86 comments

Hi. Monica's team here.

The project is not dead. Far from it. In fact we've been working for a year and a half on Chandler, the code name of the brand new major version, and we push new code almost daily.

It's available here: https://github.com/monicahq/chandler

Since Monica is still a side project and we have full time jobs and families, we can't answer all the issues that you all create, even though we read them all. We need to prioritize what we do in our limited free time. This is why we put all our energy in creating a brand new experience with Chandler.

Chandler will address a lot of problems Monica has. Not all of them, but we hope it'll make you happy. It's also heavily unit-tested so we hope there will be less bugs. The dev stack remains mainly the same (Laravel (PHP) + VueJS + Mysql/SQLite/Postgre support), but we use Vue throughout the entire app, not just in some cases like we currently have in Monica. For the curious we use https://inertiajs.com to make it possible to use Vue with Laravel. Using Vue for the front end makes a user interface that feels really fast. The UI is also cleaner and more modern, while being sober.

We plan to move Chandler's code to this current repository. Why?

  • we don't want to lose these precious Github stars, because we need some sort of meaningless gratifications as developers,
  • we think it's easier for the community to have one point of reference about Monica instead of several repositories. Many users point to this repo directly, we don't want to dilute your attention.

Merging two repositories into one is a hard task, especially when we don't want to lose history of both commit trees. That'll be fun to do.

Before launching Chandler officially, we need to finish an exporter/importer. Chandler's codebase and data structure is completely different from Monica's. Right now, you couldn't import Monica's data into Chandler, so that would suck. We know it's an issue.

Chandler will be more focused on documenting your life, than being a personal CRM. While we kept most of all the current features Monica has, we've put a lot of effort on the journaling/personal diary feature. I mean, a lot of effort. Honestly I think we'll have one of the best journaling system out there and we really hope you'll like it.

So, please be patient. We'll post a new issue when Chandler is ready for testing.

With a lot of love, @djaiss and @asbiin. Thanks for being part of this community.

Below are some screenshots of Chandler, filled with fake data.

djaiss avatar Mar 25 '23 13:03 djaiss

Merging two repositories into one is a hard task, especially when we don't want to lose history of both commit trees.

What's the issue? What about having two different branches without related parent so you can import Chandler branch right into this repo.

PerfectSlayer avatar Mar 25 '23 14:03 PerfectSlayer

I installed and tested Chandler a few days ago. Monica is a great tool and fun to work with, but not perfect in detail. The first impression is really great and the new structure of Chandler is the right step.

turbopixel avatar Mar 28 '23 08:03 turbopixel

Have you considered creating a discord server dedicated to Monica/Chandler? That would be a helpful space for people to help each other in the community and make it so that "all discussion" about the project doesn't have to happen here in the Issues tracker. You don't even have to actively pay attention to the channels there if you don't want to, it can be focused around users helping each other.

I really like Monica. I LOVE how you can turn off the stuff that you don't care about using it for. Really well crafted tool and I look forward to using Chandler when that branch comes here and the migration is available. Great work all!

Szeraax avatar Apr 14 '23 16:04 Szeraax

Have you considered creating a discord server dedicated to Monica/Chandler?

Yes, but we can't keep up with all the feedback we already receive. Do you think this kind of space would be acceptable if we don't actually contribute to it? It's already hard to find time to work on the project - if we need to maintain a new community on the side, we'll never make it alive :-)

I really like Monica. I LOVE how you can turn off the stuff that you don't care about using it for. Really well crafted tool and I look forward to using Chandler when that branch comes here and the migration is available. Great work all!

Thanks for your kind words!

djaiss avatar Apr 14 '23 20:04 djaiss

Do you think this kind of space would be acceptable if we don't actually contribute to it?

A discord server can help REDUCE the feedback that you have coming into here in a good way. This project has over 18000 stars on github! You are doing this work without any serious business goals and people are noticing and recognizing your good work. You get a discord server setup and you'll have various ambassadors hanging out there.

For example: https://github.com/monicahq/monica/issues/6624

This is a perfect example of something where they user is not submitting a bug report or a feature request. Its a "support request". Channel support requests to discord where you have those Monica ambassadors that can help out and then just leave it alone.

If your concern is helping to run the discord, just think about those 18000 stars on github. There are people who love Monica that would be very capable of setting up and running the discord for you (organizing channels, recognizing people who are helpful in the community with distinguishments, etc.). Heck, I'd set one up for you just to take a look at and think about if you want me to.

Personally, I'd suggest aggressively pruning your issues and getting stricter with your minimum requirements for what comes into the issues tracker. This would help prepare for the migration where Chandler comes to take over Monica.

What help do you feel like you need most with the project right now? Perhaps I can help (I am not a heavy programmer, so don't ask me to do big stuff in laravel).

Szeraax avatar Apr 14 '23 21:04 Szeraax

My concern is definitely about running the discord. I know @asbiin and I won't have much time to interact with the community, as much as we want to. We are just limited with our time, like everybody else. And I agree that the increasing number of issues without any answers from us is an indication of that.

Personally, I'd suggest aggressively pruning your issues and getting stricter with your minimum requirements for what comes into the issues tracker. This would help prepare for the migration where Chandler comes to take over Monica.

I think we'll prune the issue once Chandler is out, to start from scratch.

What help do you feel like you need most with the project right now? Perhaps I can help (I am not a heavy programmer, so don't ask me to do big stuff in laravel).

Marketing, definitely, and community management. Chandler's development is going well, new features are added at a rapid pace. But marketing? Community? This is the hard part for us geeks.

Also, why Discord? Is this a popular choice for developers, or OSS communities?

djaiss avatar Apr 15 '23 01:04 djaiss

My concern is definitely about running the discord. I know @asbiin and I won't have much time to interact with the community, as much as we want to.

Ya, that's understandable and us community members generally want you working on the parts that are useful and interesting. Not getting bogged down trying to figure out why someones armv9 CPU isn't properly handling some php instructions or whatever else. You don't need to be active for it to be a successful community resource.

I think we'll prune the issue once Chandler is out, to start from scratch.

Do you know if github has a nice issues migration tool to move the existing issues to Monica once it is out? If not, you may want to consider moving to the Monica repo sooner than later.

why Discord?

Discord is very approachable for people to join. Many self-hosted apps use discord as their "community hub". Some prefer to use matrix chat. Both are valid, but Discord is definitely more approachable for people to join and participate in.

Szeraax avatar Apr 15 '23 02:04 Szeraax

But discord is terrible if you are a new user. It's not searchable, to fix common issues you need to have a discord account and join a server that might not interest you. You get the same 15 questions in the channels, and can't really link to the common answer (like an existing ticket).

Discord might be great for enthusiasts, that want to show off some cool hacks/tricks/strategies they use, but it absolutely sucks as support and actively turns me away if the only way to look for guidance is a discord, even if they have a FAQ-Channel

Joniator avatar Apr 16 '23 07:04 Joniator

That's the hard part about community management: You can't please everyone. Does that mean that you should avoid doing anything? Right now, Monica has hundreds of "issues". And the developers can feel the paralysis from that number of issues that are loosely structured.

So what should they try? If a discord helps a good portion of their userbase and reduces the number of incoming Issues (especially the ones that aren't even bugs), its their call whether to try it out. Similarly, if they do try it out and they feel like it is causing problems or failing to do what they hope, it is even easier to shut it back down. The devs have people who WANT somewhere to hangout. Those people are the ones that can really help the project by having conversations off github that the devs never have to see because the community can answer it and scroll on by. That's what a Discord server can help with.

Another option that the devs have is to make the Issues section dedicated to ONLY bugs. Then tags can be focused around what areas they involve or paths towards resolution. An example repo of comparable size showcases this well is libsodium. They only have a "bugs" template in their Issues tracker and the template says:

THE ISSUE TRACKER IS DEDICATED TO KEEPING TRACK OF BUGS, preferably after they have been already discussed and confirmed to be reproducible.

FOR ASSISTANCE, PLEASE CLOSE THIS FORM AND USE THE DISCUSSIONS SECTION INSTEAD: https://github.com/jedisct1/libsodium/discussions

This approach can be nice because github has an easy button on issues to convert them to discussions. And vice versa from discussions. The devs could also do a hybrid approach where Issues tracker is for all active work that they want to track. e.g. When they are actively looking to make a new feature, make an issue for it and plan out/discuss whatever they need to in that one issue. Similarly, when someone submits a bug, the Issues tracker would be the place to be. Thus, the issues tracker would be the "active" list of tasks and Discussions can be everything else. Using discussions doesn't preclude the devs from also having a Discord server if they want too.

@djaiss, this is all obviously up to you and what you like, so I leave it to you. You think about what you'd like to see and let me know if you want my help making it happen.

Szeraax avatar Apr 16 '23 16:04 Szeraax

You also asked what other projects use discord. Here are a few links (I'm not in all of these discord servers, I just found a couple projects) in case you're curious: Calibre-web, Tandoor recipes, and Navidrome.

Szeraax avatar Apr 16 '23 16:04 Szeraax

Many other organizations and repositories use Discord for communication. The problem is always time. It needs more capacity and a permanent moderation. Not every maintainer can offer that in addition.

turbopixel avatar Apr 16 '23 16:04 turbopixel

At least on Tandoor-recipes' discord, the project maintainers show up there when they want to. The community ambassadors (people like me who know at least a bit) hang out there and take care of many of the questions that come in. That project only has about 4k stars on github, but the discord has about 1000 members.

Szeraax avatar Apr 16 '23 17:04 Szeraax

If the concern is support issues versus development issues, another accessible option might be Answer (https://answer.dev). It's a self-hosted version of something resembling Stack Overflow. Has built-in moderation operations, tags and categories, and more. It's still an early project; I will have to check to see if it has Github login integration. That might be the easiest route to redirecting people to a place for support-type issues in a way that's searchable and open.

nosbig avatar Apr 18 '23 14:04 nosbig

Thanks for this discussion. Just came back from a week of vacations that I really needed.

I wonder if Discord is ideal. Wouldn't Reddit be a better place? More visibility, seems a little bit less closed than Discord in the sense that posts can be public and people can help each other there?

djaiss avatar Apr 23 '23 19:04 djaiss

Wouldn't Reddit be a better place?

I've been thinking about this discussion the last few days and no, I don't think that adding a reddit area would likely be helpful. Having 2 forum type areas just leads to increased noise if the users of both forums have large overlap. E.g. Most technical reddit users are very fine with using and logging into github. If you have a sub-reddit, it will be a ghosttown that has duplicate posts between it and here. Example: https://www.reddit.com/r/fogproject/ (contrasted to the main forum: https://forums.fogproject.org/).

If you're going to do anything with Discord, its going to be to do something different than your Monica issues tracker and discussions area. It would be to have an area for the part of your community that likes to be able to chat together. My theory for the downvotes that my comments have received is from people who don't want to have to go to Discord to get user support. Or don't want to be forced to use Discord. Which, frankly, seems reasonable and worth listening to.

If you want to do a better job on your issues tracker, define what you'd like to see and either start enforcing it OR empower people to help enforce it. You don't have to do it all alone. If you want to make issues only be for bugs and active development, then you'd want to create a Technical Help discussion category. And actively move items from the issues tracker to the Technical Help discussion category.

Of course, this is all kind of interesting because you're planning to clear out all your issues at some point when you migrate Chandler into Monica. Maybe your best bet to play around with all this stuff in the Chandler repo. Maybe you should seriously consider moving Chandler into Monica repo sooner than later and do the cleanup on issues.

Entirely up to you. You let the community know what you want done and how we can help.

Separate from the existing github repo that you have, you can also engage another segment of your community via Discord. I still believe that doing so would help with the incoming issues to gh, but I'm fine to leave that as a disputed point if people don't agree that it would help with your incoming work.

Szeraax avatar Apr 24 '23 01:04 Szeraax

Discord makes it nearly impossible to reference previous answers. Instead of a single location dedicated to a topic, Discord history is a time-based events list with all active topics interleaved and smeared out across other, unrelated discussions.

Are your issue-notification emails overwhelming now? Try reading them in chronological order instead, unthreaded. This is the direct user experience trying to find existing data on Discord.

This isn't just annoying; it has the direct effect of preventing useful searches before asking, which leads to lots of negative interactions in the community.

I would second the suggestion that this is a good time to separate issues, feature requests and discussions (including support requests and everything else). Then you can point stalebot at the feature requests tag and let the community handle the discussions.

edit to add: I just learned that Discord isn't indexed by search engines. So approximately zero people will find existing answers before asking again.

disconn3ct avatar Apr 25 '23 13:04 disconn3ct

I think Discord is a convenient tool that almost everyone can pick up quite easily and that a lot of people are already active on.

This makes it "better" than slack for people like me which already have a Discord account, for example, I have a Slack account for a single project, which makes me not want to use slack nor ask help in that because I don't to bother with it.

I think Matrix is also a safe bet but not many people use it, maybe the best solution would be to have a Matrix <-> Discord bridge in place. I would be happy to set it up if needed.

Coder uses a Discord for assisting users and feedback.

I think it works pretty well especially with the "new" forum channels feature. We really have managed to make it a space where it's not hard to search back for older issues because of the current setup.

I am the one administering the Codercord bot and I would be glad to port it if a Monica Discord ever opened.

Feel free to check it out at discord.gg/coder. You can create threads titled "Monica test thread" in #help and I'll delete them. I think it's worth checking out because the system we have in place with that bot is liked by our users and I think that it's honestly really good to have.

phorcys420 avatar May 05 '23 20:05 phorcys420

Discord now forces people to pay to be members of more servers, which means now I have to delete some of the projects I'm part of if I want to join another.

opie4624 avatar Jun 02 '23 18:06 opie4624

Discord now forces people to pay to be members of more servers, which means now I have to delete some of the projects I'm part of if I want to join another.

To clarify, "regular" discord users can join up to 100 (which is the historical limit anyways, I think that saying discord forces people to pay is a bit of an overstatement) servers/guilds, nitro members can join up to 200, i don't know if it's that big of a deal for most people.

phorcys420 avatar Jun 03 '23 20:06 phorcys420

Maybe the noisy discord discussion should be in another issue since this issue is about chandler.

Any word on when we can expect chandler to be merged into main and officially released? I'm excited

benjick avatar Jun 08 '23 09:06 benjick

Chandler Beta is launched today 🥳 See this post https://www.monicahq.com/blog/chandler-is-in-beta

ChetanGoti avatar Jun 08 '23 13:06 ChetanGoti

Hope you will like it.

Also, sorry for all the bugs we've seen in production, folks. We are actively looking into them.

djaiss avatar Jun 12 '23 12:06 djaiss

Are there any self-hosting examples for Chandler? I tried looking for docker-compose files in the chandler branch but I couldn't find any

benjick avatar Jun 27 '23 06:06 benjick

Same, Chandler in the original repo had an option to use docker to host, as well as instructions on how to do so but I don't find anything in the chandler branch.

stanleyshly avatar Jun 29 '23 14:06 stanleyshly

Would also like a hint how to setup chandler especially with sqlite via docker-compose

pl33x avatar Jul 22 '23 06:07 pl33x

Would also like a hint how to setup chandler especially with sqlite via docker-compose @pl33x

Just insert the GitHub docker image ghcr.io/monicahq/monica-next:chandler from https://github.com/monicahq/chandler/pkgs/container/monica-next and rest is like 4.x monica

version: "3.4"

services:
  app:
    image: ghcr.io/monicahq/monica-next:chandler
    depends_on:
      - db
    ports:
      - 8080:80
    environment:
    # see https://github.com/monicahq/monica/blob/chandler/.env.example  
      - APP_ENV=production
      - APP_DEBUG=false
      - APP_KEY=secret
      - DB_HOST=db
      - DB_USERNAME=monica
      - DB_PASSWORD=secret
      - MAIL_MAILER=smtp
      - MAIL_HOST=smtp.server.com
      - MAIL_PORT=465
      - [email protected]
      - MAIL_PASSWORD=secret
      - MAIL_ENCRYPTION=tls
    volumes:
      - data_chandler:/var/www/html/storage
    restart: always

  db:
    image: mysql:5.7
    environment:
      - MYSQL_RANDOM_ROOT_PASSWORD=true
      - MYSQL_DATABASE=monica
      - MYSQL_USER=monica
      - MYSQL_PASSWORD=secret
    volumes:
      - mysql_chandler:/var/lib/mysql
    restart: always

volumes:
  data_chandler:
    name: data_chandler
  mysql_chandler:
    name: mysql_chandler

despokd avatar Aug 16 '23 17:08 despokd

Would also like a hint how to setup chandler especially with sqlite via docker-compose

Here's how I do it with MySQL, you should be able to get rid of the db container and use some env variable to tell it to use SQLite instead.

version: "3.9"
name: "chandler"

networks:
  default:
    external: false
    ipam: 
      driver: default
      config:
        - subnet: 172.34.0.0/24

volumes:
  db:
  data:

services:
  db:
    container_name: monica_db
    image: mysql:5.7
    environment:
      - MYSQL_RANDOM_ROOT_PASSWORD=true
      - MYSQL_DATABASE=monica
      - MYSQL_USER=${DB_USER}
      - MYSQL_PASSWORD=${DB_PASS}
    volumes:
      - db:/var/lib/mysql
    networks:
      default:
        ipv4_address: 172.34.0.3
    restart: unless-stopped

  monica:
    container_name: monica
    image: ghcr.io/monicahq/monica-next:chandler
    environment:
      - DB_HOST=db
      - DB_USERNAME=${DB_USER}
      - DB_PASSWORD=${DB_PASS}
      - APP_ENV=production
      - APP_URL=${MY_ACCESS_URL}
      - APP_TRUSTED_PROXIES=*
      - MAIL_MAILER=log
    volumes:
      - data:/var/www/html/storage
    networks:
      default:
        ipv4_address: 172.34.0.2
    links:
      - db:db
    restart: unless-stopped

phorcys420 avatar Aug 16 '23 20:08 phorcys420

Hello there 👋 What is the recommended way to contribute to localization? I think I found two possible ways to do this;

I've done some translations on crowdin. Many thanks in advance ❤️

imawaki avatar Aug 20 '23 08:08 imawaki

@djaiss even though monicahq/chandler was closed, will the issues in it be addressed?

thank you

phorcys420 avatar Aug 21 '23 20:08 phorcys420

Is there an FPM version of the chandler image? I'd love to be able to just swap it into my existing docker-compose file that is built on 4.0's fpm image.

slifty avatar Oct 02 '23 01:10 slifty