Network Browser

Story

When working with OS X bonjour is everywhere. My machine alone has:

  • Apple File Sharing (afp, smb or ftp)
  • Screen Sharing (vnc)
  • World Wide Web (http or https)
  • clipshlpr (funny clipboard sharing from a program i recently purchased)
  • Secure File Sharing (sftp)
  • Network File System (nfs)
  • Secure Shell (ssh)
enabled. When I come into my homenetwork, my media, download server and so on are also discoverable via bonjour. It is a technology that makes one simple thing in a good way.

Unfortunately google does not provide a bonjour service on the android platform. The networkbrowser is my try on doing the discovery part of bonjour (i dont support announcing right now) with std. java libraries in an extensible and android way.

First I thought, that something like 50 cent would be a reasonable price for such a basic and very useful application, but several months in the android market showed, that the android people normally dont like to buy applications and so the network browser is now a free application (which is only fair, because most of the work was done by the jmdns guys).

Since API level 16 NsdManager is native to android. So please use it!

Implementation

The networkbrowser simply browses through discoverable services and then tries to call seperately installable intents. I also provide some wrapper intents for:

  • ssh - mapped to connectbot
  • ftp - mapped to fsync
  • rfb - (remote framebuffer or vnc) mapped to androidvnc (i hope my patch to androidvnc makes it into the next release)
  • http - mapped to the default browse intent
How to extend
As an application developer you have to ways of communicating with the network browser:
  • Provide an intent that is called from the network browser when the user selects an service.
  • Use the networkbrowser with startActivityForResult to get to the data of a service you want to connect to.
Examples are coming.
Sources
The sources are located in my private svn repository, which i access with git.