Announcement: Rewriting the Runtime + Bundle Store and new details for NebiOS 11

Announcement: Rewriting the Runtime + Bundle Store and new details for NebiOS 11

I’ve been quiet because I’ve been rebuilding NebiOS where it actually matters. This post covers the new application runtime, the trust and permission model, the Bundle Store overhaul, and the early direction of NebiOS 11.

First of all, hello everyone, I hope you're doing well.

I haven't been able to share project updates for a while because I've been working on critical changes for NebiOS (yeah, no time left) and dealing with university exams on top of that (seriously, exams are hitting hard so I have to take breaks for like a week, and yes, I'm 19). But our topic isn't about exams or personal matters - the real topic is the new features coming to NebiOS and the concept phase of NebiOS 11 (I've actually started research and development for some things).

1. New NebiOS Application Runtime (napp-runtime)

I mentioned this in previous announcements (you can dig through the blog) but I need to explain again: I had to revamp napp-runtime. The current runtime codebase has really hit its limits - even maintaining the permission system and ensuring app security has become difficult, and even app metadata has started to feel insufficient for NebiOS. So I decided to rewrite napp-runtime from scratch without changing how it works, making it more secure and more integrated.

Let me explain the changes I made:

1. Most of the codebase moved to Python - just like other NebiOS userspace components, it'll be compiled with Nuitka (except for alias commands like napp-xdg-open, of course).

2. Binary cache location changed - it used to be `/Applications/.My_App`, now it's moved to `~/.cache/napp-runtime/binaries`.

3. Security: Manifest signing and verification system - based on Bundle Store repositories registered in the system (yes, Bundle Store is getting cool stuff too, I'll get to that), repo-signed manifest verification, app validation through manifests. This new security technology uses Ed25519 and SHA256.

4. Manifests now give apps ready-made permission presets (only for security-verified apps).

5. Performance: Aggressive optimization - aggressive optimization for more consistent, better performance and app launch speeds in apps running with napp-runtime. In my tests, I managed to get more stable and higher FPS in Cyberpunk 2077 with the napp-runtime version of Steam (compiled with the new NebiOS SDK, of course). Similarly, the runtime cold-start time affecting app launch speeds dropped almost by half (from 400-500ms to 200-300ms).

6. No sandbox mode - while I don't recommend it, users can now bypass the bwrap isolation layer and run apps directly at system level for apps verified as safe by system repo(s). However, app developers won't be able to enable no sandbox as a default permission - YOUR security, YOUR choice. We're not letting corporations decide your threat model.

7. App identifiers and configs will natively use NINF 2.0 format - app packages compiled with the old SDK (which uses NINF 1.0 metadata) will still work, but I recommend switching to NINF 2.0 as soon as possible. In the renewed Bundle Store (whether it's your own repo or the official repo), publishing apps and sending updates will require new SDK compilation + NINF 2.0 usage.

8. Easier app installation outside Bundle Store - launchers will be automatically created with the service. This way you'll be able to install apps by drag-and-drop into `~/Applications` without extra effort (though you'll need to be online for verification since you didn't download from the store, and the repo you downloaded the app from needs to be on your system).

...and a few more things I can't list here.

When will the code be released? When it's ready. It hasn't been shared yet because NebiOS X's build pipeline depends on the old runtime. We don't share broken shit - you'll see it when it's ready. It'll be released before (or with) the 10.2 and 3.3 updates.

2. New Bundle Store

I also mentioned this along with napp-runtime in previous announcements (it was even on NebiOS X's Public Beta features list as an upcoming feature, but I had to postpone it until after RTM due to various factors). Here's what's up:

1. Rebuilt interface - designed in accordance with the multi-form factor and adaptive UI principle that fits NebiOS's "one OS, all devices" vision.

2. Multiple app downloads - it used to bug out in the old Bundle Store, not anymore.

3. Repository system - users can add a 3rd party Bundle Store repository besides the official repo (if they trust it and know the side effects, of course) and publish their apps without NebiSoft control.

Note: I won't make a system that shows all existing active Bundle Store repositories. Why? Because I believe in user freedom over centralized control. Each repo is its own responsibility - we won't be gatekeepers. There are potentially harmful 3rd party repos and private repos - curating them would be a corporate approach.

4. App recommendation algorithm - since we don't count download numbers for an app, our algorithm will include recommendations based on quality app + recency. This way indie developers and big software companies can be on the same playing field in Bundle Store. Those curious about how the algorithm works can check it out on GitLab once the code is released.

5. Renewed categories, story system, and app pages - app pages will be able to show multiple trailers and screenshots.

6. App review writing and app/review reporting system to repo owners.

7. Automatic saving of signed manifest file after app download - this way packages downloaded from the Store for the first time won't cause problems when you open them for the first time after going offline.

...and again, many things I forgot to write here, but as you can see, I've developed the systems even further. These changes (new napp-runtime and Bundle Store) will come as an update to NebiOS X 10.2 and NebiOS 3.3 versions.

Special notice for NebiOS 3 users: 3.3 will be the last major update for NebiOS 3. After that, it'll only receive security updates until 2027. I recommend switching to NebiOS X to access new features.

Instead of directly offering a stable update this time, I might release a test update. You can give feedback as I mentioned in previous posts through the "Give Feedback" button on the NebiOS X homepage.

3. NebiOS 11...

I've started working on NebiOS 11 a little bit (myself, my UX designer, and contributors want to help too, though I think we're still in the early stages). My ideas have changed quite a bit since the first blog post I wrote about NebiOS 11:

1. Flat-Skeuomorphism continues - some new users might not like it because they're not used to it. But Flat-Skeuomorphism is NebiOS's identity. We're creating our own aesthetic instead of following trends - this isn't mainstream, but it's authentic for us. I haven't done detailed thinking on whether there should be a change by moving to a minimalist appearance in terms of design language, of course your feedback is important but vision and identity are equally important. Right now the balance between feedback and vision looks 50-50.

2. I'm rewriting NebiDE Shell from scratch - being dependent on Waybar will make it harder for NebiOS to come to phones because I want to offer an adaptive and integrated experience instead of separate views. These changes will be most noticeable in On Screen Display, Quick Settings, and Launcher.

Also: I think I've settled the PC side with NebiOS X. Yes, there are small shortcomings and challenges (I'm even thinking of fixing them when I see fit) for now, but I'm thinking this way because I want to focus on the next big thing. Those who love it already love it, and I want to explain my next goal to you (or rather, this goal that will span 2-3 versions):

Bringing NebiOS to mobile

Of course, I won't be able to offer it on many phone types initially (considering normal NebiOS doesn't support a few brands/models for various reasons). But I want to do this too because I think the time is right.

I'll start developing the mobile version of NebiOS on Nothing Phone 1 and I'll redesign almost all the core apps in NebiOS to be adaptive between phone/PC (that's why I'm making Bundle Store that way right now).

Why Nothing Phone 1?

- Has bootloader unlock support

- Strong community support

- Quality hardware but not mainstream - fits NebiOS philosophy

Besides these, although concepts and decisions for NebiOS 11 have settled a bit, don't forget that development versions will be shared with a limited number of users before the public beta announcement. If you want to participate in the closed beta process for testing and helping, you can use feedback channels (email and Discord server).

By the way, before I go, I want to give a detail about NebiOS 11 - normally I wouldn't reveal code names until Public Beta, but I decided to do it this time. No, it's not a Turkish city, symbol, or region. The code name will be "Sealpup".

Thank you for reading this post.

-Sarp M.

Loading...