--000000000000edf0c1057664d136 Content-Type: text/plain; charset="UTF-8" On Fri, 21 Sep 2018 at 16:40, Jaroslaw Staniek wrote: > > On Fri, 21 Sep 2018 at 16:23, Scott Petrovic > wrote: > >> One thing that helps Krita is it has focus on who they are helping >> (people that can draw and paint). Photoshop caters to a lot of different >> industries - which is why it has 1,000 features built into it (which is >> both good and bad). When you get feedback from people, they oftentimes >> don't tell you important information about who they are. Are they graphic >> designers, web designers, photographers, 3d texture artists, animators, or >> maybe beginners just trying to get into basic image editing like cropping. >> You need to find out who you are trying to help. Graphic designers don't >> normally do painting and illustrations, and web designers don't usually do >> animation. This is why pretty much everyone only uses 2-3% of all the >> features in Photoshop. The rest of the features are just useless to them >> and are UI clutter. >> >> Trying to do a 1:1 copy of Photoshop isn't a good direction. That program >> has had 30 years to add a giant amount of features that have turned it into >> the powerful/bloated software that it has become. As a UI/UX person, I >> would focus on finding the people you want to help, learn about them, and >> give them a product that they are excited about. >> > > Practical thing is, I'd like to gently hear from the Krita community if > they accept properly done "Photoshop" mode for Krita, perhaps at the build > time and if possible go there. Krita has dozens of structures and GUI items > you need but you do not want to re-implement them in coming years... This > can be done right but has costs too for Krita so cost-benefit math needs to > be done first. > Similar: Phase 5 and 6 from https://github.com/eyeon/Fixture/blob/master/ROADMAP.md looks like a business of Calligra from years 201x and it took many years to reach beta. Whatever we implement, per rule of thumb it's 20%, then you have 80% of work in tests. Like Boud said, many features such as the lasso tool, you plan in earlier phases would have to be reimplemented if you do not use variable color spaces from day one, and then reimplemented again if you do not use tiles instead of linear memory model from day one. And this is top of the iceberg... Simple editing and viewing tools you list are a property of advanced image viewers these days, very often even online and mobile ones. So there's a lot to do to match good image viewer, not raster editor. > >> >> >> On Fri, Sep 21, 2018 at 7:10 AM Kuntal Majumder wrote: >> >>> Hey, >>> >>> ---- On Fri, 21 Sep 2018 16:28:41 +0530 Boudewijn Rempt < >>> boud@valdyas.org> wrote ---- >>> > Using QGraphicsItems for layers is not an approach that's going to >>> work out. >>> > It will not perform, it will not allow you to go beyond 8 bits sRGB >>> and it >>> > will take too much memory. >>> > >>> > If you insist on starting from scratch, and I understand the >>> temptation, you >>> > should: >>> > >>> > * consider color management: you cannot do anything useful unless >>> you >>> > understand color management. Check out littlecms and >>> https://poynton.ca/ >>> > ColorFAQ.html. >>> > >>> > * develop a structure for storing (including swapping), modifying >>> and >>> > retrieving raster data. QGraphicsView actually is a tile engine, but >>> you're >>> > not using it that way. Its level of maintenance in Qt is also low. >>> > >>> > * develop a system for undo/redo -- Krita uses Qt's system for that, >>> but if >>> > you want to clone photoshop, you should consider using their system. >>> There's a >>> > presentation from an Adobe engineer at a C++ conference in Moscow >>> that should >>> > help you form an idea. But basically, every modification results in a >>> shallow >>> > clone of the document. You will need this to clone photoshop's >>> history brush. >>> > Google for it, I cannot find the presentation right now. >>> > >>> > Then you can start on implementing a real canvas and a tool system. >>> >>> Thanks for the pointers, at least I won't be clueless like before. >>> >>> > I only remember you from https://phabricator.kde.org/T8198#132594 -- >>> did you >>> > post a patch for review and did I miss that? >>> >>> This is the one you reviewed https://phabricator.kde.org/D10202 >>> >>> Thanks >>> Kuntal M >>> >>> >>> > > -- > regards, Jaroslaw Staniek > > KDE: > : A world-wide network of software engineers, artists, writers, translators > : and facilitators committed to Free Software development - http://kde.org > KEXI: > : A visual database apps builder - http://calligra.org/kexi > http://twitter.com/kexi_project https://facebook.com/kexi.project > Qt Certified Specialist: > : http://www.linkedin.com/in/jstaniek > -- regards, Jaroslaw Staniek KDE: : A world-wide network of software engineers, artists, writers, translators : and facilitators committed to Free Software development - http://kde.org KEXI: : A visual database apps builder - http://calligra.org/kexi http://twitter.com/kexi_project https://facebook.com/kexi.project Qt Certified Specialist: : http://www.linkedin.com/in/jstaniek --000000000000edf0c1057664d136 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

On Fri, 21 Sep 2018 at 16:40,= Jaroslaw Staniek <= staniek@kde.org> wrote:

