I'm not sure if this has already been done or not, but since watchfaces are so limited right now in the amount of information that can be given, (for example, see SmartTime: http://forums.getpebble.com/discussion/4844/digital-watchface-smarttime), I was wondering why not make a watchface that displays the calendar for the next 2-3 weeks in advance. People are always wonder "what day is the 16th?" or "what's the date next Thursday?" A quick glance at the such a watchface would be as useful as a watchface can get for now. I would love to start this project if I weren't so busy and were able to get a VM of Ubuntu running stable on my computer. For now, there's no point in holding this idea for myself.
I meant a calendar WATCHFACE, not calendar app. The 3rd link is just a calendar watchface without the time. The calendars are nice, but they're apps. Not watchfaces. And the calendar watchface is nice, but it's only a calendar. Not a watch. I'm interested in seeing a calendar + time watchface.
I find I don't need a whole calendar month so much as I need reference points for the near past/future, and I want a very legible timepiece to read.
So, I took William Heaton's calendar watchface and tweaked it to show the current, last, and next weeks - inserting the past months days where appropriate. I still have some optimizations to do, and want to increase the font (testing fonts on pebble is a study in patience, I need to see about getting libpebble working on OS X 10.7, or upgrade) - but the watchface itself is very functional.
Modifying his calendar watchface to include just the time at the top would be trivial enough, though it'd be pretty small and hard to read, as the calendar takes up much of the screen (since it can need up to 6 rows plus the header).
Post edited by Martin_Norland on
Check out:
Timely (Time, Weather, 3 week Calendar, multiple languages, custom vibrations, timezone, plus many customizations and additional selectable options - more features coming!).
Already like Timely? Be sure to heart it in the app store, and tell your friends about it!
@Martin: Looks like exactly what I'm looking for. I don't really need the month, all I actually need is the current week and the next couple of weeks. Do you have the PBW available anywhere? Maybe if you have the source I can take a look at it to help you optimize it. I can program pretty well, I just don't have the hardware to run a VM smoothly.
On a completely unrelated note, does anyone know how to boot an Ideapad Yoga from a USB? I updated my BIOS, enabled the option to boot from USB, but nowhere in the BIOS has a way to change the boot order. I assumed it would default boot from a USB if a bootable flash drive is plugged in, but nope!
I should have it released and up on mypebblefaces by the end of this weekend, I don't want to put a pbw out in the wild without putting a fork out on github from Williams code, since it's GPL. There are only so many hours in the day, between work life wife and my little one
I'm down to a single optimization now, I'm going to track the date and not mark the date/calendar layers dirty unless it's actually changed (the calendar / date is drawn by marking layers dirty, the time text_layer is drawn during the minute tick handler - and I hope/believe that the minute tick/text_layer only redraws the horizontal lines in the bounding GRect of the textlayer ...). There's a behavior (by design, due to memory constraints), that marking any layer dirty and having it redrawn forces a redraw of *all* visible layers - and I'm hoping that doesn't apply to text_layers since you can't give them a custom update_proc.
Anyway, I've seriously gotta hit the sack now - but I'll get it out in fairly short order, fear not. I retained the color inverting functions throughout as well, so the black background render you proposed will be one of the choices once it's posted, as it's all of 3 seconds to tweak and recompile it.
To your unrelated question - as long as your bios has an option to boot from usb, and that's enabled, then yes I would assume that implicitly states to boot from USB before local disk. Do you know for certain that the usb is properly configured as bootable - have you tried in other machines? Does your BIOS say anything during/right after POST about it? You may need to disable the "happy branding screen" to see some of those details, a setting that may have gotten overwritten when you flashed it.
Check out:
Timely (Time, Weather, 3 week Calendar, multiple languages, custom vibrations, timezone, plus many customizations and additional selectable options - more features coming!).
Already like Timely? Be sure to heart it in the app store, and tell your friends about it!
Well, I'm pretty sure, even just changing the text of a TextLayer will force the entire layer-hierarchy to be redraw. Under the hood a TextLayer is just a Layer with a "predefined" updateProc.
Hmm, interesting - is that something they hope to change in the future, or is a redraw of the layer hierarchy not the same as redrawing the contents of the screen. I got the impression that there's no off-screen rendering on the pebble, so in order to update a single line, we need to be able to just update a single line of the display. I don't see how it particularly matters that the display is line based, if there's no way to update the contents of a single line in the display without updating the whole thing.
I was contemplating adding a "second ticker" bar option on this and some of my other (planned) watchfaces - just a single pixel tall line and adding 2 pixels to it per second (144 - 118 = 26, so a nice 13 pixel gap on either side), but it sounds like the most reliable and best optimization one can do to a watchface right now is to just use the minute ticker rather than the second ticker, to prevent refreshing everything.
I'm thinking I'll try to run some tests on this this weekend, if time permits (hah!). In the meantime, That means my optimizations are done for the moment, so it's just a matter of forking on github and committing that, then posting a 1.0. I'll plan to make the screenshot of the watchface after posting, since it's just going to be a bit of time spent in an image editor, with the current options. I'd already started a thread asking if we can get screenshots in the IOS app.
Ooh, and I just noticed the SDK has been updated with two way communication and some documentation about that. That's some exciting news... guess I'll have to download the latest SDK and make sure there are no breakages from that (I'd wager there are not, but one never knows). I think I'll still post the code and whatnot first this evening, rather than delay anything... surely old watchfaces need to continue functioning on updated watches.
Check out:
Timely (Time, Weather, 3 week Calendar, multiple languages, custom vibrations, timezone, plus many customizations and additional selectable options - more features coming!).
Already like Timely? Be sure to heart it in the app store, and tell your friends about it!
I like what you have done with this. I am fine with you publishing the PBW before you get the sources up as long as you do eventually get it up.
Also FYI, I have tested my calendar app and it runs just fine on the new firmware when compiled against both the original SDK and the new SDK. So most likely your will not need to make any changes for the new SDK.
I initially wanted the light version, but I find myself using the dark version most of the time, unless I'm in bright light. I compiled a different UUID for light vs. dark so folks can install both, whether they're IOS or Android users (I didn't do the same for Sun vs. Mon, presumably no value add there).
I also spent way more time than I'd like to admit trying to take a picture of my pebble and converting it to a 1 bit image - even with tweaking the levels and using dodge/burn to fix subtly uneven lighting. Ended up scrapping it and hodgepodging a mockup together. Definitely looking forward to them adding a screenshot functionality to the apps.
I still plan to have the code up to github within the week, for those wanting to tweak it further, or in case I've managed to leave a heinous bug in there that creates wrong calendars (I found the best way to test was to set my iphone to manual date control, and just power my pebble off for 5 seconds at a time when changing the date, since it boots instantly and syncs to time at boot).
Check out:
Timely (Time, Weather, 3 week Calendar, multiple languages, custom vibrations, timezone, plus many customizations and additional selectable options - more features coming!).
Already like Timely? Be sure to heart it in the app store, and tell your friends about it!
Thanks so much Martin! This is exactly the watchface I wanted!
In the process of moving, so I've been busy. Can't find that bootable flash drive anywhere right now haha. Looks like I have to try messing around with various settings like disabling fast boot and UEFI. It has been booted on other computers so the flash drive is properly configured, it's just my BIOS is weird. I hope all Windows 8 computers aren't this way haha.
Just to close the loop on this (for now!) - the source is now posted, for anyone interested in making modifications. The code to print the actual calendar portion is still 98% the original, I may go back and clean it up at some point, since some of the variables don't really make sense the way I'm compiling the table. That's only likely to happen if I go to extend so it can show X weeks w/ todays date situated in week Y, e.g. if I wanted to switch to just 1 or 2 weeks, or expand it to 4, etc.
But for now - sleep, and dreams of other watchfaces to make.
Check out:
Timely (Time, Weather, 3 week Calendar, multiple languages, custom vibrations, timezone, plus many customizations and additional selectable options - more features coming!).
Already like Timely? Be sure to heart it in the app store, and tell your friends about it!
Comments
http://www.watchface-generator.de/watchfaces/20130509/calendar_time_concept/
The calendar right now is just a picture.
http://www.mypebblefaces.com/view?fID=435&aName=8a22a&pageTitle=Calendar&auID=25
@Martin: Looks like exactly what I'm looking for. I don't really need the month, all I actually need is the current week and the next couple of weeks. Do you have the PBW available anywhere? Maybe if you have the source I can take a look at it to help you optimize it. I can program pretty well, I just don't have the hardware to run a VM smoothly.
On a completely unrelated note, does anyone know how to boot an Ideapad Yoga from a USB? I updated my BIOS, enabled the option to boot from USB, but nowhere in the BIOS has a way to change the boot order. I assumed it would default boot from a USB if a bootable flash drive is plugged in, but nope!
I'm down to a single optimization now, I'm going to track the date and not mark the date/calendar layers dirty unless it's actually changed (the calendar / date is drawn by marking layers dirty, the time text_layer is drawn during the minute tick handler - and I hope/believe that the minute tick/text_layer only redraws the horizontal lines in the bounding GRect of the textlayer ...). There's a behavior (by design, due to memory constraints), that marking any layer dirty and having it redrawn forces a redraw of *all* visible layers - and I'm hoping that doesn't apply to text_layers since you can't give them a custom update_proc.
Anyway, I've seriously gotta hit the sack now - but I'll get it out in fairly short order, fear not. I retained the color inverting functions throughout as well, so the black background render you proposed will be one of the choices once it's posted, as it's all of 3 seconds to tweak and recompile it.
To your unrelated question - as long as your bios has an option to boot from usb, and that's enabled, then yes I would assume that implicitly states to boot from USB before local disk. Do you know for certain that the usb is properly configured as bootable - have you tried in other machines? Does your BIOS say anything during/right after POST about it? You may need to disable the "happy branding screen" to see some of those details, a setting that may have gotten overwritten when you flashed it.
If you like my work, consider donating: Paypal
Timely
[light/dark + sun/mon versions available]
I initially wanted the light version, but I find myself using the dark version most of the time, unless I'm in bright light. I compiled a different UUID for light vs. dark so folks can install both, whether they're IOS or Android users (I didn't do the same for Sun vs. Mon, presumably no value add there).
I also spent way more time than I'd like to admit trying to take a picture of my pebble and converting it to a 1 bit image - even with tweaking the levels and using dodge/burn to fix subtly uneven lighting. Ended up scrapping it and hodgepodging a mockup together. Definitely looking forward to them adding a screenshot functionality to the apps.
I still plan to have the code up to github within the week, for those wanting to tweak it further, or in case I've managed to leave a heinous bug in there that creates wrong calendars (I found the best way to test was to set my iphone to manual date control, and just power my pebble off for 5 seconds at a time when changing the date, since it boots instantly and syncs to time at boot).
https://github.com/cynorg/PebbleTimely
But for now - sleep, and dreams of other watchfaces to make.