My Android Applications

These apps are available for free through the Google Play Store. Let me know if you encounter problems, or have suggestions for improvements.

If any of my software has been helpful to you -or your company-, and you feel like expressing your gratitude beyond saying "Thank you" -which is also appreciated-, please note that I have an Amazon Wish List containing several inexpensive items.
Ping & DNS is a network diagnostic tool for ICMP ping, DNS and reverse DNS lookup, Traceroute, Whois queries and HTTP ping
Styled WikiNotes is a note-taking app that optionally supports text styles with a wiki-like markup

Ping & DNS

This app combines numerous network diagnostics and troubleshooting tools:
  • ping a server,
  • look up DNS records for a domain (also includes city/country lookup of the IP address),
  • reverse DNS lookup,
  • perform traceroutes,
  • inspect HTTP response headers,
  • query WHOIS records,
  • and check whether certain ports are open.
  Play Store

The available DNS record types are A, AAAA, CNAME, DNAME, LOC, HINFO, MX, NAPTR, NS, NSAP, PTR, SOA, SPF, SRV, TXT and WKS; more options are available for most menu items. The results are displayed on the screen, and can be sent via email. The most recently used server names are remembered for auto-completion, thus hopefully keeping the amount of typing required to a minimum. It's possible to set an alternate nameserver (like Google's 8.8.8.8) instead of the default one. Previous results are kept in separate tabs, making it possible to browse through old results by swiping left and right.

  Google+ community

Version history

