Product upvotes vs the next 3

Waiting for data. Loading

Product comments vs the next 3

Waiting for data. Loading

Product upvote speed vs the next 3

Waiting for data. Loading

Product upvotes and comments

Waiting for data. Loading

Product vs the next 3

Loading

aaronOS

An operating system that runs on your browser

A desktop env that runs onweb browser, we created an OS that runs on any browser & can be persistent between devices. Link to kickstarter: https://www.kickstarter.com/projects/krizvii/aaronos-a-desktop-environment-that-runs-in-a-web-browser?ref=user_menu

Top comment

The platform can be viewed here: https://aaronos.dev/AaronOS/aosB... We are selling code of the platform, you can customize it whatever way you want: You can buy it: https://kumailrizvi.gumroad.com/... __ Teenager built and maintains this awe-inspiring solo project. Developed entirely in the cloud using c9.io’s online development environment, aOS (short for AaronOS) is an impressive tool, packed with a whole bunch of features and opportunities for customization. To list only a few of these features: Fancy an OSX-inspired UI? Check. Prefer a classic Windows XP themed UI? Check. Or feel like designing your own? Go ahead! Make sure to try out the NORAA virtual assistant’s speech recognition capability Test out commands in the bash-style terminal window Have a go using some of the in-built “apps” such as Text Editor, Function Grapher, and Music Visualizer Why not write your own custom app using App Maker? Thanks for your interest in aOS! My first programming experience came about by an ironic twist of fate, actually. When I signed up for high school classes in my freshman year, I was (and still am today) very interested in photography, so I requested Film Production as one of my classes. Apparently though, that class was full, so I was instead placed in GenYes — a class that focuses on educating my generation about important computer-related skills. Things like troubleshooting and fixing computers, using common programs, and of course — programming. If I had been accepted for the Film Production class, I likely never would have found programming, let alone let it envelop my life the way it has! My GenYes teacher really helped me out, and I retook the class again in my last year of high school. That class alone is what allowed my programming journey to take off at all. That sure was a lucky twist of fate! Tell me more how aOS began? What was the initial idea, or scope of the project? This is a tricky question! My first experiences in programming were spent making dozens of tiny little projects; such as calculators, string manipulators, etc. One of these projects was an “Operating System”, or at least something which looked a bit like one. You can see that project here. At the time, I was so proud of it — but I thought to myself, why stop at a simple joke app? What if I tried to actually make a legitimate program with an actual purpose? aOS is where I went with that initial desire. Note that aOS and the first “operating system” project are two completely different builds. I started over and gave up many times in the early periods of aOS, usually with the excuse of “I am in way over my head.” I’m sure a lot of beginner developers go through a similar experience. How did you work through those initial doubts? The main way that I worked around these early doubts is that after all these unsuccessful attempts, I decided to actually finish my programming course on JavaScript to learn that bit more, so I could come back and try again. The approach I took at the next attempt was, rather than focusing on “building an entire operating system”, I would focus instead on “creating a desktop”, and then “creating a window”, and then “making the window move” — with each as separate, self-contained tasks. This change of focus meant the project no longer felt like an immense task that would never be completed. Instead, it now felt like a collection of (supposedly) easier tasks, and each time I completed one, it motivated me to move on to another. This continued, and here we are today — I’m proud to say aOS now almost feels like a ‘real’ desktop. Could you clarify for everyone reading this exactly what aOS is? To what extent does it emulate a ‘real-world’ operating system? OK, so aOS actually does not in any way interact with the hardware of the machine. The closest to the machine that aOS gets is reading the battery level, and perhaps reading the state of the network. The browser handles all the low-level memory management, and aOS cannot work on its own, say, installed in boot code or running in native code. In that sense, aOS is truly closer to a desktop environment than to an operating system. The Files and Internet apps took some subtle cues from the Chrome browser in their design; mostly with the tab bar at the top sticking above the content than anything else. More recently, inspiration from other sources can be very easily found in different places of the OS. The WindowBlur effect is very reminiscent of the Aero look from Windows. The taskbar is very similar to that of Windows. I’ve included a simulated bash console, which is obviously inspired by Linux. Another Linux feature is the ability to fold windows with the button on the left side of the title bar. The ‘Settings’ menu is very much inspired by the Windows 10 settings menu. As for challenging parts of development, I can immediately think of two: working with the security restrictions enforced by the browser, and performance issues caused by the browser. In fact, I’ve had to rewrite major parts of the OS several times because performance was too bad. For example, when it was first unveiled, WindowBlur was horrible on the framerate, even on more powerful machines. I was forced to redo it, and even more recently just dial it down a bit, for the sake of performance. As for security, ensuring that everyone is viewing the page in https was very difficult. Without https, Chrome would ask for a permission prompt every single time I tried to access the microphone (for the NORAA virtual assistant) or camera (for the Camera app). Using https, the site is more secure, and Chrome only asks one time about all this, and remembers each user’s preference. All my dev work is done online, and the Cloud9 IDE is very good in terms of its continuity — I can be writing code on one computer, run out of battery abruptly, and pick up on another computer with the IDE in the exact same state it was in when I ran out of battery. The file is scrolled to the same place, terminal sessions persist, tabs persist, everything persists. Even the cursor remains in the same place! I literally log in on any computer and just get to work, which is amazing. One of my goals with aOS was to use no third-party JavaScript libraries. All code was written by scratch myself — no jQuery, Angular, Underscore, etc. — it’s all 100% pure “vanilla” JavaScript. The UI is presented completely in HTML and CSS, and all client-side code is JavaScript. Server-side code is written in PHP. My favorite language would have to be JavaScript, though TI-BASIC comes in as a close second. For anyone who doesn’t know, TI-BASIC is the language used on TI-8* calculators, and means a lot to me because it was the only way I could program during other classes! Plus, the other kids at school appreciated the video games I put onto their calculators for them. The NORAA virtual assistant is a really cool feature! In terms of the future, what are your plans and ambitions? What’s up next for AaronOS? And how about cloud-based systems and desktops in general? At this point, I have no specific plans for aOS; by which I mean that aOS has no real point at which it will be “finished”. Much like the game Minecraft, it will be continually updated and improved upon until I am physically unable to keep working on it, or if I ever run out of money… whichever comes first! I hope you like it!