Search...

Showing posts with label Anticipating your starting point with the Q value. Show all posts
Showing posts with label Anticipating your starting point with the Q value. Show all posts

'Dumb' phones can learn from smart apps

"Dumb phones" need not be left behind in the mobile app craze because they can adopt elements of smartphone success stories to bring value to users, advises an industry analyst.

C. W. Cheung, consulting director of Asia-Pacific at Ovum, said in an interview with ZDNet Asia that one key element of Apple's success story has been its overarching strategy across the company's mobile devices.

The iPhone is not a mobile device unto itself but should be seen against the backdrop of Apple's success with iPod among its users, which helped build up both a name for the company as well as user reliance on its iTunes music platform, explained Cheung.

Correspondingly, the iPad tablet built on the iPhone's success to offer the familiarity of mobile apps to users, he said.

And feature--or "dumb"--phones could mimic this strategy to compete with the smartphone crowd, he said. For instance, feature phones could offer platforms to win over users, such as music platforms, the analyst suggested.

Nokia, which makes the lion's share of the world's feature phones, has a music platform offering free music downloads to users of its XpressMusic line of devices.

Players in the feature phones market could also open up their platforms to cultivate a developer audience, said Cheung.

Citing Google's open source Android as an example, the analyst said this initiative won over phone makers because it is open source, thus, lowering licensing fees.

The platform's open nature also allowed third-party phone makers to customize the Google interface, giving them more flexibility with the hardware, he said, adding that this aspect also attracted developers who were given more power within the OS to develop apps.

"In the future, every phone will have some form of 'smart' features. Even 'dumb phone' designs could incorporate smart OSes and when [manufacturers] build up a big community of developers, it will be easier to standardize [apps] across platforms," said Cheung.

Building apps for "dumb phones"
Stefan Wessels, co-founder of Singapore-based mobile games maker Breakdesign, said a game does not have to be crippled and simplified for less powerful hardware.

The game developer tweaks its games, which are made in Flash Lite for mobile devices, to compensate for lower hardware capabilities by holding back on stereo sound or full-length music tracks in some cases, said Wessels. Other ways of simplifying a game could be in keeping some graphics in the background to silhouettes so that the game will not be too resource-demanding, he said in an e-mail interview.

All these help apps run smoothly on low-end devices but do not take away the game's engagement from users, he said.

"The performance of our games on all targeted phones is always a factor," he noted. "This was a big driving force in the graphical style of some of our games, [such as] Dawn Of The Fly."

"When this game originally came out, it was important to us that it ran on all possible devices. This is one of the reasons we chose to go with the silhouette graphical style seen in this game," explained Wessels.

He recommended that developers looking to code for low-end phones should try getting their feet wet with a selected group of devices, before trying to scale for an entire range of feature phones. Some of the finer points in ensuring compatibility with all devices may be too daunting for new developers, he said.

"We believe though that the most important guideline is to constantly test, use and develop on the actual low-end device," Wessels said. "When we are developing for [Nokia] S40 devices, we would use them as our primary device for a couple of weeks. This really helps you understand the phone and what users want."

With the majority of the market rushing for the smartphone demographic, he noted that feature phones are being neglected.

Breakdesign's decision to target feature phones also opens the vast numbers of emerging market users to it. He said: "Being a South African-bred company, we don't always feel completely at home in the 'first' world and we feel our work has to be connected and relevant to where we come from, and to positively influence our players."

Posted on 11:00 AM by Zaheer and filed under | 0 Comments »

Anticipating your starting point with the Q value

Anticipating your starting point with the Q value

Section Contents



An intelligent user who knows that only one tag is going to be present can short-circuit this relatively slow process of adaptation by telling the reader to look for only one tag. Many readers allow the user to set the initial value of Q, under some name like Qinit or Qstart. In this case, a starting value of Q=0 will ensure that the tag will respond every time: 20-1 = 0, so the slot counter can only take the value that initiates a tag reply. By properly setting the starting value we have achieved a 27-fold increase in the read rate!

