Jump to content




OneOS Version 2 - The All in One Operating System


910 replies to this topic

#501 oeed

    Oversimplifier

  • Members
  • 2,095 posts
  • LocationAuckland, New Zealand

Posted 18 July 2014 - 02:53 AM

Finally! At long last the much anticipated version 1.2 is out.

I’ve only written two sentences and I can tell that I’m going to ramble, so here is a short list of the best features:
- A new, iOS-like, desktop interface
- A really quick and useful system wide search feature (the @ at the top right)
- Monitor support (could be buggy)
- Rewrote at least 70% of the OS to use a brand new framework I call Bedrock. It’s pretty awesome. It’ll be out for public use sometime soon-ish (main thing is writing the documentation)

In terms of updating, I’d personally recommend due to the large amount of restructuring that you just wipe/smash your computer and install from scratch. However, it should work if you just update the normal way. You’ve been warned though. The easiest way to do this would be to reboot and hold alt while you see the boot animation.

Now, on with the rambling.

I looked on GitHub at it turns out the last update was on April 1st, some 3 1/2 months ago. So, yea, sorry about the delay. There was just push back after push back. As I really just wanted to let you guys get the new fixes and features before something else happened I’ve semi-pushed forward the release a little. I was planning to do a private beta for a few people to help squash the certainly numerous bugs, but I may as well just make it public. I also haven’t spent a ton of time testing it myself either. This means there will be a lot of bugs. I know I’ve probably said that 100 times by now, but just be aware.

Anyway, here’s the full(ish) change log. There’s tons of small features and fixes missing.

Changes

