Giter Club home page Giter Club logo

dubsar_ios's People

Contributors

jdee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

zngduong

dubsar_ios's Issues

Duplicate inflections

Some inflections will show up twice in Search and Word views, but it's not entirely consistent.

View in App Store button sometimes hangs

This has been observed once or twice on the iPad, though it could conceivably happen on the iPhone as well. This simply loads a URL from an Apple domain, which ultimately launches the AppStore application. It's likely that the request is hanging. This is done by calling openUrl: on UIApplication.sharedApplication. Apparently this call is synchronous. It should perhaps be done in a separate thread.

iPad autocompleter popovers slightly too small in landscape after keyboard disappears

The server can return up to 10 autocompletion responses. The table views are sized for 10 rows in both orientations. If the popover first appears in portrait orientation, it will always have the correct size. In landscape, with the keyboard present, the popovers are shortened to the available room, having only about seven rows. After the keyboard disappears, the popovers are restored to the correct size. If they first appear in landscape mode, once the keyboard vanishes, they will be a little too short, having only nine complete rows and a fraction of a tenth.

views not always properly reloaded

After a view is unloaded and reloaded, sometimes it is stale and just displays "loading..." for one or more fields on the page. This happens in a number of views, for example in the word view on iPhone, the inflections label may not be displayed correctly if you go back and then forward again to the same word view.

panning navigation broken in iPad search view over table view

The table view that displays results in the iPad search view will not accept pan gestures to drag the view from side to side in the 1.0.1-1 build. It only accepts the gesture over the navigation bar. This doesn't happen in the iPhone app or in 1.0.

about pages need support info

The support URL will be listed in the App Store, and it is available from the Mobile FAQ page. But it should be included on the About page of each application too, possibly with the copyrights for WordNet and JSONKit.

Word of the Day not persistent

Each Word of the Day has an implicit expiration time (which may become explicit in a later version of the API). Once it's successfully retrieved, there's no need to get a new WOTD until that expiration time has passed. This should be recorded in the DB's daily_words table as on the server or otherwise stored on each device.

duplicate search results when inflected form used

Search for an inflected word form, e.g., "recommended." This matches the verb recommend via an inflection. The exact match is filtered out of the search results based on the word only, without considering the inflection. Hence, it shows up twice in the results.

bad launch images

The launch images are inappropriate for the case where the app is slow to wake up from the background. They are not generic enough, since they show the initial application screen. They need to be applicable to any view.

word popover view size sometimes too large

If you click the "other senses" button near the top right of a sense view, you get a popover displaying, essentially, the word view associated with the sense. The popover is resized once the data response is received. Sometimes the resized popover has an extra row.

Wrong build number and user agent version number

The project's version number was changed to 1.0.1, but the build number in the latest beta build is still 1.0. It also needs to be changed in the other test and copy projects here and there for the user agent version to show up correctly.

no support for iOS 4.2

Since release, the application was verified to run on iOS 4.2. The next release will support this version.

Augury fails with defective verb phrases

And possibly with other kinds, but in this case, the defective verb "had best" is present tense in usage but morphologically past tense. Due to insufficient error handling, Augury is rendering it as (null). Now it will come back as "had best" for the third-person singular in an augury like "a janitor had best to arrive."

incorrect response ordering when searching by inflection

Search for frozen. Two exact matches will appear at the top: frozen (adj.) and freeze (v.), because frozen is an inflection of that verb. They are listed in that order, however. When ordering exact matches, only the part of speech is considered out of the erroneous conviction that all matching words would have the same name. Clearly the order needs to be something like words.name ASC, words.part_of_speech ASC. This also occurs in the webapp because it uses the same SQL.

Incorrect aspect ratio on iPhone 5

The application does not stretch to fill the screen that is taller in portrait orientation and wider in landscape. Instead there are black bars at the ends.

word inflections label sometimes not visible

The inflections label would only be visible if a word had both a frequency count and inflections. This applies to both iPhone and iPad, but not to the word popovers in the iPad.

more incorrect help text

The footer text for Instance Hyponyms reads, "instance of this class." It should be plural: instances.

Word of the day indicator appearing inappropriately

If a push is received while the app is on the home screen, the WOTD simply updates in place on the screen. At this point, the user has seen it. The WOTD indicator is not intended to be lit up after leaving this view.

Instead, at the moment, the WOTD indicator does not show on the home screen, but will appear in the navigation bar after leaving the home screen until the WOTD is eventually viewed by tapping the indicator or returning to the home screen.

occasional positioning glitch on rotation

So far this has only been observed in the iPhone app. Occasionally on rotation, the entire view is positioned somewhat too high, so that the search bar is partially or entirely hidden by the navigation bar. It is usually only partially obscured. The iPhone navigation toolbar is hidden in landscape and shown in portrait because of the limited screen size. The transition, on rotation, is animated. The animation could be producing a race condition.

Duplicate autocompleter entries when exact match is capitalized

Exact matches are always sorted to the top of the autocompleter. The rest of the autocompleter is populated by a second query. Duplicates are excluded from that second query, but the exclusion fails when a match is capitalized. So search for a lowercase word like "fellow," and the lowercase exact match will appear once at the top. Search for "lasso," and the match is capitalized. It appears twice at the top of the autocompleter.

Bad sense preview in iPhone Search view

