The 2024 Wheel Reinvention Jam just concluded. See the results.

Simple Computer Company

Okay, I think I misunderstood the hypervisor comment due to lack of Linux/OSdev knowledge. I'll admit I'm out of my depth there, so I should probably not comment on the topic until I'm sure I understand it better.

Part of the reason I mentioned "editor/compiler/debugger ecosystem" combo is that I know there are people on HMN already working on each of those things, so the expertise is already there to some extent. But of course there's no reason why it necessarily has to be that, or why there can't be more than one thing, as you mentioned.

When I think about things where platform/OS complexity is the major limiting factor in productivity, audio is actually a big one that comes to mind. Between different audio cards, different audio devices, different audio sources, different audio formats (sample rates, bit depths), different audio this that and the other thing, it seems like there's always a number of problems that come up and require a number of workarounds. For example, FL Studio ran dog slow on my old win7 box without third party drivers, which were themselves unreliable. Recording system audio on macos requires third-party drivers and a lot of fiddling with settings. And recording multiple audio sources simultaneously to different tracks is a simple and extremely useful feature that doesn't seem to be well-supported anywhere. So I think that could be a topic worth looking into.

Edited by Miles on Reason: forgot to finish my thought
notnullnotvoid

Part of the reason I mentioned "editor/compiler/debugger ecosystem" combo is that I know there are people on HMN already working on each of those things, so the expertise is already there to some extent. But of course there's no reason why it necessarily has to be that, or why there can't be more than one thing, as you mentioned.


Yeah we definitely want a great ecosystem for developing for the platform to attract developers to it but I think we want additional killer applications outside of that to highlight that the simplicity provides benefits to general users, not just developers.

notnullnotvoid

When I think about things where platform/OS complexity is the major limiting factor in productivity, audio is actually a big one that comes to mind. Between different audio cards, different audio devices, different audio sources, different audio formats (sample rates, bit depths), different audio this that and the other thing, it seems like there's always a number of problems that come up and require a number of workarounds. For example, FL Studio ran dog slow on my old win7 box without third party drivers, which were themselves unreliable. Recording system audio on macos requires third-party drivers and a lot of fiddling with settings. And recording multiple audio sources simultaneously to different tracks is a simple and extremely useful feature that doesn't seem to be well-supported anywhere. So I think that could be a topic worth looking into.


Audio is a great suggestion; I think that would be a good area to try to shine in!

Another one that I'm thinking would be good would be security - a simpler system has less attack surface and thus we should be able to create a more secure system. The hypervisor thing plays into this well too in that if you make the hardware so simple to program directly that you don't really need a full blown OS the hypervisor gives you multitasking but it also gives you security through isolation. That is the selling point of Qubes OS. I keep bringing up Qubes OS as an exemplar but I should clarify that it is not an exemplar of simplicity and good quality, it is just the closest thing I am aware of regarding a hypervisor-based desktop. If you have a spare laptop I recommend trying it to get an idea of what I'm talking about with regards to a hypervisor based system. I used it as my sole OS on my laptop for a while and while it was not perfect it did work well enough that the only thing that made me switch back was that I wanted to do screen sharing with my gf sometimes and it doesn't allow that by design (you can work around that various ways with various trade-offs if you really want to but I just switched back to Arch Linux). On my laptop I would maybe have like 5 or 6 Linux instances going at once and it handled it fine, applications in different VMs running seamlessly side by side. Imagine that but instead of full blown Linux instances with multiple applications running in each, you've just got a bunch of bare metal applications all running seamlessly side by side (probably most of them using some optional standardised minimal OS layer provided by the company, think exokernels, think unikernels like IncludeOS)

Edited by Neo Ar on
Hi,

I'm super excited about your idea. Concerning the thing that an os must-have is a browser. But if we do it, we have to do it right. I mean I'm tired of thinking about all the shitty principles I have to follow in order to hope (not to be sure) that my page will render fine. It is sad that I have to care about something that shouldn't cause any problem. There is so much to care about in order to deliver a resource from the internet and that job is poorly done by today's browsers as stated earlier. I'm not a network expert so I can't speak about why http is bad. I have noted some few points on what I think is the expectations of people using the web (from the browser at least).

- dynamic and responsive multimedia content.

