Designing an on-line scheduling system

Pilots, missions and resources have available/non-available times as well as scheduled times. For example, I am available weekends, or weekdays 6:00 pm to 9:00 pm. I'm not available over Christmas and Easter holiday weeks and my airplane is not available the first week of April.
Resources, I understand and figured repeating schedules with weekday, weekend and holiday would take care of blackout dates or maintenance.

Missions, the way I was thinking of them, were one time events on a specific day, using the Angel Flight model I was thinking this patient needs to get from here to there on this date. I see how they could use date range instead. Do you think see a need for standing missions? Something like this rescue center needs 3 flights a month to that shelter?

Pilots, on the other hand, I still don't see how it works. In my mind, pilots would schedule resources and request missions to fit their availability. Now I suppose that certain pilots, like instructors could be considered resources and assigned missions. Is that what you have in mind?


Missions have route maps.

I'll be contacting our coordinator to get some use cases.
OK, it's pretty straight forward for Missions to have attachments like resources. I am thinking aircraft would have checklists, weight & balance info, flight planning models + anything else. Missions could have a similar feature.

I'm starting to think missions might not be that different from aircraft, from an object oriented perspective. Perhaps there are only consumers and consumables. While aircraft have one year leases, missions have one week lifetimes. I have to think about this more.

I have available NAS and NFDC data. Currently in the process of writing code converting flat files to database tables. Very slow going as there is little standardization.
If the NFDC data you're working on is the Airport Information from faa.gov I have code that will digest it and put it into a mysql database. There is also some php code to search it and display as a table or in Google Earth. I've attached a GE file of possible student solo cross country airports from El Monte as an example.

I'm more than happy to share, but it is NOT production code by any means. PoAers can try it out by registering at http://www.areeda.com/aptInfo. I have to manually approve each one, so please PM me with the username you registered it's not public. It's also pretty slow right now and needs some optimization.

Is the NAS data the airspace, victor airways and approach data from NACO (http://naco.faa.gov/index.asp?xml=naco/catalog/charts/digital/nfd)? If so I'd love to get a look at it before I buy it.

Joe
 

Attachments

  • Near_kemt.kml
    31.3 KB · Views: 5
Last edited:
Missions may be re-scheduled until executed (or the dogs are) because of weather, lack of pilots, or dogs get sick. We may have completely different sets of pilots for Saturday and for the alternate Sunday and it is still considered the same mission. If the mission must be put off for a week, all the assigned pilots are removed and must sign up again.

The coordinator sets up the initial time for legs with a 1/2 hour inbetween for handoff, but pilots can adjust the arrival and departure times.
 
IMHO, the most important "feature" will eventually be an SDK, so other people will write stuff around it, integrate it, and generally make it better for you without having to change the code base. :) I've chosen several services/software because of the SDK, and rejected some because of a lack of it. My two cents.
 
IMHO, the most important "feature" will eventually be an SDK, so other people will write stuff around it, integrate it, and generally make it better for you without having to change the code base. :) I've chosen several services/software because of the SDK, and rejected some because of a lack of it. My two cents.
That is a different perspective. I was thinking that Open Source with a well designed set of object would be enough.

But you got me thinking about extensions or add-on that allow customization while almost guaranteeing compatibility with future versions.

Thanks.
Joe
 
That is a different perspective. I was thinking that Open Source with a well designed set of object would be enough.

But you got me thinking about extensions or add-on that allow customization while almost guaranteeing compatibility with future versions.

Thanks.
Joe

To be even more specific, I think a service-based SDK is the key (i.e. REST, JSON, SOAP, etc.). Think about the scenarios that this enables: A thick client app that an FBO uses instead of the web interface to increase productivity; Integration INTO existing scheduling systems; Mobile applications that interface with the system (using web apps on mobile phones is not usually pleasant), etc.

A plug-in architecture would be nice, but not nearly as impactful as a services SDK for the system. It's all about enabling the cross-platform experience/cross application experience. This is what Web 2.0 and social computing is all about, and I think any current popular project that ignores this will be doomed for failure. Systems must be accessible from other systems.

