pingpongboss / blind.ly-messenger Goto Github PK
View Code? Open in Web Editor NEWCS169 Project
CS169 Project
CS169 Project Blind.ly Messenger Enabling blind people to SMS silently using only their Android smartphone. App accepts input via the volume rockers, interpreted as morse code. Mark Wei Edmond Lo Jonathan Tien Jesse Chen Woosuk Kim This project needs the following prereqs: * Android SDK Tools v14 * Android SDK Platform-tools v8 * Android 4.0 (API 14) (Target SDK version) * Android 2.1 (API 7) (Min SDK version) * Eclipse ADT Plugin (Android Development Tools v14.0.0.v201110171935-205994) * Java JDK Compliance level 1.6 To run this project do the following: * Create a new Android AVD. Target [Android 2.1 - API Level 7] * Import our Eclipse project into your workspace * Right click the Blind.ly-Messenger project in Eclipse and choose Run As -> Android Application * The Android emulator does not vibrate. To test fully, install bin/Blind.ly-Messenger.apk onto an Android phone * Make sure at least 1 contact exists on the phone. Make sure that contact has a phone number saved * Use the VOLUME_UP key to navigate to COMPOSE * Use the VOLUME keys to select a contact. Press and release both VOLUME_UP and VOLUME_DOWN at the same time to select a contact * Use the VOLUME_UP key to input Morse Code. Short tap for DOT, long hold for DASH, and don't press anything for the end of the character and the end of the word * Use the VOLUME_DOWN key to send the message to the selected recipient To test this project, first follow all steps above, then do the following: * Right click AllTests.java and choose Run As -> JUnit Test. Make sure you run it as an Eclipse JUnit Test. How to Setup JUnit testing. (If you're having issues running the test cases.) 1.Select an existing JUnit test file 2.Go to "Run Configuration" 3.Select "Classpath" 4.Under "Bootstrap entries", remove everything EXCEPT "JUnit 4" and "JRE System Library" (Has to be JUnit4) 5.If you don't have both of these entries, select "Bootstrap entries" and click "Advanced" -> "Add Library" then add "JUnit 4" or/and "JRE System Library"
Phone:
HTC EVO 3D
Description:
I don't know if this is a bug, but it's weird. Send some newlines in a text message and you'll receive a crazy amount of vibrations after the sent message.
As far as I am aware, there is no morse code for \n
Regardless, I don't think there should be any vibrating for newlines.
Replication:
-- Type in and send a text message with newlines manually in the compose screen.
Severity:
Low / Trivial
It says "No milestone" but I see no way of adding it to a milestone list.
Phone:
HTC EVO 3D
Description:
Crashes upon sending long message.
Replication:
-- Compose
-- Select contact
-- Compose huge message (> 160 chars for sure, but not sure if this is the exact boundary where it breaks)
-- Hit volume down button to send ==> "Sorry! The application Blind.ly Messenger (process edu.berkeley.cs169) has stopped unexpectedly. Please try again."
Severity:
High
Phone: HTC EVO 3D
While you are in the compose message of the app, a person can type the morse code by accidentally hitting the screen as well as the volume up- rocker...
Kinda throws everything off if accidentally tap somewhere on the screen.
Importance: High
Phone: HTC EVO 3D
Hi guys,
So I wanted to say, you guys really made it hard for us to test by leaving next to no bugs in your app >.< -- The main things that we come out with are suggestions...
-- Would it be possible to vibrate back what you have written on the Compose screen (without using text-to-speech)
-- Would it be possible to implement a backspace feature?
-- Would it be possible to auto-save the messages for when someone hits a back button and give an option to re-open that draft
Severity: N/A
Phone:
HTC EVO 3D
Description:
At first I didn't have a problem with the text swapping in the preferences, but now that I am using the preferences a lot I find that it is actually kind of confusing and slightly annoying. When I (and most people, I would wager) see a description under a title, I naturally associate the description with the title. That said, the descriptions in your app are associated with the current selection, which is all the way to the right of the button. Although I definitely think the text switching is "cool", I think it is more practical and more user-friendly to have static text that describes what the preference does. (I.e. "Text-to-speech: Allow actions to be spoken --> Allows actions to be spoken"; it's either on (allows) or off (doesn't allow).)
Replication:
-- Preferences
-- Turn on/off a preference; reference is to text under white preference title
Severity:
Low. Matter of preference, but I think most people would agree.
Does our app handle messages that have > 160 characters? Researching a bit about SmsManager shows that there is a sendMultipartTextMessage function that breaks a message to multiple SMS messages if it exceeds 160.
I noticed we use sendTextMessage which I'm not sure how it handles the case if the message is greater than 160. Can someone test please?
Phone: HTC EVO 3D
Able to send a message from the app to the other client - but the message that you send does not appear in the natural android messaging environment. (There is no record of the message, kinda inconvenient that you send a message out which doesn't get stored in the history since you are using the phone's messaging system.) Also, the messages being received still appear in the history on the phone (and app) but just not the messages that are being sent out.
Severity: Low (It's not anything urgent thing, just makes it annoying not being able to keep track of what you send)
Phone:
HTC EVO 3D
Description:
Less a bug and more of an annoyance. Even with the volume all the way up, the text-to-speech is hardly audible, even with my ear against the phone. Maybe a "speaker" mode would be nice... or just allow a wider volume range, if this is possible.
Furthermore, and I don't know if this should be a separate issue, but it's impractical to have text-to-speech and vibration enabled. The vibrations garble the noise, and it is definitely not audible at all. I think is is only reasonable to allow one of these options to be enabled at a time.
Replication:
-- Turn up volume to maximum outside of Blind.ly
-- Go to "Read"
-- Select a messgae
Severity:
Low/Medium
This issue is a test
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.