[aprssig] Andorid APRS

Gregg Wonderly gregg at wonderly.org
Tue Dec 22 15:38:23 CST 2009

A follow up note, ignore if you don't care about APRS on your handheld computing 

When you look around the embedded phone device software world, there is a 
diversity of operating system and thus programming language requirements.  It is 
this diversity that provides both opportunity because of features that come in 
some of these environments, as well as restrictions that come in porting one 
application to another platform.  The iPhone uses Apples custom OS that is based 
on MACOS-X (Mach-OS/FreeBSD) that came out of the NextStep computer business 
that Steve Jobs went off to do.  The programming language is Objective-C, which 
has some interesting features as a language.  The graphical UI programming tools 
are tremendously strong as many of the app-store games and other applications 
show.  You can also port C language applications to this environment because it 
all comes down to a native programming environment, which means you are writing 
instructions that execute directly on the processor.

The Android environment is based on the Java language.  As a "language", java is 
java.  The syntax is the same everywhere.  The "platforms" which Sun 
Microsystems has standardized over the years have varied differences.  The 
smallest environment is the smartcard platform.  There are limited data types, 
single dimension arrays and other restrictions.  When you move up to the JME 
platform that is on many types of "simple" smartphones, there are fewer 
restrictions, but the programming libraries for I/O and graphics are completely 
different from the desktop, JSE platform.  The JEE platform provides enterprise 
server application tools such as standard ways to interact with particular types 
of services etc.

My offer below, applies to trying to promote a common code base for APRS 
development on three of these environments.  The two common Java environments, 
JME and JSE environments can largely use the same code for everything except I/O 
to serial devices/GPS and graphics rendering.  Thus, packet assembly and 
disassembly as well as algorithms for things like digi-peating/I-gate activities 
can be done once and reused in both of these environments as long as care is 
taken to understand the limitations of the JME runtime (floating point etc). The 
new Android environment represents the third environment that I think a common 
library of code can be targeted.

All of the other device types with their other runtime environments and 
programming languages are not part of this discussion.  They are "different", 
and require a different programming language environment to develop for.

The Symbian environment could likely use APRS code written in in the C-language 
that could be used on the iPhone.  That would require a different, even 
duplicate, effort in general because the programming languages are just so 
different that even simple text conversion tools would have a hard time getting 
it right.

I'm an avid fan of the iPhone as a networking portal that happens to also 
provide phone service.  It's the network part that is most interesting to me.

I'll likely spend some time looking at the Android, hands on, but without a 
device right now, I don't know how to help with the Android related tasks.

The code that I point at below is the "common" code that I believe to be largely 
useful across the three platforms I mentioned above.  I'd like to see it used 
because it could reduce the time to having something to use.


Gregg Wonderly

Gregg Wonderly wrote:
> I'll extend the offer again.  I wrote a lot of APRS related Java code 
> back in 2001 or so that is visible in the http://jeaprs.dev.java.net 
> project.  I'm using this code as the basis for a new "HamDesk" 
> application framework that I've started on google code.  What I'd like 
> to suggest is that we all work together to think about how we can create 
> APIs and libraries that are portable between the desktop and the android 
> environment to help create reusable packages for these types of things.
> I'm not sure that I can jump in immediately and create all the repos, 
> but I'd be willing to try and help as much as I can to try and get 
> things started in some form.
> Gregg Wonderly
> Jeffrey Johnson wrote:
>> I'm interested in helping. I'm a frequent user of ibcnu on iPhone and 
>> have a g1 that I will probably trade up for a nexus one next month, 
>> and have written a few map based android apps at my day job.
>> Can we get a repo going on github or something? There should be plenty 
>> of reusable code in javaaprs for parsing and such.
>> Jeff
>> On Dec 20, 2009, at 20:18, Duane Whittingham <n9ssn at arrl.net> wrote:
>>> While im not a coder I do have the Droid and would love to alpha or 
>>> beta test and provide feedback
>>> when ready, i really want an APRS tracker for the Droid :)
>>> Duane - N9SSN
>>> Chicago
>>> At 08:15 PM 12/20/2009, you wrote:
>>>> On Sun, Dec 20, 2009 at 5:24 PM, Ryan Tourge <k2rrt.lists at gmail.com> 
>>>> wrote:
>>>> > Anyone working/worked on a "tracking" app for Android?
>>>> >
>>>> > Ryan,K2RRT
>>>> I started experimenting with the Maps API in hope of expanding that to
>>>> a full APRS application (tracking, messaging, and maps). So far I have
>>>> icons plotting on the map, but not from an APRS source. This
>>>> experimentation was last month and I haven't had a chance to take it
>>>> further yet. Maybe after Christmas.
>>>> I'd love to make this into an open source project. Anyone else
>>>> interested in helping? I think the first requirement is an APRS
>>>> parser/encoder in Java. At that point, mapping, messaging, and
>>>> tracking can be developed almost independently (those features don't
>>>> interact with each other much).
>>>> Tom KD7LXL
>>> -------------------------------------------------------
>>> Amateur Radio Operator
>>> Duane Whittingham - N9SSN
>>> Skywarn, ARES, SATERN
>>> City of Chicago CERT Member
>>> Red Cross Disaster Services Technology Member
>>> Red Cross ECRV Certified
>>> _______________________________________________
>>> aprssig mailing list
>>> aprssig at tapr.org
>>> https://www.tapr.org/cgi-bin/mailman/listinfo/aprssig
>> _______________________________________________
>> aprssig mailing list
>> aprssig at tapr.org
>> https://www.tapr.org/cgi-bin/mailman/listinfo/aprssig
> _______________________________________________
> aprssig mailing list
> aprssig at tapr.org
> https://www.tapr.org/cgi-bin/mailman/listinfo/aprssig

More information about the aprssig mailing list