GUI for OS X

Talk about and discuss anything thats on your mind

GUI for OS X

Postby doob » 04 Sep 2015, 09:35

I'm thinking of starting to work on a GUI for OS X again. Would you prefer that as a separate project like airdcnano or should I use the ardic++ repository and contribute the changes?
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: GUI for OS X

Postby Night » 04 Sep 2015, 13:36

Im pretty much fine with either way, but i would prefer some cross platform gui library so the whole AirDC could be moved to using it instead of having to update multiple versions on things added/changed, rewriting the gui totally is a big job anyway.

If its AirDC for OS X only i think better would be to use own repository like airdcnano.
Night
Site Admin
 
Posts: 571
Joined: 24 Sep 2008, 18:50

Re: GUI for OS X

Postby doob » 04 Sep 2015, 17:17

Night wrote:Im pretty much fine with either way, but i would prefer some cross platform gui library so the whole AirDC could be moved to using it instead of having to update multiple versions on things added/changed, rewriting the gui totally is a big job anyway.

I'm mostly only interested in OS X. Personally I haven't seen a cross platform GUI that is good enough on OS X. They always look alien one way or another, but that can of course be the application and not the actual GUI library.
Night wrote:If its AirDC for OS X only i think better would be to use own repository like airdcnano.

Any interested in having that in the existing github namespace or should I just use my own?
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: GUI for OS X

Postby maksis » 04 Sep 2015, 18:58

I've been working on a Javascript UI (+API) that could be used on multiple platforms and embedded devices. It won't look more native than other web-based applications (such as Spotify) but being able to run the app on device such as NAS server and accessing it from various other devices feels like a huge benefit (at least in my usage scenario).
User avatar
maksis
Site Admin
 
Posts: 874
Joined: 23 Nov 2010, 18:56

Re: GUI for OS X

Postby doob » 05 Sep 2015, 11:10

maksis wrote:I've been working on a Javascript UI (+API) that could be used on multiple platforms and embedded devices. It won't look more native than other web-based applications (such as Spotify) but being able to run the app on device such as NAS server and accessing it from various other devices feels like a huge benefit (at least in my usage scenario).


That's a cool idea but I don't have a use for it in practice. I recall that Shakespeer was built like this (a daemon and a GUI) but I never ran the daemon on any other computer than the one I run the GUI on.

What I do think would be useful is a command line interface. Not like airdcnano but a batch program what would perform some operation and exit when completed. But that could fairly easily be accomplished by having the GUI application act like the daemon and connect to it using Unix sockets (or similar). This is how applications like TextMate and Sublime work when invoking them from the command line.

Regardless if the application is a single GUI application or a daemon and a GUI front end I would still like to have a native GUI for OS X and be able to run the daemon/server on OS X.

Hopefully if the separation between the model and the views (as in the MVC pattern) is good enough it should be fairly simple to modify the GUI to receive the data from the model layer from a daemon or server. I would need to have a clear separation anyway because AirDC++ is written in C++ and I would like to write the GUI in Swift.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: GUI for OS X

Postby doob » 05 Sep 2015, 11:17

BTW, what's the status of the API? Is it something that can already be used?
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: GUI for OS X

Postby maksis » 05 Sep 2015, 13:10

doob wrote:BTW, what's the status of the API? Is it something that can already be used?


It's a JSON API that can be used via HTTP calls or for bidirectional communication via Websockets. Basic functionality is there already (auth, routing, event subscribers, list controller) but there arent't many calls implemented yet. Would that be useful for you?
User avatar
maksis
Site Admin
 
Posts: 874
Joined: 23 Nov 2010, 18:56

Re: GUI for OS X

Postby doob » 05 Sep 2015, 18:27

maksis wrote:It's a JSON API that can be used via HTTP calls or for bidirectional communication via Websockets. Basic functionality is there already (auth, routing, event subscribers, list controller) but there arent't many calls implemented yet. Would that be useful for you?


No, I was more thinking if an API like this will be added anyway I could build the GUI on top of that. But I had hoped for something more lightweight than JSON for transferring. Or will there be something different when using web sockets?

If this was added I was hoping I could use Unix sockets for communication. But perhaps the same information could be sent as would be sent using web sockets.

But don't add or rush anything just for me. I think it would be easier for me not use this.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: GUI for OS X

Postby maksis » 05 Sep 2015, 19:55

But I had hoped for something more lightweight than JSON for transferring.


This doesn't seem relevant for me as there won't be much data being transferred between the API and the UI. The list view component is fully virtual: it will only fetch data for rows that are visible at the moment and only data for updated column properties is being pushed to the UI. Even the Windows GUI has list and tree views virtualized in similar manner. You'd be in trouble otherwise when browsing a list with 500k items in a single directory or if you have 100k bundles queued. Transferring chat messages via JSON shouldn't cause significant resource usage either.
User avatar
maksis
Site Admin
 
Posts: 874
Joined: 23 Nov 2010, 18:56

Re: GUI for OS X

Postby doob » 05 Sep 2015, 20:16

Ah, ok, I see.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: GUI for OS X

Postby maksis » 11 Sep 2015, 11:05

I've commited an initial version of the API to https://github.com/airdcpp/airdcpp-webapi
User avatar
maksis
Site Admin
 
Posts: 874
Joined: 23 Nov 2010, 18:56

Re: GUI for OS X

Postby doob » 13 Oct 2015, 17:56

maksis wrote:I've commited an initial version of the API to https://github.com/airdcpp/airdcpp-webapi


It's pretty cool. Hopefully I'll have time to look at this at some point :). BTW, shouldn't the AirDC++ core be added as a submodule?

Great that you split the cross-platform core from the rest of the code.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36

Re: GUI for OS X

Postby maksis » 13 Oct 2015, 20:11

doob wrote:
maksis wrote:BTW, shouldn't the AirDC++ core be added as a submodule?


My idea is that the API is just one library that is required by the actual application project. I'm also going to use a separate repository for the web UI, so the main app (or apps) can then require each of them (core, API, web UI).
User avatar
maksis
Site Admin
 
Posts: 874
Joined: 23 Nov 2010, 18:56

Re: GUI for OS X

Postby doob » 21 Oct 2015, 17:11

I see. I was expecting that the API requires the core to work and therefor should be induced as a dependency. I assuming that "API" is the actual server that an application is connecting to.
doob
 
Posts: 24
Joined: 04 Apr 2013, 17:36


Return to The Round Table

Who is online

Users browsing this forum: No registered users and 1 guest

cron