Friday, July 12, 2013

ISOC week 2: First Draft

Day 1:


Our problems with performance have seem to been solved by Fredrik. He managed to create a well working class so we can transform our gestures in any way we want with a matrix. With this in our bag, We've now started implementing pan and zoom system in the App to give the user even more space and possibility to write their equations. Our UI have been changed into using fragments instead that helps us to store data when user flips their device. This seem to work very well, only issue right now is that we need to load MathJax(Javascript system for displaying LateX Math on a website). It also works great from a developing perspective by splitting the app up to smaller parts that encapsulates the data only important for that fragment.

Our plan is to have a first draft of the app finished this week.

Day 2:

Today we worked with trying to maximize the canvas area for the user to have as much area as possible to draw on. We want to try to hide some part of the UI that is rarely used in a sliding menu. Our intentions is still to have a first draft at the end of the week and it seems like this will be possible.

Day 3:

We've fixed Undo and Redo tools to quickly erase strokes instead of having to switch to the eraser tool.
The first part of maximum and minimum zooming has been implemented. The work of using a sliding menu is still under way but works very good to create more drawing surface.

Day 4:

The min/max zoom system was pretty easy to implement but today, trying to fix min/max panning had it's issues. The thing we we're struggling with was that we, for some reason, tried to keep our origin point of canvas not in the corner, but in an arbitrary point on the canvas. This caused issues when we try to clamp panning in different zoom levels. The simple solution we then found was just to move origin up to the top left corner and move the user down to the middle of canvas when the app starts. We've also added a paper-like background to give a feedback to panning and zooming. The sliding menu was completed and Fredrik started working on using the camera to take a picture of a mathematical expression to draw to our canvas. We think this would be a good solution for people with smaller screens, like phone that perhaps is more difficult to draw on. Since our intentions are to have the expression show up on our canvas, the user can then edit smaller parts if so chooses.
Fredrik reading about Canny Edge Detection
and other cool stuff

Day 5:

The test to parse to wolfram worked quick and simple with no real problems. Wolfram wants the TeX as a urlEncoded string, something we can do easy with android.

We also made our first camera test today, it worked... with questionable results. We are using OpenCV and its findContours method to sample points on our picture, but the result isn't good enough for us to be able to send it for TeX parsing. We are going to look into  different ways of sampling a picture to try to increase our accuracy of the result.

But with that said, we now have what we consider our first functional draft of our app ready!
All the functionality we had when we started the project is now working. There is still a lot of work left though to get a equal experience using the app on different devices. We'd also like to be add features for saving drawings and expressions for reuse.



No comments:

Post a Comment