The opposite problem takes place if we start with a small value of Q when many tags are present. Imagine now that there are 50 tags of interest to us, all at about the same distance from the reader antenna, and that we’ve forgotten to adjust the starting value of Q from the single-tag case. The reader begins an inventory by issuing a Query with Q=0. As there is only one time slot available, if all 50 tags hear the command, every tag will respond simultaneously. The reader might be able to detect that a collision occurred, because the response from every tag contains an identical preamble, which can be decoded even when issued by multiple tags. Since a collision is detected, the reader will hopefully issue a new Query or QueryAdjust with an increased value of Q. On the other hand, if some tags talk a bit faster than others, even the preamble may be gibberish. If no collision is detected, the reader may simply conclude that no tag is present (since Q=0) and stop the inventory, reporting no tags.


Figure 2: inventory round with 50 tags present, using Q=0

The same pointless exercise will occur for larger values of Q until there are enough slots to give a single tag a chance of having one to itself. In this case, with 50 tags, when we get to a value of around Q=5 we should start getting a reasonable number of tags read in each inventory. At lower values of Q, virtually all the slots will contain collisions between tags, often with more than two tags talking at once. Readers differ in their ability to optimize on their own, but even the best reader will still waste many read cycles before reaching an effective value of Q, and some readers may never be able to optimize away from a small starting value (Q=0 or 1) and a large number of tags.

Obviously it is again useful to provide a good starting value of Q to the reader to obviate the wasteful initial optimization. In figure 3 we show a simple estimate of how many tags of the 50 will be read in a single inventory with varying values for the parameter Q, and the ‘efficiency’ (the average number of tags read per QueryRep command). We can see that any value of Q between about 4 and 8 will work reasonably well, and likely provide a good enough start that the reader’s adaptation algorithms will do the rest.


Figure 3: expected number of tag reads in a single inventory round (blue) and percent of QueryRep commands (slots) producing a good tag read, vs. value of Q; inventoried population of 50 identical tags, assuming a read occurs whenever only one tag replies in a given slot.

So the lesson of this discussion is: your Gen 2 reader will work faster and more efficiently if you provide an accurate starting value for Q corresponding to the expected tag population.

For reference, Table 1 gives recommended values of Q that produce reasonably efficient inventories for varying numbers of tags in the read zone.

Table 1: suggested starting Q value for various numbers of tags simultaneously
present in the read zone.
Posted on 8:16 AM by Zaheer and filed under | 0 Comments »

Anticipating your starting point with the Q value

Anticipating your starting point with the Q value

Section Contents



An intelligent user who knows that only one tag is going to be present can short-circuit this relatively slow process of adaptation by telling the reader to look for only one tag. Many readers allow the user to set the initial value of Q, under some name like Qinit or Qstart. In this case, a starting value of Q=0 will ensure that the tag will respond every time: 20-1 = 0, so the slot counter can only take the value that initiates a tag reply. By properly setting the starting value we have achieved a 27-fold increase in the read rate!

The opposite problem takes place if we start with a small value of Q when many tags are present. Imagine now that there are 50 tags of interest to us, all at about the same distance from the reader antenna, and that we’ve forgotten to adjust the starting value of Q from the single-tag case. The reader begins an inventory by issuing a Query with Q=0. As there is only one time slot available, if all 50 tags hear the command, every tag will respond simultaneously. The reader might be able to detect that a collision occurred, because the response from every tag contains an identical preamble, which can be decoded even when issued by multiple tags. Since a collision is detected, the reader will hopefully issue a new Query or QueryAdjust with an increased value of Q. On the other hand, if some tags talk a bit faster than others, even the preamble may be gibberish. If no collision is detected, the reader may simply conclude that no tag is present (since Q=0) and stop the inventory, reporting no tags.


Figure 2: inventory round with 50 tags present, using Q=0

The same pointless exercise will occur for larger values of Q until there are enough slots to give a single tag a chance of having one to itself. In this case, with 50 tags, when we get to a value of around Q=5 we should start getting a reasonable number of tags read in each inventory. At lower values of Q, virtually all the slots will contain collisions between tags, often with more than two tags talking at once. Readers differ in their ability to optimize on their own, but even the best reader will still waste many read cycles before reaching an effective value of Q, and some readers may never be able to optimize away from a small starting value (Q=0 or 1) and a large number of tags.

