Roger, I'm confused about this. What would be the purpose of a mock up? Is this just a photoshop project or do you need to actually create your own GCS too?
I need to create a mockup at the beginning to have static windows. Once my supervisor will be agree with my work, I will begin to create my GCS after.
This is the order of work to create an HMI
That's an interesting way to do things. The plan is to see what you can do with Photoshop...which should then translate over into what you can do with a progeamming language? I would say that means one of four things:
1) Your boss has supreme confidence in your abilities...and you have those abilities...to create anything imaginable. This is an awesome choice but difficult to achieve.
2) Your boss is a micro-manager and wants to make decisions even before you get started. If that's the case, this project is going to be horrible for you.
3) You are competing with others for this project. Your boss has tapped multiple of you for this task and this is more or less a brainstorming effort. You may or may not actually get the task of writing the software. This one is scary, but might be the best of the options.
4) Your boss has absolutely no clue what's involved in a project like this and may actually try to hold you to the absurdities in your Photoshop "design."
So I'd be careful what you show on your photoshop project. It will be simple enough to do in photoshop / Paint.NET...but there's little value in mocking something up if you can't do it in the real thing. I'm hoping #1 above is the case.
while not being a software engineer myself, I believe Roger was using the term "mockup" as in the context of GUI design, i.e., along the lines of what wikipedia states here. Note that this is not a completely unreasonable approach of actually designing a GCS (and actually the whole UAS, including UAV) from scratch. So the mockup could be just a picture or actually clickable GUI items, windows, buttons, etc., and give some impression of how the end system would actually look like. Not sure how that would fit into any of your three categories :-)
@Roger: Few people here seem to use their own GCS. Most use one of the ones available. For example the MissionPlanner sources you find in the git repository.
You might be right. I've never tried to do a project like that. Maybe that's how it's done in the real world. I usually try to do a proof of concept which would be a working version with very minimal functionality. That way, I prove to myself that it can be done and some of the major hurdles and unknowns are out of the way. I would hate to get in a situation where I show Google Earth on the UI and then find out there's no way to embed it...or pass it commands. Then I've planted the seed in management's head via my mock up of something that' going to be almost impossible to achieve. Could you imagine how much longer it would take to build a GCS if you had to do all your own 3D rendering?
I'm working on an Android project right now. It interfaces with a Barcode scanner, it has a database on the device and it connects via webservices to a server over the internet. Those to be are the big tasks. So far, I'm able to read from the bluetooth and I'm able to do the webservices connection. But there's a gotcha I'm working on right now. Webservices can pass a recordset via XML. The Android device has some pretty horrible XML parsers and doesn't seem to have datasets. Maybe I'll find something in the future to solve these problems, but for the moment I plan on passing a string and parsing it back to an array to pass the data. This method should work, but I wouldn't have even known it was a problem if I only did a mock-up. Because of this, I've started writing my Webservices with this in mind (there's a PC application that I'm switching over to use Webservices that will use these same functions). So when I did my pitch to management, I took a "working" version of the software in with me to the meeting. It made me much more confident that I knew what I was talking about and that it could be done.
If you want just to mock out roughly the pages/controls to give a rough idea, then use Balsamiq: http://www.balsamiq.com/
Hands down the quickest to learn, and easiest to use. Also added advantage that the mocks look like hand drawn images.