#Halcyon - A 24-Hour Analog-Digital Sunrise/Sunset Watchface

718 messages · Page 1 of 1 (latest)

brisk anvil
#

Who remembers the OS 3.x-era sleep tracking UI? It only lasted for, like, 6 months or something, but it retains a special place in my heart because I thought it looked kind of cool.

Anyway, what with the RESURRECTION of Pebble I thought it might be fun to finally try implementing something based on that general look.

Base goals:

  • Sun position tracks 24 hour time along the edges
  • Sunrise/sunset is calculated on-device

Hoping-I-can-finish-it goals:

  • Custom colors
  • Swappable extra info widget under the date
  • Seconds would be neat
wheat python
#

I remember that 😃
Good luck, looks like a lot of codding to make it work.

brisk anvil
#

Thanks!

neon sedge
#

I love this use of the design style!

small zodiac
#

this is a really nice design

brisk anvil
#

At last, got the the border, sun, and twilight blocks to draw! (And it can even handle all the weird edge cases for people who live in Norway and have the sun rise at like 11am or something) Next up: checking if the sunrise/sunset calculation from my ancient Pixel Billboard watchface still works...

#

Edge case example: An average October day in Svalbard

lusty trout
#

wait this is so awesome

#

kinda reminds me of solar dial on apple watch which is currently my favorite watchface over there

#

this just looks so fun i'd use it when i switch back over to pebble

brisk anvil
#

i'm also a fan of solar dial on the apple watch! def my favorite of the apple watch faces 🌄

peak sundial
#

this is so cool

#

would require a lot of extra design work but i would love a round version of this

brisk anvil
#

Thanks! I'm hoping to get a round version done before the end of the week too 🤞 In theory, the round version should be a lot easier to code, since I can just use the built-in arc drawing functions instead of the ridiculous amount of math needed to map to the square edges, but we'll see haha

obsidian moth
#

it looks soooo good omg

obsidian moth
brisk anvil
#

thanks! yup i'm planning to put it on github like I did with some of my other watchfaces -- the sunrise/sunset calculation code is actually from another open source pebble face (i think it was called sunclock or something?), and the outer ring is loosely based on the official concentricity example

glass halo
#

Feels like a squarer version of the Horizon watchface. Like it.

brisk anvil
#

Oh nice, I hadn't actually seen that one! JR Mobley made a lot of cool pebble stuff

obsidian moth
#

hey, you're freakified!!! you made <watch face that i like>!

#

Great to see you back 🙂

brisk anvil
#

haha thanks! i'm always happy to see that watchface, like, everywhere ✨

#

i actually had the idea for this watchface way back then, but at the time i was so busy adding feature requests that I didn't have time to work on it, and then pebble died and with it the idea 🪦 😭

#

so with the recent announcement that pebble is returning i thought it'd be fun to get back into it! 🎉

brisk anvil
#

slowly making progress...color themes now work! there are 14 total colors that can be customized, which should enable some pretty interesting themes! 🎨✨

obsidian moth
#

that orange is so striking on my OLED phone, I hope it holds up on the e-paper LCD as well 😁

#

You gonna do presets in the config picker?

brisk anvil
#

yup, i've already got a few ideas for presets! also, if i can get the live preview clay component working in time, it should make building custom themes a bit easier!

brisk anvil
#

Please give it a try and see if anything explodes! I've only ever tested it on the emulator since I don't have any test devices haha

#

Also, I still think it needs more theme presets, so if you come up with one you like I'd be curious to see it! 🎨 🧐

obsidian moth
#

!!!!!

#

Looking great on my silk!!

peak sundial
#

man i wish the colours on my round weren't messed up so i could see this properly

#

looks really good though

#

if i press really hard on the top part of the bezel the screen sometimes goes back to normal and it looks great then

remote ivy
#

Looks good on my PTS

#

The watchface has the same icon as TimeStyle in the watchface picker, is that intended behavior?

obsidian moth
remote ivy
#

which one's diorite again? 😅

obsidian moth
#

p2

#

platform names start with ABCDE in order of release

remote ivy
#

oooo idea: what if you could have the theme switch at sunrise/sunset?

#

go from the default Solar color scheme during the day to the "Into the Deep" color scheme, for example

#

since, ya know, nighttime

obsidian moth
#

loove this quick view squish!

#

so many super high quality faces this week!

brisk anvil
brisk anvil
brisk anvil
brisk anvil
brisk anvil
remote ivy
#

either by gradually shifting colors from light to dark or having an intermediate palette that's all warm and orange like a sunset

thin tinsel
brisk anvil
# remote ivy maybe use the 30 minute sunset area as a transition period?

i like it! i think the trickiest thing would be how to tie it back into the custom colors systems. the gradual shift would be cool, but certain themes might not blend well with each other. i could just have it so you can set 2 themes, night/day,though i worry that 2 theme selections might get too confusing 🤔

remote ivy
#

I think 91 Dub v4.0 has an option that lets you do that, where you can switch themes at a set time

#

so it's not without precedent

brisk anvil
#

ah good to know, I'll have to check out how it works in 91 dub! 🧐

glass halo
#

My code is horrible, but most of my watchfaces have a nighttime option, set by a toggle in the settings menu. Uses local sunset/sunrise to switch.

Uses a Boolean, set to off at the start of the watchface.

bool IsNightNow=false;

Then uses two versions of colours.

static GColor ColorSelect(GColor ColorDay, GColor ColorNight){ if (settings.NightTheme && IsNightNow && GPSOn ){ return ColorNight; } else{ return ColorDay; } }

And in the tick handler:

// Evaluate if is day or night int nowthehouris = s_hours * 100 + s_minutes; if (HourSunrise <= nowthehouris && nowthehouris <= HourSunset){ IsNightNow = false; } else{ IsNightNow = true; } // Extra catch on sunrise and sunset if (nowthehouris == HourSunrise || nowthehouris == HourSunset){ s_countdown = 1; } if (GPSOn && settings.NightTheme){ //Extra catch around 1159 to gather information of today if (nowthehouris == 1159 && s_countdown > 5){ s_countdown = 1; };

#

Also just installed the watchface and a get a spinning wheel on the settings page. The Timestyle settings page works fine.

brisk anvil
#

ah nice, that does seem like a good approach to it

#

oof, that's a problem -- are you on iOS?

#

this watchface uses Clay for its settings page, so it's quite a bit different than timestyle, which used the traditional hosted-on-github-pages settings page

#

clay seems very...temperamental though

glass halo
#

Yes I’m on iOS

brisk anvil
#

darn i had read clay had issues on iOS and was hoping it wouldn't be a problem

glass halo
#

Clay works for me on other watchfaces

brisk anvil
#

this one has an exceedingly complicated custom-clay script to do all the live preview tricks 😅

#

so there's a huge potential failure surface...

glass halo
#

That’s probably it. My clay settings are pretty basic on my own watchfaces.

brisk anvil
#