On Fri,= 21 Sep 2018 at 16:23, Scott Petrovic <scottpetrovic@gmail.com> wrote:
One thi= ng that helps Krita is it has focus on who they are helping (people that ca= n draw and paint). Photoshop caters to a lot of different industries - whic= h is why it has 1,000 features built into it (which is both good and bad). = When you get feedback from people, they oftentimes don't tell you impor= tant information about who they are. Are they graphic designers, web design= ers, photographers, 3d texture artists, animators, or maybe beginners just = trying to get into basic image editing like cropping. You need to find out = who you are trying to help. Graphic designers don't normally do paintin= g and illustrations, and web designers don't usually do animation. This= is why pretty much everyone only uses 2-3% of all the features in Photosho= p. The rest of the features are just useless to them and are UI clutter.
Trying to do a 1:1 copy of Photoshop isn't a good dire= ction. That program has had 30 years to add a giant amount of features that= have turned it into the powerful/bloated software that it has become. As a= UI/UX person, I would focus on finding the people you want to help, learn = about them, and give them a product that they are excited about.

Practical thing is, I'd like to gently hear from the K= rita community if they accept properly done "Photoshop" mode for = Krita, perhaps at the build time and if possible go there. Krita has dozens= of structures and GUI items you need but you do not want to re-implement t= hem in coming years... This can be done right but has costs too for Krita s= o cost-benefit math needs to be done first.

Similar:=C2=A0<= /span>Phase 5 and 6 from=C2=A0https://github.com/eyeon/Fixture/blob/master/ROADMAP.md=C2=A0looks like a business of C= alligra from years 201x and it took many years to reach beta. Whatever we i= mplement, per rule of thumb it's 20%, then you have 80% of work in test= s.

Like Boud said, many features such as the lasso tool, you = plan in earlier phases would have to be reimplemented if you do not use var= iable color spaces from day one, and then reimplemented again if you do not= use tiles instead of linear memory model from day one. And this is top of = the iceberg... Simple editing and viewing tools you list are a property of = advanced image viewers these days, very often even online and mobile ones. = So there's a lot to do to match good image viewer, not raster editor.
=


=C2=A0=C2=A0

On Fri, Sep 21, 2018 at 7:10 AM Kuntal Majumder <zee@hellozee.me> wrote:
Hey,

=C2=A0---- On Fri, 21 Sep 2018 16:28:41 +0530 Boudewijn Rempt <boud@valdyas.org> wro= te ----
=C2=A0> Using QGraphicsItems for layers is not an approach that's go= ing to work out.=C2=A0
=C2=A0> It will not perform, it will not allow you to go beyond 8 bits s= RGB and it=C2=A0
=C2=A0> will take too much memory.
=C2=A0>=C2=A0
=C2=A0> If you insist on starting from scratch, and I understand the tem= ptation, you=C2=A0
=C2=A0> should:
=C2=A0>=C2=A0
=C2=A0> * consider color management: you cannot do anything useful unles= s you=C2=A0
=C2=A0> understand color management. Check out littlecms and https://poynton.c= a/
=C2=A0> ColorFAQ.html.
=C2=A0>=C2=A0
=C2=A0> * develop a structure for storing (including swapping), modifyin= g and=C2=A0
=C2=A0> retrieving raster data. QGraphicsView actually is a tile engine,= but you're=C2=A0
=C2=A0> not using it that way. Its level of maintenance in Qt is also lo= w.
=C2=A0>=C2=A0
=C2=A0> * develop a system for undo/redo -- Krita uses Qt's system f= or that, but if=C2=A0
=C2=A0> you want to clone photoshop, you should consider using their sys= tem. There's a=C2=A0
=C2=A0> presentation from an Adobe engineer at a C++ conference in Mosco= w that should=C2=A0
=C2=A0> help you form an idea. But basically, every modification results= in a shallow=C2=A0
=C2=A0> clone of the document. You will need this to clone photoshop'= ;s history brush.=C2=A0
=C2=A0> Google for it, I cannot find the presentation right now.
=C2=A0>=C2=A0
=C2=A0> Then you can start on implementing a real canvas and a tool syst= em.

Thanks for the pointers, at least I won't be clueless like before.

=C2=A0> I only remember you from https://phabricator.kde.= org/T8198#132594 -- did you=C2=A0
=C2=A0> post a patch for review and did I miss that?

This is the one you reviewed https://phabricator.kde.org/D10202

Thanks
Kuntal M




--


--
regards, Jaroslaw Staniek

KDE:: A world-wide network of software engineers, artists, writers, translato= rs
: and facilitators committed to Free Software development - http://kde.org
KEXI:
: A vi= sual database apps builder - http://calligra.org/kexi
=C2=A0=C2=A0http://twitter.com/kexi_project= =C2=A0https= ://facebook.com/kexi.project
Qt Certified Specialist:
: http://www.linke= din.com/in/jstaniek
--000000000000edf0c1057664d136--