Soliciting Assistance: App Programming

Started by Ed Bos, December 29, 2015, 02:01:56 AM

0 Members and 1 Guest are viewing this topic.

Ed Bos

Hello folks,

Anyone have interest in programming a mobile application that does 3 things:

1) Allows users to select options from a master list to add to an indivudally customized list;
2) Allows users to fill in blanks on that list (remember Mad-Libs!) to further customize their list;
3) Allows users to take their customized list and print, export as a PDF via email, as well as updating their selections to a master database (with the option to remove personal information).

Seems straightforward to me, but I'm not well versed in these things.

BTW, this is for an ES-related program that is projected to roll out in the next 180 days, so hopefully we can get it done in a similar time frame.

Folks who think NHQ needs to get more help from the field, this is an opportunity to get in the game. I don't speak for NHQ, but I'm assisting on a program and thought there must be a lot of talent on CAPTalk that would like to assist.

Cheers.
EDWARD A. BOS, Lt Col, CAP
Email: edward.bos(at)orwgcap.org
PCR-OR-001

Holding Pattern

My 2 cents? have the PCR Region IT officer send a blast email to all IT officers regarding this. Then put together a Statement of Work for the project. Allow for IT people interested in the project to join a trello project management board and set SMART goals. If the goals aren't met, shop the SOW to online coders with sufficient time for them to execute.

Unfortunately, your current SOW is vague enough to make this either a 4 minute project or a 4 month project.

It would be better at this point to explain what the app is supposed to do before shopping it out for building though.

dwb

FYI, so you're not disappointed in the future, these things are always more complicated and less straightforward than they seem.

- where does the master list come from? Can it change? Do you have to fetch it from a server?
- if the master list gets refreshed from a server, what happens when the server is unavailable? What if the server sends a malformed list?
- are there rules governing which items can be selected from the list? For example, if you select A then B becomes unavailable.
- who customizes the smaller list? Can you create more than one? How long should the list name be? What if you have two lists with the same name? What if you delete a list by accident?
- will the global lists allow duplicate names? Are there access controls on the global lists? Can someone else edit a list I upload?
- what controls will be placed on the blanks being filled in? You should validate each field to make sure it contains numbers if it's supposed to (or not), that the length of the word(s) in the field aren't too long, that there are no garbage characters in the field, that your inputs are being sanitized so you're not susceptible to SQL injection, etc.
- which phone platforms will you support? Which OS versions? How will you handle the differences in screen size and resolution when creating your forms?
- which printers do you support? Will you use just the phone's built in printer API or allow users to send the document to other printer apps?
- which PDF library will you use and what are its licensing terms?
- who maintains that master server? Who determines the API the apps use to communicate with that server? Who pays for that server? Who configures that server to make sure it doesn't get hacked?
- how do clients authenticate with the server? Are lists send over the wire encrypted? Lots of things can go wrong with user registration, password storage, and crypto implementations.
- what happens when the upload server goes down? What happens when different versions of the app change the internal representation of the list? Will it be backwards compatible?
- who is publishing this app to which app stores? Do they have personal developer accounts? It might be better to have a CAP developer account so when the original developer gets hit by a bus the app doesn't die with them.

That's just a sample of questions I would ask. Not even the full list, just what I felt like typing out on my phone. Bottom line: what you are asking for is more complicated than you realize. Not that it can't get done, but don't expect it to cost three hours and a pizza.

dwb

BTW, so I'm not just raining on parades here, if it were left to me I would use Google Apps for this. Create the form in Google's form builder, store results in Google Sheets, and use Google's own authentication mechanism to control access. Google Docs already handles rendering pages on desktop and mobile devices. No need for apps and app stores and all that complexity.

This only works if your Wing uses GApps.

Ed Bos

Quote from: dwb on December 29, 2015, 11:30:21 AM
BTW, so I'm not just raining on parades here, if it were left to me I would use Google Apps for this. Create the form in Google's form builder, store results in Google Sheets, and use Google's own authentication mechanism to control access. Google Docs already handles rendering pages on desktop and mobile devices. No need for apps and app stores and all that complexity.

This only works if your Wing uses GApps.

I'll give that a shot and see how it turns out.

And I appreciate your input guys, but the OP was deliberately vague. Can't start making promises on CAPTalk that can't or won't be delivered on in real life. Cheers.
EDWARD A. BOS, Lt Col, CAP
Email: edward.bos(at)orwgcap.org
PCR-OR-001

dwb

No worries. I was responding specifically to this statement:

Quote from: Ed Bos on December 29, 2015, 02:01:56 AMSeems straightforward to me, but I'm not well versed in these things.

In software development, it's never as easy as it seems. ;D

Holding Pattern

Quote from: Ed Bos on December 29, 2015, 06:39:45 PM
Quote from: dwb on December 29, 2015, 11:30:21 AM
BTW, so I'm not just raining on parades here, if it were left to me I would use Google Apps for this. Create the form in Google's form builder, store results in Google Sheets, and use Google's own authentication mechanism to control access. Google Docs already handles rendering pages on desktop and mobile devices. No need for apps and app stores and all that complexity.

This only works if your Wing uses GApps.

I'll give that a shot and see how it turns out.

And I appreciate your input guys, but the OP was deliberately vague. Can't start making promises on CAPTalk that can't or won't be delivered on in real life. Cheers.

That was one of the reasons I suggested the email blast. Mark it confidential; IT people understand OPSEC ;)

A.Member

Quote from: dwb on December 30, 2015, 12:18:40 AM
Quote from: Ed Bos on December 29, 2015, 02:01:56 AMSeems straightforward to me, but I'm not well versed in these things.

In software development, it's never as easy as it seems. ;D
Not only that but once the solution is delivered, who will maintain it?  That always gets overlooked and it's always problematic.  If you think an IT "guru" is interested in doing this outside of their day job, think again; most aren't interested and/or only possess a portion of the skills needed.    So, as stated above, it's never as easy as it seems.
"For once you have tasted flight you will walk the earth with your eyes turned skywards, for there you have been and there you will long to return."

Holding Pattern

Quote from: A.Member on December 30, 2015, 05:46:41 AM
Quote from: dwb on December 30, 2015, 12:18:40 AM
Quote from: Ed Bos on December 29, 2015, 02:01:56 AMSeems straightforward to me, but I'm not well versed in these things.

In software development, it's never as easy as it seems. ;D
Not only that but once the solution is delivered, who will maintain it?  That always gets overlooked and it's always problematic.  If you think an IT "guru" is interested in doing this outside of their day job, think again; most aren't interested and/or only possess a portion of the skills needed.    So, as stated above, it's never as easy as it seems.

In fact, yesterday I did some "volunteer" IT work that should have taken 1 hour.

It took 14 hours.

It is never as easy or as simple as advertised.

On the flip side, it was for a 501c3, I'll have to see about that community service ribbon soon...  ;D

Storm Chaser

Quote from: Starfleet Auxiliary on December 30, 2015, 04:57:41 PM
In fact, yesterday I did some "volunteer" IT work that should have taken 1 hour.

It took 14 hours.

It is never as easy or as simple as advertised.

On the flip side, it was for a 501c3, I'll have to see about that community service ribbon soon...  ;D

Only 46 hours to go!  ;)