i think i read there might be issues with running any sort of es6-era things, so maybe if i remove everything that isn't super vanilla 2015 era JS it would work 🤔

glass halo
#

Coding isn’t my strong point, so not sure, but yes I’ve had issues with custom clay settings before and had to remove them.

#

Happy to test out changes for you.

brisk anvil
#

thanks! i'm currently removing everything that isn't vanilla es5, so i'm hoping that fixes it 🤞

glass halo
#

Admittedly, clay settings are a bit odd behaving on the ios app these days anyway.

Like this happens.

#

Instead of this.

#

Colour selecting becomes…fun

brisk anvil
#

i'm really starting to feel like i shouldn't have used clay 😅

#

anyway! i just uploaded a new version that changes it to entirely vanilla ES5 js

#

if you get a chance i'd be curious if it works for you

glass halo
#

Yep, works.

brisk anvil
#

excellent!!! if this hasn't worked i would have literally no idea how to fix it haha

#

thank you for letting me know there was a problem and testing!

glass halo
#

custom settings work too

brisk anvil
#

it took an unreasonable amount of time to get that working haha, i probably should have spent that time developing real features instead of trying to hack clay hah

#

(let me know if you get any good themes! i'm kind of curious what people come up with)

glass halo
#

Did you lose anything stripping out the custom clay stuff?

brisk anvil
#

ah nope, all i did was get rid of all the es6-isms that had slipped in there -- for example, the preview SVGs are formed with string concatenation instead of the backtick string templates that i had been using

meager frigate
glass halo
#

What is “widget text colour”?

brisk anvil
#

oh sorry, i should edit the string there to indicate that it's currently nonfunctional

#

one of the things on my roadmap is to have an optional widget under the date, and that would control the color for it

brisk anvil
glass halo
#

The live preview in the settings screen doesn’t seem to update until after save and return to settings, but other than that, custom colours work fine.

brisk anvil
#

thanks for the test! yeah i'm seeing that now, must be a bug introduced by the changes... it should update when changing colors immediately

glass halo
#

How about a greyscale theme on a colour watch?

{ "SETTING_TIME_COLOR": "#ffffff", "SETTING_SUBTEXT_PRIMARY_COLOR": "#ffffff", "SETTING_SUBTEXT_SECONDARY_COLOR": "#ffffff", "SETTING_BG_COLOR": "#000000", "SETTING_PIP_COLOR_PRIMARY": "#ffffff", "SETTING_PIP_COLOR_SECONDARY": "#aaaaaa", "SETTING_RING_STROKE_COLOR": "#ffffff", "SETTING_RING_NIGHT_COLOR": "#000000", "SETTING_RING_DAY_COLOR": "#aaaaaa", "SETTING_RING_SUNRISE_COLOR": "#555555", "SETTING_RING_SUNSET_COLOR": "#555555", "SETTING_SUN_STROKE_COLOR": "#000000", "SETTING_SUN_FILL_COLOR": "#ffffff" }

#

I’m spending far too much time playing with colours. Love the watchface.

brisk anvil
#

okay! just pushed a fix that should solve the preview regression (it turned out it was the bizzare es5 scoping rules causing the onchange handlers to reference the wrong variables -- i forgot how weird es5 is haha)

#

haha i'm glad you're enjoying it! sure, i can add that one!

glass halo
#

That worked. Preview updates live.

glass halo
#

Quite like this combo, but it’s pretty close to what I always set my watchface to.

#

{ "SETTING_TIME_COLOR": "#00aaaa", "SETTING_SUBTEXT_PRIMARY_COLOR": "#ffff55", "SETTING_SUBTEXT_SECONDARY_COLOR": "#ffaa55", "SETTING_BG_COLOR": "#000000", "SETTING_PIP_COLOR_PRIMARY": "#000000", "SETTING_PIP_COLOR_SECONDARY": "#000000", "SETTING_RING_STROKE_COLOR": "#005555", "SETTING_RING_NIGHT_COLOR": "#000000", "SETTING_RING_DAY_COLOR": "#55ffff", "SETTING_RING_SUNRISE_COLOR": "#ff5500", "SETTING_RING_SUNSET_COLOR": "#ff5500", "SETTING_SUN_STROKE_COLOR": "#005555", "SETTING_SUN_FILL_COLOR": "#ffff55" }

brisk anvil
#

Thanks for the suggestions! I just released a version that adds them in! Also, this one adds a preview for round watches! timeround

narrow jetty
#

This is sweet! I love that you made s pivot on the old UI

brisk anvil
#

There were a few fun things I missed from 3.x when 4.0 came out, like that card-based main menu -- I liked the clock animation and the little connection status and battery status on the settings tile

thin tinsel
obsidian moth
#

I'm interested in how you plan to do data complications on Halcyon - do you have any thumbnails, or planned data types to pick from?

#

Halcyon - A 24-Hour Analog-Digital Sunrise/Sunset Watchface

brisk anvil
#

Good idea on changing the title! No need to keep that thread title from when I hadn't picked a name yet

brisk anvil
obsidian moth
obsidian moth
brisk anvil
#

Exactly! I figured this way, users can choose if they want a more minimalist look or a lots-of-data look! Here are some of the things I figured they could pick from:

#

I just need to make sure none of them end up too long

obsidian moth
#

delightful \genuine

meager frigate
brisk anvil
#

oh that's an interesting idea, though you'd still be pretty limited on string size

#

at the very least something like that for the date could be good, to handle different locales

meager frigate
brisk anvil
#

haha true, for the real hardcore information fans

peak sundial
glass halo
#

I did similar but limited on one of my watchfaces. Cryptic but once you knew what it is, simple to read.

#

Date.month.battery%

glass halo
#

Alternating tidbits has an interesting approach to the data it shows. Very customisable and changes the item shown every minute or on a shake or the watch. Didn’t like the layout, but liked the idea.

brisk anvil
#

interesting approach! at least for now i'm trying to avoid adding extra interactivity but i could see the appeal

#

the microcontent idea is kind of interesting and i'm thinking about how that could work without being totally overwhelming

#

format strings are one possibility but feel like they're a bit of a complicated ux -- if i add that, i might make it like "custom widget builder for POWER USERS" and keep the wordier widgets as the default 🤔

glass halo
#

Valid. Even the different time format string codes are pretty niche knowledge.

brisk anvil
peak sundial
#

ah

brisk anvil
#

too much effort haha

peak sundial
#

are the ones from minimalin open source/license compatible

#

lol

brisk anvil
glass halo
regal cradle
#

maybe it's an earlier revision?

brisk anvil
brisk anvil
#

if there were super small icons (like, pebblemoji sized) i think it could work, but i just don't feel like drawing that many pixel art icons haha

obsidian moth
#

emoji in the textlayer would be perfect, yes... perhaps core time 2 has enough room for icons

brisk anvil
#

would be cool if they put in support for all the emojis, but that is a lot more than there were in 2016

obsidian moth
#

would it be too complex to show an icon if you only have one complication, and condense to a single line of text as you add more?

obsidian moth
brisk anvil
#

the biggest problem is the variable heights of the icons -- you can align the baseline but even that one looks kind of unbalanced IMO

orchid veldt
#

I like it a lot

#

I wonder how it looks on round

#

I also wonder if the colour of the border graphic could adjust to the weather conditions

brisk anvil
orchid veldt
#

yeah, fair

#

it's kinda funny because I don't have a way to adjust settings in cobble, so I am just using the default

peak sundial
orchid veldt
#

it works great on round

brisk anvil
orchid veldt
brisk anvil
# orchid veldt

It looks like location didn’t load properly via Cobble, based on the sunrise/sunset being at the exact halfway points 🧐

brisk anvil
orchid veldt
#

it doesn't work in bobby either

#

or maybe I forgot to give the app perms

#

I can't give the app perms because I would need to set it up, oh well

obsidian moth
#

cobble needs location to pair so it is indeed pkjs location that's broken

#

whenever we make a Bobby report from inside cobble, you can see that it says location enabled but not ready

orchid veldt
obsidian moth
#

ohh you're right, it doesn't even let me set it to always on

orchid veldt
#

I assume that's what's broken, because the apis that are used for getting location are in the webview already

#

unless there's some special sauce in pkjs that I wasn't made aware of

obsidian moth
#

let me try asking it something with cobble open on the phone

orchid veldt
#

I don't know if that makes a difference, it's still a background service doing it

#

unless android doesn't care

orchid veldt
#

there's a couple spots where this might be broken

#

wrong permissions or chrome can be complaining about that requiring https

obsidian moth
#

was unable to test because I could not get bobby to send me a response on cobble :p

#

oh well

orchid veldt
#

yeah, when it can't figure out location, it sends nothing

#

that's a thing indeed

peak sundial
orchid veldt
#

it might

#

it might require some rearranging tho

brisk anvil
#

yeah i did try it, but i wasn't sold on the look 🤔

orchid veldt
#

it might look nicer with the text to the side instead of underneath, but yeah

brisk anvil
#

oh don't worry i tried that too hah

#

i also wasn't really a fan

obsidian moth
#

the thing that kills it is the digital clock being off-center

#

but if it is centered, the complications would be cramped

brisk anvil
#

also it breaks the left/right symmetry if you put the icon to the side

obsidian moth
#

ahh true

orchid veldt
#

oh well

orchid veldt
#

can I request prefixing single digit hours with 0?

brisk anvil
#

oh that's a good idea that i forgot about doing

#

i'll add it to the roadmap

orchid veldt
#

thanks

brisk anvil
#

right now i'm refactoring all the drawing code which is very boring but should make adding more options easier in the future

orchid veldt
#

cool

brisk anvil
#

there is sort of time 2 support now! (only sort of)

orchid veldt
#

I was traveling today and the spot where the sun was didn't correspond very closely to sunset/dawn

brisk anvil
orchid veldt
#

I am not exactly sure what the yellow part represents tho

#

or I guess orange

brisk anvil
orchid veldt
#

I'm also not sure when the location gets updated

orchid veldt
brisk anvil
#

it doesn't mark solar noon (maybe it should), but if it did, it would be like, here:

#

wherever the midpoint on the ring between the two orange areas, that's sun-at-the-top-of-the-sky-time (aka solar noon)

orchid veldt
#

yeah, I kinda figured that the two black lines around orange and pink represented sunset/dusk and sunrine/dawn

#

didn't expect the entire thing to be sunset/sunrise

brisk anvil
#

it's simpler than that actually, just sunset +/- 30min hah

#

which corresponds to...one of the twilights

orchid veldt
#

the books?

brisk anvil
#

yes, the greatest literary work of all time

brisk anvil
#

however it may not succeed 😅

orchid veldt
#

yeah, I wonder if the pebble app actually handles this correctly itself

brisk anvil
#

i think so -- on my phone, which is a ridiculous flipphone, location only works with a clear view of the sky, so the first time i installed the watchface i had to stand outside and wait for a while

orchid veldt
#

as in, does it refresh the location frequently enough

brisk anvil
#

i think the pebble app will request a new location pretty frequently (which also fuels the weather app)

#

so in theory, every time the watchface restarts, it will update your location, or at least attempt to 🤔

orchid veldt
#

cool, I figured

#

it still doesn't work with cobble tho!

#

I tried figuring out why it's broken but didn't find anything

brisk anvil
#

but will it work with The Core Devices LLC App™

orchid veldt
#

apparently not many people have a webview running in a background service

#

a webview that requires location access too

regal cradle
brisk anvil
#

generally you'll know if it got something for your location based on the position of the orange pieces -- if they're precisely centered vertically, then it just used the default 6am 6pm sunrise/sunset times

#

in theory i could add some kind of error state for "i don't know where you are and therefore cannot calculate your sunrise/sunset times" but i wasn't sure if that added a lot of value 🤔

#

to calculate, it needs 3 pieces of info:

  • latitude
  • longitude
  • your GMT offset
remote ivy
#

day/night theme switch would also be really nice 🙏

brisk anvil
#

that one is definitely on the road map!

remote ivy
#

what's on the roadmap? is it like a pinned message somewhere?

brisk anvil
#

haha no it's just a note i have on my computer

#

currently planned features:

  • new option: switch pips on/off
  • new option: enable seconds
  • new option: use larger font
  • new theme: classic pebble sleep colors
  • new option: night theme
  • new feature: time 2 screen size support
  • custom widgets (Date, Steps, Distance, Calories, Heart Rate, Current Weather, Today's Forecast, Current Rain %, Current UV Index, Alternate Time Zone, Battery %)
  • new feature: status bar (quiet time, bluetooth disconnect, low battery warning)
  • visual improvement: add 2px offset to sun on round devices
#

i keep thinking about adding some kind of low battery or bluetooth connection state warning

#

but i dunno where it would go that looks nice so still thinking about that 🤔

remote ivy
#

I think ideally one would be able to select whatever custom theme they want for nighttime, and then one for daytime

#

and maybe even a color theme to switch to for sunrise/sunset

brisk anvil
#

definitely at least for night! two additional theme selectors adds a lot of complexity to the already completely unmaintainable spaghetti code that is the settings screen 🫠

remote ivy
#

fair enough, a custom sunset theme is a bit "extra" as far as not being super necessary lol

remote ivy
#

like if "12:10" turns red on low battery

#

or change the color of the separator colon

#

or you could use that for bluetooth disconnection

brisk anvil
#

interesting idea, but too subtle IMO (i feel like unless someone read the settings page or description they would have no idea why the time was suddenly a different color 🤔)

remote ivy
#

the only other way I can think of would be another little complication/widget on the watchface

#

dunno if that would disrupt the cleanness though

brisk anvil
#

i did actually look into that

#

just some little things to indicate various statuses 🤔

#

that users could turn off if they didn't like them

remote ivy
#

oooo that looks really nice

remote ivy
#

or would they be persistent, and also be there showing the device is connected / battery is normal / quiet time is off

orchid veldt
#

I actually might have a round related request

#

would it be possible to check what a 2px offset of the sun from the outside border would look like?

#

it bothers me a bit that the border around the sun is covered by the bezel

brisk anvil
#

that is a great point and it's something i've been thinking about too actually (my only pebble is a round haha)

#

so after i got the round, i tried flashing it with the old 3.x firmware to get a real screenshot of the old sleep view

#

and it turns out, for the round the real sleep view did actually offset the sun from the edge:

obsidian moth
#

the bezel overlaps the screen by 2px according to docs

brisk anvil
#

so i was thinking for MAXIMUM CONSISTENCY maybe i should implement the same offset

rough star
#

Sorry if this has been answered before, but are you planning to add the moon too? That would be quite nice, imo.

brisk anvil
#

interesting idea, but where would it go? the moonrise/set times are usually kind of all over the place (for example, in san francisco yesterday, the moon rose at 4:06am and set at 3:15pm)

rough star
#

True... 🤔 Maybe a second ring, or maybe a split background on the existing solar ring? If I have time this evening I might play around with Gimp a bit to see how that could look like...

orchid veldt
#

I think the moon doesn't need to be represented in a ring, it doesn't affect the colour of the sky that much

#

on the other hand, it would be nice to represent moon phase with the icon

#

I would also make the moon white and not yellow to differentiate it better

#

or maybe you could reflect the colour of the moon too, since sometimes the moon is red and stuff

#

there's a slight problem that you will see an eclipse of the moon over the sun kind of frequently because they sometimes align in angle and not necessarily in height

#

it's not really a problem per se tbf

#

it will just look a bit weird

brisk anvil
#

one issue there is that outer ring is actually a 24-hour analog dial with sunrise/sunset times marked on it, so "sun at the top" means 12pm, not solar noon -- solar noon would be at the exact midpoint between sunrise and sunset, which depending on your location might be slightly before or after 12pm

#

you could design the watchface so that the sunrise/sunset (left and right) were always vertically centered to represent the horizon, but then the suns movement would be nonlinear through the day, which IMO wouldn't be as useful

obsidian moth
brisk anvil
#

ah, excellent example! thanks for finding!

orchid veldt
#

it's skewed by the real offset of 12:00

#

it still represents a ring of the sun going around the sky

#

and maybe the moon could do the same thing

obsidian moth
#

i think the way to do it would be to just add the moon to the ring and not change any of the colors of the ring

#

moon phase and position, as a little bonus

#

ah! this is not what you were talking about

orchid veldt
#

I mean, I already said that

#

I agree with you fully

#

position is still not that simple though

#

the orbits of the two bodies are very different so the position of the moon is hard to implement

#

so I think it should just be an angle to horizon where 0° is the noon according to the sun ring

#

it could also be fun to do an angle compared to the sun, but that seems relatively more difficult

#

not that any of this is easy

#

angular distance at a location from the sun that is

#

that moon would move very non linearly

brisk anvil
#

i am mildly curious what that would be like to use haha

orchid veldt
#

I can provide you with more bad ideas

#

like compass mode where you don't align the ring to time, but align it to the north

brisk anvil
#

Core Time 2 users NEED NOT APPLY 🧐

#

how can we involve barometric pressure

obsidian moth
#

make the sun ring bigger or smaller depending on pressure

#

bulge out for higher than usual reading

brisk anvil
#

ship it! 🚀

rough star
#

So, the sun is effectively the hour hand, that makes adding the moon on a second ring a bit awkward, because they would always be next to eachother. Using the moon as minute hand won't improve tgings much 😄

rough star
remote ivy
#

man why can't we add MORE superfluous sensors

#

I want a miniature weather station on my watch!

#

where's my humidity reading at

rough star
#

i don't know why i would want a barometer. a compass is useful, though.

orchid veldt
#

barometer is apparently useful for figuring out elevation accurately

rough star
#

true, but i have the watch paired to a phone that has gps

remote ivy
orchid veldt
meager frigate
orchid veldt
#

🤷‍♀️ that's what I heard

meager frigate
#

It's probably remarkably accurate if you provide it with a pressure reference from a ground station, but at that point I'm pretty sure you can also give GPS references to help it calculate a more accurate position

orchid veldt
#

I assume it's more as an assistance for accelerometer

rough star
#

Going back to the moon... I have two ideas - both are probably not what you want for Halcyon, though.

#

First is, get rid of the 24h dial and just visualize the horizon. Moon and sun could then move independently.

#

Second idea is, two tracks, one for moon and one for sun, but then two icons in parallel would look weird, so maybe just use a dot that travels along the edge?

#

I rather like the second one, but I guess it does not fit well with what you have in mind for Halcyon

#

I think I'll play around with that some more and maybe build a watchface based on that idea when I get around to it. (Don't hold your breath though; I don't have much spare time these days)

orchid veldt
#

what benefit is there for a band for the moon?

#

what would it display

rough star
#

the moonrise/set time of course

#

Suppose you have a 2 year old kid that rather likes the moon - you might want to know when that thing is up there to look at.

orchid veldt
#

I mean, that's not going to be very helpful because during the day, moon is not always visible even if it's up there

rough star
#

it often is, though

orchid veldt
#

also apparently moonrise and moonset depends on the moon phase

#

which is fascinating, I never knew that

rough star
#

hm, moon phase... you could vary the width of the moon band based on how much moon is currently visible

orchid veldt
#

in any case, I was advocating for displaying the angle of where the moon is in the sky, I don't think moonrise and moonset are nearly as useful as knowing where in the sky to look for the thing

#

or not look for if it's below the horizon

#

also the moon phase could be just different icons

rough star
#

the angle could be useful, but i don't know how i would visualize that and still keep the 24h dial
the horizon problem is solved by the bar having two ends.
in the first example, different icons for moon phase would be perfect; in the second, I don't really know where to put them, since sun and moon would always be in the same spot

orchid veldt
#

I mean, 24 hour dial is also an angle in a way

#

it's just not very even

remote ivy
#

the moon thing seems to make it too complicated imo

#

I like the current design

#

Simpler, more straightforward

glass halo
#

But both approaches might overcomplicate Halcyon.

brisk anvil
brisk anvil
#

at last! the first post-hackathon update is live!

#

#releases message

#

on the surface, this release seems exceedingly boring since the only new feature is time 2 support and a large fonts setting

#

however! it means i have finally refactored the text drawing code to not be horrible and actually calculate vertical centering, which should enable the planned widget features

narrow jetty
#

nice!!!

#

installing now

#

i love this

#

xenon ftw

obsidian moth
#

Got a compliment from a coworker about Halcyon on my core 2 duo rockon

#

She said it looked retro

brisk anvil
#

haha excellent! i really need to hurry up and get these updates out before the new watches go out to the general public

#

right now i'm fixing the weather on timestyle and adding a new widget, among with some other random improvements

#

and then i plan to fix a few of long-standing bugs in Checklist, mostly related to character escaping

#

but finally it's halcyon weather! openmeteo is so great i am very sure that it won't last

#

i can't wait until the inevitable "now the free-tier API is rate-limited to 10 calls per week"

obsidian moth
#

im soooo looking fwd to widgets

remote ivy
#

I'm excited for scheduled day/night theme

lusty trout
#

yeah schedule day/night theme would be awesome

brisk anvil
#

definitely! i actually was kind of wondering how y'all are using the themes -- i definitely want like a "night" theme that can switch automatically, but like, are the other color themes useful to you? or do you usually stick with the default one?

lusty trout
#

i've personally just stuck to the default theme because it looks so nice

brisk anvil
#

thanks, that's good to know!

peak sundial
#

I'm using a custom theme

#

but I also like the default theme a lot

brisk anvil
#

interesting! so we have one default theme, and one fully custom (non-preset) theme! i want to clean up the settings page since i feel like too much space may be dedicated to presets that no one actually uses 🤔

narrow jetty
#

tbh I've only seen it on the P2 screen

#

still looks rad

#

Also I prefer for my watch faces to have a mostly black canvas and appearance so they blend in with the watch body better.

#

so for that I prefer Xenon

brisk anvil
#

thanks for the additional insight! i was a bit confused for a second because I totally forgot i gave the black & white themes names (Xenon is internally labelled "bwTheme2" which is how I had remembered it)

brisk anvil
#

i've been trying to figure out how i can get the level of configuration i want in clay, and I'm wondering if i should just rip out clay and build my own config page in react 🤔

narrow jetty
#

I have always found clay to be robust enough

#

What features do you have in mind?

#

Also, how do you calculate the users location in Halcyon?

#

Assuming you do so since sunrise and sunset times are different everywhere

narrow jetty
brisk anvil
#

so the two new things i want to add are widgets (4 selectable slots) and the ability to specify a separate night theme -- right now the clay-based theme selector system is super brittle and barely functions at all on iOS (android is largely okay-ish)

i feel like trying to essentially duplicate it will result in something even more horrifying, code-cleanliness-wise

#

other frustrations include being locked to es5 (again thanks to iOS) and how difficult it is to iterate/test

brisk anvil
narrow jetty
#

Interesting because other apps that use location don't work

#

On the new firmware

brisk anvil
#

well it may not be working -- if halcyon shows the sunrise and sunset at exactly 6am/6pm, then it wasn't able to find your location

narrow jetty
#

No it's accurate

brisk anvil
#

weird haha, in that case i'm not sure

narrow jetty
brisk anvil
#

it does cache your location, so in theory if it got your location once before and then wrote it into storage, it could continue calculation sunrise/sunset without issue 🤔

#

wow that is one long day

#

but yeah it's fairly simple, i just request location from JS, then store it on the watch, and then recalculate sunrise/sunset every 24 hours

#

one day i might want to add the ability for the user to input a location, which would also probably require not-clay

narrow jetty
#

It's pretty easy to pass data back from the viewport to the pebble app

orchid veldt
#

I need to finally get the clay map component developed

#

a map is a relatively common component to embed in the settings after all

brisk anvil
#

if i were to add one thing to clay it would be the ability to hide/show sections

#

which has apparently been on their feature requests since 2016

#

haha

#

though there haven't really been any commits since then

narrow jetty
#

Do you do any web development?

#

I looked for my web app source code for a project I never published but unfortunately I think it got deleted

#

But it's pretty straightforward

brisk anvil
#

i considered updating clay myself, but i'm kind of worried the project is abandoned and my efforts would be all for naught

narrow jetty
#

Maybe

orchid veldt
#

you can presumably get things merged

#

if you ask the right people around

brisk anvil
#

modern web dev is so much easier to deal with

#

i wonder if it would be possible to modernize clay to use typescript

#

ideally then it could just transpile to es5 during build and no one would have to think about closures ever again

orchid veldt
#

I guess you could use typescript with it already

#

though not easily

narrow jetty
#

Jynx lol

#

Yeah typescript is handy

orchid veldt
#

I mean, clay was written to make it easy for people who didn't want to deal with writing their own code and host it somewhere to get a config page

brisk anvil
#

which it is great for!

#

but it could be even better for that 🧐

orchid veldt
#

there is also an opportunity to just write a new solution as well

brisk anvil
#

tbh a lot of the issues come from the weird iOS javascript limitations

#

i'm hoping the new app can correct those

orchid veldt
#

the new app this far just makes me want to go back to cobble

brisk anvil
#

that good? haha

orchid veldt
#

it doesn't support bobby as well as cobble

#

and cobble really didn't do bobby any justice

brisk anvil
#

ah i see, i guess bobby is probably the most complex app to support

#

though, longer term, i wonder what will happen to bobby, given recent events

orchid veldt
#

it's a shame cobble doesn't get more development, says me, one of the developers of cobble

brisk anvil
#

i'm sure the new app will eventually catch up

orchid veldt
#

doesn't mean cobble doesn't make sense to exist

#

fundamentally having an open source app is a good thing with an open source firmware

brisk anvil
#

true!

orchid veldt
#

also gives some alternatives for companies that would like to work with pebbleos, since using eric's library will cost them money not to deal with gpl3

#

in any case, wrong chat to be talking about this

#

I think we need cobble more than libpebble3 right now

glass halo
#

Asking this from the angle of being a clueless developer

Is there an advantage to working out sunrise/sunset in c like halcyon does vs in js like most of my watchfaces do?

I have the suncalc code in index.js and send it to the watch

brisk anvil
#

probably not tbh, the only real advantage would be if your pebble lost connection to your phone for while, the sunrise and sunset would still recalculate

harsh thicket
#

I love this! Only notes would be that I would love the ability to change or customize the middle watch face to something else.

brisk anvil
#

is that what you were requesting? or, more like change the font of the time? 🤔

obsidian moth
#

it could be very cool to have an analog face in the middle of the sun ring

brisk anvil
#

i explored that, but i was worried that it would be kind of confusing that the sun ring and the inner ring would be showing different things (24 hour dial vs 12 hour dial)

#

though then again, that is basically what a GMT Bezel analog clock does:

#

might have to think about that more 🤔

obsidian moth
#

it might preclude complications

brisk anvil
#

oh yeah you'd probably have to choose either or, but could be fun for the analog fans

narrow jetty
#

Might need to spin off another watch face!

brisk anvil
#

could be fun to do a true GMT dial one where you could pick the alternate time zone for the outer ring

harsh thicket
brisk anvil
#

all good ideas! i need to finally get started on implementing more features, hah

obsidian moth
#

i actually was thinking about halcyonalog earlier today

#

as in, i'd like to use it! and if i have time i might start thinking about how it could look!

brisk anvil
#

i’ve been thinking the key issue is that the pips will need to be different in analog mode — right now they’re indicating the 24 hours of the outer dial, but if there is a 12 hour inner dial, then i think the pips would visually make more sense showing the 12 hours

obsidian moth
#

oh i hadn't realized they were 24 hours! I assumed they were decorative haha

brisk anvil
#

the major blocker right now is the configuration page, i think i’ve pushed clay about as far as it can go

#

halcyon will be the test case for my glorious clay replacement which I’m hoping i can get working

stiff owl
#

I got some feedback on Horizon once upon a time asking if the sun could be on a 12 hour dial instead of 24... and I just did not know how to respond. And I was about to suggest that maybe analog hands just don't work with a concept like this, but then I remembered that there are watches like Marc Newson's Manatee that combine analog hands with a 24 hour world time dial, so maybe I don't know what I'm talking about, hahaha.

brisk anvil
#

huh interesting

#

seems like he just gave up on trying to make them match and just assumes users will understand the positioning of the hands on a 12 hour dial

#

which i guess isn't necessarily unreasonable

#

i'd probably still hide the 24 hour pips in hypothetical analog mode though

orchid veldt
#

how do you read this

brisk anvil
#

i'm guessing that the inner dial rotates on a 24 hour schedule, so that the city pips align with the current time on the outer dial -- in this (very fake) case the user is somewhere between london and paris, i guess, since we know the current "local" time is 10:10

orchid veldt
#

oh

stiff owl
#

Off topic, but can you believe I went this far with a clone of that watch before I realized that I hated it? A case of "just because you can do a thing...".

#

Back on topic, what blocks have you run up against with clay?

brisk anvil
#

haha i kind of like it! apple eventually did the same concept with their “world time” face

#

re:clay, so many things i want to do but can’t hah

#
  1. live previews, without massively cluttering my files with escaped svg strings
  2. hiding and showing sections without needing to do a bunch of strange workarounds
  3. some kind of “more content” type ability— for example, if i want to offer 25 different color presets and show previews, there needs to be some option beyond just listing them all (collapsible sections? modal? custom dropdown?)
#

I’m sure there’s more but that’s what immediately comes to mind

#

also clay is basically impossible to debug

orchid veldt
#

isn't that what raw loader is for?

#

I should really look at the previews component again

brisk anvil
#

i was never able to get either of those working, so i can’t really comment on them

#

i vaguely remember raw loader being dependent on a bunch of extremely old npm packages that didn’t seem to quite work anymore

orchid veldt
#

yeah, it seems like raw-loader just refuses to be bundled into the app for some reason

#

there have to be some alternatives that work though

orchid veldt
#

so after some experimenting, my conclusion this far is that clay refuses to set the svg as template for some reason

stiff owl
#

When I try to just build Horizon with the new tooling, I'm just buried under deprecated node package errors. I haven't even tracked down the source of the dependencies. Y'all know more than I do about the current state of things. I'm somewhat curious how your plan for your settings compares to what I had working in Horizon using my preview component, as a baseline. But who knows if it is worth trying to persue a Clay based approach anymore. Has anybody picked it up for maintenance?

#

I'm looking at Halcyon's settings page as it is currently published.

#

I'm also looking at Horizon's settings code and trying to refresh my memory about how it all worked.

#

I see that I use raw-loader to basically "include" SVG and CSS code from files... I guess during the webpack process? Am I mad to assume that one could also just paste those in as strings in a javascript file and eliminate the raw-loader dependency?

orchid veldt
#

tbf, raw loader works if you use the right version

#

and I'm not complaining since I really dislike having svg inside of js files

stiff owl
#

I hope we're not hijacking freakified's thread, but are you seeing some other problem then, with clay and the svg template? And are you talking about pebble-clay-preview-component? Or have I gotten really off base?

orchid veldt
#

yeah, that is what I'm talking about

#

the svg ends up as a string, but then clay doesn't render it

#

and the core app refuses to properly purge the cache so trying to refresh the contents of the configs is enough of a pain that whenever I approach this again I'm just gonna use the og app

stiff owl
#

Blah. Well, one day I hope I can get my stuff building again. Maybe I can be more helpful then.

brisk anvil
#

yup, pebble-clay-preview-component was the one i tried to get to work but never was able to, so i just did the embed the SVG content directly in the JS trick

#

that technique, though, doesn't feel sustainable -- this has been the primary blocker on new halcyon features, because i don't think it's possible for me to add more options to the config page in its current form, at least not in a way that feels usable

obsidian moth
#

have you seen what the new lignite Mosaic watch face does? it isn't clay, though

#

instead of a preview on the settings page, it updates the actual watch in real time as you change settings

brisk anvil
#

wow i didn’t know that was possible!

#

ah, its related to the websockets bug that the dev mentioned on the coreapp channel!

narrow jetty
#

I'm using my PTR for the first time in a few months so it's finally time to try out this watchface for real! As Freakified intended!

brisk anvil
#

excellent!

#

i really need to get those widget features added

stiff owl
#

Dunno if you are still working on this one, but with the arrival of SDK 4.9.68, I've been working on getting all of my watch faces building, running, and most challenging: settings. I haven't gotten anything working with the preview component, but I'm not sure if it is the preview component, per-se, because I've had trouble with other settings pages as well. As we all know, it's very challenging to debug. Sometimes I think it is package compatibility; the ways that package interact seems different than the old tooling. But I can't really pin down a single culprit. For example, sometimes it comes down to removal of underscore as a dependency that get's a settings page to work, but then there is one case where it works with underscore, so that theory feels pretty weak. Other times I wonder if it isn't just the overall size of the javascript bundle. Maybe there are tighter URL length limitations than before? And sometimes it might just be outdated javascript that crashes silently with no log output. In any case, it doesn't look like I'll be able to help get the preview component working for anybody any time soon, which is a bummer. For my own faces, I'm just going to strip down the settings. No previews, no custom color selections. Just going to be what it is. I'm too old and crabby to spend my days fighting with javascript anymore, ha!

meager frigate
orchid veldt
#

especially since if you bother them enough they might add some more debug tools for these things

brisk anvil
#

i was thinking the other day that the architecture of clay is largely what makes it so annoying to work with

#

encoding the entire config page as a data URL is a very clever hack for sure

#

but i think a lot of problems come out of that, such as it being basically impossible to debug

#

what is really needed, i think, is a slightly more first-class local config system (ideally, i'd imagine something very similar to Clay, but instead of doing the ridiculous URL encoder thing, the app would provide a simple local static host)

#

that way, anyone who wanted complex previews or whatever could implement them however they wanted (React, etc), but people who wanted something similar could still use "clay 2" and just provide a simple config spec

#

not really sure how to request that as a feature though, hah

#

i guess i could post it on the libpebble3 issue tracker, but that would be a somewhat major SDK addition

brisk anvil
#

ah good idea! though so far it seems a little dead, hopefully eventually we can get some more discussions going there 🤔

obsidian moth
#

hopefully one day there will be people dedicating time to the sdk to sift through these proposals

brisk anvil
#

tbh i wrote that kind of quickly so feel free to comment (it is an RFC after all!)

#

anyway back to Halcyon, some news actually -- I have successfully gotten the night theme transition working 🌃

brisk anvil
#

one mildly exciting development: @steady folio contributed a show leading zero setting! 🎉

#

(still not released yet, i'm thinking it'll go out with the version that adds the night theme once i fix the bugs in the night theme switching)

orchid veldt
#

oh my god finally, I was waiting for that

#

I use halcyon a lot and that always bothers me

steady folio
#

Nice!!! It also drove me crazy needed to fix it

steady folio
#

Any ETA on the update?

brisk anvil
#

ah, sorry for the delay!

#

i keep hitting a weird bug in the settings page that may or may not be a bug in coreapp

#

BUT perhaps you all can help!

#

this is the incomplete v1.6, which adds a bunch of new features (night theme, @steady folio's leading zero option, and separate-from-the-theme pip display option)

#

the settings page currently doesn't show time color, which is next on my to-fix list

#

but if you could try installing this and report if the settings page is working for you, that could be very helpful!

remote ivy
#

seems to be loading for me

#

settings are changing when I hit "Save", too!

#

I'm on Core App with the Pebble 2 Duo

brisk anvil
#

oh huh that's weird actually -- the new version should have a fixed position preview container

#

is it there if you scroll to the top?

remote ivy
#

that is the top

#

oh but the Core App just crashed

#

I wonder if your watchface caused that...

brisk anvil
#

oh wow that is very very broken 😱

#

thanks for testing!

remote ivy
#

ofc

brisk anvil
#

this is what it's supposed to look like

remote ivy
#

yeah I do not see anything like that

#

it's super pretty tho!

brisk anvil
#

huh that's pretty odd, guess i need to dig out my android device

#

based on what you're seeing the javascript is probably crashing and not doing all my ridiculous DOM manipulations to add the preview

remote ivy
#

interesting

#

I also don't see your presets

#

It just spills out all the individual color settings

brisk anvil
#

on the plus side i have built the ultimate coreapp-crashing watchface

remote ivy
brisk anvil
#

that is super weird, in both the emulator and iOS coreapp i'm always seeing the preset selector

#

maybe i should rebuild with the newer SDK

#

i haven't upgraded yet

remote ivy
#

I'm surprised there's that much of a difference between iOS/Android

brisk anvil
#

yeah i didn't realize ios/android coreapp would be so different

#

the OG app was super inconsistent due to the strange workaround they had to use for PKJS on iOS

obsidian moth
brisk anvil
#

if only it didn't crash haha

#

perhaps i should give up on my goal of creating the ULTIMATE clay based config and switch it to a hosted config page after all, but you know sunken costs and all that

stiff owl
#

I suppose diorite builds are perfectly serviceable for now and unless you have barometer plans.

#

But I guess you are also having android problems..

brisk anvil
#

oh this is a different crash haha -- somehow my new build settings page is sometimes not working on iOS coreapp and (apparently) always not working in android coreapp

stiff owl
#

I can't test mine on android and I've no idea if they work.

brisk anvil
#

i wonder if clay is just too unreliable for this sort of thing

#

i know you've pushed clay probably farther than any other dev

stiff owl
#

I just blame javascript. I haven't found anything unreliable about clay itself.

#

And the core pkjs runtime is still a work in progress, so...

brisk anvil
#

i think the problem is the inconsistencies in js interpretation, and how clay's architecture (shoving everything into PKJS) tends to emphasize those inconsistencies

#

the ios/android webview has a lot less differences i guess

stiff owl
#

Yeah, makes sense.

steady folio
#

See this on Android

#

No preview

brisk anvil
#

if you tap any of the color pickers, do they work?

#

if not that would indicate the JS is dead-ish

#

hmm what to do 🤔

remote ivy
brisk anvil
#

interesting -- i think one of the big problems here is that it's almost impossible to debug this; there's no way that I know of to see meaningful console logs from the webview in coreapp

#

classic clay

#

well, i'll think of something!

steady folio
#

fyi I'm able to run this thing with logs on my android phone with the github codespaces + core pebble app + pebble 2 duo, just see:
[21:22:14] settings.c:121> getCurrentColorTheme: useNightTheme=0, useNight=0

Let me know what console logs to add.

#

[21:23:23] messaging.c:255> Received pipVisibility: 48
[21:23:23] solarUtils.c:67> Sunrise Time Initial R: 692, S: 1702
[21:23:23] solarUtils.c:73> After timezone adjustment R: 1992, S: 602
[21:23:23] solarUtils.c:80> Sunrise recalculated! R: 475, S: 1081
[21:23:24] main.c:141> I guess settings changed
[21:23:24] settings.c:121> getCurrentColorTheme: useNightTheme=0, useNight=0
[21:23:24] pkjs> Halcyon:147:963 Sent config data to Pebble
[21:23:24] settings.c:121> getCurrentColorTheme: useNightTheme=0, useNight=0
[21:23:24] settings.c:121> getCurrentColorTheme: useNightTheme=0, useNight=0

steady folio
#

dont see console.log output from the phone webview in the github codespaces tool

#

I think I got it... the clayConfig.on(clayConfig.EVENTS.AFTER_BUILD, function () callback never seems to run!

#

[21:45:00] pkjs> Halcyon:124:14 Test from index.js READY event

#

so the normal index.js works but your custom clay might be too complex for the libpebble3 pkjs renderer

#

weirdly enough, don't see any console.log from the custom-clay.js but added a fetch() to a webserver just to get rid of all doubts, and it works for AFTER_BUILD and BEFORE_BUILD callbacks just fine (but with a delay)

#

Ok so no clue what I'm doing but this:
dumping via post request: Array.from(document.querySelectorAll('[id]')).map(el => el.id)
yields:

{
"elements": [
"main-form"
]
}

steady folio
# steady folio Ok so no clue what I'm doing but this: dumping via post request: Array.from(docu...

put this in EVENTS.AFTER_BUILD callback:

fetch('https://webhook.site/xxx', {
method: 'POST',
mode: 'no-cors',
headers: {
  'Content-Type': 'text/plain'
},
body: JSON.stringify({ step: 'custom-clay-after-build-enhanced', elements: Array.from(document.querySelectorAll('[id]')).map(el => el.id) })
})

.then(function() {
console.log('Webhook sent successfully (no-cors mode)');
})
.catch(function(error) {
console.error('Error sending webhook:', error);
});

I just used webhook.site to dump the data

#

lets see your DOM tree on iphone, I just see main-form , no svg or presets or anything

#

Getting a ton of crashes too after dealing with this config... Might be time to ditch that custom clay and host the site

steady folio
#

Timely update hehe

brisk anvil
#

thanks for checking all those logs! i think i'll probably move it to a hosted config hah

#

btw i'm using the leading zero option on my personal watch, it works great!

steady folio
#

Yeah I've also been using it since I made the patch, but want to install the pbw from the store in order to get updates

brisk anvil
# steady folio

i was unable to get this working on iOS, but it seems like it could be a useful feature

steady folio
#

Did you test the DOM tree theory?

steady folio
#

FYI: 1.0.5.2 core app on Android now shows this

brisk anvil
#

wow that’s strange!

#

i wonder what it does on ios OG app but sideloading it is a hassle

steady folio
#

I'll test with a pebble time soon to verify what you saw earlier

steady folio
brisk anvil
#

that’s right! but the screenshot you showed appears to be working properly now, very strange!

brisk anvil
#

okay! well it took forever, but my incredibly overengineered settings page is at last completed!

#

the new version is live on the core/rebble stores, so give it a try! @steady folio it also includes your change for the leading zero

#

please try it and let me know what you think!

steady folio
#

Config page looks nice on Android

brisk anvil
#

excellent! i aimed for roughly the same colors as coreapp so it would match

lusty trout
#

night theme?

brisk anvil
#

ah that was you who requested it! great idea!

#

i actually liked it so much i turned it on by default

lusty trout
#

i dunno if i was the one that originally requested it, but i know i was looking forward to it

brisk anvil
#

excellent, well hope it works! i actually already have the widgets feature working, but it needs more refinement before i release it:

#

so i'm excited to finally get the much-delayed 2.0 update with that released

lusty trout
#

ooh that looks nice

#

step counter looks kinda out of place though maybe just cause everything else is more bold

#

is it using a different font than the date?

brisk anvil
#

yeah, it's non-bold

#

i think you're right that it being the only non-bold is a bit odd

#

still needs some tweaks

lusty trout
#

i do like the overall layout that it's going going on though

#

fills up the empty space quite nicely

brisk anvil
#

that was the goal! on the round 2 in particular it looks very empty in its default state

lusty trout
#

oh yeah i can imagine lol it already felt a little empty to me on ptr (have larger fonts on for ptr only)

lusty trout
#

hmm there may be some wonky timezone stuff going on as a result of daylight savings

#

coincidentally sunset isn’t supposed to happen for another hour

brisk anvil
#

huh, and it persists if you navigate away and then back?

lusty trout
#

yup i tried loading a different watchface and then halcyon again

brisk anvil
#

strange indeed! it must be still using the non-DST timezone for the offset calculation

brisk anvil
#

in the next version sunrise/sunset calculation is completely rewritten (i just switched to a popular JS library and do it on the phone side now), so I'm hoping that will fix the issue 🤞

#

speaking of the next version, it now has weather widgets too!

brisk anvil
#

it's time for scope creep!

#

presenting, internationalization:

golden bluff
#

Don't know if it's possible, but as you put a screen with french, in France, we use the date with this order "JEU 02 AVR"

Weather is the main and only point I'm missing on your watchface, I'm so happy!

brisk anvil
#

thanks, i was thinking it might be good idea to adjust it to use local formats, right now it's just doing simple string substitution on the default day, month ## format

cedar locust
#

Hey, really love using this watchface on my pebble 2 SE and just got my PT2. Have you considered making the outer ring a bit larger on PT2 to match the proportions of the older watches? It feels like there's too much white space right now

brisk anvil
#

I agree! I really need to get the new version out, I actually implemented that months ago 😅

#

this is the current build:

#

scales up the ring and adds more data to fill it out

#

(you can turn off or customize all the data)

cedar locust
#

Wow thank you mr. freak

brisk anvil
#

at LAST

#

i have FINALLY DONE IT

#

version 2.0 is released

#

i hope it doesn't break

#

it's an absolutely massive amount of changes

#

also if you speak another language, please let me know if the new languages are wrong, because they are probably wrong

golden bluff
#

OMG 🤩

Thanks a lot for the release, I was waiting for it!
Already installed, for now everything looks great \o/

#

I set it in french, when using next sunrise/sunset, the word is too long and hour is not shown on P2D (only "COUCHER" is visible)

brisk anvil
cedar locust
#

Wow looks great now thank you so much

frosty yarrow
#

Im not French fluent enough and you might get stuck needing icons instead of text anyway for other languages
Coucher might be enough though since it’s contextually related to sun rise and set time?

It’d be as weird as using “rise” and “set” in English but likely equally as understood

brisk anvil
#

i considered icons but i concluded i wanted to do a text-only system

#

some of the apple watch widgets do that, for better or for worse haha

golden bluff
#

I think that they are no other words for coucher/lever but may be that just the first letter can do the job C. / L. ? People may know what is it as they are setting it up

narrow jetty
#

show me that sweet ptr2!

#

this is almost certainly the face I'll rock on that thing when I get it

brisk anvil
brisk anvil
# narrow jetty show me that sweet ptr2!

any particular faces you want to see on it? right now i'm testing color themes since i think most of the built-in ones i made besides the defaults are kinda not great 😅

#

if you have any suggestions please send them along! haha

brisk anvil
#

let's see what i have besides the photo i already posted haha

narrow jetty
#

ah I just don't see it in this chat

#

side question: what are your thoughts on scaling padding and such on PT2?

#

like timestyle for example, I feel like there could be more padding in the right bar but I know that the bar is as thick as the little firmware toaster bar so it's a perfect match. So you can't expand the padding even though the screen is a littler bigger.

#

Should they expand the padding in the firmware? etc

brisk anvil
#

ah! okay here's the two i have in my collection!

narrow jetty
#

//tears up

#

it's so beautiful

#

your watchface is amazing

#

I love that you have all the right info on there

#

current, high, low, time, and date

#

can you control each of those?

brisk anvil
#

the round 2 and time 2 both have higher PPI, so everything needs to be slightly bigger

brisk anvil
#

you can create custom combination widgets

#

i'm not sure if anyone wants to do that

#

but you can! haha

narrow jetty
#

ok no I was totally thinking of that

#

that's awesome

brisk anvil
#

internally they're all just format strings

#

so basically in the settings there's a UX for showing all available tokens

#

etc

brisk anvil
#

i wonder if i should just make it a separate option

#

it's relatively easy to change, layout-wise, but as you noted i figured part of the charm was matching the timeline exactly

golden bluff
golden bluff
#

I really like the fully custom field, it's usefull as many default ones are too big for P2D and text is truncated

#

Currently mine looks like this
I've change Batterie to Batt. to fit in the space

I really want my PT2 to have more space haha

brisk anvil
#

oh nice, i'm glad you found a use for the custom field!

#

i should probably make it truncate battery automatically 😅

narrow jetty
#

@brisk anvil where's your Checklist thread in this #1345100373324726312 channel?

brisk anvil
#

ah i wasn't sure if i should make threads for my old projects

narrow jetty
#

it's anew though

golden bluff
brisk anvil
#

i see you combined steps and high/low temp! that's how i was picturing it used, but it's also nice that it can be used for fixing things that i left too long 😅

cedar locust
#

The widgets are cool I'm using a custom field to just show current temperature without the high/low