Widgets – A Replacement for the macOS Dashboard 🎛

I really had trouble letting this one go. The notification center just doesn’t cut it for me. So, I thought about a redesign. I think I have a good idea. Perhaps this is better than before, because I’m not a fan of floaty windows. I like things to line up. It also makes it much easier to support light and dark modes.

It’s going to be tough though. Too bad Hype doesn’t support Flexbox. (I might be able to hack a creative solution to that problem though.) The plan is to work on this project this weekend.


UPDATE – AH HA! I knew it!

Scenes are just elements that are not displayed.

I ended up using just vanilla HTML, CSS and JavaScript, because turning scenes into flexbox items wasn’t working for me. Unlisted because this isn’t a Hype anymore :slightly_frowning_face:

I don’t know exactly how, but someone found this thread and liked it. Heh, I suppose I can bring this thread back from being unlisted, as I think “Widgets” (that’s the new name) can be a Hype related project. Theoretically, Hype widgets could work with the new Widget app.

Not much to report for now, still busy working on the app.

Hi everybody! I’m still around. I’ve just been really busy with Widgets. It’s almost ready for an announcement. For now, here’s a quick tease.

What do you think of the icon?

  • I like it! :heart_eyes:
  • I don’t like it. :man_shrugging:t2:

0 voters

The plan is to send the app to Apple soon, so it can go into preorder. There’s enough work in the app to give a general sense of how it looks and works. Hopefully Apple doesn’t reject it. I think “Widgets” is unique enough to pass. It’s different than Dashboard, and better in some ways too. Heh, like memory usage…

…Widgets even uses less memory. :smile:

(I’m not sure if my memory comparison is up to scientific methods, but the two apps are certainly in the same ballpark – nice and lightweight.)

I just laughed when I loaded it up in Xcode and saw 0% CPU usage. Ha ha! When in active use, it’s around 2-3%. It’s such a polite app. It respects your CPU usage and your storage space… taking up so little resources. Only one Widget (so far) uses the Internet. Even then, that’s just to fetch weather data. I tried to do it in a way that helps protect your privacy. You don’t need always on geolocation data to set your weather preferences. (Location services wouldn’t work on my Mac Mini anyway, because it doesn’t use WiFi.)

Anyway, hopefully the review goes well, because I haven’t felt this good in years. I’m so happy with this app, and I think many of you will like it too. If the review is successful, then I can look into the next Widget, which is a way to import Hype widgets into the Widget app… exciting!

3 Likes

I hit a wall with the custom widget. It’s a multilayered problem.

The first part is kinda easy.

It was looking for “AppleWidget.js” but that doesn’t appear to be included with Hype. Heh, no problem. I’ll just delete that.

Oh wait, it’s trying to load the “Default” screenshots too… I’ll just delete that code… basically I modified the index.html to exclude the widget stuff. Heh, then it runs like a normal page. It’s just an iFrame at that point.

That’s where the second problem occurs. I don’t want to just allow random content thrown into an iFrame. It’s a massive security risk. The user could unknowingly add a malicious widget and then… I don’t know exactly what… but it seems like there are lots of bad possibilities. So, OK, no problem. That’s what sandboxing iFrames is all about. I’ll just… what the…

Sandboxing doesn’t seem to be designed to work with local files. Here’s the code…

<iframe class="widget" frameborder="0" sandbox="allow-scripts" src="widgets/widget.wdgt/index.html"></iframe>

I need “allow-scripts” to let a Hype widget work. But to load the local content, I need “allow-same-origin”. Putting those two together basically nullifies the security. There’s a nice big warning about it on the Mozilla Developer Network…

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#attr-sandbox

At this point, I’m leaning more towards protecting the security of the users rather than adding this level of customization. However, I think I might have some explosives to blast through the wall. I know how to write export scripts. Theoretically, the Hype JavaScript could be converted into a single file. Perhaps that would solve the problem. There’s more testing to do. Heh, I’m taking a bit of a break for the next few days. The Weather widget and Calculator widget were more difficult than I imagined. I really didn’t need to add 12 scientific calculator buttons either, but I’ve been working towards making this app really nice – something people would want to use every day.


Woo hoo!
It passed review!
Looks like I have a lot of work to do!

https://apps.apple.com/us/app/widgets/id1470656333?ls=1&mt=12

5 Likes

Congratulations! :+1:

1 Like

Here's a feature I'm really happy with…

Widgets now has theme switching. With iOS 13 adding "Dark Mode", it's an important feature to have. That can help with app promotion. It's also really nice for the customers, as they can pick their favorite look.

Now that this feature is done, I realize how easily this could have been done with Hype. Instead of creating an array, and using CSS variables, I could have just used timelines. If I want to change the theme, I just change the timeline. Oh well, too bad Hype doesn't have built-in flexbox support. It's really powerful.

Anyway, I haven't forgotten about Hype. I've been busy with this project. For now, here's just some info. Remember this post?

Well, if you use JavaScript to detect "Dark Mode", you can switch your Hype project accordingly. It can be a nice feature to add.

