Wow, I’m not the only one making phones in Roblox haha, I’ve tried your model and It’s amazing! The only thing I would change and maybe fix is the Island, it’s kinda clunky, but overall your project is amazing. I even tried to add custom app and it’s very easy:
Here are some changes I would do:
The messaging app: when sending a message you get notification on the Island yourself which should not be a case.
Interface: The icons on the interface looks clunky just like they don’t belong here, try to make one icon format and base it on mono colors for example the background of the icon may be colorful ful if you take look at some icons they are wierd, let me elaborate:
Take a look at the Settings and Bank icons, the Bank icon is empty inside and the Settings app contains colors not matching other ones (in this case black).
Sounds: when the app is opened it makes the sound which don’t fit the project, instead try using something like click sound, it would make the user enjoy the interaction with your phone.
Loading when oppening the phone: instead of showing the name of the project for 4 seconds try making it one time, and next time it will not show up.
Using the island: I have no idea how to use your island, sorry.
Anyways the project is a masterpiece and I cannot wait for next releases.
Thank you so much for the response. As said before, we take responses very heavily and try to add as many features as suggested. With that in mind, we will continue adding and changing the features as requested.
Nice to have another developer making phones as well.
I will respond with more info/details when I am back to my PC.
Hey! Sorry it took so long. Been on a trip for a few days now and just got back.
That was only supposed to be for the demonstration. I must have forgotten to take the extra code out. That will be fixed in v0.2.0
Interface:
This is an interesting catch. v0.2.0 will definitely have updated app icons.
Sounds:
Introducing a click sound is not a bad idea! Thanks for your feedback and it will likely be added. (I would agree, the old sound didn’t match)
Loading when opening the phone:
This was something I was already planning on adding. The feature has been completely removed for the new update, although if we get it working again later, we may add it. It isn’t hard, we just don’t think that it’s necessary.
Using the island:
The island was (and kind of is even now) very confusing. You are supposed to be able to call a function from the OS module revealing the location of the island frame and the message you want displayed. This has now been made a little bit easier with how we have centralized most of our scripts to one location, however, you still have to dig through the module to find the function. We will be sure to mention how to use this when the next update rolls out.
I wouldn’t really call this an Operating System (OS) because it doesn’t really function like an Operating System. In order for something to be called an OS it should have more functions that like 5 apps.
The UI is a bit clunky where everything is squished together.
As said in many other replies above, this is a very early stage of the OS and model.
With our new release coming next month, the phone will function a bit more like an OS and have 9 apps total, plus an app-maker plugin allowing developers to easily create and insert apps by placing everything in the right spot automatically. (UI design and app functions will have to be made separately)
Thanks for your feedback, – Fittergem1000 || CStudio - Team lead
The new island looks beautifull compared to the previous one, it has more life. But especialy I love the music app (like I love music in general hah) but the app is gorgeous, I would literally prefer it more than spotify’s app.
I did a small comparison video (I skipped some topics like Bank app or the vehicle spawner since I could not compare it haha). The video may be kinda subjective, but at the end both ended up on a draw.
I think this video may be helpfull to you when it comes to what to add/change.
At the end I love to watch this little competition going on here between us.
First: You literally didn’t even have to do this. This is outright amazing.
Second: Thank you for making it. You are right, it helps us a lot with what we want to add/change based on what others are creating. It may be somewhat subjective, although with only a developer choosing and not other people, I wouldn’t say it was that badly pointed. Also skipping content is expected. The phones are very similar in many ways but also headed in very different directions
I too enjoy a little competition. I hope this will be fun.
(I think the music app is my favorite too. Could be because I like music, or maybe because it took me 7 hours to make. Who knows. )
Thanks again for your time making this video, and for your feedback.
Definitely an improvement. I like the new island and the improved design as well as the backend improvements as well. Keep it going. Also, a plugin showcase video would be great as well.
Due to recent upbringings, the CPhone (CreativeOS) will be discontinued as a constantly updated model. You can view an equally feature-rich phone here (not made by us).
A new, redone OS will be re-uploaded at some point in a separate topic. The new OS will be able to be spread across multiple devices, including support for a computer/laptop of some kind. The new OS will be the first of its kind, allowing the developer thousands of different customization features and possible creations. Support for things like the linking of different items, such as cameras, lights, and other interacting parts will likely be included with the new OS.
The new OS is not currently being worked on and has yet to be started. We are hoping for an initial 1.0 release in Q4 of this year. We have not decided whether the product will be a payed-for asset, or a free, open-source OS like this one. We will leave that up to you!
Thank you for all of the support that has led us to where we are now, and our decision to discontinue the project. Sorry for any inconvenience that may occur. Our new game which is currently being worked on, will release with the first kind of the new OS. The new OS release will likely follow the release of our game. Stay tuned for updates, and we will continue to reply as questions/comments come up.
The original source has been discontinued for the OS, however, there is a new OS in the works. We are aiming for more of an API-based design. The ideal solution is to have one module that takes care of everything. Under the module would be all of the events/services.
While creating a project like this, we need help from our fellow developers for ideas. I thought, what’s a better solution than to ask the person who inspired the change to begin with.
So, with that out of the way, do you or others have any ideas on how to start an API type system that would work well with allowing developers to create their own front-end?
First, the API should easily allow developers to create their own front end. Just like Android, every manufacturer can create their UI system based on Android OS.
(It’s also open source)
For example, you can create a system in the API where the developer registers a certain app to the OS with some data, and OS handles the events such as when the player has pressed the icon of the app to start the app, the OS then fires an event to notify the developer that an app has been started, with additional info. So the developer can handle the front end in their own system.
(Using OOP, let’s assume that there’s a module for handling apps below the os module)
Example:
-- The module that handles creating and handling apps under the os module.
local osApp = {}
-- App methods
local methods = {}
methods.__index = methods
-- For strict type checking, you can declare types for certain values
type appData = { -- The data that the constructor function will require to create an app
name: string, -- The app name
uiFrames: { -- The frames that the app object will need to handle events and other functions
appProcessButton: TextButton, -- The icon/button that the player will press to open the app
appWindow: Frame -- The app frame
}
}
type self = { -- The variables that the app object will have
Name: string,
ProcessButton: TextButton,
AppWindow: Frame
}
type app = typeof(setmetatable({} :: self, methods)) -- Declares the app type for strict type checking
function methods:StartApp()
print("Started")
end
function methods:Shutdown()
print("Shut down")
end
-- ... other methods you want to add
-- Constructor
function osApp.new(appData: appData): app -- Creates and returns the app object
local app: app = setmetatable({} :: self, methods) -- Creates the app object
-- Sets the name, processbutton and the appwindow
app.Name = appData.name
app.ProcessButton = appData.uiFrames.appProcessButton
app.AppWindow = appData.uiFrames.appWindow
return app
end
return osApp
You can add more methods and variables to the app object, whatever fits your system.
Now, you can use the same or a similar system to handle notifications, sounds, music, etc. It’s all up to you.
Thank you for helping. I will ensure that credits are given to you for the final module design. If there are any other things that we should make sure to include to make it as efficient as possible for developers, please let us know!
Ran into a slight realization. I have been linking everything together through the use of RemoteEvents and RemoteFunctions…
I assumed this should be handled on the server for security purposes, however, the events could easily be manipulated. Is there a specific way that this should be set up for security and functionality?
You can set up a client OS module with the example I gave above, and a server OS module where the events are handled. For example, when an app has to do something on the server, it fires a remote event/function, and the server module handles those events.