Bits and pieces about free software and various other things.

Wednesday, January 14, 2009

Cheese - Integration - Call for help/feedback/ideas

Some weeks ago I met Daniel and had a nice talk with him about Cheese. It was kind of a "whats done, whats next" talk while sipping on a hot cup of punch.

One of the topics we discussed was the integration of Cheese. I've worked on that during last years summer of code and wrote some code which was not fully integrated for Cheese 2.24 because it would have needed a feature freeze break. Over the last months not really much happened from my side (I've been busy with other things), but now the release of Gnome 2.26 is coming close and we need to have a decision here.

About the idea I had:
Integrate Cheese across gnome would be great! Thats quite simple with a dbus-backend. Apps like empathy, pidgin, evolution, gnome-about-me and so on could use the backend and implement some cool features (empathy: take a new avatar picture with cheese). Then I came across social networks like facebook and thought: "Hey, it would be so cool to have the possibility to go to facebook and set the avatar picture directly by choosing "take a new one with cheese" somehow!" That was the point. Why not having one single interface which can be used by both parties: desktop apps and web apps (browser). The key part of the story is the gtk-file-chooser. The idea was to make some kind of plugin system for gtk-file-chooser that makes cheese part of the "places" bar on the left, just like search.

During Guadec in Istanbul I've talked with some people and there the decision was made to use the upcoming media-manager (gsoc project of Cosimo) to integrate cheese into gtk-file-chooser. But now it looks like media-manager is not going to be used any more. That means I would have to make my own plugin-structure for gtk-file-chooser to achieve my goal! The other possibilty would be: forget about file-chooser, browser and web-apps. This would mean: integrate cheese over dbus in some of the applications I mentioned above.

The question:
My question now is: how much people would like to see this implemented? Is this feature wanted or do you think this is nonsense and people should use the normal way of making new pictures, saving them and open them as avatar in empathy? Are there some ideas to have a plugin structure in gtk-file-chooser?

Please help me deciding whats best: give me your feedback! New ideas are wanted as well. Either write a comment or write to the cheese mailing list.


EDIT: PS: For those of you who have some spare time and want to look into the (cheese-dbus)code, contact me! I have it on my computer and would need some time to bring it into a "lookable" version.


Anonymous said...

I think adding cheese to the open/places bar would be overkill. If that happens, evolution could want a place for emails, hampster for tasks, everybody will want their data easily accessible. However, most people most of the time will just want to open files from the open file dialog, not take new pictures, or read emails, or open tasks, so it's got a very low cost to gain.

The Dbus solution seems a much better option, since rather than then having to maintain a plugin against code that wasn't really designed for it, you've got a well known and respected API like Dbus to program against, and then any programs that want to can make use of it (again using a well known and relatively simple API), and those that don't won't get bogged down by, or have it thrust upon them...

Anonymous said...

Another idea:
Would it be possible that cheese ads a virtual webcam to the system through that I can use cheese effects for video-messaging?

Anonymous said...

I agree. Implement DBUS so the apps that want it can have it, otherwise, leave it be.

Anonymous said...

I think the Mozilla guys are thinking up on sth. to access the webcam, without flash (read native).

That should be the way to go for webservices.

Flex said...

Thanks for the feedback! I hope I'll get some more opinions about that but for now the situation is pretty much clear! Lets see what others have to say!

About the "virtual webcam" part. Thats I great idea! I've been thinking about that too (like you, to use cheese-effects with video calls) but I don't have any idea if this is possible. It would be a great feature, but I'm no device/gstreamer expert. With the upcoming opengl features in cheese (I hope they'll come ASAP!) we could also use opengl to make some overlay-controls to select effects and so on. But the "virtual webcam" issue is still on the plan. probably somebody else can help there?

oliver said...

Actually that sounds like a great idea, for several reasons:

