#cuberite

/

      • guenstig_werben
        what do you guys think, should the android app have an option to use a different server as download host ie should you be able to change the server which is queried for update check, downloading and so on?
      • And another question: how useful is the webadmin as sole method for configuring? Is it enough to provide a method to set the webadmin user and password or do I need to provide special access to the config files (in theory all files are also accessible by the user manually, but it's isn't easy)
      • @sphinxc0re @puretryout....
      • PureTryOut[m]
        for the first: yeah I think so. more choice is always good. if people want to provide their own binaries they then can.
      • for the second: if you have an Android app anyway, it would be nice to edit config stuff from the app itself. not directly editing the file using a text editor itself but using the app to do it
      • guenstig_werben
        Ok
      • For the first: there is always the option to import a local zip file.....
      • NOTICE: [cuberite] tigerw force-pushed EntityOwnership from 37cd3de to 9b57039: https://github.com/cuberite/cuberite/commits/EntityOwnership
      • NOTICE: cuberite/EntityOwnership 9b57039 Tiger Wang: Changed entity ownership model to use smart pointers
      • yangm97
        hmm, for the first one I would go with a self contained app, if one just want it to work they won't care how the stuff is packaged, but could have problems updating (because the app don't have the Server, right?). If one is into doing their own homebrew, compiling a .apk shouldn't be an issue.
      • Or the app could (ask to) download the runtime on the first launch and store as appdata (/sdcard?), and then the user could add their own Server folder
      • for the second one, I would say to add the webadmin on the app as a webview... but we don't have a responsive UI just yet
      • actually, since an android app can't be headless, making it's interface a single webview should be actually interesting
      • guenstig_werben
        Well not a webview
      • I think the webadmin should be better used by the computer the guy is using to play :P
      • CheapSeth joined the channel
      • yangm97
        I meant to make the webadmin responsive so there's something to show on the app besides the log
      • also to not duplicate efforts creating a settings interface using android apis while those already exist on the webadmin
      • guenstig_werben
        Well the main difference is that the app would need to modify the config files and then reload them.....
      • I will just do the webadmin config
      • jkhsjdhjs has quit
      • jkhsjdhjs joined the channel
      • yangm97
        au contraire, the app would do nothing, you would use the android webview to display the webadmin, nothing more
      • but, like I said earlier, that would require the webadmin actually being responsive
      • guenstig_werben
        Don't mean that
      • And I won't use a web view because 1. The webadmin, even if it would be responsive would be shitty looking and not very good performance, 2. You can just open the same URL on your computer you intent to play minecraft
      • yangm97
        what is the app supposed to show then?
      • I disagree with 1. though.
      • guenstig_werben
        Native options either reading and writing the config files or using an app plugin
      • yangm97
        may be ot but... what about setting a standard interface convention to be followed across ports?
      • jkhsjdhjs has quit
      • if one wanted to port cuberite to, let's say, winRT or iOS they would stumble across these problems too
      • guenstig_werben
        Noone uses winRT (don't even know what it is lol) and noone has enough money for iOS
      • Imo not a problem
      • jkhsjdhjs joined the channel
      • yangm97
        > Noone uses winRT (don't even know what it is lol) and noone has enough money for iOS
      • winRT is going to replace win32, I think that may be of interest if cuberite continues to run on windows
      • these were just examples, but I belive it makes a lot more sense to simply use something like HTML or QT on a project like cuberite than it is to go out and write android only code, and then write windows only code, and so on
      • actually, newbie users would welcome an GUI on the desktop I guess. think about mac users being presented with a folder with a lot of things versus a friendly drag and drop .app
      • unless there's another cross platform UI toolkit, I think there's not much getting away from QT or HTML
      • (for the reasons mentioned above)
      • as a bonus, the app GUI would not only run on android but also on sailfish, ubuntu phone, tizen, linux desktop, macOS, windows...
      • jkhsjdhjs has quit
      • jkhsjdhjs joined the channel
      • guenstig_werben
        You know I "researched" about that a bit already. I intentionally took the android part knowing that it needs to be done with Android specific code. I tried to keep it at a minimum (compile the binary and just run the binary) but the UI is a lot different...
      • Desktop and mobile should always be handled separately, for desktop I would go for html (probably electron?) for mobile there is no such easy solution that works cross platform, and the few frameworks that compile down to native code are in early development, apart from that the options for the UI are so differently
      • Maybe I'll do the desktop gui when I'm finished with Android
      • yangm97
        why not QT on both?
      • > Desktop and mobile should always be handled separately
      • why? making a single code responsive is the way to go imo. just make sure you don't make screw things up like microsoft did with windows 8 oversized desktop elements. Actually, Windows 10 is (finally) handling responsive ui properly, tablets are getting a proper tablet UI with oversized buttons and the such, on desktop those items shrink to make using a mouse not a pain and when you use the same app on a phone items get
      • hidden on the hamburger menu
      • guenstig_werben
        Yes, but Microsoft controls all three design aspects. That's not the case for other OS.
      • Go ahead and write a qt app that succeeds to run on all platforms with no code for a specific environment that looks nice everywhere and has a good performance everywhere. We don't want to waste performance we could use for cuberite
      • yangm97
        we are talking about a log display and maybe a settings list, not a last gen 3d game ;)
      • guenstig_werben
        No, but the whole thing is a lot more than just a log display
      • yangm97
        (looking like that you could use my own argument against me: if it's so easy why not do it native on every platform)
      • guenstig_werben
        Just a log display would be like 50 lines of code at max
      • I'm not saying it's easy for every platform. But i say it's worth the effort for a native android and a cross platform desktop app
      • And besides I personally can only code those languages I know :P
      • yangm97
        heh
      • you have a good point
      • I think I will code the interface of my learning project keylogger-statistic-charts using qt and see if it becomes that portable
      • speaking of cross platform ui still: apple (secretely) ported iOS UIkit to OS X when they made the photos app. that means they (should be) sharing a lot of code, while they do look similar they still work the way they should on the device they're running at.
      • guenstig_werben
        Well I would do a native android app like I have it at the moment because there is a big difference in running cuberite appropriately on Android in comparison to a desktop.
      • That's why I would do the android app seperated. For a cross platform desktop app I would probably go for electron and html
      • yangm97
        also, making anything work on windows phone using winRT grants you worldwide news coverage from windows sites lol
      • seriously, a friend of mine forked an abandoned reddit client for winrt and started fixing some bugs and got attention from the whole windows mobile community, all the six guys :P
      • guenstig_werben
        I see the point
      • yangm97
        qt looks like it would work fine on both scenarios but GNU/Hurd also looks like it would work :P
      • can you send me some screenshots or mockups of what you want to do with the android ui?
      • guenstig_werben
        I'm going to do the android native anyway.... At least for scientific purposes and learning
      • yangm97
        oh I see
      • guenstig_werben
        And I don't have a mockup yez
      • CheapSeth has quit
      • Yan Minari: cause you asked for some screenshot: settings activity goes by this at the moment (its as wide as the device is, and a scrollbar appears to make it scroll up/down
      • https://matrix.org/_matrix/media/v1/download/ma... - Bildschirmfoto von »2016-12-27 21-40-36«.png (65KB)
      • yangm97
        so this is the first run/welcome screen, right? I liked it
      • guenstig_werben
        no :P
      • its the settings screen
      • the activity that is launched by the launcher presents you one big button (install if its not installed / start if its not running / stop if its running), a button for the settings, a button to show the log (and input) and soon(TM) an info showing the ip of the phone if its running
      • well webadmin is going to be just one button
      • this is for example the launch screen ( on a "tablet" here).... note that the topmost text view will be removed later
      • And that's the current setting screen on this device.
      • yangm97
        got it
      • guenstig_werben
        its actually a device with a fullhd 5.5" display, but i enabled global scaling so every app thinks its a tablet
      • thats a bit why the main screen looks so lonely
      • want a screenshot of the log too?
      • yangm97
        yup
      • guenstig_werben
      • you might notice the notifiation at the very top left
      • That's its extended (I will remove the 22:09 too)
      • yangm97
        good detail
      • guenstig_werben
        besides, that notification is not just nice to have, but required iin order to run the service in the foreground, which is required so android knows "the user is aware that it is running" and will not kill it
      • for that reason, you cant dismiss that notification
      • (will not kill it if the system goes to sleep or runs out of resources)
      • And for stopping cuberite: the main button has two stages, one being entering "stop" into the stdin of cuberite, if that is clicked the button will switch color to an even more red and offer you to kill it, that being kill -9 for the process
      • A third stage (killing the service that runs the process) would be possible but would also cause vast side effects that could drain your battery forever or make the app crash forever (last until you reboot the device). Because after process exits, there is cleanup done like removing the notification, removing the wake lock, closing the communication sockets and so on.... There should not be a problem with that, and
      • if there would be one, then the whole app should crash
      • If the app crashes => crash report and all components are stopped
      • Reminds me of.... I should probably push to github.... But i will probably wait until I have a version that can be distributed as beta
      • Meaning that has all the features that are crucially for beta
      • yangm97
        that actually makes me want to fix my mom's long dead moto e so I can play with that too :P
      • or (try and fail to) do a winRT port and use her lumia
      • guenstig_werben
        From when is that moto e?
      • yangm97
        1st gen
      • broken lcd :(
      • guenstig_werben
        I would be interested in the performance
      • Well, I've got relatively good specs, so it's not a wonder that it runs so well
      • yangm97 wonders what are the specs of the chrome developers' pcs
      • Why do you wonder?
      • yangm97
        just so I know if there's a machine known to man that is capable to run chrome