Navigation

    UBports Robot Logo

    UBports Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    1. Home
    2. mikhael
    • Profile
    • Following 0
    • Followers 2
    • Topics 1
    • Posts 35
    • Best 13
    • Groups 0

    mikhael

    @mikhael

    23
    Reputation
    320
    Profile views
    35
    Posts
    2
    Followers
    0
    Following
    Joined Last Online
    Website milikhin.name Location Tomsk, Russia

    mikhael Unfollow Follow

    Best posts made by mikhael

    • Feedback for the Seabass

      Hi everyone!

      Now that the Seabass2 seems to be quite stable and minimally usable and also has about 100 active installs I'd like to ask for your feedback!

      Imagine that you could have a perfect code/text editor for your UBports device! What would it be? What features would you like to see implemented? What are the things that you don't like about the Seabass most? What direction should the project progress now?

      Issues with the UI? A code linter is a must for you? Let me know what you think!

      posted in App Development
      mikhael
      mikhael
    • RE: Welcome to the UBports community! Introduce yourself here!

      Hi,

      I'm Mikhael, web developer from Siberia. Using Ubuntu Touch as my only phone OS for about two years now. So, first of all, thanks to the awesome community for keeping UT progressing, i'm now using Nexus 5 and it's great with latest OS images!

      Currently I'm developing Seabass text editor, but once I have more time I'd like to participate in developing other apps as well.

      posted in General
      mikhael
      mikhael
    • RE: Xiaomi Poco F1 (Beryllium)

      @joel thank you for your work!

      I'm using Ubuntu Touch on Poco as my daily driver and with the latest update to the halium-boot it seems really stable and won't even discharge anymore! Really, today is fifth day since i've charged it and it still has 35% of battery remaining.

      posted in Xiaomi
      mikhael
      mikhael
    • RE: Feedback for the Seabass

      @kugiigi thank you for the feedback!
      For some reason Seabass can't execute libertine-launch on Nexus 5, although libertine-launch works fine from Terminal. The problem could be somewhere in between seabass, pyotherside, libertine-launch python script and proot (used by libertine-launch), but unfortunately for now i don't know what exactly goes wrong.

      posted in App Development
      mikhael
      mikhael
    • RE: Guide: set up a clickable working environment inside a LXC contiainer

      @Emanuele-Sorce, finally I was able to actually reproduce all the required steps to setup build environment once again, so slightly updated guide is now on wiki

      posted in App Development
      mikhael
      mikhael
    • RE: Guide: set up a clickable working environment inside a LXC contiainer

      Guide for creating working chroot-based environment

      The purpose of the post is to provide a guide similar to the one by @Emanuele-Sorce for creating Cordova-based (and maybe other HTML5-based) applications using LXC container. Such applications are built in chroot environment, and build system is for some time unsupported in Xenial. I don't know if there are still any developers who use Cordova for Ubuntu, but if there are some, I hope the guide will be useful.

      The steps needed to setup working environment is basicly the same as in original guide with few modifications specific to build environment.

      1. Set up LXD
        The steps to set up LXD are the same as in original post

      2. Set up the container
        We need 17.04+ container, because fixes for build system are published only there and not in 16.04.

      lxc launch ubuntu:17.04 best_container_name_ever
      lxc config set best_container_name_ever security.privilegied true
      lxc config set best_container_name_ever security.nesting true
      lxc exec best_container_name_ever -- /bin/bash
      
      1. Inside the container
        Inside the container we have to do basically the same three things: basic configuration of the system, creation of a new not-root user and configuring clickable. Steps to create basic configuration of the system and a new not-root user are the same as in original post:

        apt update  
        apt install nano sudo git  
        useradd mr_nice_guy  
        passwd mr_nice_guy  
        usermod -a -G sudo mr_nice_guy  
        
        # Now we are ready to being the nice guy  
        su mr_nice_guy  
        

        We'll also need to install packages from proposed archive, and so we need to enable the archive by adding something like that to /etc/apt/sources.list:

        deb http://archive.ubuntu.com/ubuntu zesty-proposed main restricted universe multiverse  
        
      2. Configure Clickable

      • Download clickable and add it to PATH.
      • Install NodeJS:
        sudo -S apt install nodejs-legacy npm  
        
      • Install build tools
        sudo -S apt install click-dev phablet-tools
        
      • Download and Install cordova-cli package from Cordova PPA (the PPA is only for Xenial, so I downloaded it manually):
        wget https://launchpad.net/~cordova-ubuntu/+archive/ubuntu/ppa/+build/9778583/+files/cordova-cli_4.3.1-ubuntu12_all.deb;  
        sudo -S dpkg -i cordova-cli_4.3.1-ubuntu12_all.deb  
        
      • Create chroot environment for building apps:
        sudo -S click chroot -a armhf -f ubuntu-sdk-15.04 create  
        
        That's it. We now should have a working clickable environment for building Cordova apps.
      1. Notes on Cordova usage
        There are number of unfixed long-standing issues with Cordova for Ubuntu. So if you'd like to create apps using Cordova, you might be interested in project's fork, i've created. It is based on last official version, but adds few fixes that make it more usable:
      • WebView is automatically resized when on-screen keyboard is shown/hidden
      • Copy/Paste operations are supported with touchscreen

      There is also repository with patched File plugin, which gives applications ability to list hidden files and directories.

      posted in App Development
      mikhael
      mikhael
    • RE: Feedback for the Seabass

      Hi everyone!

      It's almost Christmas time, New Year is coming, and it means holidays and maybe some spare time for developers to create new awesome apps for UBports... and that's where the Seabass might come in handy 🙂

      The next release is going to provide an ability to create new apps for UBports from within the Seabass. Hopefully that means building apps right on your phone/tablet more easily.

      So if you happen to have a use case for a mobile/convergent dev environment to build UBports apps and you have a device that supports Libertine, I'd be grateful for your suggestions and feedback!

      For now there is a beta version available for testing.
      It has a new menu entry called "New project..." in the file list:

      New menu entry

      It leads to the project settings page:

      New Project page

      Here you can specify all the options supported by Clickable and create a new app.

      There are a few limitations for now:

      • Libertine support is required
      • Creating a Libertine container (during the first run of clickable) might take a while
      • Seabass now uses a pre-release version of clickable that might have a few breaking changes
      • it's only possible to create new projects inside ~/Documents and ~/Downloads directories (and any nested directories)

      Click package is available on Github: v1.0.0-beta-1

      posted in App Development
      mikhael
      mikhael
    • RE: Feedback for the Seabass

      v0.5 is up and it has support for building projects using Clickable.

      The feature is very experimental and somewhat limited for now and (although I've tested it as much as I could) there should be bugs. To build a project you need to open a corresponding clickable.json file and click the "Build" button:
      Build

      When starting a build process for the first time a new chroot Libertine container with ID seabass2-build will be created.
      So the first thing required to build packages with the Seabass for now is... patience :-D.
      Because creating a chroot container might take a while. About 30min was usually enough for my Xperia X during testing, but the experience for sure may vary depending on your device and Internet connection. The app should also be active (not sleeping) while the container is being created. The good thing is that you only need to create container once.

      If for some reason the container creation failed, Seabass will try to delete the container, so that the next time you run Build it could try to create container once again.
      And if for some reason the deletion wasn't successful, libertine-container-manager is here to help: libertine-container-manager destroy -i seabass2-build. You could also use this command if anything goes wrong with the container 🙂

      There are also a few limitations:

      • Project files should be located inside ~/Downloads or ~/Documents directories. Not really a strict requirement, just these directories are automatically mounted to Libertine containers. Alternatively you could create additional bind mounts using libertine-container-manager or maybe even System Settings application.
      • clickable.json file should be named 'clickable.json'. Because the "Build" button is only visible for "clickable.json" files.

      QML, HTML, C++ and Python clickable templates are supported for the first release (Go and Rust require additional packages that are not installed in seabass2-build by default). By "supported" I mean I've tested building "HelloWorld" applications using these templates 🙂

      Please let me know if there are missing packages in the container required to build your favorite application!
      Your feedback is very appreciated!

      posted in App Development
      mikhael
      mikhael
    • RE: Feedback for the Seabass

      @kugiigi Libertine (with hardcoded chroot backend for the first release).

      posted in App Development
      mikhael
      mikhael
    • RE: Feedback for the Seabass

      @kugiigi said in Feedback for the Seabass:

      remember, there was an app before called OnTheRoad. It basically provides a full container and I remember I was able to make clickable work on it. Maybe something like this can be integrated into Seabass

      I'm actually thinking about integrating Seabass with Clickable for the next release.
      I've found no major issues with executing Clickable from the Seabass so far 🙂

      posted in App Development
      mikhael
      mikhael

    Latest posts made by mikhael

    • RE: USB Docks and Pinephone dock

      @lsitongia, as far as I understand, "Type C" only defines physical shape of a USB port. Inside it could be USB 2.0 or USB 3 or USB 3 + DisplayPort alt mode. Most mid-range phones only have plain USB 2.0/3.0 , and so video output is not supported.

      Do you know, is that because it's the lower-cost version of the phone?

      I think it definitely helps to reduce manufacturing costs. In case of Pixel devices the absence of physical video out ports also help advertising chromecast devices, I believe 🙂 . Considering all the things I wouldn't count on support for video output over USB Type-C port on a phone by default, unless it is explicitly advertised in device specs.

      posted in Google Pixel 3a/3a XL
      mikhael
      mikhael
    • RE: USB Docks and Pinephone dock

      @lsitongia Video output won't work because Pixel 3a doesn't support DisplayPort alt mode over USB. Other ports on the dock might work though (if Pixel supports USB OTG).

      posted in Google Pixel 3a/3a XL
      mikhael
      mikhael
    • RE: Feedback for the Seabass

      @kugiigi thank you for the feedback!
      For some reason Seabass can't execute libertine-launch on Nexus 5, although libertine-launch works fine from Terminal. The problem could be somewhere in between seabass, pyotherside, libertine-launch python script and proot (used by libertine-launch), but unfortunately for now i don't know what exactly goes wrong.

      posted in App Development
      mikhael
      mikhael
    • RE: Feedback for the Seabass

      Thanks everyone for trying the beta!

      So far it seems that creating and building projects doesn't work on Nexus 5 or (maybe) on a subset of devices including Nexus 5. Unfortunately, I don't have a Nexus 5 so I can't investigate the issue further.

      I can tell though that the issue doesn't depend on architecture (arm64/armhf) or OTA-version, but seems to be more device-specific.
      To summarize: at least Nexus 5 seems to be in a list of devices that doesn't support seabass+clickable for now (which is a pity because it's one of a few devices that support connecting external displays). Poco F1 and Xperia X seems to work fine.

      So, if you've tried the beta on any device other then Nexus 5 and creating projects from within the Seabass doesn't work, I'd be grateful for any information about your device! 🙂

      posted in App Development
      mikhael
      mikhael
    • RE: Feedback for the Seabass

      @kugiigi said in Feedback for the Seabass:

      Then I tried manually installing clickable in the container via the settings app.

      Hm, I've just realized that installing clickable using apt-get probably won't work, because Seabass tries to launch clickable using python3.6 while clickable installed with apt relies on python3.5.

      It should be possible to install required version with libertine-launch -i seabass2-build python3.6 -m pip install --user --upgrade git+https://gitlab.com/clickable/clickable.git@subcommands-reduced

      posted in App Development
      mikhael
      mikhael
    • RE: Xiaomi Poco F1 (Beryllium)

      @joel thank you for your work!

      I'm using Ubuntu Touch on Poco as my daily driver and with the latest update to the halium-boot it seems really stable and won't even discharge anymore! Really, today is fifth day since i've charged it and it still has 35% of battery remaining.

      posted in Xiaomi
      mikhael
      mikhael
    • RE: Feedback for the Seabass

      @kugiigi hm, that's ok, it's just a warning. Actual script output should follow that line. What's strange is that there is nothing else in the output...

      posted in App Development
      mikhael
      mikhael
    • RE: Feedback for the Seabass

      @kugiigi thank you very much for trying the build!

      Oh, didnt know UT is already available for that phone.

      UT works pretty well on F1 aside from a few stability issues, even fingerprint sensor works 🙂

      I still get the error at the end. It says that clickable is not found.

      Hm, I think I need to improve logging here 🙂
      If you have some time, could you please try "Update build container" button on the Settings page in Seabass? It will run a script to install the required version of "clickable"!

      posted in App Development
      mikhael
      mikhael
    • RE: Feedback for the Seabass

      @kugiigi thank you! It's Poco F1

      posted in App Development
      mikhael
      mikhael
    • RE: Feedback for the Seabass

      @kugiigi thank you for the feedback!

      This one has a compressed prebuilt container so container creation is really fast.

      Thank you! I'm thinking about such option because creating a container from scratch seems too unstable and requires too much time even on snapdragon 845. I'd better not imagine how long it would take for example on BQ e4.5 🙂

      And I like the way OnTheRoad solves the problem.

      And then I get some errors around the part when clickable is being installed

      Hm, I think it might had been broken for some time. v0.11.2 (currently in the store) should've solved container creation issues by upgrading python to v3.6.

      posted in App Development
      mikhael
      mikhael