Open bnvk opened 9 years ago
This is what AppCache, ServiceWorker and IndexedDB are for. The Web has offline support these days. ;)
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)
Yes, but how would you keep messages offline then? If the app is not designed for that, retro-fitting is hard.
@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.
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.
@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:
@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?
@jancborchardt @skddc i've updated the original issue description with more of my reasoning for this, I realize I poorly described my reasoning!
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.
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. ;)
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 :)