+ Added iOS-like desktop interface
+ Programs can now have their own file types that open the program when opened, so for example, .txt files open in Ink (see the Wiki for info, it's really easy)
+ Added a Spotlight-like searching feature
+ All .DS_Store files will automatically be deleted to save disk space
+ Indexing system, all file changes cause updates. This allows for some cool, low-performance impact things such as Search and file types.
+ Modified systems will not send error reports, nor will outdated versions
+ All the games are now only installed when opened (saves ~200KB of much needed space)
+ Added monitor support! Open the monitor in Files to use it.
+ Added Redirection by RamiLego4Game
+ Created Bedrock, a GUI framework which has made everything a lot easier and smaller (normally at least half the file size)
+ Added system logging (see /System/OneOS.log). This will help huge amounts to hunt down and fix bugs.
+ Rewrote a HUGE (~70%) amount of the OS, lost of old bugs will be gone :D ...but new ones will appear :(
+ I've tried really hard to reduce the file size of the OS. I've managed to get it about 450KB which I'm pretty happy with. However, this has meant that some programs (Ink, Sketch, LuaIDE, Door Lock & App Store) have all been minified. They still have line numbers for error tracking, but they're not much good for learning from. Use the public versions in those cases.
+ Countless more smaller things I've forgotten about

* Pretty much all previous bugs (especially GUI ones) have either been fixed or they no longer exist due to being rewritten
* Improved the interface on pocket computers
* Ultimate Door lock would allow wired modems, resulting in it not working
* Wired Modems no longer show as Wireless Modems in Files
* Many, many other bugs I've or others have stumbled upon

- Remove YCCUP (sorry, it was just too buggy)

The change log might not look that big, but this is without a doubt the biggest update yet.

The desktop in earlier versions did work quite well. But if you had lots of items or tried to use it on a pocket computer you’d either have lots of overlapping or have icons off screen. I spent about a week trying to decide what to replace it with. I was originally going to have a search based desktop, but for some reason or another I decided against that. I’m quite happy with the replacement though. It’s modelled after the iOS Homescreen/OS X Launchpad (more the latter really, but they’re pretty similar). Using it’s pretty easy, you can either use the arrow keys or just drag it, like you would on your iPhone. The menus are still there, don’t worry. However, I have’t added rearranging. I think it would be an absolute nightmare to try and add. It might come in the future, but not yet.

One of the biggest and most complained/joked about problems has been the size of the OS. I’ve done pretty much everything I can, other than removing features, to reduce it. Some programs have been minified (line numbers still intact though) and games are now only downloaded when opened (see change log). At the moment it’s about 450KB, leaving you about 550KB. It’s still not excellent, and I’ll see what else I can do, but it’s pretty reasonable. I’d rather not minify system files, but if you think that about 100KB (which is a complete guess) of extra space would be more useful then let me know. Another huge thing that’s helped storage has been Bedrock which has centralised a lot of code, but more about that later.

One of the more obvious features is the search slide out. For those who haven’t used OS X, Spotlight is a search tool which instantly shows you files, printers, help topics, and really anything there is. It even does conversions which is pretty cool. As you can see in the screenshot (note, this is actually from Yosemite (finger cross I won’t get sued), in previous versions it looked a bit different) it groups things in to categories. This is something I wanted to also have in the search. It’s probably better to just test it out than reading really. One thing I’ll point out though, if you right click on a file you can open the parent folder in Files, something I find really useful.

Posted Image

I’ve also solved my issue with being bombarded with crash reports from modified systems, so you no longer need to worry about setting isDebug anymore.

Now, Bedrock. I will be releasing it soonish (probably once most of the bugs in 1.2 are fixed). There isn’t really any code (other than fixes) to do, but the documentation is going to be a real mission. There’s really no point making something designed for others to use if the documentation is crap, so it might take longer than anticipated. What I’m probably going to do though is release it in APIs & Utilities then write a huge tutorial post containing anything and everything about it. I’ll also have a GitHub wiki with a list of functions and an explanation of each one, it won’t have a full documentation there though.

For those unaware, in really simple terms, Bedrock basically loads your interface from a file, similar to how OS X’s Cocoa works (and I’d imagine how .NET works too). This means you can remove tons of code that was previously used to setup interfaces. It supports windows and menus with simple functions to open them as well as lots of other things like buttons, labels, text boxes, progress bars, etc. It also makes it really easy to make your own object. Essentially, if OneOS does it you can probably do it pretty easily too.

Well. I really need to learn to stop writing. Anyway, 1.2 is here and it’s got lots of new goodies, so have at it!

Oh, and if you find anything, and I mean ANYthing, that you think is a bug or inconsistency (things like “it still animates when animation is off” or “this object covers this one”). I’d like it to be perfect, so really, nothing is too pedantic.

Edited by oeed, 18 July 2014 - 02:54 AM.


#502 Saldor010

  • Members
  • 467 posts
  • LocationThe United States

Posted 18 July 2014 - 12:37 PM

1.2 is amazing!

#503 logsys

  • Members
  • 171 posts

Posted 18 July 2014 - 01:15 PM

Cant download...
EDIT: Worked now.. 1 minute after...

Pretty impressive work, congrats

Edited by Lyqyd, 18 July 2014 - 04:38 PM.


#504 Saldor010

  • Members
  • 467 posts
  • LocationThe United States

Posted 18 July 2014 - 05:49 PM

If I right click in a folder to make a new folder, the menu pops up, and I click new folder, but then it errors with,

startup:173: attempt to index ? (a nil value)

#505 Win7yes

  • Members
  • 110 posts

Posted 18 July 2014 - 05:57 PM

Cannot update OneOS to 1.2, says my connection failed

#506 Win7yes

  • Members
  • 110 posts

Posted 18 July 2014 - 06:06 PM

Now it also fails to check for updates. Same error, Connection failed

#507 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 18 July 2014 - 08:40 PM

I have an idea as to how you could really reduce file size: Store non-essiential things online. So OneOS would boot up normally offline, but might not have games, Ink, or Sketch, and whatever else is not essential to the OS. You could just put those files on GitHub and grab them on launch and leave them as global variables.
edit: hmmm... OneOS starting to have cool APIs...
oh god it's taking over. Prepare your shells!(not to be confused with tank ammunition.)

Edited by Geforce Fan, 18 July 2014 - 08:42 PM.


#508 oeed

    Oversimplifier

  • Members
  • 2,095 posts
  • LocationAuckland, New Zealand

Posted 18 July 2014 - 10:51 PM

In regards to connection issue am in really not sure how to fix them. I'll give it a shot though.

The 1.1 version of the updater didn't work well, hopefully the new one will.

Personally, I'd just start clean.

View PostJiloacom, on 18 July 2014 - 05:49 PM, said:

If I right click in a folder to make a new folder, the menu pops up, and I click new folder, but then it errors with,

startup:173: attempt to index ? (a nil value)
I'll look in to it, thanks.

View PostGeforce Fan, on 18 July 2014 - 08:40 PM, said:

I have an idea as to how you could really reduce file size: Store non-essiential things online. So OneOS would boot up normally offline, but might not have games, Ink, or Sketch, and whatever else is not essential to the OS. You could just put those files on GitHub and grab them on launch and leave them as global variables.
edit: hmmm... OneOS starting to have cool APIs...
oh god it's taking over. Prepare your shells!(not to be confused with tank ammunition.)
Hmm, I'd rather not force people to be online. You can run programs from disks. I've realized though that I didn't minify view files, that might save some space. Ill see if people still find it an issue.

Bedrock is actually ready for download, but I need to finish the documentation. It might take a few more days, but you can play with it now if you want.

Here's an example program (which does very little at the moment): https://github.com/o.../Examples/Basic

Installing/loading Bedrock is very easy though, just stick this line at the top of your code:
local bedrockPath='/' if OneOS then OneOS.LoadAPI('/System/API/Bedrock.lua', false)elseif fs.exists(bedrockPath..'/Bedrock')then os.loadAPI(bedrockPath..'/Bedrock')else if http then print('Downloading Bedrock...')local h=http.get('http://pastebin.com/raw.php?i=0MgKNqpN')if h then local f=fs.open(bedrockPath..'/Bedrock','w')f.write(h.readAll())f.close()h.close()else error('Failed to download Bedrock. Is your internet working?') end else error('This program needs to download Bedrock to work. Please enable HTTP.') end end if Bedrock then Bedrock.BasePath = bedrockPath Bedrock.ProgramPath = shell.getRunningProgram() end

Edited by oeed, 18 July 2014 - 11:35 PM.


#509 realgogogoluke

  • Members
  • 79 posts
  • LocationContentia

Posted 19 July 2014 - 02:25 AM

If I try to change the computer's label, it returns startup:95: attempt to index ? (a nil value)

#510 oeed

    Oversimplifier

  • Members
  • 2,095 posts
  • LocationAuckland, New Zealand

Posted 19 July 2014 - 04:52 AM

View Postrealgogogoluke, on 19 July 2014 - 02:25 AM, said:

If I try to change the computer's label, it returns startup:95: attempt to index ? (a nil value)
How are you changing it?
Within Settings, OneOS shell or booting in to CraftOS?

#511 Danny12328

  • Members
  • 7 posts

Posted 19 July 2014 - 05:22 AM

Whenever I try to print, this happens.


Spoiler


#512 Thegameboy

  • Members
  • 21 posts

Posted 19 July 2014 - 06:29 PM

Alright, here's a bug report for you:


Whenever I choose the animations off, all of them except one (when you click on the search bar) are still on. There might be more, but that's the only one I've noticed that actually works with the options. I've tried turning them off on initial setup, and in the Settings. Neither work even though that it shows they're off.

Also, I'm not sure if I should be posting this here, but whenever I go into CCAppStore and click on Misc in Categories it gives me this error each time:

Drawing.lua:250: attempt to get length of number


Anyway, I'm not sure if this even qualifies as an error report, but I might as well say it. OneOS has been very, very slow, especially whenever you have it up for a long time. A little reboot fixes the collecting lag, but it's pretty annoying. It would definitely be helpful if you looked into that.

#513 oeed

    Oversimplifier

  • Members
  • 2,095 posts
  • LocationAuckland, New Zealand

Posted 19 July 2014 - 11:44 PM

I've fixed all submitted issues so far and pushed 1.2.3.

Just a quick heads up, I've released Bedrock for public use. Check it out!

Edited by oeed, 20 July 2014 - 02:27 AM.


#514 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 20 July 2014 - 02:51 AM

Hey, small thing I noticed: When OneOS crashes it exits to craftOS. A "shell.exit()" at the top and a BSOD screen would be better.
I installed a fresh OneOS on an empty, new computer then it said there was an update so I said yes and it got startup:607:Exepected image,x,y
A nice suggestion would be: Notification Center. Then there could be another file in each program's contents that would be ran while the computer is on every day at some MC time to check for anything that needs notifying.

Edited by Geforce Fan, 20 July 2014 - 02:56 AM.


#515 realgogogoluke

  • Members
  • 79 posts
  • LocationContentia

Posted 20 July 2014 - 03:02 AM

View Postoeed, on 19 July 2014 - 04:52 AM, said:

View Postrealgogogoluke, on 19 July 2014 - 02:25 AM, said:

If I try to change the computer's label, it returns startup:95: attempt to index ? (a nil value)
How are you changing it?
Within Settings, OneOS shell or booting in to CraftOS?
Within settings

View PostGeforce Fan, on 20 July 2014 - 02:51 AM, said:

Hey, small thing I noticed: When OneOS crashes it exits to craftOS. A "shell.exit()" at the top and a BSOD screen would be better.
I installed a fresh OneOS on an empty, new computer then it said there was an update so I said yes and it got startup:607:Exepected image,x,y
A nice suggestion would be: Notification Center. Then there could be another file in each program's contents that would be ran while the computer is on every day at some MC time to check for anything that needs notifying.
I am having the update bug too...

Edited by realgogogoluke, 20 July 2014 - 03:02 AM.


#516 oeed

    Oversimplifier

  • Members
  • 2,095 posts
  • LocationAuckland, New Zealand

Posted 20 July 2014 - 03:22 AM

View PostGeforce Fan, on 20 July 2014 - 02:51 AM, said:

Hey, small thing I noticed: When OneOS crashes it exits to craftOS. A "shell.exit()" at the top and a BSOD screen would be better.
I installed a fresh OneOS on an empty, new computer then it said there was an update so I said yes and it got startup:607:Exepected image,x,y
A nice suggestion would be: Notification Center. Then there could be another file in each program's contents that would be ran while the computer is on every day at some MC time to check for anything that needs notifying.
When it crashes you should see the crash screen. If you're not let me know. I'm not really sure what the advantage of using shell.exit over just letting the script finish is really.

Hmm, that's strange, I'll see if I can fix it now.

Notifications have crossed my mind. I just don't really know what they'd be used for really. There aren't really any tasks that takes ages to do. If people have reasons to do so I might.

#517 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 20 July 2014 - 04:51 AM

View Postoeed, on 20 July 2014 - 03:22 AM, said:

View PostGeforce Fan, on 20 July 2014 - 02:51 AM, said:

Hey, small thing I noticed: When OneOS crashes it exits to craftOS. A "shell.exit()" at the top and a BSOD screen would be better.
I installed a fresh OneOS on an empty, new computer then it said there was an update so I said yes and it got startup:607:Exepected image,x,y
A nice suggestion would be: Notification Center. Then there could be another file in each program's contents that would be ran while the computer is on every day at some MC time to check for anything that needs notifying.
When it crashes you should see the crash screen. If you're not let me know. I'm not really sure what the advantage of using shell.exit over just letting the script finish is really.

Hmm, that's strange, I'll see if I can fix it now.

Notifications have crossed my mind. I just don't really know what they'd be used for really. There aren't really any tasks that takes ages to do. If people have reasons to do so I might.
Let's say you have a simple power monitoring system you don't want to run 24/7. You could have it send a message to the computer over rednet in the event that, let's say, power is under x%. Or maybe notify you when a forum has a new post by simply looking for html code changes. Or a thunderbird email has been received. There's a lot of possibilities.
The advantage of shell.exit is really the fact that without it it's not much of a proper OS, and probably slight performance increases.

View Postoeed, on 18 July 2014 - 10:51 PM, said:

In regards to connection issue am in really not sure how to fix them. I'll give it a shot though.

The 1.1 version of the updater didn't work well, hopefully the new one will.

Personally, I'd just start clean.

View PostJiloacom, on 18 July 2014 - 05:49 PM, said:

If I right click in a folder to make a new folder, the menu pops up, and I click new folder, but then it errors with,

startup:173: attempt to index ? (a nil value)
I'll look in to it, thanks.

View PostGeforce Fan, on 18 July 2014 - 08:40 PM, said:

I have an idea as to how you could really reduce file size: Store non-essiential things online. So OneOS would boot up normally offline, but might not have games, Ink, or Sketch, and whatever else is not essential to the OS. You could just put those files on GitHub and grab them on launch and leave them as global variables.
edit: hmmm... OneOS starting to have cool APIs...
oh god it's taking over. Prepare your shells!(not to be confused with tank ammunition.)
Hmm, I'd rather not force people to be online. You can run programs from disks. I've realized though that I didn't minify view files, that might save some space. Ill see if people still find it an issue.

Bedrock is actually ready for download, but I need to finish the documentation. It might take a few more days, but you can play with it now if you want.

Here's an example program (which does very little at the moment): https://github.com/o.../Examples/Basic

Installing/loading Bedrock is very easy though, just stick this line at the top of your code:
local bedrockPath='/' if OneOS then OneOS.LoadAPI('/System/API/Bedrock.lua', false)elseif fs.exists(bedrockPath..'/Bedrock')then os.loadAPI(bedrockPath..'/Bedrock')else if http then print('Downloading Bedrock...')local h=http.get('http://pastebin.com/raw.php?i=0MgKNqpN')if h then local f=fs.open(bedrockPath..'/Bedrock','w')f.write(h.readAll())f.close()h.close()else error('Failed to download Bedrock. Is your internet working?') end else error('This program needs to download Bedrock to work. Please enable HTTP.') end end if Bedrock then Bedrock.BasePath = bedrockPath Bedrock.ProgramPath = shell.getRunningProgram() end
You don't have to force people to be online. You can always make it an option in Settings. You could even make an option to delete the entire OS and use an online version. Why waste space storing the same thing over and over when you can just store it once?

Edited by Geforce Fan, 20 July 2014 - 04:56 AM.


#518 oeed

    Oversimplifier

  • Members
  • 2,095 posts
  • LocationAuckland, New Zealand

Posted 20 July 2014 - 06:41 AM

I've updated the installer (the old one had some issues, but it's virtually the same thing).

With luck it will fix the whole crashing on updating bug. Due to the nature of that bug though you might need to install a fresh copy.

#519 minimalshaft

  • New Members
  • 1 posts

Posted 20 July 2014 - 12:09 PM

i cant install this >.> it says that error 407 occured when attempting to retrieve api.github.com/repos/oeed/OneOS/git/trees/?recursive=1 . when i attempted to open it in my browser : {
"message": "Not Found",
"documentation_url": "https://developer.github.com/v3"
}

#520 wieselkatze

  • Members
  • 221 posts
  • LocationGermany

Posted 20 July 2014 - 03:09 PM

The installer doesn't semm to work right now.
It's giving me the following error:

string:407:Could not download: https://api.github.c...es/?recursive=1 Check your connection.

Looking into the code of the installer, the version hash is missing.
By looking further I noticed, that in "https://api.github.com/repos/oeed/OneOS/releases" the latest release is 1.2.5, but in "https://api.github.com/repos/oeed/OneOS/git/refs" there is only 1.2.4. So there is no hash created, because there is never a match with the latest version.

Should the 1.2.5 have been a prerelease :huh: ? Then it should have worked ;)

~wieselkatze

#EDIT:

I now manually placed the latest version hash in the installer and it works. Please fix that :)

Edited by wieselkatze, 20 July 2014 - 03:15 PM.






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users