syncany-team team mailing list archive
-
syncany-team team
-
Mailing list archive
-
Message #00641
Syncany GUI, thoughts on experimental code
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.?
*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.
*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 :-)
*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
*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
*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
Best
Philipp
PS: I'll answer the other mails tomorrow (Saturday).
Follow ups