[Geary] Geary/Mail collab

Hey Daniel,

It's good to hear Elementary's plans for Mail, thanks for getting back to us. I've always been keen to see Geary moving towards the GNOME3 HIG, and since Elementary has its own visual identity and set of foundational UI widgets, I have been assuming that some divergence in the UI was going to be likely. After a quick look at Mail's code changes and screenshots, that does indeed seem to be the case.

So given that, one possible avenue for collaboration would be to split the IMAP backend out of Geary/Mail and maintain it a a separate standalone library, one that both Geary and Mail could both use and contribute to, while the two teams focus on making our respective frontends provide the best possible UX for our respective desktops. The engine is a large chunk of Geary's codebase, so this would spread the maintenance burden.

I guess on that basis it's not surprising you're looking at switching over to EDS as a backend. Regardless of whether Geary sticks with the existing backend or also switches over to EDS, that only really leaves foundational and utility libraries like GTK and GMime left in common. Maybe there's still some widgets that could be shared - the folder and conversation lists and conversation viewer perhaps? But that seems like a lot of work for a small gain, and again they might diverge as well.

It sounds like you may not have made a completely final decision to switch to EDS, and if that doesn't work out then we'd be happy to work with the Mail team on a librarified version of engine, and regardless of that on any other parts of the codebase that makes sense to split out. Aside from that, I can't think of too many other ways we could directly help each other.

Anyway, have I overstated the UX divergence? Is there some other large chunk of shareable code I'd forgotten about? What do you think?


On Mon, Apr 4, 2016 at 2:13 AM, Daniel Fore <daniel elementaryos org> wrote:

So we actually didn't do the webkit2 port just yet. We did the native widgets port first so we could minimize the use of the webview. As far as the conversation view goes, I think the only use of granite is because we have an avatar widget in granite trunk (bzr term for master) these days.

This is working very well for us, using only native Gtk widgets. Gtk.CSS is really powerful these days and with a couple revealers and such we still have all the nice animations and features like collapsing and that. We are currently including a basic stylesheet so that it doesn't look too awful in other themes.

We have indeed been trying to migrate code from Geary code style to elementary code style. It just makes things a little nicer for developers at elementary who are bouncing from project to project. I've personally done a lot of work trying to get rid of things like the PillHeaderBar. I think it just makes the code really hard to read and is a bit over-engineered.

We technically have an elementary developer mailing list, but honestly nobody uses it. Everything is done in Slack these days. I've sent invites to Mike and Adam. Let me know if anyone else would like invites. We're more than happy to chat about things that might be useful for you folks.

The really big thing that we've been on lately is actually to port Mail over to an Evolution Data Server backend. We've been doing work upstream on completing GObject Introspection for LibCamel and one of our guys has some ideas about making the API a bit nicer in general. He's had a lot of success pushing branches already, so that's great. One of our other guys is working on a little prototype app before we try to actually make the conversion. You can see the code for that here: https://github.com/matzipan/eds-sample

Let me know if you have any questions about Mail and I'll do my best to try to address them :)

⊨ Michael Gratton, Percept Wrangler.
⚙ <http://mjog.vee.net/>

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]