As requested I have begun development on a windows mobile version of a program on the iphone called "100 Pushups"
Web Link: http://www.hundredpushups.com/.
The idea of the application is to put you on a 6 week program which will lead you to being able to perform 100 push-ups. This is achieved by performing so many reps, for so many sets, 3 times a week. At the end of each week you will be tested on how many you can do and then a program is worked out for the following week. You can track your progress via bar charts and logs.
GUI PREVIEW VERSION ADDED. SEE POST #115 -(UPDATED 20-09-2010)
There will be 3 stages of the development of the program.
Stage 1 - Functionality.
At this point all I am concerned about is "does it work?". This means the GUI will probably look rubbish but the idea is to ensure the program is doing as it should.
Stage 2 - GUI
Once I'm happy with stage 1 I will begin developing a nice GUI to make a better user experience and to make the program look half decent
Stage 3 - Final
This is the point where I will start adding people's request/suggestions, fine tuning etc. Once done the version will then end Beta and become final build.
See Post 2 for changes log
Requirements:
.Net 3.5 for Windows Mobile
Developed for Windows Mobile 6.5.3. Not sure if it will work on anything less.
Example on how to use
Lets say you start this program on a Sunday
Sunday - Perform as many "good form" push-ups as you can and enter value.
Monday - Do first day Program.
Tuesday - Rest
Wednesday - Do second day program.
Thursday - Rest
Friday - Do third day program.
Saturday - Rest
Repeat.
Using the above example, every time you get to Sunday you will be required to enter a new value. This will set the program up for the next weeks training.
NOTE: First Release - Please take the following under consideration before testing.
# This is at Stage 1 so yes it will look rubbish! lol
# The "Good Form" button is disabled at the moment so pushing it will do nothing.
# If the program is in first run mode i.e no push-ups have been logged, pushing the graphs button will display random data. This is just for beta testing.
# This was developed and tested on the HTC HD2 only. I'm not sure what it will look like on other devices as I have none to test with.
# Upon first launch a log file will be created in \My Documents\PushupLog\. I suggest backing this up when trying new versions of this program as it contains all your progress!
# The Graph may not display correctly on other devices and I'm already working on fixing that.
# To clear all the data simply delete the log file located in "\My Documents\Pushuplog\log"
NOTES FOR STAGE 1 BETA TESTERS
If you press the menu button you will notice a sub menu called Debug. Here is an explanation on what the options are.
# Reset Timer - In the "Todays Program" screen, pushing this buttons will set the rest timer to 2 seconds. This is if you wish to quickly skip through the rest periods.
# Maximize - Basically just makes the program full screen (covers top task bar).
# No Limit - Check this if you want the program to ignore when you can perform the next program.
IF YOU ARE UPDATING FROM VERSION 0.1.7 OR BELOW PLEASE DO THE FOLLOWING
# Uninstall previous version.
# Go into "\Program Files" folder and delete folder "Pushups". There also maybe a file in the "\Program Files" folder called "100 push-ups - beta", delete this too.
# Go to "\My Documents" and delete the folder named "PushupLog"
Release Log
# 0.1.9 [23/07/2010]
- Added "No Limit" option to Debug menu. Pressing this will cause the application to ignore rest periods between programs. i.e You don't have to wait a day before continuing.
# 0.1.8 [22/07/2010]
- Fixed various issues with resetting log.
- Fixed Graph layout.
- Fixed issue where entering a test value and then resetting the log to a forward date would cause the wrong push-up program to be loaded.
- After performing a test and entering a value, the program will now not allow you to continue with "Todays Program" until 24 hours has passed.
- After completing push-up program for today, you must wait a day before continuing to the next program. This is so you get enough rest.
- After performing a test and entering a value, the new weeks program is added to the calender. Resetting the log will also update calender (not fully tested).
- Added basic Log View which can be accessed via "Logs and Graphs" button.
- Pushing "Rep Completed" button will cause "Perform X Pushups" text to change to "Rest Period".
# 0.1.7 [18/07/2010]
- Reset now only enabled in Main screen
- Fixed issue where entering Test value and then resetting log forward a day, causes you to enter test value again.
- Fixed issue where partially completing today's program and then returning back cause's the display of completed reps to be incorrect.
# 0.1.6 [17/07/2010]
- Complete re-write of log recording. (You old log file will be ignored if present)
- Added "Reset Log" to menu button.
- Added feature to reset log progress back and forward to any given week and week day. To reset log just select "Week 1 and Day 1".
- On first run, if you enter more than 20 on the test screen the program will move you to week 3
- Short cuts now in "Programs Folder" and "Start Menu"
- Program now remembers what set you was doing if you leave "Today's program" and then return back to it. NOTE: this only works while the program is running. You must restart sets again if you close the application.
# 0.1.5.40968 [13/07/2010]
- Removed top and bottom grey tabs to improve layout for low res screens.
- Added Menu button
- Moved Debug --> Rest Timer to Menu button
- Added Maximize to Debug in Menu button. Pressing this will maximize the application which hides the top bar in windows mobile. Press this button again to go back to normal view.
- Added Exit button to Menu button
- Added count down timer sound for stop watch/rest timer. Should kick in at about 6 seconds remaining
- Moved return button to bottom right
# 0.1.4.37187 [12/07/2010]
- Fixed various issues with logging.
- Fixed issue where entering test value and then exiting "Todays Program" will cause you to enter test value again.
- Fixed error occurring when repeatedly pressed "Reps Completed".
- Fixed error occurring when pressing "Return" button while rest timer is activated.
- Developed at 240 x 260 resolution so hopefully any display greater will work ok.
- Added debug Menu with item "Rest Timer". NOTE: Checking this item at the main screen will set the rest timer to always be 2 seconds. This is for people beta testing that want to speed up the rest periods.
# 0.1.3.11738 - [12/07/2010]
- Fixed error occurring when pressing return button on test screen.
# 0.1.2.41712 - [11/07/2010]
- Slight performance increase - switching screens is a little smoother
- A little GUI tweak to get a ruff idea of GUI layout
- After Completing a days program, if you try to do another a message is shown suggesting a days rest.
- Good Form button disabled - not implemented yet.
# 0.1.1.24890 - [10/07/2010]
- Fixed "ArgumentOutOfRangeException" which occurred after entering test result
# 0.1.0.23190 - [08/07/2010]
- First Release
Known Issues
Pressing the Return button on "Todays Program" will cause an error. Don't press it!
Pressing the completed button repeatedly on "Todays Program" may cause an error
This is being developed using a HTC HD2 so smaller screens may see error's with layout. Will try to fix this.
interested
Hi, is the source available for this? i'd be interested in contributing if it is.
thanks for the interest donbing
Sadly I would have to say the source is not available. It's a nice small project for myself and I would like to see it through like this. Once completed, I may think about releasing the source.
If you have any idea's you wish to cntribute then I'm all ears!
Also, if you fancy doing a similar project like this, there is also a similar app called "200 Situps". Basically works the same but you do situps and not push ups. I could easily modify my program to do this but if you fancy doing it then go for it. I would gladly use it
Ok, I installed the tool.
It starts, but thats about it. On my first run, i got an unexpected error.
ArgumentOutOfRangeException.
On the second run, i got ObjectDisposedException. This happened after pressing "completed" in the "todays program" page.
Hope this helps.
Excellant!!! bugs is what I'm after lol
Ok when you first run it you should get a screen with 3 buttons like so
Todays Program
Logs and Gaphs
Good Form
When you click Todays program it should come up with the test screen and asking you to perform some push ups and enter a value. Enter the value, press OK and it should take you to a screen for your first program.
For the first run problem, I just installed a new ROM on my phone and installed the program and now I am having the same problem. Will have a look tonight and hopefully post a fix, if not then tomorrow latest.
As for the problem when pushing the 'Completed' Button, does that occour when you first push the button or the last time you push it? Seem to work fine on my phone.
Gaz25 said:
For the first run problem, I just installed a new ROM on my phone and installed the program and now I am having the same problem. Will have a look tonight and hopefully post a fix, if not then tomorrow latest.
As for the problem when pushing the 'Completed' Button, does that occour when you first push the button or the last time you push it? Seem to work fine on my phone.
Click to expand...
Click to collapse
Got some bugs for you;
first thing is: The goodform button doesn't work, i don't know for what it is used but it doesn't do anything. second of all; the graphs tab just shows some random pushups third: It doesnt say how much push ups you need to do. it says week 1 - day 1 and a complete button + timer. Not how much pushups you need to do. And when i press the complete button a couple of times it crashes.
Got some bugs for you;
first thing is: The goodform button doesn't work, i don't know for what it is used but it doesn't do anything. second of all; the graphs tab just shows some random pushups third: It doesnt say how much push ups you need to do. it says week 1 - day 1 and a complete button + timer. Not how much pushups you need to do. And when i press the complete button a couple of times it crashes.
Click to expand...
Click to collapse
Right lets take this 1 by 1.
Yes the Good forms button doesn't do anything at the moment, Sorry I should have mentioned. Basically it will just show you how to perform a correct push-up
The Graphs screen will show random stuff if nothing is stored in log i.e first run of the program. This was for beta testing purposes.
When you push the "Todays Program" button, on the first run it should come up with a screen asking for you to do so many push ups and then enter the value. When you enter a value and press ok it should then take you to the "Todays Program" screen where you see the following.
Today (Week 1 - Day 1)
Rest Timer 00
1 - Pushups to perform #
2 - Pushups to perform #
3 - Pushups to perform #
..... etc etc
Press the 'Completed' button after
each rep to start timer
Completed
When you push the 'Todays Program', does it take you to a test screen or does it go straight to the screen I mention in blue above?
Gaz25 said:
Right lets take this 1 by 1.
Yes the Good forms button doesn't do anything at the moment, Sorry I should have mentioned. Basically it will just show you how to perform a correct push-up
The Graphs screen will show random stuff if nothing is stored in log i.e first run of the program. This was for beta testing purposes.
When you push the "Todays Program" button, on the first run it should come up with a screen asking for you to do so many push ups and then enter the value. When you enter a value and press ok it should then take you to the "Todays Program" screen where you see the following.
Today (Week 1 - Day 1)
Rest Timer 00
1 - Pushups to perform #
2 - Pushups to perform #
3 - Pushups to perform #
..... etc etc
Press the 'Completed' button after
each rep to start timer
Completed
When you push the 'Todays Program', does it take you to a test screen or does it go straight to the screen I mention in blue above?
Click to expand...
Click to collapse
Thanks for the info!
About the last thing: Yes, it asked me to push up as many times, so i did 5 as a test number. But i don't see pushups to perform. Just
Today (Week 1 - Day 1)
Rest Timer 00
Press the 'Completed' button after
each rep to start timer
Completed
EDIT:
When i press the "Return" button, the app crashes.
I also made a little video for you, to help you! http://www.youtube.com/watch?v=F4HgEX_Lu4Q
hhhmmm thats intersting, I can't seem to replicate it. I will have something posted later which should fix it
I don't know if you have seen my edit because i edited it @ 3.59 and you posted @ 3.54 but anyway: http://www.youtube.com/watch?v=F4HgEX_Lu4Q
igi0n
I can see the problem. It's because your screen size is much smaller than mine so what has happened is the list of push-ups you must perform has shrunk so much that it has become invisible. I'm just about to upload another version which I'm now thinking may not look right on your phone.
Could you try it out and post another video clip?
on tonights version, I get error after return from Todays program on HD2.
pushups.exe
ArgumentException
Column 'PROG0' does not belong to table PUSHUPS.
at
System.Data.DataRow.GetDataColumn(StringcolumnName)
at System.Data.DataRow.get_Item(StringcolumnName)
at pushups.Core.GetTodaysProgram()
at pushups.UserControls.ucToday..ctor()
at
Pushups.frmMainNew.TestTime_Disposed(Object sender, EventArgs e)
at
System.ComponentModel.Component.Dispose(Boolean disposing)
at
etc. tired of typing..lol...sorry and hope this helps
Thanks for your great app & idea....
Thanks noellenchris for the post
ok let me just understand a bit more on how this error happened.
You clicked "Todays Program" and test screen came up?
You then entered a value and was brought to "Todays Program" screen?
You then completed the days program which was indicated by a message?
Pressing ok on this message brought you back to the main menu?
Did the error occur when you was brought back to the main menu?
Edit
Never mind I think I see what your saying. The error comes when you press return on the "test screen". uploading fix now :-D
Im going to try the new version now! Btw, if you press the return button but the timer is still @ 0 its not crashing, only when the timers counts down
EDIT:
Hmm the GUI is better but the layout on the screen is pretty messed up @ 320x320.
Im uploading a new video now
EDIT: http://www.youtube.com/watch?v=VvtB1ZASWAs
you videos are helping alot
ok the next course of action, which I hope I will get finished for tonight, will be this.
# Fix the crash when pressing the return button while the timer is running.
# Fix crash when hitting the completed button multiple times while timer is running.
# Fix the GUI layout for smaller screens :-D
Edit
Try newest version I just uploaded. I developed at a lower res so hopefully it will display better.
Please uninstall the old version first and delete \My Documents\PushupLog\log before installing new one.
Gonna install it now, and make a little video!
EDIT:
The text doesn't fit the screen, the size is ok but you cannot scroll down. Also, the timer uses 2 seconds each rep, it needs to be 60?
And when you are done for today, it tell you. Have a days rest before attempting the next program
It needs to be without the S
Video: http://www.youtube.com/watch?v=1l2amIRGf0U
EDIT2:
After completion of the exercise it says: "You have compeleted" The E needs to be deleted
Excellent, no crashes!!!! lol
The count down timer will only do 2 seconds if you pushed and checked Debug -> Rest Timer.
Try running the program again and don't push the debug button.
Other than that it seems there is still an issue with layout and an Issue with I can't spell haha.
Strange because the window size is set to 240 x 260 so I'm not sure why its not displaying correctly.
Oh yeah, i see it . Btw, is there a way to add a feature so that you can begin at a certain week/day and maybe can you add a reset button? Thanks already!
On stock 4.0.4, 2.17.401.2:
1: in the stock Clock app->Timer,my reset button doesn't set the timer back to 0:0:0, it sets it back to 1hr 5min 02 secs. I've tried a restart to no avail.
2: My stock calendar app has a "default reminder time" of none yet every new appointment I set sets a 10 minute reminder.
Well the timer would have no point at being set to 0.0.0?
Else what would you be timing?
I think the timer resets to whatever you set it at last time you timed something e.g. you set the timer at 1 minute, it counts down to 30 seconds and then you click reset, it will return to 1 minute.
As for the calendar app, the reminder is meant to be 10 minutes, so everything seems in order?
I'm sure the timer used to reset to 0, hence the term "reset". It doesn't even go back to the last timer I set, seems to be random.
And no, the default isn't 10 minutes, the default is what you set as the default in the app - whatever I set it to, all new appointments have a reminder time of 10 minutes.
Edit: realised I didn't have "all calendars" selected in the calendar settings so the default reminder listed didn't apply. In this case the default reminder is indeed 10 minutes.
I'm still sure the timer should reset to zero however.
I think your missing the point, the stop watch should reset to zero yes, as that counts up from 0 to something.
Wereas the timer, you want it set at something, to count DOWN to zero. (for baking cookies etc? )
The term "Reset" doesnt have anything to do with taking it back to zero, it resets it to the default value.
Which is why I said the timer should reset to whatever you previously had it timed at.
But it resetting to a random value like 1 hour 5 mins 2 seconds as you stated is a different issue.
Hope I helped
Maybe - I'm just sure it used to go back to zero. Thanks anyway. I can live with it - just glad I got to the bottom of the calendar thing.
This isn't a huge problem because everything works but it is an annoying item that seems like it should be able to be resolved. I have a widget created in Zooper for the counts of my sms messages and three gmail accounts. The issue is, that the widget doesn't update unless I turn the phone off and on again. So for example, I get an email and it shows a 1 next to that account. I go in gmail and read it. I press my home button to come back to the screen and the counter is still at 1. This doesn't change to 0 until I turn the phone off and on. It also will go to zero when the the minute changes on my zooper-made clock widget.
Any idea how to get my counts widget to update when I've read or cleared my notifications without having to turn my phone off or wait for the minute to change?
I use tasker for a few things and was hoping there was a way I could just set up a task that when I exit sms or gmail apps I can do a force update, but I haven't figured that out.
Thanks for you help
im facing the same problem dude hope a support would be able to explain
I think it's because zooper widget update value is set once per minute. If you will look closely widget updates when - unlock from lockscreen after some time or every time minute passes. It's solution to prevent battery drain. It don't monitor other states than minute change.
Can that be changed ?
This guide is mainly for those who know what the "clocktransition" or "activeclock" bug is, where your AOD brightness drops significantly after a few seconds of AOD set to always on while you have the under-display FP reader on.
This workaround functions by turning AOD off and then on after the screen turns off, eliminating this bug from happening.
It's not perfect but gets the job done.
We use an app called "Tasker" from the Playstore (as well as "Tasker Settings")
Here's the guide:
Open Tasker Settings first just to make sure it's running
You can do this at any time, but make sure you remove Tasker from apps that can optimize battery usage (the app will constantly remind you about this anyway)
Open Tasker and go to the "Tasks" tab (dismiss any of the annoying reminders you get from Tasker)
* Add a new task (+ sign at the bottom) and give it a name. Any will do. I will name it "Aod off-on"
Then add an Action on the screen it takes you to (+ sign at the bottom)
In the "Select Action Category" pop up, search for "Wait" and select it. This "Wait" command is done so that there is a few seconds before the task can turn AOD off and on so you can fully appreciate the clocktransition animation. You can add any value you want here. I recommend between 3 to 7 seconds but it's up to you.
Save (back button)
Add a new action
In the "Select Action Category" pop up, search for "Custom Setting"
In the drop down menu under "Type", select "System" instead of "Global"
In "Name", type aod_mode
In "Value", type 0
Save (back button)
Add a new action
In the "Select Action Category" pop up, search for "Custom Setting"
In the drop down menu under "Type", select "System" instead of "Global"
In "Name", type aod_mode
In "Value", type 1
Save (back button)
You are done with your task, now go back and create a profile that will trigger it
Switch back to the "Profiles" tab and add a new profile (with +)
Select "Event" -> Search for "Display Off"-> Leave Normal Priority
Go back and it will request that you select a task, select the one you created
You should be done. Now, the task will activate everytime you turn the screen off.
Note: If this doesn't work for you, you'll probably have to edit the task and in both instances where you change the aod value to 1 and 0, you'll have to give it root permissions (there should be a checkbox when editing the task and the action to use root)
Enjoy, let me know if it works for you!