[Discussion] Let's talk about Phones!

Hey Peoples and kitty :cat: overloards

Let’s talk about the humble in game phones around.

I’ve been around them all and have a somewhat decently modded GCphone to my liking.
But I’m still not overly impressed by the structure and layout of several things.

So what features do you feel the open source phones are lacking in?
What do you think they are doing well?

The purpose of this is so I can gather a bit of community feedback while I make my own and release it.

I’m not great, I’ll be the first to admit that, but I’m giving it a go.

It’s primary objective at the moment is the forsight to add snap in addons/easy to modify atributes to enable any number of phone like features.

By building it up in structured layers providing a frame for others to expand or mimic.

Thoughts? Feels? App Requests?
You name it, let’s all talk about it.

:kiss:

DK

1 Like

Imo GCPhone lacks almost no features. A better integration of screenshots (while sending them through Twitter app or messages) may be interesting.

On a development point if view I can’t really give my opinion as I never really looked into it.

Just to confirm, you say lacks almost no features.

As in;

  • It has all the features you’re after.
    Or
  • You think it has no features.

I just want to check because for a lot of people on these forums, English isn’t their first language.

I’m personally just tired of every server not having any different variations of it. I, changed up the number generator, made new default backgrounds and a few other bits and pieces

But overall it’s core wasn’t edit friendly and requires too much brainpower inside its javascript. (For me anyway)

What I think it did really well, was provide a starting point to work off. But not the bricks and mortar to build with it.

I mean it has all the features I want. (in fact English isn’t my “main” language)

What could be interesting is an easy way to edit the look of the phone (its dimensions, applications organisation or even its body).

1 Like

Awesome, just wanted to confirm.

The way I’m thinking about, going about it, is more a layered or tiered approach to the screens that would resemble what the average user sees.

Having the base or core structure as lua/js/html/css but using more of a iframe approach for each layer/page allowing more customization that just tap into the forementioned.

Kind of like how tabby the in game tablet was setup.

But more emphasis on how a mobile operates.

Lets say you have your app screen.
Press on an app, and from the bottom of the screen, the Iframe ontop of the app screen takes priority and focus, and slides up from the bottom of the phoneos(home, back, screen buttons)

A notification comes in, like a call inbound. The notifications frame takes priority over all but the image layer of the phone.
Everything else is still hiden behind the active layer, so you could in thorey, be on the phone, minimize the chat, open your bank account and tell the other person your account number.

If you follow me.

2 Likes

It’s a pain in the ass to work with gcphone for modifications. No reason you should have to compile the damn thing.

To make apps for this, I have to get the source make my changes, compile, then test. On top of this I everyone on my team has to have the not compiled version of the changes to do the changes, then compile it after they make changes.

Feature wise it’s fine as a base, although I’d like the ui to be Iphone based rather than android.

Godspeed brother.

Thanks for your input!

Im considering not using either style of UI and doing a super simple one. The point and click.
(I guess leaning towards the apple side)

In its most basic of layout, because it’s concept is a stack of Iframes playing an everlasting shuffle game to whos on top and visable.
It only really needs the home and minimise options for the active frame or screen.

I just hope I can pull it off.

Or at least get it to a point where the wider community can just jump in and take the reigns.

Im over the way the current phones are just copy pasta with the same sauce. I need that spice man.

1 Like

Except there is because it’s written in Vue.

Like pretty much any JS framework, the syntax of it allows for things that would be a headache with Vanilla JS to be accomplished rather easily and then it’s compiled into the JS without you having to mess around with it. Welcome to modern front-end development.

The creator did setup so there was a dev server that you can start with node and you can test it in real time in your browser. Far easier for testing than reloading a resource everytime you make a change. And if you take the time to learn Vue setting up so there’s test data if you’re creating a custom app can make it even easier to test.

How is this different from any other resource out there? Just instead of being vanilla JS or some library like jQuery, your source control is tracking your Vue project.

Once you get an understanding of Vue and how the original project was setup, it’s honestly super easy to edit. But yeah, if you’ve not used Vue before it can be rough.

2 Likes

Thats a much appreciated explanation of a few things.

You sir, have given me a reading topic tonight. Have a banana.

2 Likes

Thanks for explaining that. I don’t read french, and was a bit confused when looking at it. Thanks for the advice. Also, thanks for all the stuff you release publicly. Mainly the housing shells and the 3ds max stuff. That stuff helped me out a ton man.

1 Like

Yeah, JS frameworks can be … interesting to learn but once ya get a basic understanding it can be so much nicer than trying to do stuff in vanilla JS.

And no problems! Glad it helped!

Just a sample

On a day off…
Well, it kind of isn’t.

Here’s a snippet of where I am up too…

1 Like

Looks good (even if I don’t like the point and click thing) !

That looks amazing…

Here’s a function I created for my custom phone script allowing me to have custom CSS for each phone (both iphone and samsung) and also each page, it’ll probably come in handy for you -

function changePage(page, phone) { // simple function that disables the css from the previous page and enables it for the new one -- will also show/hide all the pages
    log('+-------------- changePage --------------+');
    log('+ changing page to '+page+' on '+phone)
    // hide all the pages
    for (i = 0; i < pages.length; i++) {
        $('#page-samsung-'+pages[i]).hide();
        $('#page-iphone-'+pages[i]).hide();
    }
    
    // show the page we need
    $('#page-'+phone+'-'+page).show();
    currentPage = page;
    if (window.getFunctionFromString('process'+page)) {
        window.getFunctionFromString('process'+page)();
    }
    // dynamically load the css for each page
    for (i = 0; i < document.styleSheets.length; i++) {
        //void(document.styleSheets.item(i).disabled=true);
        var path = document.styleSheets.item(i).href.replace('nui://fsn_phones/html/pages_css/', '');
        
        var filephone = path.split('/')[path.split('/').length-2];
        var file = path.split('/')[path.split('/').length-1];
        if (filephone == 'iphone' || filephone == 'samsung') {
            if (filephone != phone) {
                // this css is for the other phone, hide it
                void(document.styleSheets.item(i).disabled=true);
                log('(other phone) disabling css: '+path);
            } else {
                if (file != 'main.css' && file != page+'.css') {
                    void(document.styleSheets.item(i).disabled=true);
                    log('(other page) disabling css: '+path);
                } else {
                    void(document.styleSheets.item(i).disabled=false);
                    log('(main.css | this page) enabling css: '+path);
                }
            }
        }
    }
}

3 Likes

Much appreciated on the share!
At the start only one phone model will be provided because I just want to make sure the core is smooth af.

One or two updates down mutiple phone styles could definitely be a thing and I’m certain I’ll have use for it.

:kiss:

1 Like

Update

Slowly getting there…

4 Likes

If i can request one thing. It will be that dont use cursor. I hate phones with cursors thats my opinion.

Vaid point, I did like the keyboard action with GCPhone.

working with gcphone