See, even if this becomes an open-source web application rather than a service based offering, if the service interface (SDK) is standardized, all the 3rd party apps would have to do is "point" to the proper server in it's configuration...no matter who is hosting it.

If it were my project, I would likely build the "back end" services somewhat separately from the UI. The web UI/Texting interfaces that you are discussion would be two of the interaction points with the "system". The web UI, being primary and part of the project directly, would necessarily be very, very closely coupled with the back end...and from a practical standpoint would likely drive much of the systems functionality (almost from a use-case perspective), but in the end, it's just one of the ways to interact with the system. The webUI also would likely sit close (on the same server) as the back end and actually enable the services interfaces through one or more of the standards listed above.

That's what I was really getting at. Make sense? Again...just one guy's viewpoint.
 
IMHO, the most important "feature" will eventually be an SDK, so other people will write stuff around it, integrate it, and generally make it better for you without having to change the code base. :) I've chosen several services/software because of the SDK, and rejected some because of a lack of it. My two cents.
There are two approaches, one is to write a core application (where core is defined specifically, not broadly) that others can utilize an SDK with or 2) write a core application that only the author can customize. These are two entirely different theoretical and actual (business) models.

Open source has been mentioned and open source is problematic if not coupled with income for the open sourcerers. :p As we have seen, abadonware becomes the tune of the day when the open sourcerers have no reason to stick around. Competent software development companies understand this as well as understanding that open sourced code does not mean an understanding of the coding methodologies or that there will be an attractiveness for other paid coders.

To shorten, someone, somewhere is going to have to see money into or around the project (imvho). :)
 
the club i just joined uses flight schedule pro. seems great so far, and really powerful from the club/fbo perspective.

except i told it i got a 2nd class medical in feb 2008 and its trying to tell me my medical is now expired...
 
Intutive is step one. Efficiency is step two of a good user interface. It amazes me how often programmers use ten steps to do something that should normally be done in one step. Or create screens that do nothing.
If the OK button is your only option then why did the program ask?

Brian
 
Instead of designing a new application from scratch, how hard would it be to modify an existing app?

Most of the things you are describing sound like a "calendar with constraints". Have you looked into what it would take to modify or extend an existing online calendar service to meet your needs?

The one I'm most familiar with (since I work there) is Google Calendar. Do they have an API you could use to add constraints? (I honestly don't know.) If they do, they have a UI already running, a database to hold your data, concurrency control issues resolved, and user authentication and access control taken care of. Personally, I'd love a scheduling solution built on this, 'cause then I could schedule planes _and_ have the schedule synced with my personal calendar in one step (instead of what I currently do, which is set up a plane in ScheduleMaster, then create an appointment in my personal calendar to remind myself).

If Google's calendar doesn't do what you want, how about online offerings from Yahoo or Microsoft?

My gut reaction -- if you can get someone else to worry about the calendar and database stuff, you can then spend more time focusing on the aviation related features.

Chris
 
Instead of designing a new application from scratch, how hard would it be to modify an existing app?

Most of the things you are describing sound like a "calendar with constraints". Have you looked into what it would take to modify or extend an existing online calendar service to meet your needs?

The one I'm most familiar with (since I work there) is Google Calendar. Do they have an API you could use to add constraints? (I honestly don't know.) If they do, they have a UI already running, a database to hold your data, concurrency control issues resolved, and user authentication and access control taken care of. Personally, I'd love a scheduling solution built on this, 'cause then I could schedule planes _and_ have the schedule synced with my personal calendar in one step (instead of what I currently do, which is set up a plane in ScheduleMaster, then create an appointment in my personal calendar to remind myself).

If Google's calendar doesn't do what you want, how about online offerings from Yahoo or Microsoft?

My gut reaction -- if you can get someone else to worry about the calendar and database stuff, you can then spend more time focusing on the aviation related features.

Chris

Interesting thought! I have used Google's Map API for personal use and it was relatively painless to implement. It would be interesting to see what G offers for their calendar API. That would allow mobile access fairly easily (web-enabled phone) without having to worry about making a stand-alone Calendar app 'mobile-friendly'.
 
Back
Top