- it shows some new refreshing ideas on the Gnome desktop (AFAIK camera integration in file chooser dialog does not exist on any desktop so far - correct if I'm wrong)
- it really makes the webcam available for all apps, not only for those that support it
- it could offer some new uses of the webcam or trigger new ideas

The biggest problem is probably the user interface - the file chooser needs to be as simple and clean as possible. But there was this idea floating around some months ago on some blog about extending the file chooser to offer files which are opened in other apps right now (like, you can then attach the picture you currently edit in Gimp to an email).

So maybe it would be acceptable to add a single new entry like "Other Apps" to the Places bar in file chooser, and that entry could lead to the current Cheese picture, and the current Cheese video (not sure about exact UI there), and maybe later it will be extended to support other apps like Gimp and OpenOffice.

Flex said...

I think you are referring to cosimos mediamanager. What you described was exactly the idea.

Well, I'm happy that at least one thinks I'm not totally crazy ;)

Leonardo Fontenelle said...

I don't have many ideas on how to integrate Cheese through GNOME. But please remember there still are some people that don't own a webcam, like me. Take care to avoid regressions in usability for people without webcams :)

Anonymous said...

@oliver: windows xp integrates the webcam into My computer, but i don't find it useful.

First anonymous spoke the truth: there's no need to complicate gtk-file-chooser.

Integration with empathy and gnome-about-me for example, via dbus would be great.

.fosk. said...

I agree completely with Alexeftimie:

- Dont think is a good idea to complicate gtk-file-chooser
- Integration with gnome-about and empathy trough D-bus would be great

I keep thinking that the picture on gnome-about, the avatar on empathy, and the posible differents avatars on websites as facebook, flickr, etc, should all of them be synchronized automatically somehow.

Flex said...

@ leonardo: sure!!!! If you don't have cheese installed, there is no need to show the possibility to open cheese out of gtk-file-chooser! If you install cheese without a webcam, than it's your fault! it could be that you have a pluggable webcam and I don't think its useful to show the "option" only if the webcam is plugged. This should depend on cheese only!

@ alexeftimie: well it's not about integrating the webcam in gtk-file-chooser, but it's about integrating cheese in gtk-file-chooser! Thats quite a difference.

It would be appreciable to have the possibility to add and remove applications by hand! Just like adding new bookmarks (places).

Søren Hauberg said...

As others have said, the integration with gtk-file-chooser is not a particular good idea.

However, a variation might work: one problem with gtk-file-chooser is that it is too general, i.e. it allows you to choose files. If we had things like gtk-image-chooser, gtk-document-chooser, gtk-project-chooser, etc. the situation would be different. If we had such specialised dialogs you could integrate with gtk-image-chooser, but not with the other chooser dialogs.

Flex said...

well....I thought that it is possible to tell gtk-file-chooser wich files are wanted...Some times I see only images, some times I see only .foo files! This should already be possible (or am I wrong?)...

Kalle Persson said...

@Anon1: No, emails and hamster tasks aren't files.

This would be a VERY good idea, and actually one that has been discussed among GNOME designers for a while now.

Actually adding folders for "media collecting software" like Cheese,F-Spot,Banshee/Rythmbox etc" in the places sidebar is a very good idea because it makes the user able to find things like that easier.

Hmm.. I'm gonna make a mockup for this.
I'll recomment when/if it's done

Good post!

Kalle Persson said...

Hey, I've actually finished the mockup now. Not to try to direct traffic, but you can find it on my blog.

Is that kind of what you were thinking of?


Anonymous said...

I would like to do a proposal as well, that would not need to add a new entry to the places bar.

Please see my mockup in

But let me explain:

1) In my gtk-file-chooser I already have an Images bookmark.
2) Inside this bookmark I already have a Webcam directory that was created by Cheese itself.
3) Inside this Webcam directory I have several images that have been captured with Cheese

Then, why don't you add a "virtual" image named "Capture a new image with Cheese..." that when selected launches the dbus service for Cheese, allows the user to capture a new image and sends the capture back to the application owner of the file-chooser.

I would really like to see this, not only implemented for Cheese, but also for Openoffice when browsing my Documents directory, and so on.

Best regards. Daniel.

Tretle said...

