I want to apologize again for taking so long, but I am prioritizing school and finals over the app. I have been very busy this semester and have had little time to work on it. But I have made progress. im about 60% done, and a lot of hte major stuff is working. I have a minor bug with Editing. But a lot of the rest is working. I wil try to use as much of my Christmas vacation working on this. I have the Visual Studio open right now plugging away at a bit more. I will try to get this done soon. I apologize again to those that purchased and are forced to wait for so long. I know the old app is slow, and hopefully this massive update will give you a faster and better app.
Thank you for being patient with me, and I hope I can get this out to you asap.
I decided that I would just work straight on MonkeyPad 2.0. It is a full rewrite from the ground up using some things I learned from EA over the summer. It will be 100% asynchronous, should work faster and more reliably. I also will have 100% support for everything SimpleNote offers. Including Markdown, Tags, lists, etc. I will also be adding a bit of color coding support for tags (you can set a color for tags, and those little blue marks on each not will be that color. It will also have Mango support features, like Sending something to a note from other places, pinning a note to your homescreen, etc. I hope you guys like it, and thank you for your patience.
Sorry for the long silence, but I wanted to provide a quick update.
I have not forgotten about the project, nor is it dead. I received an internship at Electronic Arts, and have been really busy with work. I haven't had any time to really work on the app since I started.
As soon as it is over (Aug 19th). I will start back up on this app again. I want to get all these issues I found fixed, the new features, and at least get it to be a respectable app.
I believe after 1.5, I will go into maintenenace mode for this app unless a really good feature is suggested, while I work on other projects for WP7.
If you wish to follow a app that seems to be more updated with a different UI design, check out SimplePaper on the marketplace, it is a SimpleNote app that is quite good.
Things have been a little slow lately, I have had projects, studying for finals, and interviews for internships.
But on for the app, I have the tags working, I will be adding a Settings pane for this release as well.
So here is a rough plan for the next 2 releases:
- Tag Support (all functionality)
- Email notes
- Settings (will allow you to edit text sizes, which tags to show on the main screen, and a few other things like the ability to toggle auto-refresh on load)
- A bit of UI changes to give you more information on whats going on when the app does something.
- Complete rewrite of networking code, which will include:
- - No longer needs to get all notes, and update all notes every refresh. It will only update those needed, and add new notes, delete gone knows, etc.
- - Should be faster at getting your notes
- - Maybe a interval based auto-refresh that checks for changes.
Ok, I also have been getting reports of slow loads, or long loads/refreshes. So I will explain how the current code works and why this may be. This project was initially meant to be my self-introduction to C# and the platform, so there is a lot of messy code, and a lot of times during the process I had to improvise because I might have not understood exactly how some stuff worked. An example would be the Asynchronous HTTP Requests. I had a roadblock where I had UI problems with the pulling of notes and the UI not updating properly or not sorting. So in an attempt to make it work, I began using a library called AsyncEnumerator that changes the behavior of Asynchronous tasks to behave more synchronously. This might be the cause of my slow down. Here is a rough example of how the current code works.
- User Loads/Refreshes
- - An AsyncEnumerator is created to pull the note index (stores all the notes, except for the actual note, so everything including dates, and system information, but not the note itself)
- - Once AysnceEnumerator is done with the first requests it allows you to continue to the next one.
- - A second AsyncEnumerator is made, that goes through every note, and pulls the note information one by one for every not in the note index (the actual note text)
- -- An HTTP Request is Created, AsyncEnumerator waits for it to finish creation till it moves on.
- -- The HTTP Request is Sent, AsyncEnumerator waits for a reply, and the application waits until areply is received.
- -- I then parse the information returned, and put it into the the note object.
- - This process repeats one by one for every note you have (max 50 per load/refresh, the API max is 100, but I personally set it to 50. I will allow you to set this in the settings in the next update.
- - After all this is done, the UI is then refreshed, and everything shows up.
This can cause a slow down if you have low reception over 3G, and lots of notes. Otherwise, I personally haven seen it load pretty fast and I have over 200 notes, some with large code snippets in them.
Now in 1.4, I will be getting rid of AsyncEnumerator, because I now know what my original problem was and it had nothing to do with Asynchronouse HTTP Requests, but how I was handling the UI code. This will improve things quite a bit, because the process will become something like this:
- User Loads/Refreshes
- - HTTP Request to get the Note Index is sent, and received.
- - When that is complete, the lists are properly updated and the UI is populated, htough nothing is seen because the note text isn't pulled yet. The list is sorted at this point.
- - When this is complete, I create a for loop with sends out HTTP requests for all 50 of the notes, almost at the same time. and they come in as the request is resolved.
- - AS soon as the data comes back in, the UI is updated, and the notes start becoming visible in the UI.
Thats it. This will hopefully improve speeds, allow it to update faster, and be snappier. Hopefully with this, and more UI information, it shouldn't feel as slow anymore. The new method will also allow me to implement an easier way to to do incremental updates, making things after a full refresh or first load to load even faster. Only pulling things for notes that are updated, add new notes, and delete removed notes.
Thank you for you patience, and I hope you stick it out until v1.4, because by then, this should be a much improved and stable app.
Just wanted to give an update for those that are interested, work on 1.3 is half-way done, encountered a small bug with the WP7 platform that I have reported to Microsoft, but I need to rework it to make it work for release.
- Tag support (adding, deleting from notes, listing notes, etc.)
- Email Notes
In 1.4 I will be rewriting how I pull notes, in hopes of speeding it up.
MonkeyPad 1.2 is finally certified and published to the marketplace, the update should start start showing up on your phones in the next few hours.
Thank you everyone for being patient, and I hope the new version fixes all your problems.
1.2 also now adds a Ad-Powered free trial, for those that want to use it for free, I tried to make them as unobstrusive as possible, hopefully that works out. There are 0 other limitations. If you wish to remove the ads, just buy the full version. Nothing will be lost.
So, Apparently there is gonna be a few more days of delay because my app got rejected for a bug that does not exist. I have tested this on my phone too. To show some proof, because I don't want to seem like I am making things up (I did this for the Certification Testers and included these in my resubmission to show them), I have made this video of me attempting to reproduce the steps outlined in the PDF I got. It is safe to say I am a bit pissed atm, but whatever.
No clue what else to say except that I am extremely sorry for the delay. This isn't the first time it has happened to me for this submission. Hopefully it goes live tomorrow or saturday if I get lucky with how many people are before me. If not Monday is the earliest.
I want to apologize for the delay. At first the app was stuck in the certification queue for 2 weeks due to some error in their system that never put my app into actual review. Then it got rejected to me for a UI Guidline issue. So now it is currently back in queue and it should be out next week, barring any other dumb things.
I have also decided to add a full functioning free trial mode in 1.2. The free trial will be 100% untouched, except for the addition of adds on the main page, and on the note view page. I tried to make it as unintrusive as possible. I decided it would be too messy to try and keep 2 variations on my code and have extra test cases to run for both free trial and full paid if I started cutting out features for free trial. This saves me a lot of that trouble.
So keep an eye out for it next week. Hopefully this time it goes through quickly and without problem. Again sorry for the delay.
[UPDATE 2] Microsoft managed to get the error during their certification so they rejected it back. I immediately put up the fixed up version. Best case scenerio it comes out Thursday Night/Friday, worst case, sometime week (hopefully Monday/Tues). This should solve all the big problems. If you experience crashing or errors in 1.1, please try the workaround fix below.
[UPDATE] There is a temporary workaround for the current release. Go through all your notes and remove any empty space before the first line. Spaces, newlines, tabs, etc. This will let you sync your notes without problems (hopefully).
Ok, for those waiting for updates, I am sorry it's taking so long, my app has been stuck in certification for a week and a half now, and its getting kind of dumb. The sad thing is, that SimpleNote changed a few APIs during this time that need changing in the app for it to function 100%. Now this mostly has to do with the marks that let me know if there are more notes to load or not. So if it passes certification 1.2 will work, but if you try to retrieve more notes after the first 50, it will error out and I will have 1.3 in queue immediately so that it comes out right away. Now if they manage to get it to error during certification, it will get rejected and will allow me to put a fixed up 1.2 on queue, but it will take another week to certify. In the end, for a full functioning app, it will take another week or 2.
I am really sorry its taking so long, but it is out of my hands, blame Microsoft for having such a long certification process. Though I can't complain, they have caught a few very dumb bugs that were my fault that saved me releasing fixes.
I have also fixed the problem for most people that were crashing, it had to do with extra spaces at the front of the note, plus another problem with HTML being parsed weirdly by the UI. All has been fixed and part of the 1.2 update. Though like I said, some known bugginess is there that will be fixed in 1.3 or hopefully in 1.2 if it gets kicked back to me.
I apologize again for the wait, and making some of you wait for so long to have a working app. Thanks for your support though.
I have hopefully fixed the bug tracker, there was a path problem on the server that I fixed up, and it should work properly now. Though, I did have to clear out the accounts that had failed to be created, so those that have signed up once before, need to sign up again. This time it shouldn't error and you will properly receive a confirmation email, which will let you finish setting up your account, and set your password (the system generates a random password for you until the confirmation is made).
I have also submitted a 1.1 update to MonkeyPad (this should really be 1.0.1, but Microsoft doesn't allow that, only .1 increments) it has no new features, but it is an attempt to fix an issue that some are getting in relation to a crash after logging in. It is hard to fix, since I can not reproduce it myself, and only a small number of you are getting it. Now if the fix doesn't work, I have added more error handling message boxes, hopefully allowing you to see what the error message is and being able to properly report it to me.