GithubHelp home page GithubHelp logo

mozilla / jisort Goto Github PK

View Code? Open in Web Editor NEW
10.0 43.0 12.0 26.54 MB

:mag: Digital Skills Observatory: Software Prototype I

License: Mozilla Public License 2.0

Java 100.00%
digital-skills-observatory mozilla prototype android

jisort's Introduction

Jisort! Build Status Uses Mofo Standards

Jisort! is an informational prototype app for the Digital Skills Observatory project. It offers fun and visually interesting ways to increase basic smart phone awareness and skills, diagnose problems, and encourage exploration.

The Digital Skills Observatory project looks at the impact of digital skills on the usage of Digital Financial Services. Testing various teaching and delivery methods, the study aims to understand the skills people need to develop confidence and agency with their smart phones. Learn more.

Features

  • Compatible with Android 4.0 (API 14) and above
  • Simple and intuitive user interface
  • Suggest content to users based on system events like low battery, or wifi status
  • Customizable: create your own content using HTML tags and JSON
  • Offline analytics collection system

Install

Jisort! is not available on app marketplaces such as Google Play. Follow the instructions below to manually install the app.

  1. Startup the internet browser on the Android device you'd like to install Jisort! on
  2. Enter the following website address into your browser's address bar: https://mzl.la/jisort
  3. Look for the version with the green "latest release" tag, and download the file ending with the extension name: apk
  4. Navigate to your downloads folder and verify that the downloaded file looks similar to the following: Jisort-qualityassurance-<version>-SNAPSHOT.apk
  5. Tap on the downloaded file to begin the installation process
  6. If prompted with a pop-up asking if you'd like to install the application, select the appropriate answers (yes)
  7. Once the application has been successfully installed, you will be notified and can find it in your app drawer

Contribute

Did you know that the Digital Skills Observatory project is mostly run by community members just like you? Community contributions have played an important role in both the Digital Skills Observatory project, and the development of Jisort!

If you're interested in contributing, check out the contributing guide and come say hello in our chat room.

License

Jisort! is licensed under Mozilla Public License 2.0

Have questions about Mozilla Public License 2.0? Check out the FAQ.

jisort's People

Contributors

abbycabs avatar brianmwadime avatar douglasjunior avatar icarius06 avatar ryanwarsaw avatar secretrobotron avatar xelawafs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jisort's Issues

Replace FAB icon

The FAB icon should be the Jisort logo, and should light up when a suggestion is ready.

Normal:

normal

Suggestion:

suggestion

Can we make the resolution a little better? It's quite blurry at 48x48.

Fixing problems with your wifi

  • A reboot of your smart phone helps fixing so many issues, one being wifi connectivity issue.
  • A very important thing users forget is being in WI-FI range

Images are very small

Regardless of their actual resolution, images should stretch to fill the width of the container.

Home Screen: improve the second title / subtitle

"What do you want to do" is barely visible compared to the tutorials icons and font size.
Suggestions:

  • Increase font size
  • Change color of text (orange or blue?)
  • Or write the text in a colored box ?
  • Or even turn the text into a gif itself ?

Add graphics credits files

Normally, we have a file like CREDITS.TXT file, with image/code credits in it. So far, we should include

  • "Goat" Created by Hernan D. Schlosman from the Noun Project
  • "Gorilla" Created by Hernan D. Schlosman from the Noun Project
  • "Elephant" Created by Created by Sebastian Andreasson from the Noun Project

Wi-Fi icon is wrong

The Wi-Fi icon on material design doesn't actually look like... the actual Wi-Fi icon. Let's use the real one.

Replacing [icon] placeholders with actual icons

wherever you find this [placeholder] replace with:

<img src=\"ic_settings_white_24px\"/>

replace with appropriate icon whenever needed. The system icons are in the drawable folders.
NB: Do not add the image extension.

"Leaked Window" exception

When backing out of icon screen

