Introducing AdaptableGIMP

Video thumbnail (Frame 0) Video thumbnail (Frame 2359) Video thumbnail (Frame 4761) Video thumbnail (Frame 6511) Video thumbnail (Frame 10844) Video thumbnail (Frame 12224) Video thumbnail (Frame 13283) Video thumbnail (Frame 17888) Video thumbnail (Frame 30488) Video thumbnail (Frame 33544) Video thumbnail (Frame 35583) Video thumbnail (Frame 44279) Video thumbnail (Frame 44876)
Video in TIB AV-Portal: Introducing AdaptableGIMP

Formal Metadata

Introducing AdaptableGIMP
Title of Series
Part Number
Number of Parts
CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
Release Date
Production Place

Content Metadata

Subject Area
In this talk, we will present AdaptableGIMP, a new version of GIMP that introduces the notion of crowdsourced interface customizations to applications. Using AdaptableGIMP, users can customize the software for specific tasks. These customizations are instantly made available to all other users. Additionally, each customization has a corresponding wiki page, allowing tutorials to be created for each customization. We will describe the rationale behind the approach, demonstrate the new interface and its features, and discuss implications for this design.
Keywords Libre Graphics Meeting (LGM) Libre and Open Source graphics software
Demo (music) Interface (computing) Multiplication sign Source code Projective plane Set (mathematics) Flow separation Theory Twitter Revision control Uniform resource locator Different (Kate Ryan album) Universe (mathematics) Right angle Game theory Metropolitan area network Task (computing)
Point (geometry) Group action Standard deviation Demo (music) Interface (computing) Source code Binary code Lattice (order) Cartesian coordinate system Revision control Wiki Computer animation Bit rate Window Annihilator (ring theory)
Rectangle Presentation of a group View (database) Set (mathematics) Shape (magazine) Web browser Mereology Computer programming Wiki Revision control Average Different (Kate Ryan album) Cuboid Software testing Selectivity (electronic) Descriptive statistics Task (computing) Area Graph (mathematics) Information Interface (computing) Projective plane Electronic mailing list Variance Cartesian coordinate system Computer animation Software Interrupt <Informatik> Normal (geometry) Right angle Square number Resultant
Web page Trail Execution unit Rectangle Twin prime Chemical equation Multiplication sign Electronic mailing list Sampling (statistics) Coordinate system Graph coloring Wiki Mathematics Computer animation Vector space Normal (geometry) Right angle Software testing Quicksort Square number Task (computing)
Wiki Computer animation Electronic mailing list Set (mathematics) Computer-assisted translation Cartesian coordinate system
Point (geometry) Web page Onlinecommunity Menu (computing) Event horizon Revision control Wiki Medical imaging Mathematics Set (mathematics) Software testing Data structure Descriptive statistics Physical system Task (computing) Execution unit Touchscreen Interface (computing) Cartesian coordinate system Entire function Word Message passing Arithmetic mean Computer animation Software Right angle Task (computing)
Presentation of a group Context awareness Code Multiplication sign Direction (geometry) Decision theory 1 (number) Set (mathematics) Mereology Perspective (visual) Medical imaging Semiconductor memory Different (Kate Ryan album) Cuboid Endliche Modelltheorie Extension (kinesiology) Descriptive statistics Physical system Constraint (mathematics) File format Electronic mailing list Instance (computer science) Sequence Connected space Annulus (mathematics) Type theory Message passing Repository (publishing) Order (biology) Right angle Quicksort Resultant Sinc function Point (geometry) Slide rule Open source Adaptive behavior Maxima and minima Floating point Inclined plane Streaming media Theory Value-added network Product (business) Goodness of fit Term (mathematics) Computer hardware Reduction of order Software testing output Metropolitan area network Task (computing) Default (computer science) Execution unit Interface (computing) Basis <Mathematik> Cartesian coordinate system Word Moment of inertia Computer animation Integrated development environment Software Personal digital assistant Game theory Object (grammar) Library (computing)
Group action Code State of matter Direction (geometry) Multiplication sign Information privacy Wiki Mathematics Computer configuration Hypermedia Endliche Modelltheorie Information security Social class Oracle Area Collaborationism Feedback Electronic mailing list Bit Price index Lattice (order) Arithmetic mean Website Right angle Quicksort Task (computing) Writing Directed graph Ocean current Trail Server (computing) Link (knot theory) Branch (computer science) Revision control Goodness of fit Term (mathematics) Touch typing Representation (politics) Software testing Gamma function Proxy server Task (computing) Execution unit Multiplication Database Uniform resource locator Computer animation Factory (trading post) Blog Game theory Local ring
Area Computer animation Information Product (business)
Email Wiki Computer animation Information Multiplication sign Counting
so Michael theory a new university 1 of the problems something briefly this morning and so this is my 2nd talk mostly and then it's going to be giving it but also on interest spilled because he's been working on the project well it's about 4 years ago and I came to tell GMM as it a we have this version again that's instrumented called in game we wanna collect data about how people use in practice we collected and several years worth of data and so thanks to everybody who downloaded and use that and 1 of the most interesting findings was that people used about 6 different commands of about 500 commands and get it right but they weren't the same 6 commands there at a different set of friends so we couldn't just say well these are only 6 commands that people use let's just you know given everything else and then we just have 6 grants not everyone uses a different set of commands said well what can we do with this finding right obviously interfaces are complex it takes time to locate commands in interface what can we do to and help users from and what the insights was that and when you want to perform a particular task the need are scattered throughout the universe right you have to go and grab a trend here that can here grabbed man they're they're not all centralized so awarded a demo today is this a new version again called adapt will give and I think probably at the switch looks like we switch sources as a yeah
area and so we have a new version again that we've been
working on for already by you're not really and
called that will get the bill right now you can download meeting at the source code you can get on binaries for 32 bit of about 2 you can also get for windows and so this point I'm going to hand it over to he's gonna give you are aligned demo of a double given action I we on of or should yeah I rate also this is adaptable again I it started up here at the 1st thing that you'll notice is that we've got this out will standard gimp interface underneath but we've got this choose user window in In front here and so that allows people to use users that they create on a wiki which is associated with the applications which are also the the wiki in a 2nd and explain how that all works in but just take it on faith right now got this concept of of users and such itself quickly now we've got the normal given
interface but a lot of things different over on this side here we've got a modified toolbox the 1st thing you might notice is we've got our ace of longer review for commands rather than the typical grid view and part of the motivation for that is what we're tugboat of customizing the interface for performing particular tasks and the Indian project will 1 of the things that we found was people are typically uses an average of a vote of about what 6 commands to perform a task so we we a created something where you can have extra detail on the grounds of the included and because of that result of only about 6 commands we could keep the size of the thing being more important thing is that the search box up here and this is our for searching what we call past sets which are customizations of the interface for performing a a particular task so just give it an a short example of using the program so is
that so Adam mentioned i in his presentation this morning that are drawing basic shapes so in India and this is something that a lot of people are searching for so all I just find that kind of a good example so typing in here you get a list of different test sets selecting 1 but customizes toolbox for performing that task so that we can do graph that struck structure and that be I don't know if there's ever been that much applause for drawing directly in the of In fact please interrupt request yet about real the I'm glad yeah so but that's cool that you had to do that with those tools that had been that had a to this has selection was the right answer 0 that's the yet OK so that's actually an excellent question and we did not want you know all the possible so we have clicking in there brings up in application documentation variances I just go out and do it again because I think was not 1 0 yeah yeah OK so this is like the current i tacit that's loaded we've got this info button and that brings up documentation for the the current that's so so this this is where the whole thing that I was talking about before about uh wiki comes in so this is actually documentation on a wiki at adaptable again . 4 or so so I open and browser here we have found this is a wiki page we use a modified version of the MediaWiki software to implement this you notice that more or less it's it's a normal wiki page we've got this description area you can edit it like a normal wiki page but also on the right hand side here we have a list of the commands that are included but in the test set and so far to go and edits this wiki page to the 2nd but we had an interface on the
wiki for adding and removing the and the commands at the list of commands and tasks that are actually stored our uh xml but that's actually how we do it just underneath right is that it's sort is XML but in the wiki text of the actual page and then you have the normal stuff for editing as a wiki page down below and the nice thing about using our wiki for this is that we get all of the change tracking in all the other things that that that wikis the have evolved over time for co-ordinating effort of people contributing to documenting and creating so that's vector in cations so we have a
bunch of test that's created right now the 1 that I like to use and sample is changing eye color 1 now accuses an example justice there is a
cute cat in the year so mostly right now that has that we've got on here were created by based on lists of common user a common user needs but the goal obviously is to get a community of people creating them and and documenting them so as well as being able to
create and test sets on the wiki you can create them inside of the application and so on now some
of concerns for the test of the and I is the and gene in general here and then I I was going to choose a few given commands here and that the mean now we arrange the the commands by the menu structure here just because that's familiar to you using software and then you can optionally add some description which will act as a CDO actors of the text that starts off the there were keep like exceed changes here it uploads it out to the wiki now we display this this page at this point this side message at this point because once you create a I task that you have a copy of it on your system and it's created this this wiki page version of it and any changes to the wiki page version of it are not pushed down to your yeah local version because we thought that that would be kind of disconcerting while you're using an application or even between runs the application the commands and think things so that uh the you have installed changing it this means the so we still got the right date of images and buzzword out at here so that 1 of the main idea here is that we essentially along word the crowd-sourcing interface customizations that are task-centric right so any customization of the the application you make through . pulled him once you say that it's made available to the entire user community right so the idea is that everyone can and learn from 1 another more easily than they do right now right so you know you have this idea for you know this customization you you want to create 1 4 tilt-shift tilt-shift photography right so you this there's not 1 there you create it wants to say that the entire community than has access to them so you greater customization when you create locally the events said then it's uploaded to the wiki out where it has its own wiki page so maybe you wanna go to the the to the wiki known to show that when the screen is to see if really prove that lies that we were yes so we have a little thing here that says that this is then uploaded to you know access as they did before you intend so that so so 1 of the things
that we really hope happens this is done people's so but that people's propensity or or inclination to create documentation tutorials can now be done through that's right so you know the open source community already has already demonstrated that people will will only create torial and documentation to support and the software that now you can do so in the context of the application where you not only providing the documentation you're also providing the ability for the user to customize the interface for that particular task right so instead of having to go away page and say OK well where is this good man interface where I find that everything's collected for you in 1 spot in the task that little 1 so soon 1st of all this is really awesome and uh and and we definitely need to get this ship working in London because people are so confused by blunder in like the a Python API would make it really easy you well not surprising but it would make it to possible help but on a similar note I I would suspect you have and this is so cool that it would be great to see it really not die and die and in my theory is is that and as I understand it give it doesn't allow when you to build the kind of do this stuff in there without kind of catching the back and forth and it's a how are we going to help make sure the streams diesel well how are you going to help the picture and that I don't know I'm kind of so our original intention was to have Jesus that what will set of models and and so still here was actually working as a coffin with this the entire last term to always working and as his co-op term started to run out reason OK we'll just get working given memorial worry about model marginalizing it all here so yeah I would love to make these things as a set of sensible extensible models are models that other people can use the basic ideas are there and so you can at least look at the new ideas and maybe have something of an neuron can had 2 instances of the same tools different default settings so we have an integrated yet had the ability to change default settings but that's something that we're really really interested in as well as changing the either the name of it In some ways as well but we do have the ability to include multiple instances of the same tool because 1 of the nice things about about this is that we want to support what we wanna support having commands in in the sequence that you use them and sometimes you might use the same tool at different points in the sequence so we do have support for for including the same command twice such that the reason I ask of is in my community we have a lot of people who like to to pixel which use very reduced feature set and you I find gives featuring a really very good for that if you can get out did your way through all the other stuff talking and a certain form of but in that case it would be nice to have different tools that are sort of the same tools with different settings so yams quickly that in different ways yeah I know that that that's like that's and that's really something that we're going to that we're interested in doing the other the other big thing that we want to extend our and add in there is some sort of scripting so that certain tasks you're not going to need to our you know I haven't necessarily going need to do any human intervention that they could just run in sequence right so we would like also the ability to have like collapse those into yeah that's the thing the 1 key concern is that these things should be sandbox right yeah so if you start executing code and it essentially code from that we need to make sure we do so in a way that secure OK can I have a slightly different questions since Inkscape by start implementing and adaptability in a different way with a completely different concept well coming at it from a completely different side and see where you're heading with this who do we need to according with to make sure we get a nice common library under this stuff that is reusable so we don't so the common words like you have in here can be shared especially in a simple format what to do how to approach it and make it a ubiquitous everywhere so that's a request coming out of saying all 3 of us that you you according with and we do have a good repository of this made available but you know working with new helps us get to the point where we have a generic models faster you know I think of the great so well 1 of the steps in that direction is we want to create of microformat for representing customizations because but that would be that it would just be nice step toward defining how to embed Our descriptions of of commands or other customizations into documentation and that's sort of a big part of this approach hardware from back in perspective rather it's part of the reason that it's XML is because it's extensible so we can do things like eventually i'd the customers the virtual customizations that rest for and you will to support things like other applications that may have very different needs because of time constraints and wanting to get some data on this we have to kind of get we start with this grand suffrage environment things abstracted in the back and everything was extensible for any kind of object and in the day we had to get something presentable so we don't have to sacrifice some of that but I mean on my to do list at the very bottom passing there was great live adaptable showing that the and then system appeals came from the it just because the to see the connection between India in Indian and this is really fantastic and not to see that as the data collection and he led to thinking about how you could and mutually start to make the in thing to face that that some curious if you have any ideas of what you will come presenters Justin just as in 13 and that that you had no sense so that you know the next that really for this is to build a community around it so I you know I encourage you to download it and use it let us know what works and what doesn't work for you right you know there if you don't want use it for whatever reason let us know so that we can make it more accessible and more attractive to people and so you have 2 years from now I don't like you know when I said staying here and talk of Indian product that I could imagine that this is what the result would be we we need to really get the dating from people using on a day-to-day basis right so I think there was a really interesting 3 interesting questions we have and that will inform what our message will be 2 years from now but they will only be answered 3 usage right so for example you know you have this idea of this great red-eye reduction and this other person has great idea what happens to people get in edit wars over you know what the canonical tasks that should be awarded the fork right and so we don't know what's going to happen and and were really interested in and we want to be reactive in terms of the design and and you know designed to people's needs yeah so we this person is collecting data just like in Game and the data can actually I fold into the use of the sock work more readily or or in very interesting ways so you know we can list that the
types of tasks that people have installed which ones are actually using you know we can look at how long people or using a particular tasks that and post and task order test sets and that manner so you know by collecting the data about how people are using it then we can feed that into the task that's the exploration of tasks that you see here and so note that norm and while my getting older I should say that have been mentioned that we already have a set of tasks that the task sets that we have are actually informed by Adams work where we look at what people are searching for commonly on Google and so then we we implemented those particular task of community due to its rest I removal of such as you really don't have a duplicate irony remove consists of decisions about tonight uh I don't know if we have any further red-eye removal but we do have multiple for like set the atoning uh a image so right and what they're all these questions that we don't have to lecture boring slide yeah yeah uh you mention that when you upload a new testset you just created edits to week he would not um be well done locally yet in general and are these new test set created by other users made available locally so it that'd like help prevent from these duplicates basically if if you search for it I and is always a red there is no re slope is less reason to create right so when you yeah 1 after that so when you're searching and in the search box yeah go and so is the year when you're
searching right there that the white search against the wiki at the end so also when you're making a task so I think there is some indication of has a minority group test set with a specific with that's very specific name we don't have more because of rising to say uh yeah so that would be something good right so yes and yes so so to speak a bit more about this model task-sets and the local verses and so versus what's on the which land and you're searching here you're searching the wiki and then when you choose 1 it pulls gun in the wiki and install it locally right and now there's as real question of you might make changes to my local tasks that should the rest of the community see that right and we said no because if you pull something down and then the next day you start up and it's changed it's going to confuse you go well wait a minute you know the tools I changed right that doesn't mean you can't sink so you actually have a capability can you show you so when you are at your local task-set appartment created you have the option of sinking it with the current community version right so it's it's an explicit step and so that you maintain a
constant with your local that what was created new so so here we have lot the test that that we that I created earlier in the talk here and what we have is this and it was all think it's yeah this is this is the area yeah so so we had but think that this is a bit about but we had thing where you could put you could find in this list the latest version and that's the latest version online on the wiki and then we've got this us think but where you click that you can sink it but the reason why we why we made it so that you could display on the 1 side the commands in the latest version and and the commands in the local version if you've added 1 command because you added a couple commands to it because you like to supplement that that task with with a couple of young commands you don't want this to be overwritten in a sink so the idea is to give you an easy way of looking at the current state of the community version you can do manuals adding of changes if you want or you can just click the button to could so this is once again it's totally wonderful and and then I imagine you've thought about this but it wouldn't here to me that there needs to be an option to join multiple communities Communities and switch between them and the for example for some private community me and some collaborators who work on similar things that I would want to it the changes when that when I I switch might to this I now a member of community X primed them before this to me they could see whatever change anybody meets I want to have it now this is in the sense that they could switch out of this community and join a community where changes are not diplomatic of this and make sense yeah that's a really interesting and saw that this links really well at the factory communities talk from earlier this week because of by now the only way to do this is by going to the code changing URL and then recompiling but you can point here that for them toward any server that's running our wiki modifications and direct database and work at that site because we did concern about corporations might have all workflows but they use for specific tasks very strict guidelines they wanna keep that within their own community that's fine like you just change the URL basically would be nice to have the 1 that that as 1 can gradually there was no sentences say here you can get the get a lot of the yeah this is really exciting they said it's you know that were like the game is notorious as a in of follower another leader and understand that this is really the warning I mean I think seriously like this is something you could never imagine this in in in proprietary software and that only the material to put it you put a then we had at 1st and we can learn about the the it is 1 the guess which technically whether a wiki is is most suitable for something like this uh in terms of this sort of being monolithic but maybe uh maybe maybe a branched to just a version control system so some sort of so I don't want 1 of the things that we played with that that I would like to explore a little more is if we have a structured representation for a class of the maximal representation then maybe you can just have it embedded in any sort of media a blog post of wiki multiple wikis you know any sort of medium and then pull from that all especially if we start getting into a having macros and that there are some security implications but you know those could be overcome it it it that's an interesting idea I think that's 1 so I mean there's so many possibilities this could go on there so many possible directions this work going to what's going to be important for you to keep in touch with us and say I really need this right because hearing from you is going to help us prioritize the effort to moving forward and so and you mean I just want to thank you and I'm going to plot a little bit about the proxy schizophrenic feedback and we guys think that you guys crack it's did practice that we want to right track and so as I did but it's very interesting ideas and the writings of the from wanted consider some of that and it's a very enthusiastic research done in the way you do it and is is a very good that the drift in particular like Indian and adaptable again so it has like privacy issues that it is not the official game but they also sometimes slightly concerned with the sports notice what all the people doing interesting work based off again and that sometimes people do that on like rather old branches so it's very difficult and inspects changes by an and internal thank you and then you have oracle endorsements that there uh there also apart because you don't actually class this is Jim so thank you thank you were over time on them you and
so bad news stroke like that in your area
product so that was the end up or and there you can find my contact information we have you know
whatever just you might have for building up community please let go of it if
you are good with packaging particularly in packaging we would love to hear from you are package is horribly broken because I and I don't know packaging and I just tried to change it from the get 1 so contact me that building from those where 2 huge times things that you know about so the only value well where they also would like to talk to talk to the I user this information and we will this