A few weeks ago I posted requesting some ideas for Model Railroading App ideas. I got a lot a great ideas and submitted my proposal to my instructor for class I will be creating it for. Version 1 of the App will be a switch list App. I now have a few follow up questions so that the app will be as useful and successful as possible.
Steve Otte provided a good idea to have part of the switch list (at least) be generated automatically by the industries. I do plan to use this idea, and my idea for this part would be that you will have part of the app where you can add industries and the appropriate information for them. Some of the information I think may be needed for each industry would be: Name, Location, Number of tracks, maximum number of cars needed, Rate for how often the cars are needed, types of cars needed. My question is, would there be any other piece of information which would be helpful, or needed to be recorded for the industries. This information will be used to automate the switch request from each industry.
The next area of importance would be information about the cars. I think at minimum you would need: Car type (Boxcar, Hopper, Tank Car, Gondola, etc.), Reporting Markings, something to indicate if it is currently available and Current Location. What other kinds of information would you like recorded for the cars. This could also be used as a Roster Inventory list as well.
Possibly the last piece would be the Switch list itself. As I have never used a switch list but like the idea of using one, I don't know what is on one, or what should be one them. I am thinking the Car number and type, Destination (industry/yard) and current location (originating point). Is there anything else recorded on them? I would also like to know what kind of interaction would be nice for the switch list itself? Should you be able to sort the order of the switch list, and how would you want to do it, would you like to drag it to the new location, or select it and have a move up or down arrow to move it? What kind of a look should the page with the switch list have, and does anybody have a digital copy of one they can provide or direct me to, as an example? Finally should the list be able to have entries added and removed while performing the switch job?
Any other ideas you may have regarding this, especially if it is something I missed. If I am able to successfully build a working app, I do intend on publishing it and putting it out in the App store. Just so everybody knows this will be an Android App.
I know this is a long post, but your suggestions will help me make the best app I can.
Thanks,
One digital copy of a switch list. The pictures are in the last post at the bottom.
http://www.modelrailroadforums.com/forum/showthread.php?t=22821
Hope this helps!
sfb
After all these years I still hate switch lists. This goes back to my college days in the late 1950's, early 60's when I worked for Santa Fe in the yard as an extra board employee during the summer months. Some had the paper front, a piece of carbon paper and then a cardboard list, making a 3 part form. We had long masonite boards with clips at the top to write on as we made the lists. Now I am not talking about sitting in a creaky chair in a stinky yard office writing these jewels. I am talking about being on the 11PM to 7 AM trick, out in the yards, carrying a battery lantern in my arm, walking along tracks in the dark full of grain cars (box/covered hoppers), through rain, snow, sleet and hail, trying to keep the lists dry while making up the list to take back to the yard office for the switch crews.
Then they would switch a couple of tracks, and it was back out walking the tracks with new blank stinking lists to be filled in making sure the changes made during the switch moves corresponded to the new line ups. I especially remember walking the tracks in the old Champlin refinery in Enid OK trying to make switch lists while walking in puddles of oil and whatever.
And because I was the extra kid, working summers while in college, I always got the bad assignments. My dad was a yard engineer and he was on the day trick so I didn't suffer from his advice and comments.
So you think I am going to use switch lists on my HO version of the Santa Fe??? Nope, computer and car cards are just fine for me, thank you. I do want to visit the first model railroad that faithfully models the work the yard clerks did in real life.
Bob
Sounds like an ambitious project. If I understand correctly, you seem to be undertaking it without much personal model railroad operating experience. (I apologize if I am misreading your posts)
I've seen a number of similar projects become bogged down in details that simply didn't matter to most operators while ignoring other features that were "must haves" to experienced model operators. This includes a number of commercial offerings that have consumed thousands of development man-hours and still don't work very well for most users.
My suggestion would be to participate in a variety of actual model railroad operating sessions to get an idea of real users' interest and needs. Membership in the Operations SIG includes a Call Board program that allows members to visit operating model railroads.
Also, you might consider building on the JMRI Operations Module, which has already incorporated much of what you are talking about coding. Of course, this is an open source project, so if you are planning to make money by selling your App, that may create some issues.
Best of luck.
Edit: Oops, i didn't read closely enough. Since this is a project for a class, it may not be important how well it meets operators' needs. And you may not have time to research actual model operations. If that's the case, you might just implement some of the functions of JMRI Ops Module for your own coding class project.
If you intend to try to build a successful long-term product that others will actually use, the recommendation to gain some personal operating experience would still be very helpful, IMHO.
Layout Design GalleryLayout Design Special Interest Group
I am creating the app for my College Software design class. Is the JMRI Operations Module an Android app, or is it for computers? You are correct I do not have a lot of experience with operation sessions, which is the reason I am asking the question here.
The overall project shouldn't be too bad (as far as scope), as it seems as if it is only a two table database and then then appropriate instructions and interactions to work with the data. This is however my first Android App I will be creating to so I could be underestimating the workload at this time.
My other idea for an Ops session app was to incorporate and app which would be used to simulate the hot box checkers and also possible random air pressure loss. My instructor didn't think it had a large enough scope and I agree with him, those are both items I could have done in a week or two, not something suitable to a final project.
I do appreciate the suggestions though for the Operations SIG and the JMRI, I will check them out.
The JMRI Operations module is for a computer.
My experience with a switchlist or manifest is from operating and using Rail Op.
Industries - You should also be able to choose what car types can go to which track at the industries. As an example, the track that takes boxcars may not be suitable for taking a tank car that would go to another track at the same industry.
An App that just creates a switchlist for each industry would sound simple, but it also has to take into consideration the existing cars in the train and where they came from and where they have to go back to.
If your switchlist is for all the cars that the train would pick up and set out at each location along the way, you may also want to define the Route the train will take. Where it will start from and with what cars, what towns it will go through, industries served, cars dropped off and picked up, and the place it will terminate at. This is why Rail Op calls theirs a Manifest.
For just an industry switch list, I think you would want a list of cars that would be set out, and a list of cars to be picked up. So for each town that you come to, you would want: town name, industry name, industry track, cars to pick up, cars to set out. So maybe this would dictate that the switchlist would be for each town, and cover all the industries in that town.
For most of this information, it seems to me that you are going to have to set up a data base or two, or the equivalent for Cars & data, Towns with Industries, Industries with Tracks, Track length, and Car types.
Maybe you don't need car numbers or car road names for your app. That would simplify it. Just let the engineer choose which boxcar gets set out, etc. The train contains 5 box cars, 2 tank cars, and 1 flat car. 2 box cars go to industry A, 3 box cars go to industry B, the flat car goes to industry C, and the tank cars go to industry D. Pick up half the cars that are spotted on industry tracks when you arrive. Just a thought.
- - - - - - - - - -
The other way would be to use car cards and waybills to create an app that puts that information in a data base, then in switchlist form according to the route the train will take to the different industries. The CC/WB concept has one card per car. A waybill is then made up that routes that car to four different places or industries, and is placed in a pocket of the Car Card. (The Waybill simulates the load in the car.) When the car is delivered to industry 1, the waybill is turned to show the next destination, which is industry 2, and so forth. So as each train comes by, it does the switching necessary to make those moves. (The waybills are only turned over to the next destination between sessions.)
Elmer.
The above is my opinion, from an active and experienced Model Railroader in N scale and HO since 1961.
(Modeling Freelance, Eastern US, HO scale, in 1962, with NCE DCC for locomotive control and a stand alone LocoNet for block detection and signals.) http://waynes-trains.com/ at home, and N scale at the Club.
Thanks for the link, it will be very useful during the app development process.
My intention would be to be able to enter, at the very least, the total number of each type of cars on the layout, and have some type of indicator of loaded or empty as well as if currently in route, and where, or not. I think it may be useful, if not needed, to designate if the switch list is for a local or if it is intended for other locations outside of the operating area.
Does this make sense, and does there need to be more considered? Also what kind of information does anybody think needs to be captured for the cars? I think initially the setup will be a bit time consuming, but once the data is entered for the industries and cars the app would be ready to go.
Thanks again for all of your insights.
Gary
What is it you are trying to do - generate traffic requests for industries?
I would suggest thinking in "car spots" rather than industries or tracks.
Here is a discussion of a very simple excel spreadsheet that generates requests for cars of various kinds to be delivered to or picked up from various car spots for a switching layout: http://www.the-gauge.net/forum/viewtopic.php?f=54&t=5241&p=91601
It is based on a modification by Dave Husman to an idea by Mike Rose on the Model Railroad Hobbyist Magazine website.
Smile, Stein
I would like to have an industry automatically generate it's own traffic request, and then I will have a function which will take that request and pull the desired car type from the pool of available cars to meet the request. This will generate a switch list after the user presses a button to tell the system to create a switchlist, or maybe better yet a job list and then it will be up to the crew to make the switch list from job list (by putting the cars in the correct order in the list) This will be done on an Android phone App.
Once I have this app completed, then I intend on adding additional functions which will simulate axle sensors and stuff like that. That part will be in a later version, if all goes well.
One feature that would be nice is the ability to import rolling stock data from other programs. Even if importing data isn't part of the assignment, it would be a handy feature for a later version. I'm not readily familiar with any of the rolling stock databases out there, but surely many of them export to cvs.
Some of the online inventory websites might have api's available to the public, which would be really cool to make use of, too.
I do plan on adding the ability to interact with google docs if possible so that the data can be entered in the computer where it will be easier to do, and then basically uploaded to the app. I do want the ability to add/update the data in the app though as I think this is a must.
These links should help with integrating Google docs into your app:
https://developers.google.com/google-apps/documents-list/
https://developers.google.com/google-apps/spreadsheets/
Thanks for the links, I was guessing google apps would be the way to go. I will be doing my initial GUI page layouts this weekend, and I will likely create a new thread so that I can get some feedback on them. My intention is to make this app as close to what everybody would like to see. I will do screen shots of what I have after I get them done. Just keep in mind they will be quite rough initially.
I am even thinking that as I get closer to a finished product seeing if anybody on this forum would like to beta test it for me, so if this sounds like something you are interested in let me know and I will make arrangements to provide and .apk file which if you can connect your device to your computer and do debugging mode you should be able to load it and run it.
Favrefan04 My intention is to make this app as close to what everybody would like to see.
My intention is to make this app as close to what everybody would like to see.
Sorry to be an old grouch, but there is a low probability of a first app by someone both new to programming on the platform, and with very little, if any, subject domain knowledge, will be all that useful to most people.
I would suggest focusing on learning something about programming interactive apps on the new platform, so you get a passing grade in your class.
Furthermore, I would suggest keeping your app simple, instead of trying to provide all kinds of functionality (poorly understood both by the requester and designer/implementer) to all people in one app.
The basic advantage of an app on a cell phone is that the cell phone will be there with you. The basic disadvantage of an app on a cell phone is that a cell phone screen is small, and most data entry tasks tends to be slow and clumsy, compared with using a larger computer with a nice sized screen, a full keyboard and a mouse.
Feel free to ignore any advice or suggestions you don't want to hear - when old grouches say that something can be done, they are almost always right. When they say something cannot be done, they are sometimes right :-)
steinjr- The reason I am trying to make this app "as close to what everybody would like to see", is because I would like to know what kind of audience there might be out there. This will help me decide if I should even bother to make improvements and continue with the apps development after my class is over.
This forum should be the perfect place to go and get advice and suggestions on all things Model Railroading. I don't know about you, but I don't typically need a lot of advice once I have a large amount of experience with something. I am usually the advice giver at that point. I do have knowledge on the subject, just not experience, which I think is more valuable which is why I am asking questions of those who are more experienced.
Regarding keeping it simple, this isn't much of an option because it is a final project for the class and as such it is needed to be somewhat complex or my grade will suffer because of it. One of my other ideas was too simple and could have been completed easily in a week. That idea was rejected soundly by my instructor, with the suggestion of adding in that functionality with later releases.
I am intending on including the ability of doing the major data entry on a computer and then moving it to the phone app. Even using a tablet would make data entry a pain and I recognized this fact when I first decided to do this app.
Thanks-
btw- I am not some "innocent youth", this is for my second career after retirement from my first.