4 ms·
Totally agree with previous comments about WPF having a steep learning curve. We recently released our photo-tagging application called Tag That Photo. It's cur
by phdsolutions 7y ago
Totally agree with previous comments about WPF having a steep learning curve. We recently released our photo-tagging application called Tag That Photo. It's currently available for Windows and built on the WPF platform (Mac client coming in future). It detects & recognizes faces in user's local photo collections, allowing them to tag people, add keywords and location data to the images. All the data can be written back to the image metadata for import into other photo editing tools. Unlike many other face-recognition platforms out there, everything is executed locally so user's photos stay private.
Prior to creating Tag That Photo, we had little experience with the WPF beyond simple demo type applications. Of course we've come a long way over the course of development but it certainly hasn't been easy. We have extensive experience with many other UI frameworks such as WinForms, Android / iOS as well as various web frameworks, and I think it's safe to say that once you wrap your head around it, the WPF has the slickest architecture. The team that designed this really knew what they were doing. It has this "peeling-the-onion" mentality to it where it's simple to implement straight-forward use-cases but if you want lower-level control of essentially every aspect of rendering, binding, input handling etc it's all exposed for you.
In case you want to see the final product: https://www.tagthatphoto.com https://www.tagthatphoto.com
- moron4hire 7y agoYeah, I agree completely. WPF may not be as "pick up and run" as WinForms was, and perhaps some of that "pick up and run" of WinForms was hold-over from VB6, or being young enough to spend tons of time on it. But once I stopped just trying to "hack" at it and started actually reading the documentation, I really came to appreciate WPF, how it's put together, how it all works. Wish I had gotten on board with it when it first came out, rather than putting it off until just a few years ago.
- JamesBarney 7y agoI think just in general databinding has a steeper learning curve then the code based update approach. Kind of how Angular has a much steeper learning curve than j-query.
- balabaster 7y agoThe steep learning curve is worth it because most of the paradigms of WPF are transferable to other frameworks. It's my opinion that learning it well will actually make you a more organized programmer in terms of your architectural chops. Its heavy use of binding, aspect oriented programming, dependency injection, cascading styling dictionaries, converters etc. are heavily leaned upon in a number of other UI frameworks. Once you understand how to organise these paradigms properly, you'll find a lot of other frameworks far easier to migrate to. It's well worth learning, even if it's just as a transitory learning mechanism. I'm a big fan of learning frameworks that change your way of thinking and reduce the learning curve of other technologies. It's not for the feint of heart though - if you've never learned architecture to a level where you can separate your UI concerns from your logic properly and learned how to inject function into your UI from your viewmodel, there are some hard concepts to wrap your head around - especially when it comes to debugging - if you don't separate your concerns properly, it will make testing and debugging a bitch. There are a lot of "Oh wow! I never thought about it like that!" moments of realization on the curve - rather like that moment when Scotty realizes that he never considered that it was space that was moving in his transporter algorithms.
- OkGoDoIt 7y agoI’ve been looking for something exactly like this since the demise of Picasa. Just checked out the website, but I can’t figure out your pricing. Is it a one time purchase or subscription? How much does it cost? I’m not going to sign up for a free trial unless I know the pricing structure.
- phdsolutions 7y agoIt is a annual subscription based model, but you are free to cancel at any time. Check out the plans page for more info on the pricing. https://tagthatphoto.com/plans/ https://tagthatphoto.com/plans/