[aprssig] Andorid APRS
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
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 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.
>> 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
>>> 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>
>>>> > 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
>> aprssig mailing list
>> aprssig at tapr.org
> aprssig mailing list
> aprssig at tapr.org
More information about the aprssig