[jira] [Commented] (CB-9193) [Camera] Add option to choose from library even if source is camera
[ https://issues.apache.org/jira/browse/CB-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14605923#comment-14605923 ] Nikhil Khandelwal commented on CB-9193: --- This will be great to add! > [Camera] Add option to choose from library even if source is camera > --- > > Key: CB-9193 > URL: https://issues.apache.org/jira/browse/CB-9193 > Project: Apache Cordova > Issue Type: Improvement > Components: Plugin Camera >Reporter: Dan Polivy > > There are many scenarios where an app might allow a user to take a picture > via the camera, OR choose a photo from their library. With the current camera > plugin implementation, the developer must first present some type of chooser > UI to allow the user to initiate either the camera, or the library. > A potentially more efficient approach is to launch the camera by default, and > within the camera UI provide an option to switch over to the library -- > similar to the way the default Camera app works in iOS. > I am working on a PR to add this functionality via a new CameraOptions > setting. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-9193) [Camera] Add option to choose from library even if source is camera
[ https://issues.apache.org/jira/browse/CB-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14612679#comment-14612679 ] ASF GitHub Bot commented on CB-9193: GitHub user dpolivy opened a pull request: https://github.com/apache/cordova-plugin-camera/pull/104 CB-9193: Add 'showLibraryButton' to allow choosing source A new camera option, `showLibraryButton`, is added which allows the user to easily switch from the camera to the photo library once they have entered the plugin. Currently, this is optimally supported on iOS (7+), with additional implementations for Android and WP8 based on what was available for those platforms. Please see the documentation updates (specifically, the 'Quirks' changes) for details on how this is implemented on each platform. I realize that the behavior on Android and Windows Phone is not 100% consistent to iOS, but it is the best that can be done given the constraints of what's available on those platforms. If we were to rewrite this plugin to use completely custom camera UIs, we could do a whole lot better -- but that's a much bigger undertaking. I also made some opportunistic changes while I was working on this, including cleaning up parameter initialization for Android, moving hardcoded strings to localizable ones, fixing some space/tab and indentation inconsistencies, and other code cleanup. All modifications here do not impact the default functionality of someone who is currently using this plugin (though it would be great for additional test coverage on that). In order for this change to work, `showLibraryButton: true` must be passed in the options, and the source type must be `CAMERA`. @infil00p @shazron @nikhilkh @stevengill Is it possible to get reviews for your respective platforms? Fixes https://issues.apache.org/jira/browse/CB-9193 You can merge this pull request into a Git repository by running: $ git pull https://github.com/dpolivy/cordova-plugin-camera cb9193 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cordova-plugin-camera/pull/104.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #104 commit c84b1f63a4fb8b51db78c2a735cb88a8c88b9b2f Author: Dan Polivy Date: 2015-06-17T22:55:20Z CB-9193: Add 'showLibraryButton' to allow choosing source A new camera option, showLibraryButton, is added which allows the user to easily switch from the camera to the photo library once they have entered the plugin. Currently, this is optimally supported on iOS (7+), with additional implementations for Android and WP8 based on what was available for those platforms. > [Camera] Add option to choose from library even if source is camera > --- > > Key: CB-9193 > URL: https://issues.apache.org/jira/browse/CB-9193 > Project: Apache Cordova > Issue Type: Improvement > Components: Plugin Camera >Reporter: Dan Polivy > > There are many scenarios where an app might allow a user to take a picture > via the camera, OR choose a photo from their library. With the current camera > plugin implementation, the developer must first present some type of chooser > UI to allow the user to initiate either the camera, or the library. > A potentially more efficient approach is to launch the camera by default, and > within the camera UI provide an option to switch over to the library -- > similar to the way the default Camera app works in iOS. > I am working on a PR to add this functionality via a new CameraOptions > setting. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-9193) [Camera] Add option to choose from library even if source is camera
[ https://issues.apache.org/jira/browse/CB-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14615702#comment-14615702 ] ASF GitHub Bot commented on CB-9193: Github user muratsu commented on the pull request: https://github.com/apache/cordova-plugin-camera/pull/104#issuecomment-119003640 I would like to hear everyone's opinion on this before going with the code review. Showing the photo gallery on bottom left seems like a custom view behavior for the stock Camera app. I've tried this with couple apps and none of them, except WhatsApp had similar behavior. I think we should think about enabling custom camera UI scenarios instead of adding more platform quirks. But as noted it's a big undertaking. Note: In WhatsApp nothing happens when you actually tap on the black thumbnail. Slack ![](http://i.imgur.com/EATE0mD.png) WhatsApp ![](http://i.imgur.com/IifJahp.png) Messages ![](http://i.imgur.com/bick3dw.png) > [Camera] Add option to choose from library even if source is camera > --- > > Key: CB-9193 > URL: https://issues.apache.org/jira/browse/CB-9193 > Project: Apache Cordova > Issue Type: Improvement > Components: Plugin Camera >Reporter: Dan Polivy > > There are many scenarios where an app might allow a user to take a picture > via the camera, OR choose a photo from their library. With the current camera > plugin implementation, the developer must first present some type of chooser > UI to allow the user to initiate either the camera, or the library. > A potentially more efficient approach is to launch the camera by default, and > within the camera UI provide an option to switch over to the library -- > similar to the way the default Camera app works in iOS. > I am working on a PR to add this functionality via a new CameraOptions > setting. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-9193) [Camera] Add option to choose from library even if source is camera
[ https://issues.apache.org/jira/browse/CB-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14615808#comment-14615808 ] ASF GitHub Bot commented on CB-9193: Github user dpolivy commented on the pull request: https://github.com/apache/cordova-plugin-camera/pull/104#issuecomment-119015527 @muratsu Valid question, thanks for starting the discussion. The Android implementation is more like the Messages/Slack experience you highlight above. I think the "right" solution here really depends on the app and the desired user experience. For me, camera is the 90% usage scenario, but it's important to allow gallery upload, too. So the best UX is to launch right into the camera UI, with an option to fall out into the gallery. That creates an extra tap for only a smaller percentage of users, vs all users if we show a picker off the bat (e.g., like Android). Supporting better custom camera UI longer term may be a better way to solve this, but there's no way to defer that to the app developer without requiring them to go build some native components. To be honest, longer term I will likely fork this plugin, and replace the Android and Windows Phone implementations with ones using the low level camera APIs to better replicate the iOS approach, so I can build custom UIs on top of them that better match our usage scenarios. But, as a first (quicker) stab, I'm trying it this way, and wanted to give the opportunity to share this back as I can't imagine I'm the only one who would find this valuable. I'm curious to hear other's thoughts on this. Adding a more consistent "picker" UI which can be implemented consistently on all platforms might be a viable alternative -- BUT it kills the use case I mentioned above (which was my motivation for doing it in the first place). Plus, that can sort of be done already today by having separate buttons in your HTML UI. > [Camera] Add option to choose from library even if source is camera > --- > > Key: CB-9193 > URL: https://issues.apache.org/jira/browse/CB-9193 > Project: Apache Cordova > Issue Type: Improvement > Components: Plugin Camera >Reporter: Dan Polivy > > There are many scenarios where an app might allow a user to take a picture > via the camera, OR choose a photo from their library. With the current camera > plugin implementation, the developer must first present some type of chooser > UI to allow the user to initiate either the camera, or the library. > A potentially more efficient approach is to launch the camera by default, and > within the camera UI provide an option to switch over to the library -- > similar to the way the default Camera app works in iOS. > I am working on a PR to add this functionality via a new CameraOptions > setting. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-9193) [Camera] Add option to choose from library even if source is camera
[ https://issues.apache.org/jira/browse/CB-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14622647#comment-14622647 ] ASF GitHub Bot commented on CB-9193: Github user muratsu commented on the pull request: https://github.com/apache/cordova-plugin-camera/pull/104#issuecomment-120476371 Ping > [Camera] Add option to choose from library even if source is camera > --- > > Key: CB-9193 > URL: https://issues.apache.org/jira/browse/CB-9193 > Project: Apache Cordova > Issue Type: Improvement > Components: Plugin Camera >Reporter: Dan Polivy > > There are many scenarios where an app might allow a user to take a picture > via the camera, OR choose a photo from their library. With the current camera > plugin implementation, the developer must first present some type of chooser > UI to allow the user to initiate either the camera, or the library. > A potentially more efficient approach is to launch the camera by default, and > within the camera UI provide an option to switch over to the library -- > similar to the way the default Camera app works in iOS. > I am working on a PR to add this functionality via a new CameraOptions > setting. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-9193) [Camera] Add option to choose from library even if source is camera
[ https://issues.apache.org/jira/browse/CB-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14649442#comment-14649442 ] ASF GitHub Bot commented on CB-9193: Github user dpolivy commented on the pull request: https://github.com/apache/cordova-plugin-camera/pull/104#issuecomment-126746379 @infil00p @shazron @nikhilkh @stevengill Any thoughts on this discussion or possibility of a CR? > [Camera] Add option to choose from library even if source is camera > --- > > Key: CB-9193 > URL: https://issues.apache.org/jira/browse/CB-9193 > Project: Apache Cordova > Issue Type: Improvement > Components: Plugin Camera >Reporter: Dan Polivy > > There are many scenarios where an app might allow a user to take a picture > via the camera, OR choose a photo from their library. With the current camera > plugin implementation, the developer must first present some type of chooser > UI to allow the user to initiate either the camera, or the library. > A potentially more efficient approach is to launch the camera by default, and > within the camera UI provide an option to switch over to the library -- > similar to the way the default Camera app works in iOS. > I am working on a PR to add this functionality via a new CameraOptions > setting. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-9193) [Camera] Add option to choose from library even if source is camera
[ https://issues.apache.org/jira/browse/CB-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14962319#comment-14962319 ] ASF GitHub Bot commented on CB-9193: Github user jcesarmobile commented on the pull request: https://github.com/apache/cordova-plugin-camera/pull/104#issuecomment-149005887 -1 to adding new quirks > [Camera] Add option to choose from library even if source is camera > --- > > Key: CB-9193 > URL: https://issues.apache.org/jira/browse/CB-9193 > Project: Apache Cordova > Issue Type: Improvement > Components: Plugin Camera >Reporter: Dan Polivy > > There are many scenarios where an app might allow a user to take a picture > via the camera, OR choose a photo from their library. With the current camera > plugin implementation, the developer must first present some type of chooser > UI to allow the user to initiate either the camera, or the library. > A potentially more efficient approach is to launch the camera by default, and > within the camera UI provide an option to switch over to the library -- > similar to the way the default Camera app works in iOS. > I am working on a PR to add this functionality via a new CameraOptions > setting. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-9193) [Camera] Add option to choose from library even if source is camera
[ https://issues.apache.org/jira/browse/CB-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14962483#comment-14962483 ] ASF GitHub Bot commented on CB-9193: Github user infil00p commented on the pull request: https://github.com/apache/cordova-plugin-camera/pull/104#issuecomment-149027648 -1 to this as well. This wouldn't be consistent on Android, since we're using Intents to launch a camera, and it's possible some devices wouldn't have the library icon on their Camera activity. > [Camera] Add option to choose from library even if source is camera > --- > > Key: CB-9193 > URL: https://issues.apache.org/jira/browse/CB-9193 > Project: Apache Cordova > Issue Type: Improvement > Components: Plugin Camera >Reporter: Dan Polivy > > There are many scenarios where an app might allow a user to take a picture > via the camera, OR choose a photo from their library. With the current camera > plugin implementation, the developer must first present some type of chooser > UI to allow the user to initiate either the camera, or the library. > A potentially more efficient approach is to launch the camera by default, and > within the camera UI provide an option to switch over to the library -- > similar to the way the default Camera app works in iOS. > I am working on a PR to add this functionality via a new CameraOptions > setting. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-9193) [Camera] Add option to choose from library even if source is camera
[ https://issues.apache.org/jira/browse/CB-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14962616#comment-14962616 ] ASF GitHub Bot commented on CB-9193: Github user dpolivy commented on the pull request: https://github.com/apache/cordova-plugin-camera/pull/104#issuecomment-149044779 @jcesarmobile Is this a quirk just because it's only implemented on iOS, Android, and WP? @infil00p Actually, it is consistent on Android, and has nothing to do with whether the device has a library icon on their Camera activity (I'm not sure that any do?). We're simply showing an Intent Chooser that lets the user choose which Activity they want to launch, and the list includes all of the camera and file activities found on their device. That is consistent across all Android devices. And it's using the exact same intents that would be used if you chose to show the camera or library. Give it a try and see the behavior for yourself. I still think this feature is valuable and provides a better user experience in certain circumstances. We've had success using this in our app, and being a good citizen I've tried to make it available for others to take advantage of. There are some native limitations here, but if you truly wanted a consistent camera experience and UI across all platforms, you'd basically have to write to the raw camera APIs on each platform which is a significant departure from the current approach of this plugin. > [Camera] Add option to choose from library even if source is camera > --- > > Key: CB-9193 > URL: https://issues.apache.org/jira/browse/CB-9193 > Project: Apache Cordova > Issue Type: Improvement > Components: Plugin Camera >Reporter: Dan Polivy > > There are many scenarios where an app might allow a user to take a picture > via the camera, OR choose a photo from their library. With the current camera > plugin implementation, the developer must first present some type of chooser > UI to allow the user to initiate either the camera, or the library. > A potentially more efficient approach is to launch the camera by default, and > within the camera UI provide an option to switch over to the library -- > similar to the way the default Camera app works in iOS. > I am working on a PR to add this functionality via a new CameraOptions > setting. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-9193) [Camera] Add option to choose from library even if source is camera
[ https://issues.apache.org/jira/browse/CB-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14967610#comment-14967610 ] ASF GitHub Bot commented on CB-9193: Github user purplecabbage commented on the pull request: https://github.com/apache/cordova-plugin-camera/pull/104#issuecomment-149985578 -1 This should probably be 3 plugins 1. camera plugin 2. image picker plugin 3. image src chooser plugin We can revisit this later, we are doing a review of many camera features currently ( plus overlap with media capture ) One other concern I have is the localization of text. Where are the strings coming from currently? > [Camera] Add option to choose from library even if source is camera > --- > > Key: CB-9193 > URL: https://issues.apache.org/jira/browse/CB-9193 > Project: Apache Cordova > Issue Type: Improvement > Components: Plugin Camera >Reporter: Dan Polivy > > There are many scenarios where an app might allow a user to take a picture > via the camera, OR choose a photo from their library. With the current camera > plugin implementation, the developer must first present some type of chooser > UI to allow the user to initiate either the camera, or the library. > A potentially more efficient approach is to launch the camera by default, and > within the camera UI provide an option to switch over to the library -- > similar to the way the default Camera app works in iOS. > I am working on a PR to add this functionality via a new CameraOptions > setting. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-9193) [Camera] Add option to choose from library even if source is camera
[ https://issues.apache.org/jira/browse/CB-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14967617#comment-14967617 ] ASF GitHub Bot commented on CB-9193: Github user infil00p commented on the pull request: https://github.com/apache/cordova-plugin-camera/pull/104#issuecomment-149986619 I agree with @purplecabbage, and I'm still -1 on this. > [Camera] Add option to choose from library even if source is camera > --- > > Key: CB-9193 > URL: https://issues.apache.org/jira/browse/CB-9193 > Project: Apache Cordova > Issue Type: Improvement > Components: Plugin Camera >Reporter: Dan Polivy > > There are many scenarios where an app might allow a user to take a picture > via the camera, OR choose a photo from their library. With the current camera > plugin implementation, the developer must first present some type of chooser > UI to allow the user to initiate either the camera, or the library. > A potentially more efficient approach is to launch the camera by default, and > within the camera UI provide an option to switch over to the library -- > similar to the way the default Camera app works in iOS. > I am working on a PR to add this functionality via a new CameraOptions > setting. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-9193) [Camera] Add option to choose from library even if source is camera
[ https://issues.apache.org/jira/browse/CB-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14970708#comment-14970708 ] ASF GitHub Bot commented on CB-9193: Github user dpolivy commented on the pull request: https://github.com/apache/cordova-plugin-camera/pull/104#issuecomment-150526428 @purplecabbage On Android, the strings were previously [hardcoded](https://github.com/apache/cordova-plugin-camera/pull/104/files#diff-f2e83abdaf34884df7e74b6493cf2dd7L79) into the plugin. My commit actually [moved them out into plugin.xml](https://github.com/apache/cordova-plugin-camera/pull/104/files#diff-53f390d375398624afe1cfe1125f42bfR79) so they could actually be localized. The other strings (e.g. the intent names) are actually provided by the OS based on the available activities. For WP, it is all built in to the OS, and for iOS the one new string (Library) is added in a localizable manner consistent with other strings in plugins. I don't necessarily disagree with your approach to splitting this into multiple plugins, however I really do believe there is a useful scenario where the camera UI launches first, but the user has a quick escape into the library. That wouldn't be supported by splitting into 3 plugins. Instead if you really want more of a consistent experience you just have to write to the native camera APIs directly on each platform and built a custom "Cordova" standard UI on top of them. Having a modal source chooser step just adds complexity to the user experience in most cases. Far better from a UX perspective to default to the 90% case (as determined by the developer for their app) but allow easy toggling between the various options. In any case, it seems that there's no future hope for this PR in its current form. I still do advocate that the problem I'm trying to solve is a valuable and important addition to the Cordova plugins, but I'm certainly open to the form it takes as long as it meets the user experience bar we're trying to achieve. > [Camera] Add option to choose from library even if source is camera > --- > > Key: CB-9193 > URL: https://issues.apache.org/jira/browse/CB-9193 > Project: Apache Cordova > Issue Type: Improvement > Components: Plugin Camera >Reporter: Dan Polivy > > There are many scenarios where an app might allow a user to take a picture > via the camera, OR choose a photo from their library. With the current camera > plugin implementation, the developer must first present some type of chooser > UI to allow the user to initiate either the camera, or the library. > A potentially more efficient approach is to launch the camera by default, and > within the camera UI provide an option to switch over to the library -- > similar to the way the default Camera app works in iOS. > I am working on a PR to add this functionality via a new CameraOptions > setting. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org
[jira] [Commented] (CB-9193) [Camera] Add option to choose from library even if source is camera
[ https://issues.apache.org/jira/browse/CB-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15287563#comment-15287563 ] ASF GitHub Bot commented on CB-9193: Github user asfgit closed the pull request at: https://github.com/apache/cordova-plugin-camera/pull/104 > [Camera] Add option to choose from library even if source is camera > --- > > Key: CB-9193 > URL: https://issues.apache.org/jira/browse/CB-9193 > Project: Apache Cordova > Issue Type: Improvement > Components: Plugin Camera >Reporter: Dan Polivy > > There are many scenarios where an app might allow a user to take a picture > via the camera, OR choose a photo from their library. With the current camera > plugin implementation, the developer must first present some type of chooser > UI to allow the user to initiate either the camera, or the library. > A potentially more efficient approach is to launch the camera by default, and > within the camera UI provide an option to switch over to the library -- > similar to the way the default Camera app works in iOS. > I am working on a PR to add this functionality via a new CameraOptions > setting. -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org