1.2 adds a setting for Ping TTL and fixes Android 1.5 compatibility
1.2.1 fixes all reported issues and adds more settings (like an adjustable font size)
1.2.2 improves auto-complete for partial host names (it matches the input anywhere, not just at the beginning of the host name)
1.2.5 fixed crashing exceptions; new app icon by lynk
1.2.6 shows the IP address of the DNS server being used
1.2.7 improved selection of DNS server; longer Ping and DNS timeout intervals for 3G; no longer caches DNS results; better handles switching between 3G and WiFi
1.2.8 added option to use HEAD instead of GET, thereby decreasing data traffic; fixed crashing exceptions
1.3 adds a home screen Live Folder that lists the 20 most recently used servers/IPs (with an option to list them alphabetically); fixed crashing exception; explicitly shut down connections to avoid leaks
1.4 adds WHOIS queries
1.4.1 fixes a crashing exception
1.5 reorganizes the way options work for Ping, DNS and HTTP: through a long-click on the "Go" button. That way it's easier to change them for individual requests. It also adds HTTPS, port number and redirect options to the HTTP header lookup.
1.5.1 adds an option for broadcast pings. Remember to use the broadcast address (which ends in 255).
1.5.2 fixes two issues in landscape mode (an invisible "Go" button and a messed up Ping options dialog), and the HTTP Show Long Headers option.
1.5.3 adds an option for a wait period ("-i") between pings
1.5.4 fixes a bug that caused the font size selection not to be stored correctly
1.5.5 adds an option to set the packet size ("-s"), and integrates the DNS record type selection into the DNS options dialog (some folks seem not to have noticed it where it was).
1.6 adds reverse DNS lookups, and fixes a problem with the menu selection
1.7 adds Traceroute
1.7.1 enables App2SD and makes several smallish UI improvements
1.7.3 adds an option to keep the display scrolling as new results come in; this is useful particularly for Ping and Traceroute. Also new is an option to display ping times for each hop of a traceroute.
1.7.4 better supports long-running pings (they can be stopped by putting the app temporarily in the background), and adds an option to display a running average of the last 10 ping times
1.7.6 uses a numeric soft keypad for numerical input fields. Host names are no longer looked up during traceroutes if the corresponding option is unchecked; previously this would just suppress the output of the host name. This saves on roundtrips to the DNS server.
1.7.7 better supports large screens (like tablets).
1.7.8 can copy the results to the clipboard upon a long-click, and has an option to stop long-running Pings if the screen goes dark.
1.7.9 restores Android 1.5 compatibility, better handles IP geo lookups containing umlauts, shows the complete Ping options dialog on small screens, and has an option to track the location during long-running Pings.
1.7.10 removes the requirement for the network location permission, automatically attaches the latest KMZ file to emails if one exists, and uses different-color pins in KMZ files for different ping times.
1.7.11 fixes an issue with malfunctioning Live Folders and added a nicer-looking icon for Live Folders.
1.8 adds checking of open ports (NOT a port scanner).
1.8.1 fixes a problem with using alternate name servers for DNS lookups.
1.8.3 adds an option to use white text in the input field, because a few people have reported seeing black text on black background, making text input just about impossible. It also slightly rearranges the Ping options dialog, thereby better accommodating small-sized screens.
1.8.5 allows HTTP headers to be retrieved for any URL, not just for the root URL of a server (as was the case until now).
1.8.6 makes IP addresses in traceroutes clickable in order to obtain the estimated geo location of the server, just like the DNS lookup does. (Note that you can display the ping time of each traceroute step via an option setting when long-clicking the "Go" button.)
1.8.7 allows to check a range of ports instead of just a single port, addresses a couple of crashing exceptions, and checks for the presence of the 'ping' command - if it's not available, the ping and traceroute functionalities are disabled.
1.9.0 splits the main screen into tabs, one for the input elements, and one or more for the result tabs. Swipe left/right to switch between them. Previous results are pushed to the right, so a history of operations is available. (Individual tabs can also be removed via the options menu.) The "clear display" option has been removed, as each new operation now starts on a new tab. The result tabs (either single ones or all of them together) can now be saved, either as text files or PDF, in addition to being sent by email. Further changes: The app no longer tries to look up the geo location of private IP addresses (like 10.x.y.z and 192.168.x.y), shows host names when doing a traceroute to an IP address, and cancels the currently running task if a new one is started (thus ensuring that the screen output doesn't get messed up). If voluminous results are sent by email (like from a long-running Ping), the results are now sent as an attachment, not in the body of the email. The previous approach was unreliable for lengthy data. The minimum required Android version is now 1.6 (instead of 1.5 up to now).
1.9.2 fixes the crashing exception at app launch, and allows PDF files to be stored in either A4 or US Letter size.
1.9.3 can handle server names in the reverse DNS (by first doing an DNS A lookup on them) and has an option to copy clickable IP addresses to the input field. It also adds properly named tab titles, hopefully making it clearer that the way to navigate between tabs is by swiping left and right.
1.10.0 adds the 'Network Info' menu. It doesn't require a server name or IP address, and shows some information about all available network interfaces as well as some basic IP information about the currently active connection.
1.10.1 fixes a crashing exception when trying to bring up options for menu items that don't have any (Whois and Network Info).
1.10.2 hides the soft keyboard while output tabs are displayed. It allows individual tabs to be closed via the close icon in the top left hand corner, and the options menu item now closes ALL output tabs.
1.11.0 adds the SSL Scan option, prevents a crashing exception, adds preferences for whether or not to force open or closed the soft keyboard on the start and result tabs, and adds experimental support for rooted devices where Ping does not work. The minimum required Android version is now 2.3.3 (instead of 1.6 up to now).
1.11.1 displays the MAC address in Network Info, and fixes a Whois problem with some country TLDs.
1.12.0 adds an extensive built-in help menu that explains all major operations and their options.
1.12.1 fixes a crashing exception when displaying a KMZ file, works around another crashing exception at startup, and adds an option to use a monospaced font on the results tabs. Network Info now shows incoming and outgoing network traffic statistics.
1.12.2 fixes a problem where individual tabs can't be closed, as well as a rare app crash.
2.0 introduces a new look with an option to choose a light theme or a dark theme. The big new feature is a home screen widget for long-running pings that can chart and save its results. It also fixes a problem with the IP geo lookup, another one that caused some of the preferences not to be saved correctly, and the result tabs now stay formatted/linked even if you navigate away from them. The minimum required Android version is now 4.0.3 (instead of 2.3.3 up to now).
2.0.1 applies the selected light/dark theme to the ping chart display (which so far ignored themes), has new option icons, and provides better feedback to user in case of invalid inputs. And I'm cautiously optimistic that I've squashed the last major cause of app crashes (fingers crossed).
2.0.2 allows to change the port number used for the SSL scan, and there's a new menu for working with recently used server names and IP addresses; specifically, they can be copied to the Start tab, or deleted from the list altogether.
2.0.3 improves input field validation, adds a couple new options for the ping widget, and allows ping charts to be toggled between displaying data for a single widget or all of them.
2.0.4 fixes an app crash due to low memory when creating PDFs from ping charts on some devices.
2.0.5 avoids an app crash due to low memory by setting an upper limit to the number of pings.
2.0.6 prevents an app crash when trying to display KMZ (Google Earth) files, stores those files properly with a "*.kmz" extension, and removes the option to install the app on SD cards (because that can break the ping widget in a non-obvious way).
1.13.0 is a backport of some of the new features of version 2.1 (which is available on Android 4 only) to Android 2.2 and 2.3: The result tabs now stay formatted/linked even if you navigate away from them. The port number to be used for the SSL scan can now be changed (in case it's not 443). Optionally, only open ports are shown during a port range check. There's a new menu for copying recently used server names (or IP addresses) to the Start tab, or for removing them from the list altogether. Input values are checked right in the option dialogs. Better support for long-running operations (especially pings, but others as well) via a new option to keep the display turned on (a related option just fo r pings was removed, as it did not work properly). Various bug fixes, some of which caused the app to crash.
2.1 has better support for long-running operations (especially pings, but others as well) via a new option to keep the display turned on. A related option just for pings was removed, as it did not work properly. Fixed a bug that caused some pages in saved PDF files to be truncated.
2.1.1 & 1.13.1 use more noticeable (and colorful) alerts, and fix some bugs and crashes.
2.1.2 & 1.13.2 fix a problem where the input cursor was invisible when using the dark theme (on Android 4), properly save all HTTP Header option settings, and fix a couple of bugs and crashes.
2.1.3 fixes a crashing exception when showing some of the dialogs.
2.1.4 The fix in version 2.1.3 didn't work too well; the problem should now be squashed for good.


Styled WikiNotes

WikiNotes is a sample app from Google that shows off some Android capabilities. It's a bit limited, though, and lacks some features one would like to see for actual use. Styled WikiNotes is my attempt to fill in some of the gaps. In particular, it adds If you're currently using the original WikiNotes app, then you can migrate all data by exporting it. That will create a file called something like WikiNotes_2010-04-09_14-49-45.xml in the WikiNotes directory on the SD card. Then rename the file to WikiNotes-import.xml, move it up one level (to the root of the SD card), and import it in Styled WikiNotes.

Version history

1.2 adds an option to keep existing notes during an import (i.e., only notes of the same name are overwritten, all others are kept intact)
1.2.1 fixes an exception that force-closed the application
1.2.2 improves soft keyboard behavior during editing, enabling the user to scroll the text
1.3 supports a Live Folder of all notes for the home screen, adds a search menu button (the device search button was working already), and adds an option to list notes alphabetically (instead of most recently modified first, as it was before)
1.3.1 integrates the Quick Search Box with the application's internal search. If you want to get search results from StyledWikiNotes when using the Quick Search Box, you need to enable this under "Settings -> Search -> Searchable Elements".
1.3.2 adds an option to set the font size used while editing notes independently of the font size used for displaying notes. There's also an option to hide the Confirm/Cancel buttons on the edit screen; this is useful for saving space on small screens. In that case, those functions are invoked via the menu.


Home Page