06-30 12:53:19.880 14497-14535/com.mozilla.hackathon.kiboko E/Surface: getSlotFromBufferLocked: unknown buffer: 0xa97c3dc0
06-30 12:53:24.129 14497-14535/com.mozilla.hackathon.kiboko E/Surface: getSlotFromBufferLocked: unknown buffer: 0xaddf2650
06-30 12:53:24.140 14497-14535/com.mozilla.hackathon.kiboko E/Surface: getSlotFromBufferLocked: unknown buffer: 0xa97c4370
06-30 12:53:24.555 14497-14497/com.mozilla.hackathon.kiboko E/WindowManager: android.view.WindowLeaked: Activity com.mozilla.hackathon.kiboko.activities.FindIconsActivity has leaked window android.widget.PopupWindow$PopupDecorView{de5c158 V.E...... ........ 0,0-611,394} that was originally added here
                                                                                 at android.view.ViewRootImpl.<init>(ViewRootImpl.java:368)
                                                                                 at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:299)
                                                                                 at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
                                                                                 at android.widget.PopupWindow.invokePopup(PopupWindow.java:1258)
                                                                                 at android.widget.PopupWindow.showAtLocation(PopupWindow.java:1032)
                                                                                 at android.widget.PopupWindow.showAtLocation(PopupWindow.java:995)
                                                                                 at io.github.douglasjunior.androidSimpleTooltip.SimpleTooltip$1.run(SimpleTooltip.java:164)
                                                                                 at android.os.Handler.handleCallback(Handler.java:739)
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                 at android.os.Looper.loop(Looper.java:148)
                                                                                 at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)`

FAB moves too quickly/easily

You should have to deliberately drag the FAB past a certain distance for it to really start moving. Now, just a simple tap causes it to wiggle around.

FUN MODE

Fun mode off: Normal Jisort as it is
Fun mode on: turns on all the emojis hidden in the text.

2 important questions for @brianmwadime and @secretrobotron

  • Is it possible / easy to code?
  • How do we add Android emojis in the copy?

Crash when opening App Store quiz

Device: Nexus 5X
Android: 6.0.1

06-30 11:37:17.540   811   811 E AndroidRuntime: FATAL EXCEPTION: main
06-30 11:37:17.540   811   811 E AndroidRuntime: Process: com.mozilla.hackathon.kiboko, PID: 811
06-30 11:37:17.540   811   811 E AndroidRuntime: java.lang.ClassCastException: android.graphics.drawable.BitmapDrawable cannot be cast to pl.droidsonroids.gif.GifDrawable
06-30 11:37:17.540   811   811 E AndroidRuntime:    at com.mozilla.hackathon.kiboko.fragments.ScreenSlidePageFragment.onCreateView(ScreenSlidePageFragment.java:95)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1974)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:742)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:570)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:164)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.view.ViewPager.populate(ViewPager.java:1177)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:608)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:570)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.view.ViewPager.dataSetChanged(ViewPager.java:1019)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.view.ViewPager$PagerObserver.onChanged(ViewPager.java:2996)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.view.PagerAdapter.notifyDataSetChanged(PagerAdapter.java:279)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at com.mozilla.hackathon.kiboko.activities.TutorialSlideActivity.onLoadFinished(TutorialSlideActivity.java:188)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at com.mozilla.hackathon.kiboko.activities.TutorialSlideActivity.onLoadFinished(TutorialSlideActivity.java:45)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.app.LoaderManagerImpl$LoaderInfo.callOnLoadFinished(LoaderManager.java:476)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.app.LoaderManagerImpl$LoaderInfo.onLoadComplete(LoaderManager.java:444)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.content.Loader.deliverResult(Loader.java:126)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.content.CursorLoader.deliverResult(CursorLoader.java:105)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.content.CursorLoader.deliverResult(CursorLoader.java:37)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.content.AsyncTaskLoader.dispatchOnLoadComplete(AsyncTaskLoader.java:249)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.content.AsyncTaskLoader$LoadTask.onPostExecute(AsyncTaskLoader.java:77)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.content.ModernAsyncTask.finish(ModernAsyncTask.java:466)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.content.ModernAsyncTask.access$400(ModernAsyncTask.java:48)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.support.v4.content.ModernAsyncTask$InternalHandler.handleMessage(ModernAsyncTask.java:483)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.os.Handler.dispatchMessage(Handler.java:102)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.os.Looper.loop(Looper.java:148)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at android.app.ActivityThread.main(ActivityThread.java:5422)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at java.lang.reflect.Method.invoke(Native Method)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
06-30 11:37:17.540   811   811 E AndroidRuntime:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

Navigation bar disappears in tutorials

When reading a long tutorial step, scrolling down will hide the navigation bar screenshot 2016-07-01 16 05 36.

If you swipe to the next screen, and it doesn't scroll, you're unable to get the navigation bar to come back.

App is very crashy

I'm on a Nexus 5X with Android 6.0.1.

App crashes very often. Sometimes immediately.

Limit size of analytics file

The analytics file can grow until it consumes all the memory (bad). What's a reasonable limit? 10k?

Did you make any progress on this, @dobbz?

Link from some gifs to parts of phone

Today, a respondent tried to click on one of the gifs to get to the settings page it represented. Can we link these together?

e.g. Tracking your Data, step 1 --> click on gif --> open the actual data usage panel

cc @brianmwadime ??

Custom Tooltip Placeholder

The placeholder under the FIND AN ICON section of Jisort should have labels of the Icons such that a user gets to know what the Icon represents.

Crash when opening Jisort on Stephen's phone

Device: Sony Xperia Z3
Android: 5.1.1

E/AndroidRuntime(26994): FATAL EXCEPTION: main
E/AndroidRuntime(26994): Process: com.mozilla.hackathon.kiboko, PID: 26994
E/AndroidRuntime(26994): java.lang.ClassCastException: android.graphics.drawable.BitmapDrawable cannot be cast to pl.droidsonroids.gif.GifDrawable
E/AndroidRuntime(26994):    at com.mozilla.hackathon.kiboko.fragments.ScreenSlidePageFragment.onCreateView(ScreenSlidePageFragment.java:95)
E/AndroidRuntime(26994):    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1974)
E/AndroidRuntime(26994):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
E/AndroidRuntime(26994):    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252)
E/AndroidRuntime(26994):    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:742)
E/AndroidRuntime(26994):    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617)
E/AndroidRuntime(26994):    at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:570)
E/AndroidRuntime(26994):    at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:164)
E/AndroidRuntime(26994):    at android.support.v4.view.ViewPager.populate(ViewPager.java:1177)
E/AndroidRuntime(26994):    at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:608)
E/AndroidRuntime(26994):    at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:570)
E/AndroidRuntime(26994):    at android.support.v4.view.ViewPager.dataSetChanged(ViewPager.java:1019)
E/AndroidRuntime(26994):    at android.support.v4.view.ViewPager$PagerObserver.onChanged(ViewPager.java:2996)
E/AndroidRuntime(26994):    at android.support.v4.view.PagerAdapter.notifyDataSetChanged(PagerAdapter.java:279)
E/AndroidRuntime(26994):    at com.mozilla.hackathon.kiboko.activities.TutorialSlideActivity.onLoadFinished(TutorialSlideActivity.java:188)
E/AndroidRuntime(26994):    at com.mozilla.hackathon.kiboko.activities.TutorialSlideActivity.onLoadFinished(TutorialSlideActivity.java:45)
E/AndroidRuntime(26994):    at android.support.v4.app.LoaderManagerImpl$LoaderInfo.callOnLoadFinished(LoaderManager.java:476)
E/AndroidRuntime(26994):    at android.support.v4.app.LoaderManagerImpl$LoaderInfo.onLoadComplete(LoaderManager.java:444)
E/AndroidRuntime(26994):    at android.support.v4.content.Loader.deliverResult(Loader.java:126)
E/AndroidRuntime(26994):    at android.support.v4.content.CursorLoader.deliverResult(CursorLoader.java:105)
E/AndroidRuntime(26994):    at android.support.v4.content.CursorLoader.deliverResult(CursorLoader.java:37)
E/AndroidRuntime(26994):    at android.support.v4.content.AsyncTaskLoader.dispatchOnLoadComplete(AsyncTaskLoader.java:249)
E/AndroidRuntime(26994):    at android.support.v4.content.AsyncTaskLoader$LoadTask.onPostExecute(AsyncTaskLoader.java:77)
E/AndroidRuntime(26994):    at android.support.v4.content.ModernAsyncTask.finish(ModernAsyncTask.java:466)
E/AndroidRuntime(26994):    at android.support.v4.content.ModernAsyncTask.access$400(ModernAsyncTask.java:48)
E/AndroidRuntime(26994):    at android.support.v4.content.ModernAsyncTask$InternalHandler.handleMessage(ModernAsyncTask.java:483)
E/AndroidRuntime(26994):    at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(26994):    at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime(26994):    at android.app.ActivityThread.main(ActivityThread.java:5294)
E/AndroidRuntime(26994):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(26994):    at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime(26994):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
E/AndroidRuntime(26994):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
W/ActivityManager(  779):   Force finishing activity 1 com.mozilla.hackathon.kiboko/.activities.TutorialSlideActivity
W/ActivityManager(  779):   Force finishing activity 2 com.mozilla.hackathon.kiboko/.activities.DashboardActivity

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.