Hello. I'm new here, and, well, this is the OS that I've created. It's my first OS that uses more than just a simple startup program. I've designed the OS the be focused on being smooth, easy to use, and fast. Using a custom UI API (I'll talk more about that later), I've made smooth animations that look great and are very easy to create. Built into the OS are also some very useful utilities that help to deliver a quality user experience.
With the above said, I'll just jump right in to talking about what NinOS is. It is not the most advanced OS, as it is in its early stages of development. I have, however, been working very hard on getting rid of bugs and making everything be as seamless as possible. I'll be updating the OS as much as possible, and I'll try my best to add any feature suggestions that the members of this forum make. I am aware that NinOS is not the most feature-rich OS (by far), but I will do my best to continue to improve upon it.
Install
Downloading the Installer:
pastebin get fD2PU1f6 Installer
Once downloaded, run the installer!About
NinOS is a Lua-based (Of course) operating system. It uses custom APIs to create a great and enjoyable user experience. By using these APIs, NinOS is smart enough to know when a backup is needed. It's smart enough to know if an app would like a restart. It's even smart enough to tell you when the newest version of the operating system is available*. The idea behind NinOS is to first have the core elements put down, such as the APIs, and then build the rest of the OS around the core elements. In this way, the OS can be its own.* Backups are not currently managed by the OS, but you can create a backup folder yourself and place it in the core/apis folder. The OS, right now, is able to tell you that you should have a backup file when you don't have one. Once you have one, the OS will no longer remind you – until you need it again.
Features
Spoiler
Here, I'll outline some of the major features from this version (And, once an update rolls out, the next version as well).Background Picker
With the background picker found in the menu (click + on the home screen), you can chose the color that fits you best. The system changes to color match the text, the app icons, and more to fit any color you choose. The lock screen changes to match the background that you choose as well. When you want to change the background color again, its as simple as clicking on a color. The background changes, the system color-matches everything, and you're done! Best of all, your preference is stored within a settings file, so when you shut down your computer and turn it back on, you'll find that everything is just as you left it.
System Center
System Center takes relevant information and places it only a click away. Depending upon what app you're in, System Center will display update information, quick access to related apps, books, functions (such as restarts), and more. If you're at the home screen, System Center will display clickable icons for updating and for the terminal. Both of these are things that you might want to use but are otherwise many clicks away. That's the idea of System Center. Bring what you want closer. More coming soon…
Lock Screen
The lock screen is more than just a simple lock screen. It puts the notifications that need attention right in front of you. With just a glance, you can see exactly what is going on. It's smart, too. It doesn't give each notification a position, but rather gives the notification a general place to be located. By telling one notification that it should be roughly in one location, but should move if necessary, it is possible to always display the notifications in an organized way. Notifications aren't all the lock screen can do. Of course, it locks your computer… until you want to unlock it. With a password. Or not. It also will always be in your favorite color, so whether you're logging in for the first time after restarting, or you're just logging in after being away for a while, you'll always be greeted by something you love.
Sleep
Sleep puts a black cover over your computer. After a while, a screensaver that you've selected will begin to play. Click, and the screensaver is gone. With just a click, you can bring your computer back to life. The computer wakes up, and you can go back to doing what you need to do. Hassle free. Soon, sleep will be even more than that, though. Your computer will automatically do tasks that need to be done, and when you come back to wake your computer, you might find that you computer took care of some of your jobs for you. Maybe you don't need to restart now, or maybe you no longer need to make a backup. Sleep is about to get far more exciting.
Restart Requests
While not in heavy use right now, the benefits of restart requests have already been seen in a huge way. One app can ask for a restart, either instantly or not, and one of two things will happen: If the request is of the instant type, the computer will ask you for permission before it restarts then and there. Feel free to disapprove – or approve. If the request is of the normal type, a restart request is created. This request is stored, and the OS responded by reminding you (using lock screen notifications) that a restart is needed. When you restart your computer using the menu, the request goes away, and with it, the notification. It's easy.
Notifications
Notifications let you take action. They make it possible for you to forget about what you need to do and then get reminded that you need to do it. NinOS takes all your notifications and stores them in one place. By using the left mouse button and dragging down to the bottom of the screen (when looking at Start), you can see all your notifications. Click on one, and you'll be delivered to the corresponding app. And NinOS doesn't sit still here. NinOS takes action and removes that notification so that you don't have to.
Store
Apps are more than just programs. They are expressions. They are tools. They are… whatever you want them to be. Sometimes, it makes more sense to create apps than to download them. But in other times, downloading them can be far more difficult than it should be. It should be easy to find the apps you want. And it should be as easy as clicking a button to download them. We've ignored this fact for a while, but now, we're done ignoring it. NinOS now comes with a store. And this is just opening day.
Nin
Nin is your personal assistant. With every update, Nin is getting more and more useful. Now you use Nin to take notes or to look at your notifications. And if you don't want to use the dedicated Nin app, you can use QuickAccess to Nin from the desktop. Just click on the "N" in the bottom right corner and let Nin help you do the rest!
Other Features
- See version information in the Info App
- Terminal
- Updater
- Logging Out/In
- Reboot/Shutdown
- Text Edit
- Different modes in reader
- Multipage books
- System restarts from debugger
- View background color value
- Run games from terminal
- Boot screen
- Escape from OS by clicking "-" on the home screen
- Bring up menu by clicking "+" on the home screen
- View number of OS-related apps in Apps app
- Use all normal programs in terminal
- Window expanding
- Screensavers
- Login System
- Multitasking
- Help App
- Time App
- Easy to use Settings App
- Desktop
- Custom Text Editor
- Right clicking
- Welcome program that runs when you start the OS for the first time
- Welcome notification
- Icons
- Save as book from TextEdit
- Calculator
Images
Spoiler
Boot Screen:Lock Screen:
Home Screen:
Menu and Background Picker:
Notification Center:
Calculator:
System Center:
Sleep:
Update:
Restart Requests:
Reader:
Passwords:
Desktop:
Terminal:
Store:
Troubleshooting
Spoiler
Q: How do I get to the terminal?A: You can get to the terminal through the System Center on the home screen (click the bottom "-" on the home screen).
Q: What can I do in the terminal?
A: The terminal allows you to use any and all normal computercraft commands. You can also run other applications or even another OS. Simply write the commands exactly how you would in the normal CraftOS shell.
Q: Why is there an update notification already when I first install the OS?
A: The update file is used to add, remove, and change certain files belonging to NinOS. The updater can change files that already exist, and can create and remove them, but if there is an update to the updater itself of the APIs that it uses (such as adding new files to be changed with each update), the update file comes in. The updater changes the code in the update file, then, when you manually update from the update file, the updater itself can get updated.
Q: When do updates normally arrive/When can I expect bug fixes?
A: I plan to update the OS as often as I can. You can expect severe bugs to be fixed faster than other bugs. Generally, you should run the installer (will soon be the updater) every few days.
Q: An app crashes every time I open it, what should I do?
A: The file(s) that the app uses, or the APIs, might have been downloaded corrupted or not downloaded at all (for some reason). Try running the installer again.
Developer
Spoiler
Here are a few of the APIs available to use with NinOS:shell.run("core/apis/core")
shell.run("core/apis/UIKit")
shell.run("core/apis/ResponseKit")
shell.run("core/apis/versioninfo")
UIKit
UIKit is the main handler for the GUI of NinOS. It takes visual objects and animations that could sometimes be 80 or more lines of code and compresses them down to one or two lines for developers to use. Each part of the the UIKit API has its own individual arguments that can and will dramatically change the look and feel of your apps.
UIHeader("small/large",appBg,headerBg,headerTc,"text")
UISmallHeaderExpand(appBg,headerBg,headerTc,"text")
UIFooter("small/large",footerBg,footerTc,"text")
UIHeaderStill(headerBg,headerTc,"text)
UIBlockAdvanced(animatesetting,startposx,endposx,startposy,endposy,Bg,appBg,appTc,tablevalue,appname)
Example Of Advanced Blocks:Spoiler
shell.run("core/apis/core")
shell.run("core/apis/UIKit")
shell.run("core/apis/ResponseKit")
appsTable = {}
function drawDocs()
term.setBackgroundColor(colors.white)
term.clear()
term.setBackgroundColor(colors.red)
term.setCursorPos(w,1)
term.write(" ")
m = 2
z = 6
p = 3
l = 6
for _, file in ipairs(fs.list("books")) do
if file == ".DS_Store" then
else
UIBlockAdvanced("normal",m,z,p,l,colors.lightGray,colors.white,colors.gray,{m,z,p,l,"edit books/"..file},file)
p = p + 5
l = l + 5
end
end
end
drawDocs()
while true do
appsTable = {}
drawDocs()
event, button, x, y = os.pullEvent("mouse_click")
if x == w and y == 1 then
break
else
findPoint()
end
end
UIBlock(animatesetting,startposx,endposx,startposy,endposy,Bg,appname)
UIvAlign(x,y1,y2,Tc,message)
UIvLine(animatesetting,animatespeed,xpos,startposy,endposy,Bg)
UIhLine(animatesetting,animatespeed,ypos,startposx,endposx,Bg)
ResponseKit
ResponseKit handles notifications, restart requests, and, soon, more. It can check to see if certain files exist or generate a whole new file for a restart request. It also automatically adds the UI for instant restart requests without you needing to do anything.
notification("filename","message",xpos,ypos,bg,tc)
notificationOpposite("filename","message",xpos,ypos,bg,tc)
requestRestart("reason","instant/normal","app name")
requirePass(appBg,overlayBg,appTc,lc,fc,correct,incorrect)
Core
The Core API simply makes developing apps easier. Functions like cPrint, cSlow, and color functions such as red(str), green(str), and blue(str). The API also gives all programs that run it the width and height variables so that it's easy to position certain elements of your applications. While this is nothing different than what is common in APIs, it makes creating apps much easier.
Version Information
Version information is changes whenever an update to the system occurs. The version information file, while technically more of a storage/settings file than an API, helps make version-related tasks easier. If you wanted an app to check a version number for some reason, find its release or expiry dates, or more, the version information makes the creating of the app easy.With the use of these APIs, you can create amazing apps with ease. And more APIs and more usefulness will be added with each update, so it'll only get better!
Coming Soon
Spoiler
Coming within the next few updatesUndecided implementation
- Bug reporter
- Debugger
- Game support
- More books in reader
- More terms in Dictionary App
- More user-configuration
Changelog
Spoiler
Version 0.3 Beta 1 - [post=225275]Features[/post]Version 0.2 Beta 6 [Final Beta] - [post=189957]Features[/post]
Version 0.2 Beta 5 - [post=186045]Features[/post]
Version 0.2 Beta 4 - [post=184733]Features[/post]
Version 0.2 Beta 3 - [post=183986]Features[/post]
Version 0.2 Beta 2 - Fixed Updater bug
Version 0.2 Beta - Initial Release
Known Bugs In Current Version
Spoiler
- NoneSo, what do all of you think? I plan to keep this updated with the latest news and updates about the OS for as long as possible. New features will constantly be under development, so please, stay tuned! Please suggest anything you'd like, it would help in the creation of the project. This is also my first post on these forums, so please, let me know if/what I've done incorrectly or if something could be made better.
Thanks for reading,
- Nin