Physical Web Sharing Feature |
|||||||||
Issue descriptionChrome Version : 57 What is the expected result? Convert the phone to a Bluetooth Low Energy beacon to share urls from websites and applications.
,
Jan 30 2017
The alternative of putting something in the share sheet is actually our main plan. However, we can't develop behind a feature flag if we do that through the manifest, so it seemed best to temporarily have a hidden feature that touched the main menu. However, since dtrainor mentioned "print", this is certainly something we could look into. I didn't realize there were chrome specific items in the chrome share sheet.
,
Jan 30 2017
+tedchoc Hi Ian - the "print" option sounds like the most reasonable option here as I believe it will allow users to be able to select it when the Chrome share sheet is open but not present in other share sheets. The relevant CL: https://chromium.googlesource.com/chromium/src.git/+/710a8ec6580cdabd681a20d19f61851cf1976e15 That said - is this proposal to make the phone an on-going BLE beacon or just a temporary state?
,
Jan 31 2017
Hello, Cool, the plan is to make it an on-going BLE beacon that the user can turn off through a notification option.
,
Feb 1 2017
Ah I see. Do you have any docs/proposals about this? I'm guessing the end-user would also have to turn on physical web to get the link?
,
Feb 2 2017
Yep, here is the design doc https://docs.google.com/a/google.com/document/d/1H1mY_Gn7un_Y-PjpYj1-vm1DguSkMofcSPqoyTrIsms/edit?usp=sharing
,
Feb 3 2017
Thanks for the design doc. That makes sense. How do you go about addressing discoverability of the feature? (I'm assuming the average user will not know what sharing to "Physical Web" means) Also - it sounded like there were multiple options for how to incorporate it including GMSCore. Do you know if that was something they were open to?
,
Feb 3 2017
The discoverability issue is still being thought about. We're pretty sure that some sort of an interstitial is necessary. We want to test it in the form of an activity or a dialog. By putting it behind a feature, we're leaving ourselves open to refining how we want to educate the user. GMSCore was not enthusiastic about the feature for two reasons. First, the discovery issue is still open ended. Second, at the time we spoke with them, they still had physical web beacons at an alert level where it would have caused a notification. Understandably, that would be annoying. Since then, they've decremented the alert level to low. We think that we're putting ourselves in a good position by putting this into chrome behind a feature with the default as disabled. Power users and knowledgeable users can use it without spamming others, and we can experiment on how to educate people in the future.
,
Feb 7 2017
Do you mean put it behind a feature flag? I think we could feasibility make this work on the frontend side, but it sounds like we'd need to do some UX work first (which I assume would happen on your end?) and get UI Review approval.
,
Feb 13 2017
Yes, I do mean behind a feature flag. Ok, I'll communicate with Rebecca Rolfe and get UI Review approval.
,
Feb 14 2017
Yeah - we don't tend to launch features behind flags without an idea of where they would be going so it may be good to have a full plan including user education in place.
,
Feb 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5cbba721b07114d34c83086486bf9f4e5f69b5f2 commit 5cbba721b07114d34c83086486bf9f4e5f69b5f2 Author: iankc <iankc@google.com> Date: Tue Feb 14 21:04:00 2017 Create OptionalShareTargetsManager This change creates a class to manage the optional share activities to be displayed in the share intent chooser. It works by taking in classes to be displayed and enables them as componenents. It also tracks the state of the application to disable the components. BUG= 685856 Review-Url: https://codereview.chromium.org/2694103002 Cr-Commit-Position: refs/heads/master@{#450468} [modify] https://crrev.com/5cbba721b07114d34c83086486bf9f4e5f69b5f2/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java [modify] https://crrev.com/5cbba721b07114d34c83086486bf9f4e5f69b5f2/chrome/android/java/src/org/chromium/chrome/browser/printing/PrintShareActivity.java [add] https://crrev.com/5cbba721b07114d34c83086486bf9f4e5f69b5f2/chrome/android/java/src/org/chromium/chrome/browser/share/OptionalShareTargetsManager.java [modify] https://crrev.com/5cbba721b07114d34c83086486bf9f4e5f69b5f2/chrome/android/java_sources.gni
,
Feb 18 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bb3232b44160a665e67c55d9c43b74794c963279 commit bb3232b44160a665e67c55d9c43b74794c963279 Author: iankc <iankc@google.com> Date: Sat Feb 18 02:21:28 2017 Add PhysicalWebShareActivity This adds the PhysicalWebShareActivity, a empty-activity that will call the PhysicalWebBroadcastService. It is invoked in the share intent picker with the Physical Web logo, similiarly to the PrintShareActivity. BUG= 685856 Review-Url: https://codereview.chromium.org/2695163002 Cr-Commit-Position: refs/heads/master@{#451411} [modify] https://crrev.com/bb3232b44160a665e67c55d9c43b74794c963279/chrome/android/java/AndroidManifest.xml [modify] https://crrev.com/bb3232b44160a665e67c55d9c43b74794c963279/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java [modify] https://crrev.com/bb3232b44160a665e67c55d9c43b74794c963279/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWeb.java [add] https://crrev.com/bb3232b44160a665e67c55d9c43b74794c963279/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebShareActivity.java [modify] https://crrev.com/bb3232b44160a665e67c55d9c43b74794c963279/chrome/android/java/strings/android_chrome_strings.grd [modify] https://crrev.com/bb3232b44160a665e67c55d9c43b74794c963279/chrome/android/java_sources.gni [modify] https://crrev.com/bb3232b44160a665e67c55d9c43b74794c963279/chrome/browser/android/chrome_feature_list.cc [modify] https://crrev.com/bb3232b44160a665e67c55d9c43b74794c963279/chrome/browser/android/chrome_feature_list.h
,
Mar 2 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2b37f25bb3abb2bd85109b89dd6a4122f0d2ebf8 commit 2b37f25bb3abb2bd85109b89dd6a4122f0d2ebf8 Author: iankc <iankc@google.com> Date: Thu Mar 02 23:00:28 2017 Abstract ShareActivity Class This change abstracts the general requirements for activities that are dynamically added to the share chooser intent. Namely, when the feature should be enabled, and what to do when the option is choosen. BUG= 685856 Review-Url: https://codereview.chromium.org/2716293003 Cr-Commit-Position: refs/heads/master@{#454420} [modify] https://crrev.com/2b37f25bb3abb2bd85109b89dd6a4122f0d2ebf8/chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java [modify] https://crrev.com/2b37f25bb3abb2bd85109b89dd6a4122f0d2ebf8/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebShareActivity.java [modify] https://crrev.com/2b37f25bb3abb2bd85109b89dd6a4122f0d2ebf8/chrome/android/java/src/org/chromium/chrome/browser/printing/PrintShareActivity.java [modify] https://crrev.com/2b37f25bb3abb2bd85109b89dd6a4122f0d2ebf8/chrome/android/java/src/org/chromium/chrome/browser/share/OptionalShareTargetsManager.java [add] https://crrev.com/2b37f25bb3abb2bd85109b89dd6a4122f0d2ebf8/chrome/android/java/src/org/chromium/chrome/browser/share/ShareActivity.java [modify] https://crrev.com/2b37f25bb3abb2bd85109b89dd6a4122f0d2ebf8/chrome/android/java_sources.gni
,
Mar 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f2ef57e81267138c5f8fabc2ea7044b59600238a commit f2ef57e81267138c5f8fabc2ea7044b59600238a Author: iankc <iankc@google.com> Date: Tue Mar 07 20:53:52 2017 Add PhysicalWebBroadcastService This change creates the skeleton for the PhysicalWebBroadcastService, which will be the service that handles the Physical Web Sharing Feature. Here is a background to what the Service will do: This background service will start when the user activates the Physical Web Sharing item in the sharing chooser intent. If the URL received from the triggering Tab is validated by the Physical Web Service then it will encode the URL into an Eddystone URL and broadcast the URL through BLE. To notify and provide the user with the ability to terminate broadcasting a persistent notification with a cancel button will be created. This cancel button will stop the service and will be the only way for the user to stop the service. If the user terminates Chrome or the OS shuts down this service mid-broadcasting, when the service get's restarted it will restart broadcasting as well by gathering the URL from shared preferences. This will create a seemless experience to the user by behaving as though broadcasting is not connected to the Chrome application. BUG= 685856 Review-Url: https://codereview.chromium.org/2719493003 Cr-Commit-Position: refs/heads/master@{#455211} [modify] https://crrev.com/f2ef57e81267138c5f8fabc2ea7044b59600238a/chrome/android/java/AndroidManifest.xml [add] https://crrev.com/f2ef57e81267138c5f8fabc2ea7044b59600238a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebBroadcastService.java [modify] https://crrev.com/f2ef57e81267138c5f8fabc2ea7044b59600238a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebShareActivity.java [modify] https://crrev.com/f2ef57e81267138c5f8fabc2ea7044b59600238a/chrome/android/java_sources.gni
,
Mar 10 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f0cc0ad34d0e5491eefe7bafc5e9ed397427a6cb commit f0cc0ad34d0e5491eefe7bafc5e9ed397427a6cb Author: iankc <iankc@google.com> Date: Fri Mar 10 23:31:41 2017 Add Bluetooth Checks to Service This change adds two bluetooth checks. 1 is to determine if the hardware has bluetooth capabilities. 2 is to determine if bluetooth is on for the device. Both conditions must be met for the PhysicalWebSharing feature to be enabled. BUG= 685856 Review-Url: https://codereview.chromium.org/2737393003 Cr-Commit-Position: refs/heads/master@{#456216} [modify] https://crrev.com/f0cc0ad34d0e5491eefe7bafc5e9ed397427a6cb/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWeb.java [modify] https://crrev.com/f0cc0ad34d0e5491eefe7bafc5e9ed397427a6cb/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebShareActivity.java
,
Mar 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d7bfcc3fa626adb9876f2d0ef925131decd70aa8 commit d7bfcc3fa626adb9876f2d0ef925131decd70aa8 Author: iankc <iankc@google.com> Date: Tue Mar 14 21:39:34 2017 Create Broadcast Notification This change adds notifications to the PhysicalWebBroadcastService. It is the only way to disable broadcasting from a users perspective. It implements a broadcastReceiver to catch when the user hits the stop button on the notification. The change from commit() to apply() in the fetchDisplayUrl actually fixes a StrictMode violation. BUG= 685856 Review-Url: https://codereview.chromium.org/2741103002 Cr-Commit-Position: refs/heads/master@{#456842} [modify] https://crrev.com/d7bfcc3fa626adb9876f2d0ef925131decd70aa8/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebBroadcastService.java [modify] https://crrev.com/d7bfcc3fa626adb9876f2d0ef925131decd70aa8/chrome/android/java/strings/android_chrome_strings.grd
,
Mar 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cbdb60c32817557d172f233b1fbf3f9111fc46ec commit cbdb60c32817557d172f233b1fbf3f9111fc46ec Author: iankc <iankc@google.com> Date: Wed Mar 15 19:23:35 2017 Add Platform Independent Eddystone Encoder This change creates an eddystone encoder in cpp, which can be used across platforms for future physical web projects. Right now, specifically, it will be used for Physical Web Sharing. Here are the eddystone specs: https://github.com/google/eddystone/blob/master/protocol-specification.md BUG= 685856 Review-Url: https://codereview.chromium.org/2731273004 Cr-Commit-Position: refs/heads/master@{#457164} [modify] https://crrev.com/cbdb60c32817557d172f233b1fbf3f9111fc46ec/chrome/browser/BUILD.gn [modify] https://crrev.com/cbdb60c32817557d172f233b1fbf3f9111fc46ec/components/BUILD.gn [add] https://crrev.com/cbdb60c32817557d172f233b1fbf3f9111fc46ec/components/physical_web/eddystone/BUILD.gn [add] https://crrev.com/cbdb60c32817557d172f233b1fbf3f9111fc46ec/components/physical_web/eddystone/eddystone_encoder.cc [add] https://crrev.com/cbdb60c32817557d172f233b1fbf3f9111fc46ec/components/physical_web/eddystone/eddystone_encoder.h [add] https://crrev.com/cbdb60c32817557d172f233b1fbf3f9111fc46ec/components/physical_web/eddystone/eddystone_encoder_unittest.cc
,
Mar 17 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e59c7d48269c8900a94b9158680ca67a02c5e418 commit e59c7d48269c8900a94b9158680ca67a02c5e418 Author: iankc <iankc@google.com> Date: Fri Mar 17 20:24:30 2017 Add Intent Filter to listen for BLE state change This small change adds an intent listener to correctly handle when bluetooth is turned off mid-broadcasting. BUG= 685856 Review-Url: https://codereview.chromium.org/2751343003 Cr-Commit-Position: refs/heads/master@{#457874} [modify] https://crrev.com/e59c7d48269c8900a94b9158680ca67a02c5e418/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebBroadcastService.java
,
Mar 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7c7a2ac892ad5377c3e25b26cba0c74c9be4c59a commit 7c7a2ac892ad5377c3e25b26cba0c74c9be4c59a Author: iankc <iankc@google.com> Date: Mon Mar 20 22:52:00 2017 Build a Bridge to Eddystone Encoder in Components This change links the Eddystone Encoder in components to the android Physical Web Share feature through the Java Native Interface. Add Platform Independent Eddystone Encoder This change creates an eddystone encoder in cpp, which can be used across platforms for future physical web projects. Right now, specifically, it will be used for Physical Web Sharing. Here are the eddystone specs: https://github.com/google/eddystone/blob/master/protocol-specification.md BUG= 685856 Review-Url: https://codereview.chromium.org/2753683002 Cr-Commit-Position: refs/heads/master@{#458214} [modify] https://crrev.com/7c7a2ac892ad5377c3e25b26cba0c74c9be4c59a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebBroadcastService.java [modify] https://crrev.com/7c7a2ac892ad5377c3e25b26cba0c74c9be4c59a/chrome/browser/BUILD.gn [modify] https://crrev.com/7c7a2ac892ad5377c3e25b26cba0c74c9be4c59a/chrome/browser/android/chrome_jni_registrar.cc [add] https://crrev.com/7c7a2ac892ad5377c3e25b26cba0c74c9be4c59a/chrome/browser/android/physical_web/eddystone_encoder_bridge.cc [add] https://crrev.com/7c7a2ac892ad5377c3e25b26cba0c74c9be4c59a/chrome/browser/android/physical_web/eddystone_encoder_bridge.h [add] https://crrev.com/7c7a2ac892ad5377c3e25b26cba0c74c9be4c59a/chrome/browser/android/physical_web/eddystone_encoder_bridge_unittest.cc [modify] https://crrev.com/7c7a2ac892ad5377c3e25b26cba0c74c9be4c59a/chrome/test/BUILD.gn
,
Mar 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d7323d358bb4c28778915daef88f72407e078bd0 commit d7323d358bb4c28778915daef88f72407e078bd0 Author: iankc <iankc@google.com> Date: Tue Mar 21 19:54:48 2017 Add Interstitial for user consent This change adds an interstitial to notify to the user that this URL will be sent to Googles servers anonymously. The PhysicalWebShareActivity start a dialogue because of the application state listener that controls its componenet. For this reason, we send the chromeactivity an ID which will launch an activity to show the interstitial. This is done in the same way that the printshareactivity does it. BUG= 685856 Review-Url: https://codereview.chromium.org/2755003003 Cr-Commit-Position: refs/heads/master@{#458522} [modify] https://crrev.com/d7323d358bb4c28778915daef88f72407e078bd0/chrome/android/java/AndroidManifest.xml [modify] https://crrev.com/d7323d358bb4c28778915daef88f72407e078bd0/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWeb.java [modify] https://crrev.com/d7323d358bb4c28778915daef88f72407e078bd0/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebBroadcastService.java [modify] https://crrev.com/d7323d358bb4c28778915daef88f72407e078bd0/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebShareActivity.java [add] https://crrev.com/d7323d358bb4c28778915daef88f72407e078bd0/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebShareEntryActivity.java [modify] https://crrev.com/d7323d358bb4c28778915daef88f72407e078bd0/chrome/android/java/strings/android_chrome_strings.grd [modify] https://crrev.com/d7323d358bb4c28778915daef88f72407e078bd0/chrome/android/java_sources.gni
,
Mar 22 2017
,
Apr 13 2017
+ Christine for test planning. Thank you!
,
Apr 17 2017
Ian, are you still owning this feature?
,
Apr 17 2017
No. The project is not longer happening and the code that has already been submitted into Chrome is being taken out.
,
Aug 23 2017
,
Dec 2 2017
,
Dec 11 2017
The assigned owner "iankc@google.com" is not able to receive e-mails, please re-triage. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Dec 13 2017
,
Dec 13 2017
|
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by dtrainor@chromium.org
, Jan 27 2017Labels: -Type-Bug Needs-Feedback OS-Android Type-Feature
Owner: k...@chromium.org
Status: Assigned (was: Unconfirmed)