the app idea is quite simple really. i want to try to implement it in Dropsource before I try something more complicated like going the Xamarin route.
In a nutshell, the app allow the user to track his or her progress on a given single user project - it could be any sort of project. Ideally the navigation would be tabbed, but I didn't select that on my free premium 30 day trial project and could not figure out how to go back and select that option on my first project, which is the only one that I can view on my phone via links to my email acct.
the idea is the user is first presented with a drop down list of projects: new, open, and completed, and grayed out static fields for Start Date and End Date and Time Elapsed.
if the user selects "new," then the user can enter a project name and some desired timeline for completing the project (I was hoping to be able to use your Timer facility in that regard, with maybe a little help on the back end to do the simple arithmetic involved in calculated elapsed time), and optionally load a pic that capture what the user is about to work on.
Then in subsequent "sessions" the user can tap or swipe to a rotating deck of cards or pages (that he or she navigates via swiping right or left, with the last entry always presented first with a datestamp) where he or she can enter do the following:
- Enter some ascii text that describes the progress being made
- Upload some pics from the phone camera to the Bubble back end database (that can subsequently be retrieved and displayed in the app in a gallery)
- Enter some text (or possibly use the phone's mike to describe the progress) that summarizes the progress made on that session
The project info would be stored in some persistent manner, possibly using Bubble, which I think was some kind of wearable wrist gadget company way back in 2013 that may be the one that was bought out by Fitbit, I mention that as an aside only because I question then if how long Bubble will remain a viable platform -- if the company is no more, but I could be way off base on this.
On subsequent visits to the app, the end user would see how much time has elapsed on the project: ideally this would be presented as a view on his or her phone calendar. The user could continue to work on the project until the timer is down to zero, then override that if he or she wishes to continue.
Finally the user would be able to close the project, marking it as complete.
Of what use is this very simple and highly generalized app? Well, let's see : your are a contractor or some sort of freelancer you are an agency that builds wireframes for your clients wishing to deploy mobile apps for their business. You could then estimate time to completion, build the app on a fixed price basis, then study the Project Notes to improve your quote process and communicate with clients as to your progress by sharing with them your Notes.
The app could be generalized to work in any particular domain: writing novels, fixing gutters, or any project where the user would wants to track where the pain is with respect to completing a given deliverable.
The app would be ad supported with a single non intrusive banner space at the bottom of the home page only, and not seeks permissions for things it does not need access to, thus gaining points on usability and privacy. I don't like and will not build apps that bombard the user with apps, or that spy on them.
In order to get some idea how the app might communicate with the Bubble/S3 backend, I developed in ten minutes a simple API with my wife's needlepoint business in mind (she runs a brick and mortar shop where 80 per cent of her customers in this space use iPhones, and where she would have no competition whatsoever in this space -- thus providing her with possibly a competitive advantage. (the web site I built for her is needlepoint.land)
The preliminary API looks like this:
Bubble API v1
userLogin (LoginID, Pwd)
EnterAuthentication(string) // this would sent to the user's phone via some SMS gateway
createProject(ProjectName, image, CanvasName, Artist)
getProjectList(arg) // arg= all, completed, open
addCanvastoSession(ProjectID, sessionID, image) // image is an array of
getSessionDurationInHours(ProjectID, SessionID) // returns float
getSessionDurationinDays(ProjectID, SessionID) // returns float
getSessionDurationinMonths(ProjectID, SessionID) // returns float
calculateElapsedTimeHnHours(Project ID) // total of all sessions for a
calculateSessionTotals() // total of all time spent on all project
addSessionNotes(ProjectID, SessionID, string, image)
modSessionNotes(ProjectID, SessionID, string, image)
I hope this answers your question as to what this app does, without going way overboard. Sorry about the Irish / Scottish mixup: my bad!