Obviously it is again useful to provide a good starting value of Q to the reader to obviate the wasteful initial optimization. In figure 3 we show a simple estimate of how many tags of the 50 will be read in a single inventory with varying values for the parameter Q, and the ‘efficiency’ (the average number of tags read per QueryRep command). We can see that any value of Q between about 4 and 8 will work reasonably well, and likely provide a good enough start that the reader’s adaptation algorithms will do the rest.


Figure 3: expected number of tag reads in a single inventory round (blue) and percent of QueryRep commands (slots) producing a good tag read, vs. value of Q; inventoried population of 50 identical tags, assuming a read occurs whenever only one tag replies in a given slot.

So the lesson of this discussion is: your Gen 2 reader will work faster and more efficiently if you provide an accurate starting value for Q corresponding to the expected tag population.

For reference, Table 1 gives recommended values of Q that produce reasonably efficient inventories for varying numbers of tags in the read zone.

Table 1: suggested starting Q value for various numbers of tags simultaneously
present in the read zone.
Posted on 8:16 AM by Zaheer and filed under | 0 Comments »

Anticipating your starting point with the Q value

Anticipating your starting point with the Q value

Section Contents



An intelligent user who knows that only one tag is going to be present can short-circuit this relatively slow process of adaptation by telling the reader to look for only one tag. Many readers allow the user to set the initial value of Q, under some name like Qinit or Qstart. In this case, a starting value of Q=0 will ensure that the tag will respond every time: 20-1 = 0, so the slot counter can only take the value that initiates a tag reply. By properly setting the starting value we have achieved a 27-fold increase in the read rate!

The opposite problem takes place if we start with a small value of Q when many tags are present. Imagine now that there are 50 tags of interest to us, all at about the same distance from the reader antenna, and that we’ve forgotten to adjust the starting value of Q from the single-tag case. The reader begins an inventory by issuing a Query with Q=0. As there is only one time slot available, if all 50 tags hear the command, every tag will respond simultaneously. The reader might be able to detect that a collision occurred, because the response from every tag contains an identical preamble, which can be decoded even when issued by multiple tags. Since a collision is detected, the reader will hopefully issue a new Query or QueryAdjust with an increased value of Q. On the other hand, if some tags talk a bit faster than others, even the preamble may be gibberish. If no collision is detected, the reader may simply conclude that no tag is present (since Q=0) and stop the inventory, reporting no tags.


Figure 2: inventory round with 50 tags present, using Q=0

The same pointless exercise will occur for larger values of Q until there are enough slots to give a single tag a chance of having one to itself. In this case, with 50 tags, when we get to a value of around Q=5 we should start getting a reasonable number of tags read in each inventory. At lower values of Q, virtually all the slots will contain collisions between tags, often with more than two tags talking at once. Readers differ in their ability to optimize on their own, but even the best reader will still waste many read cycles before reaching an effective value of Q, and some readers may never be able to optimize away from a small starting value (Q=0 or 1) and a large number of tags.

Obviously it is again useful to provide a good starting value of Q to the reader to obviate the wasteful initial optimization. In figure 3 we show a simple estimate of how many tags of the 50 will be read in a single inventory with varying values for the parameter Q, and the ‘efficiency’ (the average number of tags read per QueryRep command). We can see that any value of Q between about 4 and 8 will work reasonably well, and likely provide a good enough start that the reader’s adaptation algorithms will do the rest.


Figure 3: expected number of tag reads in a single inventory round (blue) and percent of QueryRep commands (slots) producing a good tag read, vs. value of Q; inventoried population of 50 identical tags, assuming a read occurs whenever only one tag replies in a given slot.

So the lesson of this discussion is: your Gen 2 reader will work faster and more efficiently if you provide an accurate starting value for Q corresponding to the expected tag population.

For reference, Table 1 gives recommended values of Q that produce reasonably efficient inventories for varying numbers of tags in the read zone.

Table 1: suggested starting Q value for various numbers of tags simultaneously
present in the read zone.
Posted on 8:16 AM by Zaheer and filed under | 0 Comments »