← Back to team overview

syncany-team team mailing list archive

Re: Syncany GUI, thoughts on experimental code


On Sat, Dec 14, 2013 at 2:39 AM, Philipp Heckel <philipp.heckel@xxxxxxxxx>wrote:

> Hi Vincent,
> I looked a bit at the GUI stuff and I have a few remarks/questions:
> *Packages*
> - I like the util package and that you split the plugin-gui packages. Do
> you think it makes sense to have a folder syncany-plugins, with sub-folder
> syncany-plugin-ftp, and syncany-plugin-ftp-gui, etc.?

Indeed it will be cleaner to regroup plugins project

> *Code convention/formatting*
> - I realize that this your GUI code is experimental, so your main focus is
> probably trying out things, but I wanted to make sure that once you feel
> that something will stay that way, to follow our newly created coding
> styles: https://github.com/binwiederhier/syncany/wiki/Coding-Style
> - It contains stuff like: longer method/variable names, no Singletons, no
> abbreviations, JavaDocs, Eclipse code formatter, etc.
Ok, I'll look at it

> *Complex 'on-tray-click' panel*
> - I think I can warm up to the idea of a complex panel (such as the
> Dropbox Windows panel, although I would aim for something simpler for the
> first iteration. The worst thing to do is to do many things half-baked. We
> have to concentrate on the basics for now. It's hard, but necessary. If you
> want to make a complex panel, go for it, but it must work and look awesome
> :-)
Ok, I would like to test whether this kind of things could be achievable in

> *Tray Icon*
> - You're using some random icon in the tray
> - You can use the ones from 2011 if you want to:
> https://github.com/binwiederhier/syncany/tree/gradle/syncany-assets/artwork

> *WebSockets*
> - It's really great that you already implemented the WebSockets stuff with
> the JSON messages. A few remarks:
> - The GUI still seems to be polling for updates. WebSockets are fully two
> way, so you can use WSClient.send() to push changes
I was trying to figure a good way to identify clients communicating with
the web socket server in order to push right messages to right clients
(i.e.. no wild broadcasting) ; but sure it is full 2-way signal.

> *Swing:*
> - I modified the Look and Feel to GtkLookAndFeel and it looks okay for the
> most part.
> - However:
>  + The AWT/Tray Icon looks ugly as hell (no transparency, and if they were
> menus believe me you wouldn't want them there.
>  + The "Browse Folder" dialog in Swing is also really ugly in Linux
> - Here are some screenshots: http://imgur.com/a/v81p7

ach mein Got !

> *Wireframing*
> - Have you done any wireframing? If not, I can help and draw what I had in
> mind?
> - Also: I found some old wireframes from February 2011 (!!) that might be
> useful, or not :-)
>   --> "Pencil" file:
> https://raw.github.com/binwiederhier/syncany/ad0fcd26e407757d6ec5892e82969bb95402fd69/syncany-assets/documentation/UI%20Design%20Mockup.ep
> *SWT*
> - Have you tried the SWT stuff yet? I thought about it and I think that we
> should go with SWT.
> - For some reasons, the binaries are not in the official maven repository,
> but there is a repo here: http://code.google.com/p/swt-repo/
> - For Gradle, maybe something like this:
> http://stackoverflow.com/a/8815287/1440785
> - An awesome tutorial: http://www.vogella.com/articles/SWT/article.html

I'll switch ; the best IDE ever gui library can't be wrong !

> Best
> Philipp
> PS: I'll answer the other mails tomorrow (Saturday).
> --
> Mailing list: https://launchpad.net/~syncany-team
> Post to     : syncany-team@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~syncany-team
> More help   : https://help.launchpad.net/ListHelp

Vincent Wiencek