March Challenge - Calculator

Amazing!

3 Likes

@Jeff_Hager time to do a bit more on the calculator. Thought I would do a history thing as you showed. But it seems as I cannot copy user specific variables to user specific variables in a history table.
I cannot see that I can use row owners as the person is not signed in.

Maybe you can give a hint on to how-to do a history of entries :slight_smile:

1 Like

This is by far the most impressive glide app I’ve seen this year. :clap::clap::clap:

3 Likes

@Jeff_Hager Cool idea to colorize the buttons that you cannot use in red - the user then understands which buttons not to push. I did get the history to works - thanks for letting me think :slight_smile:

1 Like

Sorry, I was intending to get back to you, but I’ve been busy with other things lately.

Yeah, the red buttons started out as a way for me to visually debug which buttons were clickable and which were not. I kind of like how it works, so I kept them. I’ve been picking away at those conditions for a few weeks to disable buttons and prevent user’s from trying to enter something they shouldn’t. It’s been an absolute nightmare. I either find a new scenario, or I break something while fixing something else. I think I’m really close to having it all locked down, but I still have ideas for more to things to add.

These are my conditions just to determine if any of the buttons can be clicked (and turn red if not). It’s gross. In a perfect world, it would only be 2 IF columns with a mix of AND/OR conditions.

2 Likes

@Jeff_Hager wow. That’s a lot of ifs.
The way I implemented history records doesn’t suit me that well. It seems as you cannot add a value to a user specific variable when using Add row action (in compound action). This means that if all users has a history of 10 then 50 users will create 500 rows which everybody needs to download. If the variable was user specific then the individual user would just have 10 rows.

3 Likes

So, I kind of hinted at it in my other bug post, but what I did is create 20 rows in a history sheet. There is a static row number column for each row, some user specific columns to hold unique values for each user, and then some logic column to determine which row is the next one to be updated. If all rows are empty, then it will say NEXT for all rows, but a single relation to that history sheet will only find the first row that says NEXT, so that is the one that’s updated. Once all 20 rows are filled, then it determines the row with the oldest date/time and only that one is set with the NEXT key value, so from that point on, it’s always the oldest row that get’s replaced. I don’t use an Add Row action at all. All of the rows in all of the tables are static. Right now I have 48 rows total for the app, and that number will never grow…unless I add more features. :wink:

It’s been working great, but I noticed today that I have a couple of weird issues with the Set Columns action that I’ll need to submit to support.

This is my history sheet.


4 Likes

This is unreal.

1 Like

I feel kinda bad that I haven’t contributed to this challenge.
Early in the month I had the idea of building a calculator that worked with Roman Numerals, and I made a very early start on it. But I very quickly realised that I wouldn’t be able to justify allocating the time it would take to figure it out and get it working - or if it would even be possible. So I abandoned the idea :cry:

Oh well… maybe that can be the April (or May) challenge :laughing:

3 Likes

@Darren_Murphy well that challenges has taken a lot of hours from me this month. And Jeff keeps raising the bar😜

1 Like

Hehe, sorry about that. It’s taken a lot of my time too. It was supposed to be a simple “can I do it” challenge. Then I saw all those unused trigonometry functions, and figured I had to put them in too. That’s when it went off the rails. Then I got really picky and went through all the work to attempt to make it dummy proof by dynamically locking down buttons. I still have other plans, but I really hope I have a stable version next week when I allow it to be copied.

1 Like

@Jeff_Hager I am not happy with this state of affairs at all. When are you making the copy available? I cant wait to clone it and present it as my own work of art :rofl: :rofl: :rofl:

3 Likes

4 days Wiz, 4 days. I’m hoping to have a few final bugs worked out by then. :wink:

4 Likes

Okay i’ll bear the pain…after 4 days no more excuses, I want it on my desk :rofl: :rofl: :rofl:! Great piece of work @Jeff_Hager ! :+1: :+1: :+1: :+1: :+1: :+1:

1 Like

Excited! :star_struck:

2 Likes

@david better crank up the bandwidth to prepare for the DDoS that’s coming on April 1 when everyone grabs their copy :rofl::rofl::rofl:

2 Likes

I just noticed this… :rofl: :rofl:

Screen Shot 2021-03-29 at 10.55.49 PM

@Jeff_Hager any theories as to why the number 5 is by far the most popular key?
I guess my theory would be because it just happens to be the one in the middle…

PS. You need to implement scientific notation :stuck_out_tongue: :rofl:

1 Like

Hehe, kind of a fun addition to see if people are using it and see a live count. It’s a little aggressive though, since it records every button press, so I plan to disable the global count and switch it to a user specific count, which should be stored locally, unless a user signs into the app. That way it’s hopefully not pinging Glide’s servers so much.

The ‘5’ button is probably the one I press most often when testing. I tend to run the same calculations through over and over until I work out a bug. I’m sure it’s mostly because of me…and because it’s in the middle. :wink:

No! I don’t want to add scientific notation. Use smaller numbers! :wink: I consider it a feature that Glide can handle larger numbers. :innocent: Although I wish I had more flexibility for number formatting. I’m just happy that I figured a way to get it to calculate past glide’s maximum of 4 decimals, but what bugs me is a lose the ability to have a group separator, since it’s ultimately converted to a text value.

4 Likes

Hi Jeff, May i know what is the CSS for the pressing button effect ?

Here you go.

1 Like