16 ms·
“I made an operating system UI within Unity”
- ktm5j 7y agoLooks really cool! Unfortunately it looks like there is only a Windows version available to play around with. If this could run on Linux and have support for running arbitrary x11 apps then it would be very interesting! I don't have a lot of personal knowledge about Unity3d, but I do hope the creator puts this up on github or something. I'd love to take a closer look.
- Pulcinella 7y agoAs someone who has never used Unity, knowing it can be used for cross platform development, I would like to know how difficult it is to target as many platforms as possible. Let’s say I made a pretty standard 2D indie platformer. Not particularly graphically intensive. Is it possible to just check the box for each platform you would like and it works pretty well, or is there a lot of conversion work?
- _bxg1 7y agoIt is roughly that simple. You'll have to do OS-specific stuff for things like metadata, icons, any alternate control methods (mouse/keyboard vs touch), etc, but in my limited trials I've never had to do any platform-specific stuff that wasn't 100% justified. This is one of Unity's most important and valuable features, IMO.
- cycloptic 7y agoI am not sure if there is prior art for X11 proper, but there is at least one Wayland compositor built on top of the Godot engine that can run X programs through XWayland: https://github.com/SimulaVR/Simula https://github.com/SimulaVR/Simula And yes, with a bit of hacking you can do silly things like put physics on the windows and shoot holes in them. It won't get you close to what is in that Unity demo though. That would require re-designing all the apps. In my experience it's a massive pain in the ass to get eye-candy like that working correctly for arbitrary UIs and it's not worth the effort for most apps.
- jayd16 7y agoIt's probably not hard to get it running on Linux but it's not a shell. It's just a toy with built in 'apps.'. Running arbitrary apps rendered to a texture in this app and forwarding user input back to apps is probably out of scope.
- ktm5j 7y ago> but it's not a shell. It's just a toy with built in 'apps.' Yes that's what I figured. For sure not what it's designed to do as of yet, but if that gap could be bridged in a practical way then this seems like a good head start.
- deleted 7y ago[deleted]
- silentwanderer 7y agoThank you for linking Old Reddit.
- Answerawake 7y agoLooks like a generic Linux distro. Am I the only one getting "visual fatigue" over seeing flat design? I just feel like we need a trend change. Its been way too long. I find myself looking at the old Windows Vista, Windows XP, early Mac OS X, or even Windows 3.1 designs and longing for that simplicity.
- enumjorge 7y agoI feel like you missed the point of the post. It’s less about the aesthetics and more about the fact that someone used Unity, a game development tool, to simulate and OS UI.
- rhacker 7y agoThanks for that, I was trying to figure out what "Unity" was in this context, given that Ubuntu had something with the same name as it's main UI for about 7 years...
- PaulOlteanu 7y agoInterestingly enough, Unity the game engine has been around for 5 years longer than Unity the DE
- jpindar 7y agoThere are several things called Unity, which I suppose is why the game engine is often referred to as Unity3d.
- mirimir 7y agoYeah, same here. Like, what's the point of an "operating system UI" in a Linux desktop environment? But then, I also don't get the point of doing that in some game engine called Unity. I mean, is that a viable way to do a desktop?
- thiht 7y agoYou're literally on Hacker news. Not everything needs to be viable. Fun is enough.
- kstenerud 7y agoFrom the comments: This is a remake of Project Glass, which is a simulated operating system UI, this time implemented in Unity. It's not a full OS, but every simulated app and widget inside is fully functional. There is currently only a Windows demo [1] available, and he's undecided whether he'll release on Github or not. [1] https://drive.google.com/file/d/1p3AACMd6KuRnHctsq42uJfMq3BwBM86L/view https://drive.google.com/file/d/1p3AACMd6KuRnHctsq42uJfMq3Bw...
- sixothree 7y agoWhat is Project Glass in this context? Forgive my ignorance, but search is confusing here.
- hokkos 7y agoMaybe a reference to Sun's Locking Glass project ? https://www.youtube.com/watch?v=JXv8VlpoK_g https://www.youtube.com/watch?v=JXv8VlpoK_g
- DaiPlusPlus 7y agoLooking Glass was a real window manager though.
- Nition 7y agoThe same project. This version is a remake of the original version that the user had made two years ago. The full comment is clearer: > About Project Glass: > Glass is a simulated operating system user interface (UI) project and it is being made with Unity 2018.4. It is not a real OS, although everything in the package is functional and can be changed easily. This is basically a remake of the original project which was released 2 years ago. If you're wondering why I'm working on this project, you can search for Simulacra, Welcome to the Game or Emily is Away and you'll get the idea (plus it's fun). You can even count GTA for its phones and browser. This project is much much bigger than the examples though. > If you want, you can try it yourself by downloading this Windows demo: https://drive.google.com/file/d/1p3AACMd6KuRnHctsq42uJfMq3BwBM86L/view https://drive.google.com/file/d/1p3AACMd6KuRnHctsq42uJfMq3Bw... > 60fps showcase: https://www.youtube.com/watch?v=Yu_2e0LebNY https://www.youtube.com/watch?v=Yu_2e0LebNY
- BossingAround 7y agoWow. Could be an interesting game. Could also be an interesting learning tool. It's a shame that it probably wouldn't be ported to Linux though.
- _bxg1 7y agoIt could trivially be built for Linux if the author decided to (or released the code). But it's also more of a tech demo than a real utility; there's no indication it runs any existing GUI applications.
- MrEldritch 7y agoIt's not supposed to be a a real utility, or run real applications! It's intended for use in computer games; there's several such games that use a virtual "OS" as their framing device and core interface.
- _bxg1 7y agoI missed that part in the text I honestly think it's more interesting as: - A demonstration of what's possible within Unity (it's extremely impressive, because Unity's built-in GUI system is pretty terrible and it's clear that there's some level of composability, etc. to the UI system being demonstrated) - An experiment in creating a totally virtual, cross-platform (gorgeous) desktop environment within a single app that could be trivially run on any OS But of course it's still a long way from the latter, if someone even wanted to take it that direction
- fctorial 7y agoWine?
- dmos62 7y agoNext create a mock OS inside that.
- faitswulff 7y agoThat can play Unity games...
- kick 7y agoreddit's modern userbase is really interesting. There are some incredibly interesting people who use it, but you also find a bunch of accounts that are under a year old with lines like this: Please don't. I would like to see you get rewarded for your hard work. Screw the parasites. Their new UI seems to be doing its job, but I wonder if the decline in thread quality was worth it.
- crooked-v 7y agoThat kind of drive-by low-content posting is the inevitable result of lax and/overwhelmed moderation combined with a massive userbase and ultra-ephemeral posting. It's possible to suppress it, but it takes either a community small enough to have some organic buy-in of posting standards (see HN, for example), aggressive moderation, or both.
- kody 7y agoIt's also interesting how most of the comments disagree with that one, yet it still has positive upvotes.
- that_jojo 7y agoAs if the quality of HN threads is better by leaps and bounds.
- deleted 7y ago[deleted]
- stareatgoats 7y agoCould many AI chat bot developers be live testing their bots on Reddit?
- erikbye 7y agoI made another comment about this: this opinion is actually commonly held, and especially vocal, in the «hobby» game dev community. I have encountered similar hostility towards open source and sharing many times, e.g. on Unreal Engine forums, it is not a reddit thing.
- 7y ago
- loudandskittish 7y agoI bet it runs smoother and uses less resources than anything written in Electron...
- jokoon 7y agoHere is an analysis of unity's performance https://www.youtube.com/watch?v=tInaI3pU19Y https://www.youtube.com/watch?v=tInaI3pU19Y My take on your comment is that the problem of electron is that it uses HTML.
- MrLeap 7y agoElectron apps are fat in so many dimensions. From time to time I make them at work. I like the ergonomics of writing desktop javascript, but those blob sizes... Super simple, zero asset electron app? ~300MB Relatively complicated binary created with unity that includes high resolution textures, models and sounds? 35MB. So far, everything I've used electron for has had good enough performance though.
- fxtentacle 7y agoYou are most likely correct, because the Unity developers actually care about performance.
- 0xffff2 7y agoAm I the only one who hates most animation? If the animation doesn't serve a clear purpose in signalling something to the user, I want it gone. I'm not convinced that we've seen any meaningful advance in OS UI design since Windows 95.
- mikepurvis 7y agoType-to-search is significant— Ubuntu has it, MacOS sort of has it (Spotlight), Windows 10 definitely has it. It wasn't until it mysteriously broke last week [1] that I suddenly realised how dependent upon it I had become; I felt like a caveman manually paging through the list of installed software or seeking out the proper icon on my desktop. [1] https://www.forbes.com/sites/gordonkelly/2020/02/09/windows-10-warning-serious-failure-provokes-questions-and-anger/#322e628434f4 https://www.forbes.com/sites/gordonkelly/2020/02/09/windows-...
- busymom0 7y agoTime to make Unity UI inside it!
- nhatbui 7y agoI tried making the original Macintosh OS in Godot and my takeaway was it was really enjoyable to make UIs in a game engine. It would be interesting to see some “avant-garde” movement of making not only games but native apps using game engines.
- cnasc 7y agoThis isn't quite that, but I can never not link to https://arcan-fe.com/ https://arcan-fe.com/ in cases like this. He even updated today!
- MrLeap 7y agoYears ago, when I was adapting field manuals into Unity Games -- I got asked to create some training for a piece of field kit that relied heavily on a windows mobile device (very early windows mobile, that had a registry -- could run some win32 apps, had a noticeable delay of like 350ms between every input and it reacting...) I had that new-job-gotta-impress energy, so went _hard_ at this project. I added so many tiny details to make it _exactly like the windows mobile device_. I had simulated battery indicators, signal that was calculated by ray-crawling to the nearest in game "tower" and attenuating based on the materials it encountered along the way (why?!) -- every menu, function, submenu that I had access to I implemented. The power button worked, the restart button would do the windows mobile boot animation. No stone unturned. When I finished it, I assume 6 people saw it, but they never said anything to me about it. That was probably my first adulthood jolt of ennui. Ah memories.
- presidentender 7y agoI worked for the same field-manual-into-Unity employer for a few years, first doing DoDAF architectures on a contract on Ft Huachuca, switching to the serious games division for a small number of weeks before I politely quit in frustration. We spent years building what amounted to UML diagrams of existing Army units. Great effort went into them. Coordination with active-duty officers, with GS civilian stakeholders, training from certified DoDAF-training instructors; we had TS-SCI clearances. Then the resulting products went into a database somewhere, and nobody ever looked at them. I imagine that sort of thing is rife in the government contracting world, but it seems like that particular firm has a real knack for finding truly futile things to get paid for.
- MrLeap 7y agoIt was a rough situation at times. I really took advantage of how self directed things were in the beginning. It was basically a masters program in whatever technology I chose to learn. Some people used the time to watch netflix. I wrote a 3d engine for android in almost entirely openGL ES2.0. After that, Unity was what I chose. I did find a few things I could do that made an impact. One project I did on a lark even resulted in a little recognition. I overheard an instructor complaining about an onerous, all hands on deck eternal data wrangling task. Seemed like an easy thing to automate. For bureaucracy dodging reasons, I wrote it in actionscript3. All it did was eat files and spit out xslx files. Turns out it wiped out XX% of the manual labor every instructor on post had to do in a single button press. A GS megaboss said it was going to save the government millions of dollars a year. Was a little disappointed I never personally got a challenge coin for it. My boss did :) I'm grateful for the numbers though, I could leave that job confident I saved the tax payer more than I cost. Hopefully some of the things I'm working on for my current employer will get some visibility in the outside world. Software is ephemera, but I'd like to make a token effort to be remembered.
- Geee 7y agoSuch UI is not insanely hard to implement in Unity, like it would be if it was HTML/CSS.
- mbf1 7y agoIt's a nice looking display, and it's running at a nice 60FPS. However, operating systems don't generally run in full GPU mode all the time -- it's a huge amount of power to be re-drawing the screen that often, and that scales to poor battery life on mobile and expensive power costs in servers. So that's one of many reasons practical OSes don't do their UIs with GPU shaders when they can otherwise get away with less.
- traverseda 7y agoHow does wayland work?
- designcode 7y agoOSX and iOS would probably disagree
- kllrnohj 7y agoYour phrasing of this is a bit unclear. I think you mean that no "real" UI redraws when nothing has changed. But otherwise most operating systems do run in full GPU mode all the time. The true-mobile ones, so iOS & Android, are almost always using dedicated hardware to handle composition without spinning up the GPU (although both use the GPU to render, so whenever something does change it's immediately back on the GPU), but "desktop" ones are generally always doing GPU composition as long as the display is on. With some hand-wavy exceptions to that primarily for video layers in select circumstances with proper hardware support.
- raphlinus 7y agoWindows is actually pretty good about doing incremental present, only writing the composited regions that have actually changed. But macOS is bad at this, so people have to fake it in ugly ways to reduce power consumption. It's especially bad when all you want to do is blink a cursor. Whether apps make use of these capabilities are another question. It's pretty easy to get lazy and blat out the whole window every time, when you know the GPU can handle the pixel bandwidth, and things like imgui explicitly make this tradeoff to keep logic simple.
- 7y ago
- scarejunba 7y agoI would love a 60 fps fully graphically-accelerated UI. This one looks beautiful. Cool concept to prototype in Unity too.
- solarkraft 7y agoThe animations are just amazing. It's the exact field in which I still find modern applications lacking, but games exceptionally good (including game UI). I think UI frameworks should take more from game engines, which I think has happened over the last 2 decades, albeit slowly. My best examples of it is probably currently QtQuick, which builds completely on OpenGL and uses a bunch of game engine terminology in its documentation - but I have also found that it's possible and not too hard to make working application mockups using Godot.
- gkfasdfasdf 7y agoAm I the only one who thought it was going to be an OS navigated in a FPS environment, like the old Doom sysadmin port? Looks pretty slick though.
- klingonopera 7y agoKinda ironic, that when they were actually using real PC tech, people were claiming they weren't, whereas now Hollywood sins the crap outta the hacker-type, and nobody bats an eye. https://en.wikipedia.org/wiki/Fsn_(file_manager) https://en.wikipedia.org/wiki/Fsn_(file_manager) EDIT: Come to think about it... back then, the tech was probably just about mature enough to make such a thing just about possible, certainly today it can beautifully be done, and can maybe even more efficient (for the user/work, not hardware) than classic terminal/GUI approaches. I've never used a third party file explorer, apart maybe from WinSCP, but what sounded ridiculous could actually be pretty genius. Anyone here on a 3d filesystem explorer?
- nineteen999 7y agoWell, no fancy UI, but I did port a Z80 CPU which could run a full Operating System (CPM 2) to Unreal Engine: https://i.imgur.com/2nagJS4.png https://i.imgur.com/2nagJS4.png I did implement graphics hardware as well, so in theory you could write a GUI along the lines of Contiki or something https://i.imgur.com/DmnVA2I.png https://i.imgur.com/DmnVA2I.png The hard drives were configurable (up to 4MB hard drive images supported) and as per the pic above, the light on the drives light up when accessing the disk. ANSI/VT100 support on the terminal as well: https://i.imgur.com/DlftREp.png https://i.imgur.com/DlftREp.png Telnet+ZMODEM client was working so you could download software directly from Internet connected BBS's: https://i.imgur.com/K44GT1W.png https://i.imgur.com/K44GT1W.png Or do word processing in space with WordStar 4: https://i.imgur.com/rIY1he8.png https://i.imgur.com/rIY1he8.png I wanted to make something a bit between a cross between FTL and 0x10C, but in 3D, and where your space controls were linked up to software running on the Z80. I had up to four Z80 instances running (could have supported more), and wanted to be able to network them to each other as well as the spaceship control plane as well.
- smallstepforman 7y agoOK, this is actually quite impressive. Geeky beyond belief, and the question is how deep would you care to go ... emulating a x86 which is running your app emulating an x86 ... Still impressed.
- nineteen999 7y agoFunnily enough, I'm also working on a Motorola 68K emulation component as well, and I did consider trying to compile the Z80 emulator to run on it.
- exikyut 7y agoOkay, what was this used in, and where/how can we play with it? Preferably in test/debug mode so we can directly poke at the different features. (But source not necessary.) Also - the ANSI graphics example... it honestly looks bitmapped, not like a bunch of colored character cells. But then the graphics example (link 2) also looks bitmapped, so I think I'm missing something.
- pwthornton 7y agoThis is like Windows Vista Aero UI on crack. There is a reason that UIs don't look like this. The transparency alone is a major issue for usability, accessibility, and productivity. It's an interesting project. I wish this person would have pushed themselves to think of new paradigms, rather than trying to use more effects to very staid looking interaction design concepts.
- Nition 7y agoMost games of the sort the creator is targeting here (games with a built-in fake OS) have their UI look fairly familiar, since it's more about creating a believable world than doing something exciting and new with the OS itself.
- exikyut 7y ago...Which then goes and excludes the demographic of people for whom "believable world" means "exciting and new". As in, tell me something I don't know - I'll be able to believe [in] that much more effectively than a revamp of some old dead thing I've been staring at boredly for the past X amount of time.
- musicale 7y agoIn the 1970s and 1980s, GUIs devoted a large portion of the machine's power (and other resources such as memory and disk space) to improving usability. This reduced raw application performance and power efficiency but it was considered a worthwhile tradeoff. For years we've been optimizing battery life, but now that mobile devices can run for 8-10 hours or more on a single charge, perhaps we should reconsider spending more of the power budget (and implementation effort) on usability. On a side note, it baffles me that devices like the PS4 that are amazingly responsive during gameplay have extremely clunky and unresponsive system GUIs. Can't we get some smart game programmers to rewrite the PS4 system GUI to make it fast and responsive?
- pier25 7y agoI'm sure there are plenty of usability issues but damn it looks slick. It's sad that a kid can make this with Unity3D, probably on his/her free time, and Microsoft with all its billions is not capable of producing a good UI for Windows.
- jonny383 7y agoAwesome! If it's a hobby, who cares about the platform. Have fun and learn stuff. This reminds me of being a kid, and always having the "hacker" mentality. Use whatever you have available to make something awesome. I remember having my first "computer" based project around 2001 for school. We had to create some kind of presentation "using any tool" available to us on our home computer (or available in the school library). I opted to create my presentation using RPG Maker 2000. It had animations, sound effects, and even a little quiz at the end. I handed the project in to the teacher on a 1.44MB floppy* drive containing only the compiled windows binary. The teacher loved it and placed me in a regional school advanced IT program where I was first introduced to QBASIC.
- numlock86 7y ago> [...] where I was first introduced to QBASIC. Not sure if this is supposed to be a happy end or not. Cool story!
- jonny383 7y agoSorry, I should have specified "introduced to my first actual programming language, QBASIC". Funny thing was, I already knew how to program (in terms of breaking problems down and using components to model data - probably from building games in RPG Maker), I just had never been shown a programming language. It was a "AHA!" moment.
- leowoo91 7y agoHe did a great job, but I wonder if unity optimizes the runtime for components that doesn't need update every frame?
- jackbrookes 7y agoI believe Unity does this if the scene is split into several separate UI canvases: https://unity3d.com/how-to/unity-ui-optimization-tips https://unity3d.com/how-to/unity-ui-optimization-tips
- RabbiPires 7y agoI remember working on a Visual Basic "OS" back in 2005 with something similar in mind. I don't remember going further than implementing a basic desktop and a calculator. Fun times.
- jdance 7y agoIt was very clean and impressive work, but the longer I watched the more I realized how disconnected I feel from all these weird "apps". - Music player without connection to the real world (spotify/youtube) - Notes app without connection to the real world (the file system/other platforms) - Messages app without connection to the real world (sms / messenger / whatsapp / etc etc) - Photos app without connection to the real world (some kind of cloud synced file system) - Notifications ... I really still have not found a use for them, except for IM on my phone Stop bundling these things :( It looks nice, but the real world use is so limited. Focus on really enabling other stuff instead
- f1refly 7y ago1. This is more of a design study that anything else, having unity provide your os shell is ridiculous. 2. You shouldn't consider your own needs the standard. I for myself would be very happy with - A music player that doesn't integrate with user hostile, walled garden drm garbage - Ditto for messaging - Just using your own file sync for documents and pictures Also, well, notes without filesystem access feels really useless, we can agree on that one.
- MrEldritch 7y agoI'm not sure if you realize, but this isn't intended as a "real OS" for practical use. It's intended for use inside of computer games; whether for simulation of using computers inside the game-world, or for games where the framing device is a (simulated) desktop interface. In which case, the "limited real world use" is hardly a flaw!
- RocketSyntax 7y agoNow hook it up to a VR headset so I can have 6 screens?