This may sound like bit of a silly request but having the ability to record sound along with video would be killer. Especially with my new hd video recording creative webcam with integrated usb mic i got at christmas lol:D
This feature may already be there but I didn't see anything exposed in the settings regarding mic inputs.
Its small and those new video effects would definitely take priority along with desktop integration but sound recording seems like the next logical step to me.
Think about it, video podcasting and services like youtube have become extremely popular, cheese could make the perfect app for creating these type of video broadcasts and would definately compliment pitivi and tempt an emerging demeograph into trying open source software.
Well thats my two cents, cheese rocks by the way :D:P

Flex said...

@ kalle: thx a lot kalle!!!

@ daniel: nice mockup! thx a lot!

This is not exactly what I meant, though I’ve been thinking about this too! On windows I’ve seen something similar, where you can have special folders, when you save something in there (e.g. a pdf file) the dms (data management system) will automatically pop up and ask you to set some key worts to store the file in the dms.

Probably the way you would like to make it is better than mine... *think*

@ tretle: video recording should work fine with sound! As far as I'm informed we take the device you've set up in gstreamer-properties! :)

Fred said...

Personally, I would not be pleased to have another item in my bookmarks list, especially not for cheese, which I love, but only use every so often.

What I would like to see in the near future is a tighter integration with the rest of the imagery applications in GNOME, like the possibility to make a picture from within EOG or GIMP.

Anonymous said...

Facebook has made it clear to me that people are the important part of most photographs. Face tagging is a great way to encourage people to add metadata, didn't believe the semantic web had a chance before Facebook showed users could be encourage to tag.
Improving Cheese so that people will find it easy to (name)tag their photos could provide valuable information for other projects to work with (Soylent?). A group of photos taken within a certian time and offering to tag them all in a largely automated way could be very useful to other applictions (such as uploading those same photos to facebook).

As others have said DBUS fits better with the traditional unix do-one-thing-well method and encourages others to reuse Cheese in ways you might not ever have considered.

Flex said...

Fred: well, it would be good to have the possibility to add and remove apps you want to use out of gtk-file-chooser. Thats one option! I don't know how difficult it would be to implement and how much need there is...

The other way to do it was explained by Daniel before, to have a virtual file and when you click on it, cheese pops up, you take a new picture and return to gtk-file-chooser where the new shot is already selected. Then you are free to have a bookmark to the folder where cheese stores its pictures (~/Pictures/Webcam).

In my opinion this would be the best solution....but I don't know if its possible or not to have such a special file which calls a dbus-method.

alanhorkan: I don't know if tagging pictures fits into cheese. Thats why you have full blown image managers like fspot. Using dbus is not off the table! That would be the way to do it. The question is just: would gtk-file-chooser be a good choice to use the dbus interface and give other apps the possibility to reuse this without implementing it again?

Anonymous said...

If in the file chooser, it needs to only be there for images.

I like the idea of different choosers, but you also need to be able to use it in the default chooser if someone was looking for images too maybe

Anonymous said...

@Flex I'm not sure how exactly tagging could be nicely integrated into Cheese but if you think of Cheese as a Camera and consider all the information a camera would automatically tag onto an image and who appears in the photo is also important tag information that users might find it convenient to add if it was presented in a good way. The trick is figuring out how it presented in a clean and intuitive way but I haven't quite figured that part out.
(I wouldn't suggest going so far as trying to tag faces, but digital cameras do that too now to help with automatic focus, maybe something to get you thinking about Cheese from another angle)

Flex said...

@ alanhorkan: well thats a nice idea but has nothing to do with the "integration" i wanted to make. I wanted to have the possibility to start cheese out of other applications.

But you're right, tagging would be nice! please file a feature request bug in bugzilla :)

metabradley said...

dbus integration is a great idea... it would but linux way ahead for webcam integration.
(well i haven't used osx or vista in a while but i think it would be way ahead!)

integrating it with web-apps as well is a good idea but sounds way to difficult for the pay-off.

Dissertation help said...

Wow Impressive! Your blog is very informative. However, it is pretty hard task but your post and experience serve and teach me how to handle and make it more simple and manageable.Thanks for the tips… Best regards.

Blog Archive

View My Stats