- easy and coherent way to put content together (Maybe it's time for a real page-layout/content language something more robust than html/css). Here html5 has failed.

- easy way to program the content, communicate with the server, use the functionality of a browser... (We need robustness). Here Js has failed so badly (I don't want to use messy tricks in order to do animation in js it's so sad).

What is great with html is that we can use it to incorporate almost any type of media useful for the end-user.

What we can do know is at least get the performance right I mean all the renderer engines are so bad.



I love this idea!

A few thoughts I had while reading through:

I think it will be important to ensure consistent metrics for simplicity and making sure that we hit this order of magnitude improvement. I would like to be very systematic and programmatic about how to simplify and optimize the various RISCV cores that will be on the device(s).

While this is going to be a tough challenge, I think that the killer app might be a phone alongside the laptop.

this takes advantage of the RISC-V ISA (no more arm <>x86 nonsense).
I think that Apple deserves credit in maintaining simplistic uniformity across their ecosystem. This consistency is something to aim for. I think that building a mobile OS alongside a laptop OS, may allow us to identify some of the major inefficiencies in android/other mobile OS as well as creative ways to exploit others' needing to deal w this arm<>x86 problem.

last thought I had was about the low latency, high quality audio. I really would like to see this happen!
additionally, I'm wondering how we go about licensing stuff like bluetooth and wifi cards if we want to be as FOSS as possible (idk too much of the business and legal stuff behind this).


This might interest some of you.

DIY Laptop

While it's still not simple and the processor is slow compared to others, I think it is a good start to have a very open computer architecture. I think the guy also longs for simplicity of computers of the 80's(He made a experimental simple OS: http://dump.mntmn.com/interim-paper/)
How come there is no page view counter ?
mrmixer
How come there is no page view counter ?


I actually really wanted it to have a view counter but the results of a quick google search for 3rdparty solutions looked sketchy and I didn't want to waste time making anything custom as this is just a viral-marketing placeholder page that will be replaced with something real in the coming months. The current page is just meant as a hype-building announcement that something is currently happening behind-the-scenes. ;)

If anyone wants to contribute a view counter or add the fake-webring to their own site turning it into an actual webring, source of my site is at https://gitlab.com/riscy-business/hire

The simple computer company page is under public/SCC/site. Right now it is static html but an actual view counter could be added via source/app.d (my infra. is built on vibe.d). I'd also accept a pull request to add a fake js view counter rather than a real one
I'm excited to announce that a 5 minute teaser for a Simple Computer Company pitch will air during Handmade Seattle 2020 and that a full pitch will air the day after on https://getsimple.computer

The original joke site is still archived and available at https://hire.riscy.tv/SCC/site/index.html

Also I'll get to replying to discussion in this thread that I haven't replied to yet Soon™
bewwys
Concerning the thing that an os must-have is a browser. But if we do it, we have to do it right. I mean I'm tired of thinking about all the shitty principles I have to follow in order to hope (not to be sure) that my page will render fine. It is sad that I have to care about something that shouldn't cause any problem. There is so much to care about in order to deliver a resource from the internet and that job is poorly done by today's browsers as stated earlier.


As I've mentioned in the thread, I think we could try to tackle a simple browser with some small subset of features but doing a full-fledged browser would not be practical. We could try to simplify an existing browser and we would look into it but my GUESS is that most of the complexity in the browser space is coming from the insane web standards that the browser needs to support, not unnecessary complexity in the browser itself. If people in the handmade community do a clean rethink of what the whole internet stack should look like, I would happily support their web-alternative client on our platform! The most practical thing would be to offer browsers such as chrome via a minimal linux image in the community repositories providing support for running linux applications as they exist today. If we don't have a simple browser or a web-alternative client, we'd probably ship something like chrome out-of-the-box

anandj

I think it will be important to ensure consistent metrics for simplicity and making sure that we hit this order of magnitude improvement.

While this is going to be a tough challenge, I think that the killer app might be a phone alongside the laptop.

I think that Apple deserves credit in maintaining simplistic uniformity across their ecosystem.

additionally, I'm wondering how we go about licensing stuff like bluetooth and wifi cards if we want to be as FOSS as possible (idk too much of the business and legal stuff behind this).


Figuring out the exact metrics we'll use to quantify complexity should be decided right away/alongside doing a teardown of a competitors product. I think the best approach would be having brainstorm sessions amongst the team. We'll collect the data for at least one exemplar competitor product, if we aggregate data from multiple products we'll probably want to look at mean, median, mode, std dev, and graphs. Once you've got that we'll just make sure we hit 1/10th those numbers. Another metric to go off of is the 20K OS target Casey Muratori proposed in his 30M line problem talk.

We'll do a phone at some point but definitely not at the same time as the laptop, the team will be small starting out so we don't want to spread ourselves too thin. I think a laptop makes more sense than a phone starting out because unlike a phone, a laptop can be used for real work. Given that doing work from our laptop will be more efficient than using any competitor product, by definition it will accelerate our own ability to make future products

Apple does a lot of things right, they are certainly the closest to what we're going for, I'll give them credit for that!

It doesn't have to be hard-FOSS (although that would be nice!) If we need to license stuff we'll deal with that, I want to get people with business experience on board and we can consult with lawyers as well to make sure we're doing everything properly legally speaking.

Aldrin
This might interest some of you.

DIY Laptop

While it's still not simple and the processor is slow compared to others, I think it is a good start to have a very open computer architecture. I think the guy also longs for simplicity of computers of the 80's(He made a experimental simple OS: http://dump.mntmn.com/interim-paper/)


Would be awesome if we could get him to work for the company or collaborate with him in some way, taking a note of this to remember to try to contact him at some point!