Search for state. The preview in the result is for a noun sense synonymous with province. You see a sample sentence: his state is in the deep south.

Now hide the preview and tap the right side of the page control at the bottom of the search results. You get back page 2 of the results, beginning with Free State. The word preview shows a sense synonymous with Orange Free State, but you still also see: his state is in the deep south. The Sense preview is stale.

Views not refreshed after application wakes from background

If a view first experiences a network error, and displays that information, it should re-request and refresh the data the next time it is refreshed. In particular, whenever viewDidLoad is called, it will re-request the data if the previous attempt returned an error. But this method is not called when the app wakes up from the background. So, for example, put a device in airplane mode and then launch the app fresh or go home. You should get an alert dialog saying the network is out, and the word of the day button will show the same information. Put the app to sleep. Exit airplane mode, so that you have connectivity again. Wake the app by tapping the app icon. You can continually tap the home button and the app icon, and it will never refresh. Now, from the Dubsar home view, tap the About button. Then tap Done. The application will request and refresh the word of the day.

This should happen when it wakes from the background after an error.

inaccurate descriptions

Certain views include inaccurate help text, particularly Synset views that contain Sample Sentences. These are labeled, "examples of usage for this word and synonyms." This is appropriate in Sense views. In Synset views, it should say, "examples of usage for the words in this synset," or perhaps just, "examples of usage." The qualification was added to avoid confusion in Sense views, when the Sample Sentences are taken from the associated Synset and include samples for the current word's synonyms.

Tapping a wildcard search result can crash the app

Search for term%. One by one, tap each result, then go back. The app will eventually crash when you tap one of the results. So far this has only been observed on an iPhone and an iPod and has not been reproduced on an iPad.

app crashes when navigating away from a view that's waiting for data

In landscape, choose a sense with a huge number of pointers. For example, search for "law." Choose law (n.). Then select the first sense, "the collection fo rules imposed by authority." This takes a long time to load. Quickly tap the Home button on the master panel. The application will crash when the response is finally returned.

There may be a sort of race or other unpredictable condition. In some cases, the app does not crash, but the network activity indicator will stay on indefinitely.

Word of the Day can be unresponsive on iPad

The Word of the Day popovers on the iPad are implemented in two steps. First, the /wotd.json request is made to get the basic word information. Then a request is made for that word. The popover is only created when the word request is made. Sometimes the Word of the Day button appears somewhat unresponsive, since in extreme cases no popover may appear for a couple of seconds after the button is tapped.

The popover could be presented in a "loading..." state right away, when the initial request is made. However, it might be better to make the iPad implementation better resemble the iPhone implementation: Make the /wotd.json request whenever the WOTD buttons are drawn, updating their text with only the name and part of speech. Then make the full word request and present the popover immediately, like normal, when the button is tapped.

Going back to a large search on the iPhone can be unresponsive

In the JSON implementation, it was necessary to recover from network outages and refresh loads that had previously returned errors whenever a view was displayed, in case a transient error condition had cleared. If a view did not previously return an error, there was no need to refresh it. This is how the iPad app works. But the same logic never worked on the iPhone. Eventually the app just began loading every view from the network every time it was displayed, regardless of whether there was an error. This is certainly no longer necessary with a local DB.

This design was responsible for a recent crash. At the moment, if you go back to a large search, the view is not put into a loading state. It appears to be loaded. But the model object is reset when the view refreshes, and it begins loading again. While it is loading, the app will not respond to taps. So for a few seconds, you may see data, but the screen will not respond to taps. Then it will start responding, once the search is complete again.

invalid signer issue with iTouch

When I sync'd the Dubsar app with my iTouch I got the message;

"The app "Dubsar" was not installed on the iPod "shane's iPod" because the signer is not valid.

Redundant part of speech in some Sense view titles

As a result of some recent server changes, the iOS apps sometimes display the part of speech twice at the top of a Sense view. This happens in the case of lexical pointers, that is, pointers from one sense to another. For example, search for throat. In the Word view, tap the first sense, with frequency count 34: the passage to the stomach.... In the Sense view, tap the Derivationally related form throaty (adj.). This view's title is incorrectly throaty (adj.) (adj.).

drag handle in Sense and Synset views does not show up until finger moves

The drag handle (the gold background image that shows up behind the banner label in Sense and Synset views when the label is dragged) is displayed in response to pan gestures, so it does not appear until the user moves her finger while pressing down o the banner label. It ought to appear whenever pressure is applied, to give better feedback to the user.

stale pages after recovering from an outage

Put a device into airplane mode. Dubsar notifies you of the outage every time you attempt to access anything that requires the network. But if you restore the connection, going back and forward again (or vice versa) ought to amount to a refresh.

Remote FAQ not ideal

Having a web-based FAQ has certain virtues, but for one thing, where the main web-based FAQS (http://dubsar-dictionary.com/faq, http://m.dubsar-dictionary.com/m_faq) link to word entries in their respective webapps, it's not easy to link from the web-based FAQ in an iOS app to local word views. Further, though the counts ought to be the same, the web-based FAQS count rows in the server's database. It would be nice to have the iOS FAQ count rows in the local database now. And of course, the FAQ is unavailable if the network is out. Text formatting with UIKit is a bit tedious, and the iOS FAQ will lose the benefits of centralized distribution. But it's probably a good idea eventually to make the FAQ consistent with the rest of the app.

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.