amazing video. for the past 3 months, ive been making my first ever mac app using a mix of both appkit and swiftui, first time ever touching swift. this video showed me, that i still have a lot to learn
i also really appreciate the tangent regarding hsv vs rgb. i sort of picked it up instinctivly when i first started using sketch but never wondered _why_ it worked better than just picking a random color
Hey! Great and relaxing video, doesn’t feel like the usual tutorial but more like a diary of sorts. But me who is coding on my first ios app feel like I’ve learned something about a way you can code with swift. Keep it up would really love to see more like this 🔥 Love from Luleå, Sweden 🇸🇪
Thank you! Glad you liked the format, the intent was to mostly focus on high-level concepts, some tips here and there, and not so much just typing the code.
@@mykolaharmash Yeah and I think its what made it so great and entertaining to watch. Just to get a quick overview and some comment on why you done things a certain way without deep diving into how every part of something works makes it easier to watch and pickup the things i find interesting. I think you are on a great track with this one!
I have recently added custom color picker to my app. At first I have started adding custom interface which is similar to yours with slider etc. Then I have deleted all the code after dealing with it all afternoon. I just add default color picker and go with it. Because it had issue and might have another ones in future. Main functionality of the app is not color picking and no one will care how they choose custom color, they just want a working solution to color thing. The update rolled out two weeks ago and zero complaints a lot of gratitude from my users
I see your point and there is definitely a place for this utilitarian approach. In my case, the app I’m building is a commodity, yet another habit tracker. So there has to be a way to differentiate it from the competition. I chose design and UI as one of the ways to stand out, some people don’t care but some very much do as I see from the feedback. Plus, it’s much for fun for me to build, which also adds motivation to work on the app and ultimately a benefit for the end user:) the default color color picker was my first choice as well but I did not like how it felt for my particular use case.
awesome video! As a product manager, in my head, I always evaluate "how hard can it be to build feature x" when handing over features to devs. "Can´t be that hard, can it?" Thanks a lot for this nice breakdown, It opened my eyes: There is a ton of thought that goes into such features :D
Thank you! To be fair, in a "real" project it would have been some off-the-shelf component. It's only with my personal projects I allow myself to indulge a bit and build everything from scratch:)
would be really useful to have a video about your code architecture / design patterns in swiftui? Like how you handle creating reusable components, callbacks, logic etc...
Awesome tip with going up left for lighter colors and down right for darker colors. I've been doing the alpha method the whole time and they never felt right
Great video! What iPad are you using? I have recently bought an iPad Air M2, and it has some touch sensitivity issues - even on my second unit, it's the exact same problem. I was wondering if this is happening to other models as well. It happens when it's on a table and you are not touching the metal parts, it's not plugged in, and it's in landscape mode. With that, the home gesture does not work like 30% of the time, and normal swipes and touches are also sometimes not registered.
Thanks! I have an iPad Pro M2, I believe it's 2022 model. That's a weird issue with the gestures, sometimes I also catch that the home swipe does not work from the first try, but it's usually when I have something full screen, not sure if it's a bug or a feature tbh...
@@mykolaharmash I see. I actually put a screen protector on the iPad and it was terrible - like 80% of the time the gesture did not work. I even initiated an Apple Support ticket. It looks to me like it's some grounding issue since it goes away when I touch the metal parts or plug in a charger. Looks like this is happening on most of the iPads, which kind of sucks since I usually want to have my iPad on a table when this issue is most noticeable.
When calculating the knob colour, would you not have been able to pass the current value through as hue (with associated b & l), or would that not have produced an accurate result?
Fair point, and it would work in case the slider was meant only for selecting hue, I would do exactly what you suggested. But I needed to make it more generic to handle the second slider for selecting lightness, in that case hue stays fixed and other two parameters change.
Hey @@mykolaharmash, I'm sorry to say that the last part about calculating the color was a bit unnecessary. Your slider should just return a value from 0 to 1. It could be a hue or brightness value, or something else, where the logic of colors interpolation could be done more precisely on the usage point. Anyway, great video!
Hey👋 But that’s exactly what’s going on, unless I miss something in your comment. The slider is indeed just returns the value from 0 to 1, but it still needs to display the current color on the knob, and I wanted to isolate that inside the component because I don’t need that color outside of the slider (parent component uses that 0 to 1 value in a different way). Let me know if I misunderstood what you’re trying to say.
Thank you! The pen is Apple Pencil (2nd gen if I remember correctly), and the app is just the default Notes, though Notes kept scrolling the page while I was drawing, there was a lot of re-takes 🫠 next time I’d choose some proper drawing app.
That's a great point, I even wanted to include a note about OKLCH and LAB in the video but scrapped it last moment because it was getting too long already. I love the perceived lightness variable in those color systems! Even with the hue gradient I have on the slider in the video colors have visibly uneven lightness (I had to reduce saturation to 0.8 of the whole gradient to mitigate this a bit), OKLCH or LAB would solve this issue. The only reason I'm sticking with HSB, for now, is because it's just more convenient as it's natively supported both in graphic editors and SwiftUI, hope other models will get more widespread soon 🤞
I would suggest to change the video title to something more mysterious/inviting, I only clicked to tell you this but wouldn't have clicked otherwise. Best of luck!
You're the reason click bait and ambiguous titles exist, the title to this video is fine. Imagine actually knowing what the video is about instead of getting a random lucky dip. Crazy. Go watch shorts if you want mysterious content
I disagree. Sure it might not satisfy the algorithm, but the straightforward title made me want to click it because it was just what I was looking for Why are you trying to encourage clickbait?
I clicked on this video because it looked neat and straightforward. And it was! Nothing wrong in optimizing titles for engagement, but clickbait can get annoying. I like knowing what I'm going to watch.
In general I prefer to underpromise in the title and overdeliver in the actual content. I think long term it will build trust and a more engaged audience, which is good for the algorithm as well. With this video specifically, YT shows CTR around 7%, maybe not stellar but above average.
Hi! I am long time viewer! I love your videos and your app. I am a designer interested in helping open source projects with my work. I thought it would be cool to message you. If you are interested maybe let’s talk somewhere?
amazing video. for the past 3 months, ive been making my first ever mac app using a mix of both appkit and swiftui, first time ever touching swift. this video showed me, that i still have a lot to learn
i also really appreciate the tangent regarding hsv vs rgb. i sort of picked it up instinctivly when i first started using sketch but never wondered _why_ it worked better than just picking a random color
Thank you! Wow, cool that you found it out yourself!
Very cool video, beautiful component. The design tip with the brightness and saturation changes is awesome, will use it for sure.
Thank you, glad it was useful!
I've implemented the same color slider before in JS, so I found this video thoroughly fun :)
Ah cool! I imagine on the high-level the implementation is pretty similar.
those videos are so helpful, I was almost going to message you precisely about this color picker haha
Hey! Great and relaxing video, doesn’t feel like the usual tutorial but more like a diary of sorts. But me who is coding on my first ios app feel like I’ve learned something about a way you can code with swift. Keep it up would really love to see more like this 🔥
Love from Luleå, Sweden 🇸🇪
Thank you! Glad you liked the format, the intent was to mostly focus on high-level concepts, some tips here and there, and not so much just typing the code.
@@mykolaharmash Yeah and I think its what made it so great and entertaining to watch. Just to get a quick overview and some comment on why you done things a certain way without deep diving into how every part of something works makes it easier to watch and pickup the things i find interesting. I think you are on a great track with this one!
I have recently added custom color picker to my app. At first I have started adding custom interface which is similar to yours with slider etc. Then I have deleted all the code after dealing with it all afternoon. I just add default color picker and go with it. Because it had issue and might have another ones in future. Main functionality of the app is not color picking and no one will care how they choose custom color, they just want a working solution to color thing. The update rolled out two weeks ago and zero complaints a lot of gratitude from my users
I see your point and there is definitely a place for this utilitarian approach. In my case, the app I’m building is a commodity, yet another habit tracker. So there has to be a way to differentiate it from the competition. I chose design and UI as one of the ways to stand out, some people don’t care but some very much do as I see from the feedback. Plus, it’s much for fun for me to build, which also adds motivation to work on the app and ultimately a benefit for the end user:) the default color color picker was my first choice as well but I did not like how it felt for my particular use case.
awesome video! As a product manager, in my head, I always evaluate "how hard can it be to build feature x" when handing over features to devs. "Can´t be that hard, can it?" Thanks a lot for this nice breakdown, It opened my eyes: There is a ton of thought that goes into such features :D
Thank you! To be fair, in a "real" project it would have been some off-the-shelf component. It's only with my personal projects I allow myself to indulge a bit and build everything from scratch:)
@@mykolaharmashwhy did you tell him this?😂
Oh no, what have I done 😅
thank you that was a very great video! i like your art and your style please keep on going!!
Thank you!
This is awesome @mykolaharmash! It's so great to see this kind of deep, detailed-work and craftsmanship. Thank you!
Thank you 🙏🏻
Such a good walkthrough!
Thank you!
Love these! Keep going!
Awesome! i really needed this 😭
I don't code in swift. However that was incredible. Amazing work man!
Thank you!
would be really useful to have a video about your code architecture / design patterns in swiftui? Like how you handle creating reusable components, callbacks, logic etc...
Great idea, will do something like a codebase walkthrough 👍
@@mykolaharmash dope
Awesome tip with going up left for lighter colors and down right for darker colors. I've been doing the alpha method the whole time and they never felt right
may I ask you how you did the AngularGradient color picker button without having its center white?
Sure, I shared a full code snippet for that gradient, take a look www.threads.net/@mykola.harmash/post/DBixKSQsmVC
Great video!
What iPad are you using? I have recently bought an iPad Air M2, and it has some touch sensitivity issues - even on my second unit, it's the exact same problem. I was wondering if this is happening to other models as well. It happens when it's on a table and you are not touching the metal parts, it's not plugged in, and it's in landscape mode. With that, the home gesture does not work like 30% of the time, and normal swipes and touches are also sometimes not registered.
Thanks! I have an iPad Pro M2, I believe it's 2022 model. That's a weird issue with the gestures, sometimes I also catch that the home swipe does not work from the first try, but it's usually when I have something full screen, not sure if it's a bug or a feature tbh...
@@mykolaharmash I see. I actually put a screen protector on the iPad and it was terrible - like 80% of the time the gesture did not work. I even initiated an Apple Support ticket. It looks to me like it's some grounding issue since it goes away when I touch the metal parts or plug in a charger. Looks like this is happening on most of the iPads, which kind of sucks since I usually want to have my iPad on a table when this issue is most noticeable.
@Tabonx_ hm, yeah, that’s a bummer, sorry to hear 😔
When calculating the knob colour, would you not have been able to pass the current value through as hue (with associated b & l), or would that not have produced an accurate result?
Fair point, and it would work in case the slider was meant only for selecting hue, I would do exactly what you suggested. But I needed to make it more generic to handle the second slider for selecting lightness, in that case hue stays fixed and other two parameters change.
Hey @@mykolaharmash, I'm sorry to say that the last part about calculating the color was a bit unnecessary. Your slider should just return a value from 0 to 1. It could be a hue or brightness value, or something else, where the logic of colors interpolation could be done more precisely on the usage point. Anyway, great video!
Hey👋 But that’s exactly what’s going on, unless I miss something in your comment. The slider is indeed just returns the value from 0 to 1, but it still needs to display the current color on the knob, and I wanted to isolate that inside the component because I don’t need that color outside of the slider (parent component uses that 0 to 1 value in a different way). Let me know if I misunderstood what you’re trying to say.
Great video myko!! and as a dev, thanks for that hsb trick to get good shades.
What pen and app are you using by any chance? looks very clean
Thank you! The pen is Apple Pencil (2nd gen if I remember correctly), and the app is just the default Notes, though Notes kept scrolling the page while I was drawing, there was a lot of re-takes 🫠 next time I’d choose some proper drawing app.
have you added this to checker?
Yes, it went live a couple of weeks ago:)
@ In my case doesnt work at all
Could you please message me with the issue you are seeing? My email: mykola.harmash@gmail.com. Thank you!
Great video idea
I would suggest looking into OKLCH as an alternative to HSV/HSB because it’s a much more perceptually accurate and intuitive
That's a great point, I even wanted to include a note about OKLCH and LAB in the video but scrapped it last moment because it was getting too long already. I love the perceived lightness variable in those color systems! Even with the hue gradient I have on the slider in the video colors have visibly uneven lightness (I had to reduce saturation to 0.8 of the whole gradient to mitigate this a bit), OKLCH or LAB would solve this issue. The only reason I'm sticking with HSB, for now, is because it's just more convenient as it's natively supported both in graphic editors and SwiftUI, hope other models will get more widespread soon 🤞
@ I hope so as well. I’m actually working on a SwiftUI Color Palette app that is built around OKLCH. So hopefully I can be start of a change 🙌
Awesome, let me know once there is something to test 🔥
@ Will do!
Нічого не тямлю в розробці на IOS, але відео було дуже цікаво дивитись
Дякую!
I would suggest to change the video title to something more mysterious/inviting, I only clicked to tell you this but wouldn't have clicked otherwise. Best of luck!
You're the reason click bait and ambiguous titles exist, the title to this video is fine. Imagine actually knowing what the video is about instead of getting a random lucky dip. Crazy.
Go watch shorts if you want mysterious content
I disagree. Sure it might not satisfy the algorithm, but the straightforward title made me want to click it because it was just what I was looking for
Why are you trying to encourage clickbait?
I clicked on this video because it looked neat and straightforward. And it was! Nothing wrong in optimizing titles for engagement, but clickbait can get annoying. I like knowing what I'm going to watch.
In general I prefer to underpromise in the title and overdeliver in the actual content. I think long term it will build trust and a more engaged audience, which is good for the algorithm as well. With this video specifically, YT shows CTR around 7%, maybe not stellar but above average.
I just clicked because I knew what I would watch lol
Hi! I am long time viewer! I love your videos and your app. I am a designer interested in helping open source projects with my work. I thought it would be cool to message you. If you are interested maybe let’s talk somewhere?
Hey, thank you for watching, feel free to reach out, there way to contact me in the video description 🙌