opensourcedesign / slick

:speech_balloon: A Slack inspired theme for the Lounge IRC client
https://github.com/thelounge/lounge
16 stars 2 forks source link

Package Slick as a Desktop app #7

Open bnvk opened 9 years ago

bnvk commented 9 years ago

I'd really like to be able to run a copy of Shout with Slick theme installed that runs natively on a laptop or PC. Shout is web interface + node.js backend server, packaging it in Electron yields the following benefits:

This should be achievable without too much effort using the Electron shell & packager made by Github. I believe @tthew was tinkering with this idea :)

raucao commented 9 years ago

This is what AppCache, ServiceWorker and IndexedDB are for. The Web has offline support these days. ;)

erming commented 9 years ago

Some time ago I built a desktop app with node-webkit: https://github.com/erming/shout-build

By modifying what's inside the shout/-folder you might be able to create a standalone from it. However, I have not tried building it for a long time, it might not work 100%.

(...node-webkit has since changed it's name to nw.js)

raucao commented 9 years ago

Yes, but how would you keep messages offline then? If the app is not designed for that, retro-fitting is hard.

bnvk commented 9 years ago

@erming interesting. I wonder about using nw.js instead of Electron. For some reason i'm betting on the later as it seems to have better native integration and Github behind it is also reassuring.

@skddc yes, those are all exciting developments in browser tech and could be cool, but to benefit them Shout would need a significant rewrite... currently logs are stored on the filesystem. Also, there's other benefits like native OS integrations like notifications, tray bar / dock icons and being treated like a native app.

raucao commented 9 years ago

currently logs are stored on the filesystem

There's no filesystem access from the Web (except for sandbox in Chrome), so I assume you mean on the server's filesystem. In that case you cannot have offline logs on the client without retro-fitting. And if you just run the whole thing locally, you lose the major and important benefit of backlogs during away/offline time. I think I might be missing the point of this issue, but as far as I can see, you cannot just "wrap stuff in a native app and have everything be nicer" (if that's what the goal is). ;)

like native OS integrations like notifications, tray bar / dock icons and being treated like a native app.

All possible without building native apps now.

bnvk commented 9 years ago

@skddc you are missing the point / not understanding the components or the goal. Ping me on IRC sometime if you want to discuss more :wink:

jancborchardt commented 9 years ago

@bnvk it seems though that @skddc is right about his point that your requirement of

read the logs and such while offline

is not possible by just using Electron, right?

bnvk commented 9 years ago

@jancborchardt @skddc i've updated the original issue description with more of my reasoning for this, I realize I poorly described my reasoning!

jancborchardt commented 9 years ago

Great! I agree it would be a good point to package Shout as a desktop app to make it easily installable for less technical people. Sure the bouncer/offline-message aspect would get lost but that’s ok in the first run.

raucao commented 9 years ago

So it's running locally then?

(Also, I don't see any goal that can't be achieved with Web tech in the new list either.)

@bnvk Let's meet soon and discuss. I have a feeling you're trying to bend Shout into what we're actually doing with Kosmos. ;)