Closed
Bug 887534
Opened 11 years ago
Closed 11 years ago
[User Story] Send contact as a VCARD via bluetooth
Categories
(Firefox OS Graveyard :: Gaia::Contacts, defect)
Tracking
(blocking-b2g:koi+, b2g-v1.2 fixed)
People
(Reporter: wmathanaraj, Assigned: fcampo)
References
Details
(Keywords: feature, Whiteboard: [TEF][UCID:Comms3, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=4][Sprint 4])
Attachments
(2 files, 1 obsolete file)
User Story:
As a user I want to select a contact from the contact list and send to another device that is already paired via Bluetooth with the sending device.
As the sender if bluetooth is not switched on I want to be informed and given the option to switch on bluetooth on the device. After switching on bluetooh, I want to automatically return to the contact sending process.
As the sender, if I am not already paired with the receiving device, I want to be given the opportunity to pair. After pairing, I want to automatically return to the contact sending process.
Preconditions:
* Contact app is open
* Sending and receiving devices have BT capability
Acceptance Criteria:
* user is informed of successful sending of contact
* any sending failure is presented to the user in a comprehensible message
Comment 1•11 years ago
|
||
On the sender side's Contact app
- pair phone with receiver device, if necessary;
- create a file (extension is .vcf) with the VCARD data;
- send the VCARD file to the paired receiver; and
- display success or error message.
There should already be example code for some of these steps in the Music app.
See bug 887663 for the receiver side.
Comment 2•11 years ago
|
||
Adding also Sergi Mansilla, as he has been working on the current import from vcard.
Comment 3•11 years ago
|
||
A Pivotal Tracker story has been created for this Bug: http://www.pivotaltracker.com/story/show/52538267
Comment 4•11 years ago
|
||
David Scravaglieri deleted the linked story in Pivotal Tracker
Comment 5•11 years ago
|
||
We have already had a centralized app in charge of Bluetooth file transferring. Any application which wants to send a file via Bluetooth can simply communicate with that app via mozActivity named 'share'. Please see https://github.com/mozilla-b2g/gaia/blob/master/apps/gallery/js/gallery.js#L1066 for more information.
Updated•11 years ago
|
Whiteboard: [ucid:Comms3] → [ucid:Comms3], [u=commsapps-user c=contacts p=0]
Updated•11 years ago
|
Flags: in-moztrap?
Comment 8•11 years ago
|
||
There is a second way to transfer business cards between phones.
The Bluetooth Object Push Profile has built-in support for transferring vCards. We'd need to extend our support for OPP to use this facility, but that shouldn't be much work. See [1], Section 3 and 4. This will probably be compatible with a lot of phones, so I more and more think that using OPP is the better approach.
[1] https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=230913
Comment 9•11 years ago
|
||
But then again, this spec reads like it'd only support transferring a 'default business card' of the phone's owner.
Eric, could you have a look at the OPP spec and give your opinion? Do you think it is generic enough for our purposes?
Flags: needinfo?(echou)
Comment 10•11 years ago
|
||
(In reply to Thomas Zimmermann [:tzimmermann] [:tdz] from comment #8)
> There is a second way to transfer business cards between phones.
>
> The Bluetooth Object Push Profile has built-in support for transferring
> vCards. We'd need to extend our support for OPP to use this facility, but
> that shouldn't be much work. See [1], Section 3 and 4. This will probably be
> compatible with a lot of phones, so I more and more think that using OPP is
> the better approach.
>
> [1] https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=230913
I think we should open a different bug for that feature you comment Thomas. Which will require setting up a default identify for the phone, something that we don't have so far.
Also from doing this we were thinking about web activities as well, sending a single vcard file containing the desired contacts to export.
Cheers,
F.
Reporter | ||
Comment 11•11 years ago
|
||
This spec is very much focused on owner's business card rather than sending any contact as vcard to another device.
Comment 12•11 years ago
|
||
Hi Thomas,
There are 3 features defined in OPP spec:
(1) Object Push
(2) Business Card Pull
(3) Business Card Exchange Feature
In this bug, we are asked to support "sending(push) a contact from the contact list to the remote device via Bluetooth". To achieve this, all we need is (1).
We can see the vCard file exported from Contacts app as a common 'object'. Apparently feature (2) is not we are looking for. As for feature (3), it's like two people exchanging their business cards. However, it's not what we want. What we want is to let the user be able to select an arbitrary contact from Contact app and send to a paired Bluetooth device, just like Wilfred mentioned in comment 11. Moreover, feature (1) can be also used on sharing the owner's business card to any paired Bluetooth device. That's why I said that Gecko Bluetooth is ready for this user story.
Flags: needinfo?(echou)
Updated•11 years ago
|
Whiteboard: [ucid:Comms3], [u=commsapps-user c=contacts p=0] → [ucid:Comms3 KOI:P1], [u=commsapps-user c=contacts p=0]
Updated•11 years ago
|
Assignee: nobody → noef
Updated•11 years ago
|
Whiteboard: [ucid:Comms3 KOI:P1], [u=commsapps-user c=contacts p=0] → [UCID:Comms3, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0]
Updated•11 years ago
|
Assignee: noef → nobody
Whiteboard: [UCID:Comms3, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0] → [TEF][UCID:Comms3, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0]
Updated•11 years ago
|
Whiteboard: [TEF][UCID:Comms3, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0] → [TEF][UCID:Comms3, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0][Sprint 2]
Comment 13•11 years ago
|
||
Wireframe release:
__RELEASE NOTE__
new wireframes
- none
updated wireframes
- none
deleted wireframes
- none
new flows
- Send via Bluetooth : Single VCard
- Send via Bluetooth : Multiple VCards
- Receive via Bluetooth : VCard
updated flows
- none
deleted flows
- none
Comment 14•11 years ago
|
||
Hi Ayman,
I have a suggestion about the flow. When the user has done choosing the contact he wants to share and is going to select a Bluetooth device, it doesn't always need to search nearby devices and go through the pairing process. Just like Settings app, there should be another area called 'Paired Devices' for users to select paired devices.
Hope this will help.
Eric
Comment 15•11 years ago
|
||
pages 5 to 7 of this wireframe pack are relevant to this bug
Wireframe pack V2.0 release note:
updated flows
Send via Bluetooth : Single VCard
- step 3 removed
- FB statement added to step 2
- SIM and Vcard CTAs added to step 2
Send via Bluetooth : Multiple VCards
- step 4 removed
- FB statement added to step 3
- spinner added between selection of export cta and export process beginning
Attachment #784939 -
Attachment is obsolete: true
Comment 16•11 years ago
|
||
Please find all visuals required for this implementation in the following link:
For Single VCard: https://www.dropbox.com/sh/bkvv86ad8ed5ugi/kJTR61A1fO
for Multiple VCard: https://www.dropbox.com/sh/1yv2pqfnaugiioc/UeMT8eHrA3
If you have any question, please do not hesitate.
Victoria
Updated•11 years ago
|
Whiteboard: [TEF][UCID:Comms3, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0][Sprint 2] → [TEF][UCID:Comms3, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0][Sprint 3]
Assignee | ||
Updated•11 years ago
|
Assignee: isabelrios → fernando.campo
Assignee | ||
Comment 18•11 years ago
|
||
Updating the estimated time for the bug. As it implies new UX and processes, I don't expect to finish it before middle next week.
Whiteboard: [TEF][UCID:Comms3, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=0][Sprint 3] → [TEF][UCID:Comms3, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=4][Sprint 3]
Comment 19•11 years ago
|
||
Per comment 18 moving to Sprint 4.
Whiteboard: [TEF][UCID:Comms3, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=4][Sprint 3] → [TEF][UCID:Comms3, FT:comms, KOI:P1], [u=commsapps-user c=contacts p=4][Sprint 4]
Comment 20•11 years ago
|
||
We've seen that we will need to create a temporary file on the sdcard to send that file through bluetooth.
There is a bug already for avoiding this:
https://bugzilla.mozilla.org/show_bug.cgi?id=821186
Meanwhile we will work around the problem creating that temporary file until this is solved and we can send directly the blob.
Thanks,
F.
Comment 21•11 years ago
|
||
Ayman/Carrie,
Regarding contacts over Bluetooh, contacts should be sent via the Bluetooth file transfer app and therefore the flow will be the same as Bug 892212 - [B2G] [BT USer Story]: Support for BT inline pairing User
Regarding the inline paring UX, base on BT team's discussion, in order to close this story before v1.2 feature complete date, Carrie's original proposal is considered as the most feasible one for eng. "auto-pairing" in Ayman's proposal is not likely to make it before v1.2 feature closes.
For v1.2, let's proceed with providing a comparatively better UX by adding a few missing pieces base on the current flows (Carrie's original proposal) while you can continue discussing future improvements on this.
Hopefully this sound like a reasonable path forward. thanks
Assignee | ||
Comment 22•11 years ago
|
||
(In reply to Joe Cheng [:jcheng] from comment #21)
> Ayman/Carrie,
>
> Regarding contacts over Bluetooh, contacts should be sent via the Bluetooth
> file transfer app and therefore the flow will be the same as Bug 892212 -
> [B2G] [BT USer Story]: Support for BT inline pairing User
>
After checking the bug out, I reckon that the flow would work properly when we want to export one contact
Contact list > Choose a contact > On contact details, choose export > check BT > pair > send.
But AFAIK, this won't work when exporting from Settings (possibility of exporting multiple contacts), where the flow is:
Contact Settings > export > bluetooth > (should check if bt is on, and give option to turn on if not) > pair with device > choose contacts from the list > send
...as the current activity 'share' for bluetooth requires the data before checking if the bluetooth is connected.
One solution for this would be create another activity for bluetooth where we just check the availability of the bluetooth, and if is off we can let the user turn it on. That would help with the flow for multiple contact export that Ayman proposes.
I'd like to hear your opinions, and if agree, maybe Joe can put me in contact with BT team to discuss the activity
Assignee | ||
Comment 23•11 years ago
|
||
Sorry for that, my mind is asleep today......Forgot to say, another option is modify the flow so first we choose contacts from the list and THEN check for BT availability and pairing. This can be the functionality for 1.2 (much easier with current code), and maybe add the new activity for v1.3 ?
Comment 24•11 years ago
|
||
Joe, could you please include the right people from BT team in this thread?. Asking also Ayman for UX POV.
Flags: needinfo?(jcheng)
Flags: needinfo?(aymanmaat)
Comment 25•11 years ago
|
||
Hi Noemi,
(In reply to Noemí Freire (:noemi) from comment #24)
> Joe, could you please include the right people from BT team in this thread?.
> Asking also Ayman for UX POV.
I'm in charge of Gecko Bluetooth development. I've been watching this bug since it was created, and I'll provide as much information as I can if necessary. Also, cc Ian, the owner of Gaia::Bluetooth File Transfer, to see if we will really hit the problem mentioned by Fernando in comment 22.
Updated•11 years ago
|
Flags: needinfo?(jcheng)
Comment 26•11 years ago
|
||
Just adding bug 905606 dependency since in case of unpaired devices we need the activity returning to the export screen.
Assignee | ||
Comment 27•11 years ago
|
||
As the bug 914112 has been closed as duplicate, updating the origin
Comment 28•11 years ago
|
||
Hi all,
Bug 905606 is in reviewing stage. After bug 905606 is landed, Bluetooth file transfer is ready to support inline pairing during sending files. So, I go through "FFOS_ContactsV1.2_20130805_V2.0.pdf" again, we have ability to meet the flow in "Send via Bluetooth "Single VCard" case. As long as Contacts::Export_Via_Bluetooth request 'share' activity with blob(package VCards in blob), Bluetooth File Transfer should be able to send the file out to a paired/unpaired device. If the device is unpaired, we're able to browse it in device list. After a user tapped the unpaired devices, Bluetooth File Transfer app will send the file while unpaired device is changed the state into paired. Please reference the spec. (https://bugzilla.mozilla.org/show_bug.cgi?id=892212#c13).
According to the spec. here, there are two things that can not be done yet.
* Send via Bluetooth : Multiple VCards : Step7, Page7
Once a user finished inline pairing in Bluetooth File Transfer app, we will send the files immediately. The step 7 "List of contacts" means that a user have ability to go back contacts app for picking contacts. Then, a user completed picking contacts to send file(VCard). The behavior is strange, and will make Bluetooth File Transfer program be interrupted in a "share" activity request.
* Notifications tray/overlay:
For such more information of transferring progress in detail, we'll need to have feasibility study for planing the implementation.
Thanks.
Comment 29•11 years ago
|
||
Just met Francisco and Fernando in workweek yesterday. They have already had a branch which is for exporting multiple contacts in a VCard via Bluetooth, but we faced different problems when we use different devices as receiving devices:
Case 1: The receiving side is a B2G device
Although the VCard transferring procedure could complete without any errors, when we tried to import VCard from the receiving side, an error screen "Can not open unknown media type" popped up.
Case 2: The receiving side is NOT a B2G device (e.g. HTC Sensation XL)
The receiving device would turn down the sending request immediately because the filename we sent has no extension.
I think both issues could be fixed from Gecko. I'll file another bug once I figure out the whole picture of the problem.
Updated•11 years ago
|
Flags: needinfo?(aymanmaat)
Comment 30•11 years ago
|
||
Removing Ayman ni since the BT flow for v1.2 has been clarified with BT team for v1.2 and a new discussion has been opened for v1.3.
Assignee | ||
Comment 31•11 years ago
|
||
Attachment #806049 -
Flags: review?(fbsc)
Updated•11 years ago
|
Attachment #806049 -
Flags: review?(fbsc) → review+
Assignee | ||
Comment 32•11 years ago
|
||
merged on master (failing tests were unrelated): 53a8671f00abf23c637578becaf17e296515c02c
thanks to all for the help, specially Francisco for coding and Borja for big review.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Comment 33•11 years ago
|
||
Uplifted 53a8671f00abf23c637578becaf17e296515c02c to:
v1.2: 4d3cb5d0c9a491147c7ac7ce527bc7ebdc0ab31e
status-b2g-v1.2:
--- → fixed
Updated•11 years ago
|
Attachment mime type: text/plain → text/x-github-pull-request
Updated•11 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•