Starting on a tablet-centric Linux distro

So everyone, I guess to start with a bit of an intro, I first found Haiku between the Alpha 2 - 3 times, tried out Alpha 2, and fell in love with the system, finding out about BeOS from there and it quickly became a #2 favorite to the Mac. I say that because most here seem to remember Be or have used it (back in its glory days and not in VMs), so I get that I’m in a different group :slight_smile:

Since finding out about Haiku, I’d made a failed fork/distro back before Beta1 came out (in the post-A4 package management days), tried to do some retro reviews (which went nowhere), then started the Haiku Computer List and suggested several concepts since then (like improving KDLs, improving the look of the desktop, and some mockups of stuff like app freeze/resume and BeIA inspired stuff). And that last part is what brings me to now.

While Haiku is an excellent little system (and I let people know about it), the future is clearly mobile. And I don’t just mean devices like phones or tablets, I mean the model of environments; Haiku is firmly desktop designed like the retro BeOS was (and this is a good thing since it’s Haiku’s design goal, but in looking at stuff like iOS/iPadOS, Android, ChromeOS, it’s clearly a desktop system where these aren’t). And since it seems that suggestions to make Haiku more modern (like an idea another guy on the forum had about making the Depot like an app store) or some of my ideas (like even to add more color to the UI) get ignored, I realize I can’t suggest this to Haiku (and ever expect it to be taken anywhere). And building a Haiku distro today doesn’t make sense, because updates with package management would mean constantly patching changes so they wouldn’t be overwritten.

So… the point past all the intro is that much as I do like Haiku, I’m currently thinking about making my own Linux distro with a mobile/tablet first shell (so think of something much closer to iOS than BeOS) and hope to have a preview ready by November 2021 (20th birthday of Dano). For an idea of what I’d like it to be like, it’d be close to the mockups I made last year: Imagining BeIA-like concept in 2020

I’ll continue to maintain the hardware list and also be a part of Be/Haiku community and talk about Haiku where I can (like giving it a good review when a new release rolls out), but tbh, I’ve realized that instead of spamming the forum with random ideas I can actually turn them into something. Thanks all :slight_smile:

I wonder if you couldn’t just do this on top of the Haiku base system? If you look at BeIA, it was really just a process that ran on top of BeOS… it used the app_server and libbe.so still, but just didn’t load Tracker. I wonder what the benefit of Linux is? It feels like you would be creating a shell either way.

I own an iPad, use Android tablets through work (mainly Samsung ones, but also some old Nexus 7’s) and own a Surface Pro 2. None of them is a great experience past really basic consumption. The Surface ends up being a glorified laptop with awkward ergonomics if you want to get anything done on it. I also owned a Windows 8 tablet in the 8" form factor and a BeIA Webpad (Dt300) in the past. Nothing is perfect. The Webpad was no better or worse than the others, but just more restricted because of screen size and technologies.

I think Linux is still going to be Linux and you probably could use ChromiumOS and not really lose too much.

I think writing a new BeIA like shell for Haiku actually sounds quite a lot more fun.

(One last point - Dano wasn’t born in November - I had a beta of BeOS 5 with a lot of the Dano featured from about 6 months prior to that, and it also called itself Dano/0. I think either BONE or the new Mediaserver also changed the BeOS release to “Dano” when installed.)

2 Likes

The future is clearly mobile

I don’t think this is clear, guaranteed, or even likely. Mobile doesn’t have application development software, except for some playground/sandbox things for learning. Sure, mobile is very popular. But what’s your use case? Do you want to make software for the masses? What’s great in that in computing, there’s a lot of options and choice. Desktop, laptop, mobile, server, cloud. Graphical, command-line. There’s no one size fits all, so mobile isn’t going to decimate the others.

I’m currently thinking about making my own Linux distro with a mobile/tablet first shell

What would you do to differentiate yourself from all the other mobile Linux distros, like Postmarket OS, and the other distros Pine64 is putting on their phones? Seems like a crowded area, especially since Linux mobile makes up about 1% of the market share. I’m not trying to be negative, I firmly support people doing their own thing and being creative.

I really like @memsom’s idea of working on a touch-friendly mobile shell for Haiku. That would compliment ARM development, though it’s slow-going or stalled. But a mobile shell could get more people excited for, and on-board with, the ARM work. I’d work on it if I had the technical expertise and time.

2 Likes

Good day,

