Coder Social home page Coder Social logo

androidsoft-coloring's People

Contributors

pierrelevy avatar roadt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

androidsoft-coloring's Issues

Autosave

  • Reload exisiting work from previous session on reopening the app.

I performed sentiment analysis and LDA topic modeling on the app reviews. From the topic analysis, it is clear that the audience of the application are children who draw and color for fun. Both the suggested features are crafted considering this observation. Additionally, along with the sentiment analysis and the topics, we can say that majority of the user base is satisfied and has positive reviews. Hence, I am suggesting two features and not probing for bugs. Kids tend to accidentally close the app with their hand gestures and wouldn't want their masterpiece to disappear accidentally. So auto-save to reload while reopening the app will be helpful.

FullScreen Mode

Hello,
Little kids love putting fingers everywhere to draw, and sometimes they quit the application by mistake.
A full screen mode would help such problems.

Tks !

Pinch to zoom

  • Pinch to zoom feature for drawing canvas.

I performed sentiment analysis and LDA topic modeling on the app reviews. From the topic analysis, it is clear that the audience of the application are children who draw and color for fun. Both the suggested features are crafted considering this observation. Additionally, along with the sentiment analysis and the topics, we can say that majority of the user base is satisfied and has positive reviews. Hence, I am suggesting two features and not probing for bugs. On smaller devices, it might get tricky to get clear drawings with detail due to the screen size. Pinch to zoom will be both easy and intuitive for kids to draw on all kinds of devices.

App relies on onRetainNonConfigurationInstance() always being called

In PaintActivity, the app relies on onRetainNonConfigurationInstance() to store important state information that cannot otherwise be recovered in the event of activity death. According to the Android SDK documentation, this method is not always guaranteed to be called, and should not be relied upon as anything other than an optimization:

http://developer.android.com/reference/android/app/Activity.html#onRetainNonConfigurationInstance()

Contrary to this, the app relies on this method always being called in order to function correctly in basic use-cases.

Whenever this method is not called by the platform (which seems to be the case when the "Don't keep activities" developer option is ticked), the following two consistent user-visible behaviours appear:

  • Whenever the user uses StartNewActivity to select a new outline, the app crashes. This is a minor inconvenience to users, but it does require them to always only colour a randomly selected outline.
  • Whenever the user uses PickColorActivity to select a new colour, the outline is re-randomized and all colouring data is reset to blank. This is a major inconvenience to users because it means colour-selection can only be done before starting to draw, and cannot be informed by knowledge of which outline is about to be coloured.

Here is a stack-trace showing the crash mentioned above:

03-26 14:50:31.335 2003-4091/? I/ActivityManager: START u0 {act=org.androidsoft.coloring.paint.START_NEW cmp=org.androidsoft.coloring/.ui.activity.StartNewActivity} from uid 10036 on display 0
03-26 14:50:31.421 2760-2760/? I/Keyboard.Facilitator: onFinishInput()
03-26 14:50:31.446 2003-2021/? I/ActivityManager: Displayed org.androidsoft.coloring/.ui.activity.StartNewActivity: +104ms
03-26 14:50:31.475 29609-29637/? D/OpenGLRenderer: endAllStagingAnimators on 0xb447d900 (RippleDrawable) with handle 0xab212250
03-26 14:50:33.240 2003-2346/? D/ConnectivityService: notifyType CAP_CHANGED for NetworkAgentInfo [WIFI () - 362]
03-26 14:50:35.062 29609-29692/? E/AndroidRuntime: FATAL EXCEPTION: Thread-10762
                                                   Process: org.androidsoft.coloring, PID: 29609
                                                   java.lang.IllegalArgumentException: width and height must be > 0
                                                       at android.graphics.Bitmap.createBitmap(Bitmap.java:829)
                                                       at android.graphics.Bitmap.createBitmap(Bitmap.java:808)
                                                       at android.graphics.Bitmap.createBitmap(Bitmap.java:775)
                                                       at org.androidsoft.coloring.ui.widget.PaintView.loadFromBitmap(PaintView.java:98)
                                                       at org.androidsoft.coloring.ui.activity.PaintActivity$InitPaintView.run(PaintActivity.java:371)
                                                       at java.lang.Thread.run(Thread.java:818)
03-26 14:50:35.065 2003-16076/? W/ActivityManager:   Force finishing activity org.androidsoft.coloring/.ui.activity.PaintActivity

I think it would be wise to implement some other more reliable means to persist outline-selection and colouring data when navigating between these three activities. While this bug is only easily reproducible when certain developer-only options are set, there is still a chance it may randomly affect an ordinary user, especially if future versions of Android ever reduce the probability of this non-guaranteed call (which is already deprecated as of API level 13). And it will definitely impact users who are handed a developer device and don't know how to (or know they need to) disable the "Don't keep activities" option.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.