[update on the "APRS client software engineering project" I brought up a few months back]
Well, the semester is over (as far as the software engineering course is concerned, anyway). We had 7 student teams. 4 teams worked on what was called the "data broker", which was to handle interface management, duplicate suppression, igating, and populating a database with raw packets. 3 teams built a "data viewer", which was to parse raw packets and display them spatially correctly on the screen. They were written for Qt, and cross platform functionality was a hard requirement (at least 2 of windows, linux, and mac). All projects used sqlite as the database. Two of the "data brokers" seemed to be fairly solid work. Unfortunately no team opted to attempt cross-platform RS232 interface operation, but I believe netcat and friends greatly mitigate that lack. Requirements were to manage 0 or more APRS-IS server feeds and 0 or more "network TNC feeds", provide duplicate supression, igating, and insertion of the raw packet into the db. A server port (ala xastir port 2023) was also required, but due to a poor requirement spec (my fault) this was universally implemented read-only. On those that correctly implemented the server port I connected xastir to it with no problems. The data viewers were interesting. One uses a package called Marble ( http://edu.kde.org/marble/ ). It's a google-earth reminiscent display application/widget. An interesting feature of marble is connection to wikipedia (or, after some programming, other online databases). The support for a live dynamic data feed isn't really there, but the students report active development by the marble team and noticeable improvements over the course of the past couple of months. This is one to watch. Another data viewer team chose to implement mapping from the ground up: they took a map and projected stations onto it. The really significant thing here (IMO) is that it's quite similar to the way xastir builds a display - so much so, that xatir's main map window may be easily ported to it. (yeah, that would still leave us dependent on imagemagick and 37 other support packages). The course instructor is attempting to glue some of the data brokers to the data viewers to get a basic but complete app running. We'll see what the sqlite performance looks like when two apps are hitting it. Of course there were various "personnel" problems that reduced the quality of some projects. Threads seemed to be a problem for most of the teams, and advice on Qt forums seems to be to avoid threads. I'm not sure if this is a problem with the Qt thread interface, with threads in general, or lack of knowledge of threads. The prof (who was licensed as KJ4SJK during the term) plans to use this project again, assuming he's assigned to teach the software engineering course again. We've both learned some things about how to spec it to the students this time around. -Jason kg4wsv _______________________________________________ Xastir-dev mailing list [email protected] http://lists.xastir.org/cgi-bin/mailman/listinfo/xastir-dev
