Saturday, September 17, 2011

Version 3.8 - Survey the entire Wi-Fi Environment

Big change in AirYarde 3.8 - It now collects information about available Wi-Fi access points (AP), instead of only the currently connected AP.  You do not even need to be connected to an AP to start data collection, but you do need to turn on Wi-Fi.  A much greater amount of data is collected, but you can limit it by setting the new SSID scan filter on the home screen.  AirYarde will gather data about APs that have an SSID containing the filter.  Leave the filter blank to survey all APs.

The database is unchanged in this version, but the home screen displays scanning progress differently.  When AirYarde samples the Wi-Fi surroundings, sample count is incremented by 1.  Data Count is incremented by the # of APs found that match the SSID filter.

Future versions will collect additional information, so you can select the strongest, most secure AP.  Enhanced mapping will help you understand where signals are the best.

Wi-Fi and map data stays on your device of course.  The only thing that is uploaded is anonymous usage data - what screens are used, and how many times data collection starts, which will be discussed in the next blog post.

Sunday, August 28, 2011

Version 3.7 - Tips Added and Misc Changes

Tips are now part of using AirYarde.  When most any item on the main and results screen is long-pressed a pop-up will show the user what that item means or what it is for.  When you are done reading the tip just click anywhere on the pop-up to close the tip.  Other screens will have tips added in the weeks to come.  A hep menu item has been added to these screens, these merely tell users to long press to get tips.

In addition, and "RSSI" text has been updated to "dBm", as that is what Android reports anyway.  No change has been made to the way data is collected.  As always, Wi-Fi and GPS data stays on the device.

This version also has a number of behind the scenes changes, refactoring to class names and simplifying code.

Sunday, July 31, 2011

Version 3.6 - Frequency

Version 3.6 adds Wi-Fi frequency (MHz) to the results screen, collected from ScanResult Android class.  This class also can be used to retrieve dBm, so I decided to get signal strength from this class rather than from the old way.  It did not seem to make any difference in my testing.

The code seems very stable, but the database change I made to store frequency might cause errors in your AirYarde install.  The short story is that I had to make changes to the database but did want to write an upgrade database code at this time.  You will have to uninstall and reinstall from the Android market.

RSSI versus dBm / WifiManager versus ScanResult.

When AirYarde receives a RSSI change broadcast it stores the accompanying  WifiManager.EXTRA_NEW_RSSI value.  The Android developer reference says this is in fact the dBm value.  Android also has an object called ScanResult that returns the "detected signal level in dBm. At least those are the units used by the TI driver."  I updated AirYarde in my test environment to report signal strength using both methods.  On my device the results were always the same.

Friday, July 22, 2011

Version 3.4 - Active or Passive Monitoring

AirYarde can now track changes to signal strength actively or passively.  In active mode AirYarde samples signal strength every x seconds.  In passive mode AirYarde waits for Android to alert it to changes in signal strength.  In active mode   You choose the mode and (if you pick active mode) how often to sample the signal strength.  To implement active scanning I created a new Android service and refactored the code a little bit in the original service. 

To track how the application is being used I added the Google Analytics API to the code base.  The API for Android helps developers know how the app is being used.  In AirYarde the API records how many times each screen (Android activity) is viewed, how many times the services are started, and how many times the services are stopped manually.

No information from the Google Analytics API can be traced back to specific users and as always, none of your signal or GPS data leaves your phone.

Saturday, July 16, 2011

How does it work?

When you turn on RSSI recording AirYarde starts an Android service that listens for RSSI change broadcasts sent by the OS.  I suspect Android does not broadcast every change to RSSI, it likely waits until some range is surpassed.  I am thinking about creating an "active mode" option that samples the RSSI every second.  That would use more power, but it might be worth it for many of you.  Stay posted for more updates to AirYarde.

AirYarde Launch!

This week the first version of AirYarde was posted to Android market.  WifiYarde keeps a record of Wi-Fi connection signal strength over time, so you can compare your Wi-Fi experience in different places and conditions.  You can also get a count of the BSSIDs that your device is using as it moves around.

A few minor updates this week, right away I noticed that I did not put my Google maps API key in so the maps just showed a grey grid.  I also fixed two screens that did not scroll to the bottom.  Today I added a save to SD card feature, it did not work on my CyanogenMod 7 device, but I put it out there anyway to see how it does.