1 Like

It looks like meat is back on the menu

So, I already got a feature request before the app officially launched. Basically, does Widgets / Apparatuses allow custom code / iFrames?

I had trouble with iFrames before. If I sandbox the iFrame – and I totally need to sandbox the iFrame – then a locally stored Hype widget won't load. The JavaScript files are blocked. If I allow iFrames, isn't that unrestricted web access? Wouldn't the user be able to go to any web address that allows iFrame embedding?

Then I noticed something interesting. Hype is rated 4+. That's very important. If you check the "unrestricted web access" button in App Store Connect, suddenly the app is rated 17+. That could be detrimental to sales. Additionally, it's against the Code of Honor. The idea is to build an app that's suitable for all ages.

Was I missing something? :thinking:

I know I'm not going to be able to build every widget that everyone wants. One of the app's main themes is customization. Being able to add your own widgets should be a top priority.

So, I did some more reading. Then, I did some experimenting. I never actually used the parental controls. How do they work? Would they work with a WKWebView. So, I tried to embed tumult.com with an iFrame. The screenshot in this post shows what happens (on iOS) if tumult.com is blocked via parental controls.

I'm not sure, but I think that satisfies Apple's requirement for a 4+ rating – which theoretically means that Widgets / Apparatuses could work with custom Hype project, if they're hosted on the Internet.

There's a lot of information about this matter online, but it's not clear. Example... ios - What does Unrestricted Web Access mean in iTunes Connect - Stack Overflow ...says no. I wrote to Apple for clarification. I suspect they're going to say they can't say unless the App is in review.

App / Web development projects are surprisingly tricky. :blush:

Nope, you are reading it correctly :innocent:.

1 Like

So, custom code / iFrames are cool?

I suppose it ultimately depends on what Apple says in the review. I contacted them – and they said exactly what I thought they'd say. :smile:

The plan – I only have a week left until launch. So, I'm in the process of finishing up the 10th widget and then I'm going to post up the update. Then, I can try another update with iFrames and/or custom code. If they reject it, at least it doesn't nuke the launch update. If they approve it, then – wow – that opens up the door for Widgets / Apparatuses and Hype to play! :slightly_smiling_face:

(taking the app review talk to DM)

1 Like

I thought I’d have more to report right now, but there’s an issue with the iPadOS version of the app. Basically, the experience is totally like this…

…many times I thought about giving up, but I like Widgets / Apparatuses. I often find myself wanting to use the app. This keeps me motivated to make app better.

Here’s another motivational video…

If I wasn’t doing this, I’d be playing one of the Sega Genesis Mini games or watching videos on YouTube. I can’t give up. Even if this is frustrating, it’s still pretty entertaining.

Meanwhile, the macOS version is online.

@gasspence – Thanks for the nice review! :smiley:

4 Likes

@Photics Widgets looks really promising and when upgrading to 10.15, I’ll be in dire need of a Dashboard replacement. Any chance you could make it available for German App Store users too?

Hey, I'm glad that you like the app.

It looks like macOS Catalina is here. I just got an alert for a system update. I was like, really, another software update? Then it hits me with legalese. I'm like, didn't I just read this? No... apparently I did not. Heh, it looks like Apple decided to launch macOS Catalina today.

(I got confused with the iOS launch, and then the iPadOS launch.)

Unfortunately, there are no immediate plans beyond the US store right now. Among other reasons, I only have weather data for the United States. Additionally, the app is only localized for the United States.


Also, welcome to the Tumult Hype forums. Heh, I've heard of hijacking threads – but a whole forum? I've been noticing that a lot of people are joining this forum just to ask about Widgets. That shows the popularity of the Dashboard. Well, hopefully Widgets and Tumult are not so unrelated very soon. I'm still working on that customization.

There have been two common requests for the app. Lots of people want to rearrange their widgets and lots of people want to add custom widgets – particularly old Dashboard widgets.

Hey @jonathan – What’s your plan for Widget exporting, now that Apple has gotten rid of the Dashboard?

I thought Apple would keep the cute icon for .wdgt files – but they even killed that.

57%20AM

They didn’t even keep it around for iBook Author? Wow!

No plans to remove it. It was originally added for iBooks Author support much more so than Dashboard. While Apple has also ceased development of that, I know a lot of folks still use it, and use it in conjunction with Hype.

1 Like

@Jonathan really happy to see someone is carrying the torch for dashboard. I use it many times a day for quick calculations. I usually have 3 or 4 calculators going at once. Is there the ability to have multiple instances of calculators (or weather for that matter) using your Widgets?

1 Like

Ha ha… awkward. Tumult doesn’t make the Widgets app. (I like the idea of being able to export content from Hype into the Widgets app, but I’m not sure how to do that safely yet… and in a way where I won’t lose the 4+ age rating.)

And the ability to have multiple copies of widgets is being considered – but not likely, certainly not at this time. People are asking for it, so I put it on the list.

(The Contacts widget issue still a big problem. That’s the main focus. I’m hoping to wrap that up today. Hopefully version 1.8 will be released soon.)