You are likely correct for many use cases. In fact, iBeacons are likely to be an integral part of the Internet-of-Things!
However, there are places where the Internet is not available -- say a tour of Machu Picchu or the subway...
That never even crossed my mind since I like to believe the future includes internet everywhere, but you're right. Places could have these great automated, auditory guides that are available in the app to be activated by an app when you get close to certain areas. No need for those clunky headphone sets you see in museums that require you to keep a certain pace or start/stop the playback. The one you linked you has a 2 year battery and says the case is designed to be waterproof, even submerged under water.
Perhaps I am misunderstanding your explanation but it is important to clarify that the iBeacon only sends a very small data set of a few key/value pairs to the phone at which point, the phone needs to do the rest on its own. If you are suggesting that all of the work is done by the app alone without a connection to the internet, then the app will be huge and likely out of date since today's specials change everyday. The app should just be a lightweight shell which almost never needs to be updated and gets all the variable data from the Internet. It is the Internet server that holds your recent purchases, your personal info and the images of products the server's database thinks you might be interested in. In that way the iBeacon can change from hour to hour without requiring you to download an entire app update each time.
Right now the iBeacon device is typically a static transponder but it is also possible to make an iBeacon running on a computer that could change the promotion instantly depending on the time of day or catch of the day or whatever. That kind of robust interface would require the mobile device to have Internet access in order to work.
Perhaps I am misunderstanding your explanation but it is important to clarify that the iBeacon only sends a very small data set of a few key/value pairs to the phone at which point, the phone needs to do the rest on its own. If you are suggesting that all of the work is done by the app alone without a connection to the internet, then the app will be huge and likely out of date since today's specials change everyday. The app should just be a lightweight shell which almost never needs to be updated and gets all the variable data from the Internet. It is the Internet server that holds your recent purchases, your personal info and the images of products the server's database thinks you might be interested in. In that way the iBeacon can change from hour to hour without requiring you to download an entire app update each time.
Right now the iBeacon device is typically a static transponder but it is also possible to make an iBeacon running on a computer that could change the promotion instantly depending on the time of day or catch of the day or whatever. That kind of robust interface would require the mobile device to have Internet access in order to work.
I previously wrote, "Now they could also give me a link to a current flyer with couponless and couponed deals which I may very well click if I am already looking at their iBeacon which then takes me to the app. At that point I would expect that to download to my phone in a few seconds. I would then probably give it a quick look for anything that sticks out."
I thought I was clear that the app could have local info as well as offer a way to get other info from the internet, like recent coupons and deals. This is not the app just being a shell. This is not requiring iBeacons to be portable web servers. This is not requiring a huge amount of data to be downloaded and it would only be done at the user's request. How much does data does a PDF flyer take need?
Again, there is no need for the iBeacon itself to change. It's unique ID will remain the same but how the app responds to that unique ID can change through an app update or through polling a server for additional data. There is absolutely no reason to have the iBeacon to be eunning on a computer. All the processing is happening on your handheld device via the app or on a server that is talking to your app on your handheld device.
I previously wrote, "Now they could also give me a link to a current flyer with couponless and couponed deals which I may very well click if I am already looking at their iBeacon which then takes me to the app. At that point I would expect that to download to my phone in a few seconds. I would then probably give it a quick look for anything that sticks out."
I thought I was clear that the app could have local info as well as offer a way to get other info from the internet, like recent coupons and deals. This is not the app just being a shell. This is not requiring iBeacons to be portable web servers. This is not requiring a huge amount of data to be downloaded and it would only be done at the user's request. How much does data does a PDF flyer take need?
Again, there is no need for the iBeacon itself to change. It's unique ID will remain the same but how the app responds to that unique ID can change. By an app update or through polling a server. There is absolutely no reason to have the iBeacon to be running on a computer. All the processing is happening on your handheld device via the app or on a server that is talking to your app on your handheld device.
Nope. We are miles apart. The ID can be the same but the other key/value pairs can change dynamically which requires a computer or statically by reprogramming the dumb transponder. By getting data from the Internet I do not mean there is a link for a web browser. What I am referring to is the store's app displays the the data much like a web browser but it is running inside the app. That way you see the full advertisement layout without having to click on anything. All the fonts, colors, images, your personal greeting, all displayed in the app automatically using assets downloaded from the Internet. No clicking involved.
Perhaps I am misunderstanding your explanation but it is important to clarify that the iBeacon only sends a very small data set of a few key/value pairs to the phone at which point, the phone needs to do the rest on its own. If you are suggesting that all of the work is done by the app alone without a connection to the internet, then the app will be huge and likely out of date since today's specials change everyday. The app should just be a lightweight shell which almost never needs to be updated and gets all the variable data from the Internet. It is the Internet server that holds your recent purchases, your personal info and the images of products the server's database thinks you might be interested in. In that way the iBeacon can change from hour to hour without requiring you to download an entire app update each time.
Right now the iBeacon device is typically a static transponder but it is also possible to make an iBeacon running on a computer that could change the promotion instantly depending on the time of day or catch of the day or whatever. That kind of robust interface would require the mobile device to have Internet access in order to work.
Yes, but... if the server is down you should have a fall-back -- so you don't just leave the user twisting in the wind!
FWIW, an iPhone or iPad (or even an AppleTV) would be an excellent candidate as an in-store server fall-back (ad hoc WiFi Server). By necessity, it wouldn't have the personalization profiles of all the users... nor, the the pictures and other high-bandwidth assets... but, it could have all the "store specials", "catch-of-the-day" in minimal, searchable tabular form.
And the way, I'd probably design it, I'd offer the customer a "rain check" for any offers that were unavailable due to server outage.
Nope. We are miles apart. The ID can be the same but the other key/value pairs can change dynamically which requires a computer or statically by reprogramming the dumb transponder. By getting data from the Internet I do not mean there is a link for a web browser. What I am referring to is the store's app displays the the data much like a web browser but it is running inside the app. That way you see the full advertisement layout without having to click on anything. All the fonts, colors, images, your personal greeting, all displayed in the app automatically using assets downloaded from the Internet. No clicking involved.
1) I don't think that can happen because interacting with an iBeacon only puts a local notice on your device. You still need to choose to respond to that iBeacon by opening up the app. If at that point it wants to show you a most recent advert that it downloads from the internet then of course it can since the app can do whatever it's programmed to do and it's now running on the device because you told it to. But do you really want that data to be pulled from the internet so cavalierly? I don't. I hope they'd they be savvy enough to include the basic stuff in the app and allow me to hit a button to get any up to date adverts, audio/video clips, whatever.
2) This has no bearing on how iBeacons work. They don't need anything to change in them. You deploy them and then the CVS app says "Hey, I recognize this as CVS iBeacon AA.BB.CC.DD.EE.FF which means I'm suppose to put a notice on your screen that says 'blah blah blah' and then poll the server for an updated advert if the app is opened within x-many minutes of this iBeacon being received."
3) Consider iBeacons the equivalent of a piece of string tied around your finger. In of itself it does nothing be remind someone that something needs to be done at some point. These are location-based strings around the fingers of apps. It's up to the app's programming to decide what they do that piece of string.
I previously wrote, "Now they could also give me a link to a current flyer with couponless and couponed deals which I may very well click if I am already looking at their iBeacon which then takes me to the app. At that point I would expect that to download to my phone in a few seconds. I would then probably give it a quick look for anything that sticks out."
I thought I was clear that the app could have local info as well as offer a way to get other info from the internet, like recent coupons and deals. This is not the app just being a shell. This is not requiring iBeacons to be portable web servers. This is not requiring a huge amount of data to be downloaded and it would only be done at the user's request. How much does data does a PDF flyer take need?
Again, there is no need for the iBeacon itself to change. It's unique ID will remain the same but how the app responds to that unique ID can change. By an app update or through polling a server. There is absolutely no reason to have the iBeacon to be running on a computer. All the processing is happening on your handheld device via the app or on a server that is talking to your app on your handheld device.
Nope. We are miles apart. The ID can be the same but the other key/value pairs can change dynamically which requires a computer or statically by reprogramming the dumb transponder. By getting data from the Internet I do not mean there is a link for a web browser. What I am referring to is the store's app displays the the data much like a web browser but it is running inside the app. That way you see the full advertisement layout without having to click on anything. All the fonts, colors, images, your personal greeting, all displayed in the app automatically using assets downloaded from the Internet. No clicking involved.
What you say would be "nice to have" but is it really a requirement?
It's been while, but I have some experience with Wal-Mart stores and supplying "featured products" on the Housewares aisle, Christmas aisle etc. These "specials" need to be planned in advance, inventory ordered and received, shelves stocked, etc.
Things like "catch of the day" and "Today's Specials" for restaurants, also need to be planned in advance (unless you're on Chopped) -- and you often see these scribbled on a blackboard or a note clipped to the menu...
You could easily write an iPhone app that included a blackboard of "Today's Specials" for the next several days and update the app as needed.
I don' know about you, but all our iDevices synch over WiFi and app updates are installed automatically -- so the apps are always up to date.
Can you describe a more specific use-case where lack of dynamic Internet access is a show stopper?
Likely, there are some -- but even the Apple Online Store goes down for hours on end!
1) I don't think that can happen because interacting with an iBeacon only puts a local notice on your device. You still need to choose to respond to that iBeacon by opening up the app.
2) This has no bearing on how iBeacons work. They don't need anything to change in them. You deploy them and then the CVS app says "Hey, I recognize this as CVS iBeacon AA.BB.CC.DD.EE.FF which means I'm suppose to put a notice on your screen that says 'blah blah blah' and then poll the server for an updated advert if the app is opened within x-many minutes of this iBeacon being received."
Ok sort of... there are at least a couple common scenarios with a retail deployment.
1) the app is running in the foreground
2) the app is running in the background
3) the app is not running
In case #1 the app can put the ad on the screen without user consent. Otherwise it will send a notification which needs to be accepted by the user. If accepted the app should open and the ad should display in its entirety without further interaction. In all cases the ad data typically comes from the Internet unless the Internet is unavailable. In that case some default error message would display.
Obviously there are different use cases such as you noted earlier where the data doesn't change. In that case all of the data could be in the app itself and would not need an Internet connection but from a commercial perspective I don't see that situation being very common.
Ok sort of... there are at least a couple common scenarios with a retail deployment.
1) the app is running in the foreground
2) the app is running in the background
3) the app is not running
In case #1 the app can put the ad on the screen without user consent. Otherwise it will send a notification which needs to be accepted by the user. If accepted the app should open and the ad should display in its entirety without further interaction. In all cases the ad data typically comes from the Internet unless the Internet is unavailable. In that case some default error message would display.
Obviously there are different use cases such as you noted earlier where the data doesn't change. In that case all of the data could be in the app itself and would not need an Internet connection but from a commercial perspective I don't see that situation being very common.
None of this addresses your previous comments about the iBeacon itself needing updates and covers what I've already stated. Are you now clear that the iBeacon itself is a dumb transmitter?
None of this addresses your previous comments about the iBeacon itself needing updates. Are you now clear that the iBeacon itself is a dumb transmitter?
Not necessarily. Even an iPhone can be turned into an iBeacon. It takes a little hacking to make a Mavericks running Mac into an iBeacon but that is also possible. If you want to make changes to the key/value pairs, that is completely up to you. If you want to move certain merchandise around the store without changing the promotions on the server or the location of the iBeacon you can change the key/value pairs instead.
Not necessarily. Even an iPhone can be turned into an iBeacon. It takes a little hacking to make a Mavericks running Mac into an iBeacon but that is also possible. If you want to make changes to the key/value pairs, that is completely up to you. If you want to move certain merchandise around the store without changing the promotions on the server or the location of the iBeacon you can change the key/value pairs instead.
What does that have to do with anything being discussed? Yes, anything that sends a BT signal can be turned into an iBeacon because it's that simple of a design, but if the CVS app doesn't have that as one of the iBeacons on its list why does it matter? And, yet again, the iBeacon is just telling the app on the device that it's there. The app still needs to do what it's programmed to do. The iBeacon in no way tells the app how to dance.
I've been installing a Beta version of Mavericks and the new version of final cut -- annd I have been doing several reboots a day...
Each time I reboot, iTunes starts and finds any iDevice it can see and starts synching over WiFi -- they're not all plugged in!
I didn't know that. I thought the phone needed to be plugged in. Perhaps it depends on the size of the update. I know an OS update needs to be plugged in.
It does. When you are near a certain item in the store, the iBeacon sends the key/value pairs associated with that item. If you move the item to a different location in the store and put some other merchandise where it used to be, you need to tell the iBeacon about it or move it, the former being a little more practical.
It does. When you are near a certain item in the store, the iBeacon sends the key/value pairs associated with that item. If you move the item to a different location in the store and put some other merchandise where it used to be, you need to tell the iBeacon about it or move it, the former being a little more practical.
Show me where the iBeacon knows what merchandise is around it? Show where the iBeacon has a complex set of instructions (an XML file?) of all the merchandise that is around it? Explain to me why you think this simple, BLE transmitter needs to have any information in it at all?
Show me where the iBeacon knows what merchandise is around it? Show where the iBeacon has a complex set of instructions (an XML file?) of all the merchandise that is around it? Explain to me why you think this simple, BLE transmitter needs to have any information in it all?
iBeacons features micro-location geofencing so depending how close you are to the transmitter the mobile device knows where it is. This is how indoor mapping apps work and can also be used to display different ads depending on where you are within the store.
iBeacons features micro-location geofencing so depending how close you are to the transmitter the mobile device knows where it is. This is how indoor mapping apps work and can also be used to display different ads depending on where you are within the store.
Your device knows how far away from the iBeacon it is, but the iBeacon doesn't know that your device exists or what products are placed next to it. It's up to whomever is in charge of the iBeacons to make sure they are near the appropriate items in a store for which the app has been programmed.
In no way does the iBeacon say "Oh shit, I'm being moved. I should tell all my other iBeacon buddies and my home server to update my location." If someone moves the iBeacon and doesn't make the appropriate changes to how the devices responses to its one-way communication then it becomes useless to both the proprietor and consumer.
[CONTENTEMBED=/t/161628/coca-cola-mulls-deployment-of-apples-ibeacon-at-world-cup-and-beyond/40#post_2459570 layout=inline]None of this addresses your previous comments about the iBeacon itself needing updates. Are you now clear that the iBeacon itself is a dumb transmitter?[/CONTENTEMBED]
Not necessarily. Even an iPhone can be turned into an iBeacon. It takes a little hacking to make a Mavericks running Mac into an iBeacon but that is also possible. If you want to make changes to the key/value pairs, that is completely up to you. If you want to move certain merchandise around the store without changing the promotions on the server or the location of the iBeacon you can change the key/value pairs instead.
I don't understand what you mean by changing key/value pairs!
Below is the definition of the CLBeacon Class and it defines what data is received when a listened for iBeacon is detected:
As you can see, everything is (coded into or generated by) the iBeacon. The App must specify the proximityUUID (the iBeacon UUID) t listen for and optionally a major ID and minor ID.
Overview
The CLBeacon class represents a beacon that was encountered during region monitoring. You do not create instances of this class directly. The location manager object reports encountered beacons to its associated delegate object. You can use the information in a beacon object to identify which beacon was encountered.
The identity of a beacon is defined by its proximityUUID, major, and minor properties. These values are coded into the beacon itself. For a more thorough description of the meaning of those values, see CLBeaconRegion Class Reference.
Identifying the Beacon
proximityUUID property
major property
minor property
Determining the Beacon Distance
proximity property
accuracy property
rssi property
Properties
accuracy
The accuracy of the proximity value, measured in meters from the beacon. (read-only)
Indicates the one sigma horizontal accuracy in meters. Use this property to differentiate between beacons with the same proximity value. Do not use it to identify a precise location for the beacon. Accuracy values may fluctuate due to RF interference.
A negative value in this property signifies that the actual accuracy could not be determined.
major
The most significant value in the beacon. (read-only)
minor
The least significant value in the beacon. (read-only)
proximity
The relative distance to the beacon. (read-only)
The value in this property gives a general sense of the relative distance to the beacon. Use it to quickly identify beacons that are nearer to the user rather than farther away.
proximityUUID
The proximity ID of the beacon. (read-only)
rssi
The received signal strength of the beacon, measured in decibels. (read-only)
Discussion
This value is the average RSSI value of the samples received since the range of the beacon was last reported to your app.
Constants
CLProximity
Constants that reflect the relative distance to a beacon.
iBeacons features micro-location geofencing so depending how close you are to the transmitter the mobile device knows where it is. This is how indoor mapping apps work and can also be used to display different ads depending on where you are within the store.
Your device knows how far away from the iBeacon it is, but the iBeacon doesn't know that your device exists or what products are placed next to it. It's up to whomever is in charge of the iBeacons to make sure they are near the appropriate items in a store for which the app has been programmed.
In no way does the iBeacon say "Oh shit, I'm being moved. I should tell all my other iBeacon buddies and my home server to update my location." If someone moves the iBeacon and doesn't make the appropriate changes to how the devices responses to its one-way communication then it becomes useless to both the proprietor and consumer.
Well I'm just learning this as I go along but I think all three pieces, the app, the iBeacon and the server, each should to be flexible enough to be reprogrammed as needed.
For example there should only be one CVS app but there are many different CVS stores of varying sizes, layouts and locations. In the northeast the store manager may want to put flu remedies on the end cap near the cash registers where as a CVS in SoCal might want to feature sunscreen on that front display. This is a perfect argument for why the app itself should contain no data and it all should come from the server. I also can imagine a case for reprogramming the iBeacon transmitters as well depending on the individual store requirements.
Comments
That never even crossed my mind since I like to believe the future includes internet everywhere, but you're right. Places could have these great automated, auditory guides that are available in the app to be activated by an app when you get close to certain areas. No need for those clunky headphone sets you see in museums that require you to keep a certain pace or start/stop the playback. The one you linked you has a 2 year battery and says the case is designed to be waterproof, even submerged under water.
You know that's what I wrote, right?
Perhaps I am misunderstanding your explanation but it is important to clarify that the iBeacon only sends a very small data set of a few key/value pairs to the phone at which point, the phone needs to do the rest on its own. If you are suggesting that all of the work is done by the app alone without a connection to the internet, then the app will be huge and likely out of date since today's specials change everyday. The app should just be a lightweight shell which almost never needs to be updated and gets all the variable data from the Internet. It is the Internet server that holds your recent purchases, your personal info and the images of products the server's database thinks you might be interested in. In that way the iBeacon can change from hour to hour without requiring you to download an entire app update each time.
Right now the iBeacon device is typically a static transponder but it is also possible to make an iBeacon running on a computer that could change the promotion instantly depending on the time of day or catch of the day or whatever. That kind of robust interface would require the mobile device to have Internet access in order to work.
I previously wrote, "Now they could also give me a link to a current flyer with couponless and couponed deals which I may very well click if I am already looking at their iBeacon which then takes me to the app. At that point I would expect that to download to my phone in a few seconds. I would then probably give it a quick look for anything that sticks out."
I thought I was clear that the app could have local info as well as offer a way to get other info from the internet, like recent coupons and deals. This is not the app just being a shell. This is not requiring iBeacons to be portable web servers. This is not requiring a huge amount of data to be downloaded and it would only be done at the user's request. How much does data does a PDF flyer take need?
Again, there is no need for the iBeacon itself to change. It's unique ID will remain the same but how the app responds to that unique ID can change through an app update or through polling a server for additional data. There is absolutely no reason to have the iBeacon to be eunning on a computer. All the processing is happening on your handheld device via the app or on a server that is talking to your app on your handheld device.
I previously wrote, "Now they could also give me a link to a current flyer with couponless and couponed deals which I may very well click if I am already looking at their iBeacon which then takes me to the app. At that point I would expect that to download to my phone in a few seconds. I would then probably give it a quick look for anything that sticks out."
I thought I was clear that the app could have local info as well as offer a way to get other info from the internet, like recent coupons and deals. This is not the app just being a shell. This is not requiring iBeacons to be portable web servers. This is not requiring a huge amount of data to be downloaded and it would only be done at the user's request. How much does data does a PDF flyer take need?
Again, there is no need for the iBeacon itself to change. It's unique ID will remain the same but how the app responds to that unique ID can change. By an app update or through polling a server. There is absolutely no reason to have the iBeacon to be running on a computer. All the processing is happening on your handheld device via the app or on a server that is talking to your app on your handheld device.
Nope. We are miles apart. The ID can be the same but the other key/value pairs can change dynamically which requires a computer or statically by reprogramming the dumb transponder. By getting data from the Internet I do not mean there is a link for a web browser. What I am referring to is the store's app displays the the data much like a web browser but it is running inside the app. That way you see the full advertisement layout without having to click on anything. All the fonts, colors, images, your personal greeting, all displayed in the app automatically using assets downloaded from the Internet. No clicking involved.
Yes, but... if the server is down you should have a fall-back -- so you don't just leave the user twisting in the wind!
FWIW, an iPhone or iPad (or even an AppleTV) would be an excellent candidate as an in-store server fall-back (ad hoc WiFi Server). By necessity, it wouldn't have the personalization profiles of all the users... nor, the the pictures and other high-bandwidth assets... but, it could have all the "store specials", "catch-of-the-day" in minimal, searchable tabular form.
And the way, I'd probably design it, I'd offer the customer a "rain check" for any offers that were unavailable due to server outage.
1) I don't think that can happen because interacting with an iBeacon only puts a local notice on your device. You still need to choose to respond to that iBeacon by opening up the app. If at that point it wants to show you a most recent advert that it downloads from the internet then of course it can since the app can do whatever it's programmed to do and it's now running on the device because you told it to. But do you really want that data to be pulled from the internet so cavalierly? I don't. I hope they'd they be savvy enough to include the basic stuff in the app and allow me to hit a button to get any up to date adverts, audio/video clips, whatever.
2) This has no bearing on how iBeacons work. They don't need anything to change in them. You deploy them and then the CVS app says "Hey, I recognize this as CVS iBeacon AA.BB.CC.DD.EE.FF which means I'm suppose to put a notice on your screen that says 'blah blah blah' and then poll the server for an updated advert if the app is opened within x-many minutes of this iBeacon being received."
3) Consider iBeacons the equivalent of a piece of string tied around your finger. In of itself it does nothing be remind someone that something needs to be done at some point. These are location-based strings around the fingers of apps. It's up to the app's programming to decide what they do that piece of string.
What you say would be "nice to have" but is it really a requirement?
It's been while, but I have some experience with Wal-Mart stores and supplying "featured products" on the Housewares aisle, Christmas aisle etc. These "specials" need to be planned in advance, inventory ordered and received, shelves stocked, etc.
Things like "catch of the day" and "Today's Specials" for restaurants, also need to be planned in advance (unless you're on Chopped) -- and you often see these scribbled on a blackboard or a note clipped to the menu...
You could easily write an iPhone app that included a blackboard of "Today's Specials" for the next several days and update the app as needed.
I don' know about you, but all our iDevices synch over WiFi and app updates are installed automatically -- so the apps are always up to date.
Can you describe a more specific use-case where lack of dynamic Internet access is a show stopper?
Likely, there are some -- but even the Apple Online Store goes down for hours on end!
1) I don't think that can happen because interacting with an iBeacon only puts a local notice on your device. You still need to choose to respond to that iBeacon by opening up the app.
2) This has no bearing on how iBeacons work. They don't need anything to change in them. You deploy them and then the CVS app says "Hey, I recognize this as CVS iBeacon AA.BB.CC.DD.EE.FF which means I'm suppose to put a notice on your screen that says 'blah blah blah' and then poll the server for an updated advert if the app is opened within x-many minutes of this iBeacon being received."
Ok sort of... there are at least a couple common scenarios with a retail deployment.
1) the app is running in the foreground
2) the app is running in the background
3) the app is not running
In case #1 the app can put the ad on the screen without user consent. Otherwise it will send a notification which needs to be accepted by the user. If accepted the app should open and the ad should display in its entirety without further interaction. In all cases the ad data typically comes from the Internet unless the Internet is unavailable. In that case some default error message would display.
Obviously there are different use cases such as you noted earlier where the data doesn't change. In that case all of the data could be in the app itself and would not need an Internet connection but from a commercial perspective I don't see that situation being very common.
I don' know about you, but all our iDevices synch over WiFi and app updates are installed automatically -- so the apps ar always up to date.
If the phone is on wifi and plugged in.
None of this addresses your previous comments about the iBeacon itself needing updates and covers what I've already stated. Are you now clear that the iBeacon itself is a dumb transmitter?
Doesn't have to be plugged in!
I've been installing a Beta version of Mavericks and the new version of Final Cut -- and I have been doing several reboots a day...
Each time I reboot, iTunes starts and finds any iDevice it can see and starts synching over WiFi -- they're not all plugged in!
Not necessarily. Even an iPhone can be turned into an iBeacon. It takes a little hacking to make a Mavericks running Mac into an iBeacon but that is also possible. If you want to make changes to the key/value pairs, that is completely up to you. If you want to move certain merchandise around the store without changing the promotions on the server or the location of the iBeacon you can change the key/value pairs instead.
What does that have to do with anything being discussed? Yes, anything that sends a BT signal can be turned into an iBeacon because it's that simple of a design, but if the CVS app doesn't have that as one of the iBeacons on its list why does it matter? And, yet again, the iBeacon is just telling the app on the device that it's there. The app still needs to do what it's programmed to do. The iBeacon in no way tells the app how to dance.
Doesn't have to be plugged in!
I've been installing a Beta version of Mavericks and the new version of final cut -- annd I have been doing several reboots a day...
Each time I reboot, iTunes starts and finds any iDevice it can see and starts synching over WiFi -- they're not all plugged in!
I didn't know that. I thought the phone needed to be plugged in. Perhaps it depends on the size of the update. I know an OS update needs to be plugged in.
It does. When you are near a certain item in the store, the iBeacon sends the key/value pairs associated with that item. If you move the item to a different location in the store and put some other merchandise where it used to be, you need to tell the iBeacon about it or move it, the former being a little more practical.
Show me where the iBeacon knows what merchandise is around it? Show where the iBeacon has a complex set of instructions (an XML file?) of all the merchandise that is around it? Explain to me why you think this simple, BLE transmitter needs to have any information in it at all?
Show me where the iBeacon knows what merchandise is around it? Show where the iBeacon has a complex set of instructions (an XML file?) of all the merchandise that is around it? Explain to me why you think this simple, BLE transmitter needs to have any information in it all?
iBeacons features micro-location geofencing so depending how close you are to the transmitter the mobile device knows where it is. This is how indoor mapping apps work and can also be used to display different ads depending on where you are within the store.
Your device knows how far away from the iBeacon it is, but the iBeacon doesn't know that your device exists or what products are placed next to it. It's up to whomever is in charge of the iBeacons to make sure they are near the appropriate items in a store for which the app has been programmed.
In no way does the iBeacon say "Oh shit, I'm being moved. I should tell all my other iBeacon buddies and my home server to update my location." If someone moves the iBeacon and doesn't make the appropriate changes to how the devices responses to its one-way communication then it becomes useless to both the proprietor and consumer.
I don't understand what you mean by changing key/value pairs!
Below is the definition of the CLBeacon Class and it defines what data is received when a listened for iBeacon is detected:
As you can see, everything is (coded into or generated by) the iBeacon. The App must specify the proximityUUID (the iBeacon UUID) t listen for and optionally a major ID and minor ID.
Overview
The CLBeacon class represents a beacon that was encountered during region monitoring. You do not create instances of this class directly. The location manager object reports encountered beacons to its associated delegate object. You can use the information in a beacon object to identify which beacon was encountered.
The identity of a beacon is defined by its proximityUUID, major, and minor properties. These values are coded into the beacon itself. For a more thorough description of the meaning of those values, see CLBeaconRegion Class Reference.
Identifying the Beacon
proximityUUID property
major property
minor property
Determining the Beacon Distance
proximity property
accuracy property
rssi property
Properties
accuracy
The accuracy of the proximity value, measured in meters from the beacon. (read-only)
Indicates the one sigma horizontal accuracy in meters. Use this property to differentiate between beacons with the same proximity value. Do not use it to identify a precise location for the beacon. Accuracy values may fluctuate due to RF interference.
A negative value in this property signifies that the actual accuracy could not be determined.
major
The most significant value in the beacon. (read-only)
minor
The least significant value in the beacon. (read-only)
proximity
The relative distance to the beacon. (read-only)
The value in this property gives a general sense of the relative distance to the beacon. Use it to quickly identify beacons that are nearer to the user rather than farther away.
proximityUUID
The proximity ID of the beacon. (read-only)
rssi
The received signal strength of the beacon, measured in decibels. (read-only)
Discussion
This value is the average RSSI value of the samples received since the range of the beacon was last reported to your app.
Constants
CLProximity
Constants that reflect the relative distance to a beacon.
typedef {
CLProximityUnknown,
CLProximityImmediate,
CLProximityNear,
CLProximityFar
} CLProximity;
CLProximityUnknown
The proximity of the beacon could not be determined.
CLProximityImmediate
The beacon is in the user’s immediate vicinity.
CLProximityNear
The beacon is relatively close to the user.
CLProximityFar
The beacon is far away.
https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLBeacon_class/Reference/Reference.html
iBeacons features micro-location geofencing so depending how close you are to the transmitter the mobile device knows where it is. This is how indoor mapping apps work and can also be used to display different ads depending on where you are within the store.
Your device knows how far away from the iBeacon it is, but the iBeacon doesn't know that your device exists or what products are placed next to it. It's up to whomever is in charge of the iBeacons to make sure they are near the appropriate items in a store for which the app has been programmed.
In no way does the iBeacon say "Oh shit, I'm being moved. I should tell all my other iBeacon buddies and my home server to update my location." If someone moves the iBeacon and doesn't make the appropriate changes to how the devices responses to its one-way communication then it becomes useless to both the proprietor and consumer.
Well I'm just learning this as I go along but I think all three pieces, the app, the iBeacon and the server, each should to be flexible enough to be reprogrammed as needed.
For example there should only be one CVS app but there are many different CVS stores of varying sizes, layouts and locations. In the northeast the store manager may want to put flu remedies on the end cap near the cash registers where as a CVS in SoCal might want to feature sunscreen on that front display. This is a perfect argument for why the app itself should contain no data and it all should come from the server. I also can imagine a case for reprogramming the iBeacon transmitters as well depending on the individual store requirements.