Actually, to make a Tablet-Aware Haiku, looks easier than it seems, and it’s probably harder than what I think, though to start, I would go with this “improvements” for Haiku:

  • On Screen keyboard
  • Screen rotation (my 2in1 only supports portrait mode on Haiku)
  • Allow touch input. Touch screens seem to be usb devices (if I’m right), a la Wacom digitizers. (and rotation according to screen -in my 2in1, only portrait mode, the trackpad is landscape so does not match the screen orientation making it hard to use)
  • eMMC stable support for storage (looks like many tablets use eMMC storage devices (I need time to try to install a nightly on my 2in1 and check if the eMMC storage is recognized and usable (Beta2 doesn’t allow it)
  • Allow Deskbar leaf to scale according to Deskbar buttons. With deskbar set to only show icons and the Deskbar leaf button matching the size of the rest it will be easy to use it with fingers

With these, imho, Haiku would be usable on touch devices. When I have time to try to use the nightly I will report the issues on tracker (I promise, @extrowerk :stuck_out_tongue_winking_eye:)

There are other things though, but for starters, I presume this list would do. :wink:

Regards,
RR

2 Likes

Sorry but you will be the 3:d person trying to make a Linux distro and announce it here :slight_smile:
the other 2 distros are dead now…

But why don’t use/investigate how u can use Haiku?
as a side not. I remember that some one wrote an on Screen keyboard. Don’t know the satus of it…
https://git.haiku-os.org/haiku/tree/src/add-ons/input_server/devices/virtualkeyboard

@apgreimann, I (and I’m sure others as well) really appreciate your contributions thus far - having a dedicated hardware list is a very significant but overlooked part of an operating system, and I do agree with you that Haiku is in need of some “modernisation” (ironically, we have one of the youngest codebases out of all the operating systems/kernels) - although, as you said, it is hard to attempt to propose attempts at “modernising” Haiku as many people like it the way it is. However, sometimes you have to work on proposals and ideas to fit factors like technical restrictions (for example, the crash screen solution you proposed was not feasible because a crash screen should only show when the system is in such a bad state that it cannot even display a proper GUI) and also to fit other people’s concerns (for example, when I asked about Haiku’s UI, I asked if people were perhaps interested in having a modern UI theme alongside Haiku’s current theme). Admittedly, many people have very strong opinions about how certain things should stay in Haiku and pushing for changes can be challenging at times.

I agree with what @memsom and @roiredxsoto have said: in our opinions, it would be better to focus on bringing tablet-compatibility to Haiku: whether this is making a new shell modelled on BeIA as memsom said or by adding smaller (but not less significant) improvements to Haiku so the user experience on tablets is improved. In fact, I did have the idea of proposing a “tablet mode” or shell, but I forgot about the suggestion until I read memsom’s idea. By working with Haiku, you can get feedback and help as well as technical advice from our community, and not only does helping to bring tablet support to Haiku feel good for you, but it definitely would make a lot of people very excited (plus, you’ll have plenty of people cheering you on and encouraging you).

Sidetracking slightly to Linux tablet distros, you can have a look at operating systems like the new JingOS, based on Ubuntu: it’s a neat concept, but will people really be willing to switch to such an OS? Additionally, although Ubuntu provides a multitude of apps, how will the developers ensure all these apps are actually usable on tablets? Wouldn’t it be better to use Android instead, in this case, as it is a mobile-first platform? If Android is better, couldn’t a user just use default Android or an Android “distro” (which, I should mention, barely make a mark on the consumer market since no OEM has picked up these distros)? Just some questions from my point of view to consider if you are considering taking this path.

If getting tablet support to Haiku is a bit too much for you, I was actually thinking about the idea of setting up a sort of “UI/UX Improvements Working Group” consisting of developers as well as people who can provide concepts and design ideas to help improve/modernise the user experience of Haiku. That way, ideas to modernise Haiku are not lost but can actually be modified and worked upon so that they fit in nicely with Haiku and are feasible to implement. I am still working on this idea, but you seem like a good fit for a group like this and I have no doubt you would be able to provide lots of ideas :sweat_smile: - I will probably post something on the forums once I decide how to proceed with this idea.

Personally, I am annoyed that phones gain the ability to project onto televisions with keyboards and mice, but instead of making a nice desktop they just give a really big phone.

My personal “idea” to tackle that would be to start with a haiku-based distro that experiments a bit with a good way to get a phone/tablet UI (not neccesariky following ios/android)
I would allow applications to optionally support it by having an explicit phone-view, instead of going the wierd linux aproach of “just use desktop apps”

In that way an app might be open in the ‘phone’ view while also beeing on a commected display in a desktop view.

Just a bit of rambling though. ; )

I don’t think a “ui modernization group” is needed or wanted, for that it would first need to be agreed that the ui is not “modern enough” which i don’t think exists.

On screen keyboard isn’t hard. I had a tablet input method at one point, based on how PalmOS graffiti worked. Have a look here: https://github.com/memsom/ratcowsoftopensource/tree/master/BeOS/strokeit_src

It works based on the flags you sent to the BWindow, which make it never take focus, but accept events. I believe this is now supported in Haiku’s app_server. The keyboard is just this, but with lots of extra keys. The input goes through the input_server via an add-on. It all works under R5.03, and apart from bugs in the Dano app_server/BWindow implementation, it also worked under Dano and Zeta.

Have you seen what Samsung phones do when you plug them in to a USB-C dock with HDMI out? You get a whole other UI that looks like a desktop OS, and the Android apps all run in floating windows. You can opt out of that mode and then it’s a “big phone”, but the desktop is very slick and quite intuitive is you have ever used Windows.

It’s just androids desktop mode, and that is what i mean by big phone

You are talking about DeX, right? Because DeX never seemed like “just” a big phone to me. It has proper windowing. It’s more like ChromeOS in the way it runs Android apps.

I should have phrased this better, maybe the phrase “modernisation” should be omitted as well. Basically, what I am thinking is having a group to brainstorm improvements to the user experience (hence the UX part) - this could be anything from the setup experience to finding help to using the UI - quite multifaceted. So it won’t exclusively focus on the UI, but it will focus on other things as well :slight_smile:

A Haiku-based tablet could be useful for certain usecases.

Firstly in general, bootup and shutdown would most likely be much faster than Linux-based OSes. This is something which is more desirable in mobile devices than on desktops. Even without sleep/wake, Haiku could compensate for this by saving state at shutdown and restoring it upon reboot. This is already possible to a limited extent, IIRC only Tracker does this (please correct if wrong).

Secondly, Haiku’s focus on single-user may make it more suited to mobile devices than other OSes are. Phones and tablets are typically more personal devices and are much less likely to be shared between multiple users. Multi-user for tablets is usually seen as an optional or non-essential feature.

Thirdly, the way Haiku does packaging and updates makes it quite resilient in the event of botched updates. This is very important for battery-powered devices like tablets, where power can abruptly be cut off more frequently than on desktops or perhaps even laptops. pkgman recently gaining the ability to resume downloads makes Haiku somewhat well-suited for usage in areas with questionable power and internet access, many of which may be accessible for tablets but not fully-fledged desktops or laptops.

All of these could make a Haiku-based tablet OS attractive to certain demographics, especially those that pine for near-instantaneous use of a device from pushing the power button to opening apps. The possibilities range from a basic tablet for web browsing and viewing media to a no-nonsense office or development slate that lets a user get right to work as fast as possible. These are what pretty much everyone involved in the tablet/convertible space have been trying to get to for decades. Most try to do this by making their OSes do better at power management or sleep and wake (which Haiku could prolly do as well if wanted). But what if the OS could just keep the state of everything and do nearly immediate boot up and shut down instead? Haiku already has some of the tech in place for that, IIRC.

Ideally a hypothetical Haiku-based tablet OS would just revert to the last state at next boot when updates bork the system, but manual state selection could be exposed through a bootloader mode invoked at boot by holding down buttons (say Power + Vol Down). This mode would basically just go into the Haiku Boot Loader as we know it today. An emergency console could also be manually entered at boot using a different button sequence (perhaps Power + Vol Down), which may be reused in the live environment to trigger the KDL by holding the same sequence down for a couple seconds.

Admittedly some of this may be a tad hyperbolic or fanciful, but hopefully the general gist comes across well.

5 Likes

Calling androids windowing proper is a bit of a stretch, but my point is still that its a phone for the screen, not a desktop. Basically all restrictions that apply to android proper apply there aswell. It can be somewhat used as a desktop if one really wants too, i used to use it in a laptop years ago. But i wouldn’t call it good as such (compareable to other linux distros i guess)

On screen keyboard is already available: https://github.com/X547/HaikuUtils/tree/master/ScreenKeyboard

Touch input should work with the usb_hid driver if it’s USB based.

eMMC is work in progress, if you can test a machine with eMMC, send me logs if it doesn’t work

1 Like

Good day @PulkoMandy,

Actually it’s true. I wasn’t sure if was @X512 or @X547 who did it, though I recall seeing it on some other forum topic:
screenshot5

And it works. Hard to use with the theme I have here (need to tweak the theme) It’s available on HaikuDepot, which I didn’t search for before. Lesson learned :dizzy_face:

I’ll test the eMMC stuff (hopefully this week) and if the touch screen is USB and report accordingly. :+1:

Regards,
RR

X547 is my alternative nickname on GitHub because X512 was already taken.

So… wow! I had no clue this post would get this much attention from the community (thought it’d just be a random ‘idea’ post of mine out there)! :slight_smile: I got a stack of posts to reply to but I’ll try best I can haha

At first I was writing a full on essay and was like oh crap, this is long… and then realized it’d probably be a better idea to tag and reply to a few posts so here we go

@memsom Thanks for the Dano facts! I guess I thought there was just one Dano (the R5.1d0 build), I’d guessed November 2001 from the compile date :sweat_smile: I’d totally love to learn more about Be back in its day!

@rjzak I think it depends on the time zone someone sees it from; I’m not saying everything everywhere will be a tablet, but I guess that when close to everyone I know uses phones, tablets, and Chromebooks (and a few W10 laptops in there), yeah, desktops are old school. There’s a few gamers I know that have custom ones (and several in the h/w list use custom ones) but it’s a limited thing; I’d guess desktops beyond gaming or hacking are for ‘pro’ people like the Mac Pro. And about Pine64, Postmarket, etc tbh this won’t be anything for a phone but instead for convertible/x64 tablets that wouldn’t need special builds (why the title is tablet centric distro). I guess where I was saying mobile (my bad I said that, I get where mobile = phone), it’d be more like how the shell will work (no movable windows, no old desktop, etc) I would like to also finish some stuff for my iPad, (but on the iPad, it wouldn’t be an OS at all just a shell most likely). And… anyways, far as hardware, yeah, I don’t think tablets are taking over the world totally. The large stuff will still be needed (like as a backend to power everything); I think custom desktops, severs, clusters, all that will most likely be around for a long time but those are outside Haiku and stuff – for normal users, I think it’s laptops and smaller, probably even AR/VR and like a headband or something that reads what users want to do will prob be the future – and that part scares me about where free projects are at now, no cap

@roiredxsoto I like your ideas for both s/w and h/w improvements but idk if it’d be something I’d want to do because that’d totally mean a Haiku distro (which I’m not sure if I’d want to do), a few years back before I think my brain was all in :sweat_smile: I had made a distro (based on A4.1 at first then switched to Nightly) and it was not good, I learned a lot from that (like not to do it again)

@ModeenF So when I did my retro review series, I really tried to look for stuff besides BeOS and Haiku from 2001 on, and afaik I totally get why the Linuxes I found are gone. I couldn’t find any that really worked. Zeven looked like Xubuntu with BeOS icons on it, BlueEyedOS was like a small demo that booted, and the links to other stuffs like (Cosmoe) didn’t work when I tried to download them. I’d messed around with a distro myself that was meant to run a flavor of Haiku in a VM and a Linux DE outside which didn’t work. Saying all this because I’m obsessed with anything Be or Apple history :nerd_face: so if there’s other stuff out there it’d be totally great to know!

@jt15s Thanks! I’m hoping the h/w list helps Haiku as well, and as far as the UI concepts, I’ve tried to post about them and I totally get some are so huge they might not happen (the KDL improvements, the app freeze/resume) but other ideas like adding avatars (the Lego/Roblox looking dude that’s in my profile pic btw) or a better tab system (like pretty much all modern apps have) aren’t that hard and get reasons why not or ignored. I’ve got tired of trying with it all, I think messing with stuff outside Haiku (i.e. on Linux) might be the better way

@win8linux I get Haiku has a lot of good points and a lot of strengths to it, but like already mentioned in the thread, I’d done a Haiku based distro before and it was a total fail, and tbh I’m really not ready to do that again. Yeah I’ve learned some from messing up before and have matured since then – and that’s exactly why I wouldn’t go Haiku for putting in all my ideas. Like even if I could put together a new Haiku distro with my own shell on it, Haiku is meant by its design to be one (like the HaikuDepot, hpkg system and the PackageFS, the updater, etc) and there’s the vibe of “one distribution, one system” which radiates through the docs, community, so on. Though Haiku’s open source so technically someone could do a distro, there’s not really room for a second Haiku; if it got popular, it might even chop up the user base. As a Linux system, there’s a good chance it wouldn’t do that, it’d be ‘just another Linux’ inspired by BeOS that way, maybe with its own fans and users. But let’s say if someone went ‘to heck with it’ and took out the depot, packages, updater from a new distro so the changes wouldn’t get overwritten, what’d make it different than doing it on Linux? It wouldn’t be Haiku anymore, I guess what I’m saying is no matter how I think about it, Linux would really be the better way forward for my ideas

Anyways, idk what else to add here other than I’ve read everything, I like the suggestions (tbh except for basing it on Haiku), I’ve thought about it and realize Linux prob is the way to go, that’s kinda my replies to everyone, peace :slight_smile:

(edit: Fixed several grammar mistakes)

No, DeX runs full screen on a monitor with keyboard and mouse…

The phone screen is not even on by default

@apgreimann, I wasn’t talking about a distro, but adding those features to regular Haiku so could be used on touch capable devices (tablets and 2in1s) :wink:

While there is Plasma Mobile and Plasma, regular Plasma can be used on touch devices as is, no need to use Plasma Mobile, though for a Phone, Plasma Mobile “makes?” more sense. My old HP stream 7 has Fedora with Plasma and after tweaking the interface (increase size of close/minimize/maximize buttons, on screen keyboard, font sizes -old eyes here-, nothing more) is “nice” for touch, without the need for a touch specific distro :wink:

Regards,
RR

2 Likes