Common feature set?

Started by omängum fra'uti, May 24, 2010, 05:33:52 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

omängum fra'uti

So far, for the Android application, all I have had to go on was a set of screenshots from the iPhone application, and inferred functionality based on that.  I honestly have no idea how the user experience compares to the iPhone app.

So to actually document it, here is what I currently have, and what I plan to do.

MAIN SCREEN
- Displays version, build number (Revision number) and DB number *REMOVE FOR RELEASE
- On initial start, checks for updated database & prompts for download
- Button to go to DICTIONARY
- Button to go to RESOURCES
- Back button exits app
* TODO: App settings (Auto check dictionary version, prompt for update, force update now, Dictionary provider URL?)

RESOURCES
- Button to go to ABOUT
- Button to go to DISCLAIMER
- Button to open web browser on www.learnnavi.org
- Button to RETURN to MAIN SCREEN
- Back button also RETURN to MAIN SCREEN

ABOUT
- Display about message
- Display app and DB version (To stay after release)
- Button to RETURN to RESOURCES
- Back button also RETURN to RESOURCES

DISCLAIMER
- Legal mumbo jumbo
- Button to RETURN to RESOURCES
- Back button also RETURN to RESOURCES

DICTIONARY
- Button to toggle English -> Na'vi and Na'vi -> English
- No back button *Phone supplied back button standard on Android
- List of word and definition (I think this might want part of speech abbreviation too)
- Clicking on word opens DICTIONARY ENTRY
- Back button RETURN to MAIN SCREEN
- Search function (Triggered by menu option, phone search button, or typing on phone keyboard where applicable - no persistently visible search entry, per standard Android interface design)
* TODO: Buttons to filter by part of speech
* TODO: Jump to letter (Assume that's what the letters down the right side in iPhone are?)

DICTIONARY ENTRY
- On Android, a pop up in front of the word list rather than a full screen that is used on iPhone
- Word
- IPA (When available)
- Part of speech
- Definition
- Button to dismiss entry screen and return to word list
- Back button also dismiss entry screen and return to word list
* TODO: Picture, when available
* TODO: Play button, when spoken form available


Other stuff
Internationalization...
- Requires dictionary for different languages
- Need translation for all strings (Right now Android app set up for localization, just lacking translations)
- For graphical screens, alternate version where desired - Perhaps change the text to an overlay graphic and just localize that?  (Again easy to do in Android app, just need the translation into different languages as graphics.)
Ftxey lu nga tokx ftxey lu nga tirea? Lu oe tìkeftxo.
Listen to my Na'vi Lessons podcast!

Seze

Thats actually pretty close to how the iPhone App works.  In the dictionary, the letters on the side is the index.  It does the jump to section that you mentioned.  Also, there are separators in the dictionary for each section.  Its nothing more than a really short height cell with the Letter in it.  This is pretty standard stuff on the iPhone, wouldn't be surprised if its available on Android as well.  The only other big difference I see is that you do the popup thing for the dictionary entry instead of a separate page.  Any specific reason for this?  Not sure how well images would fit in a popup.


Learn Na'vi Mobile App - Now Available

omängum fra'uti

It just seemed to work better at the time, but that can certainly be easily changed.  If the images are small enough it could work, I'm thinking to the side on landscape screens and below on portrait screens...  It's just one line saying what sort of screen to open up so when images go in if it doesn't work, it can be changed.

The spacer thing between sections is not something I have seen on any Android application, but I'm sure I could figure out some way to do it.  Is it collapsing, where you touch it and everything in that category collapses under the label?  Also, does the index work like the iPhone keyboard where it zooms the letter under your finger, then goes to it when you release?
Ftxey lu nga tokx ftxey lu nga tirea? Lu oe tìkeftxo.
Listen to my Na'vi Lessons podcast!

Seze

There is no collapsing.  They are just section headers.  The index on the side is really basic, when you press on it, the whole column highlights, and as you drag your finger on it, it moves the table to the start of the section that your finger is on.  Same thing if you just tap it, it will go to the top of the section you tapped.


Learn Na'vi Mobile App - Now Available

Seze



Learn Na'vi Mobile App - Now Available

omängum fra'uti

I had a feeling it would involve creating a custom adapter class.  Thanks for the link though!  Having a custom class will probably make the scroll-to-section implementation easier anyway.
Ftxey lu nga tokx ftxey lu nga tirea? Lu oe tìkeftxo.
Listen to my Na'vi Lessons podcast!

Muzer

Yeah - Na'vi in a Nutshell support will be good. How are you doing it - PDF rendering, or extracting the data out of the PDF, or getting it from a server?
[21:42:56] <@Muzer> Apple products used to be good, if expensive
[21:42:59] <@Muzer> now they are just expensive

Seze

Quote from: Muzer on May 25, 2010, 02:31:51 PM
Yeah - Na'vi in a Nutshell support will be good. How are you doing it - PDF rendering, or extracting the data out of the PDF, or getting it from a server?

Thats a good question.  I had a .DOC of the guide at one point, but its really outdated now.  I will probably try to get an updated .DOC and then extract the info out of it.  Other than that, I'm open to suggestions...


Learn Na'vi Mobile App - Now Available

Muzer

I reckon you should have a server that grabs the latest PDF whenever a new one comes out and parses it to a more readable format, and keeps that. The app requests the more readable one that the server parsed. Whenever a new version comes out (not too frequently), the server automatically downloads it, parses it and replaces the old version.



If you need server space for the program I'll be happy to oblige - but it'll have to be a command-line app that doesn't have any Windows-isms (as the server has no GUI and runs on Linux).



Having said that, I have absolutely no idea whatsoever how easy it is to parse PDFs. If it's ridiculously complicated, a more manual approach would probably be more feasible.
[21:42:56] <@Muzer> Apple products used to be good, if expensive
[21:42:59] <@Muzer> now they are just expensive

omängum fra'uti

Moved the discussion of NiN here since it's something that will, presumably, be cross platform.

However, easy solution, talk to NeotrekkerZ about getting a mobile device friendly (Probably HTML) version.  It would be good to get permission  to include it anyway, and probably that should be checked for updates along with the dictionary.

Space isn't a problem.  I'm assuming the server Seze has hosting the dictionary is more than capable of handling Na'vi in a Nutshell as well.  And if not, I could probably convince Payoang to provide space on the learnnavi.org server and/or domain.
Ftxey lu nga tokx ftxey lu nga tirea? Lu oe tìkeftxo.
Listen to my Na'vi Lessons podcast!

Seze

My server should be fine for now.  Payoang also said I could use the main LearnNavi.org server if I wanted, which is something I was thinking of doing at some point.  I also spoke with NeotrekkerZ a month or two ago about using the NiN guide and he was fine with it.  He made it using Microsoft Word.  I have a feeling that we would have to do the conversion from .doc to HTML or whatever form we need it in.


Learn Na'vi Mobile App - Now Available

Seze

I got a chance to play with the Android version today, pics to follow once I get them off my phone :).  Biggest thing I noticed was the view transitions.  When switching from the main screen to the resources screen, it should be a simple slide from one to the other.  I don't know if you noticed this or not, but the images of the main screen and the resources border each other so that it can look like the camera just slides over in the scene.  Next, when transitioning from the resources screen to either About or Disclaimer pages, the view should flip along the central vertical axis.  The background should show this as well since its the same from one to the other, but flipped vertically.  Next, in the dictionary it should be Na'vi > 'ìnglìsì then English > Na'vi.  Other than that, its looking pretty cool.


Learn Na'vi Mobile App - Now Available

omängum fra'uti

The way its set up right now, there's no way to control what animation happens between the screens, or if it even happens at all.  It all depends on the phone config.

I think there is a way I can control it better by doing things a little differently, but I'll need to look into it.  After all, I haven't even been looking at Android development for a week at this point, so I'm probably missing a few tricks.

The other is just string definitions, easily changed.
Ftxey lu nga tokx ftxey lu nga tirea? Lu oe tìkeftxo.
Listen to my Na'vi Lessons podcast!

Seze

So I went to get my hair cut today and there was about a half hour wait to get in, so I went next door to Verizon while I waited...




Learn Na'vi Mobile App - Now Available

omängum fra'uti

ROFL, epic!  I thought you meant you were trying it on an emulator, not that you invaded a store and put it on one of the demo phones!
Ftxey lu nga tokx ftxey lu nga tirea? Lu oe tìkeftxo.
Listen to my Na'vi Lessons podcast!

Muzer

#15
I've set up a little cron job on our server that downloads the PDF daily and generates an HTML version using pdftohtml. You can find it on http://tim32.org/~muzer/naviinanutshell.html

However, pdftohtml isn't very good, and it seems that in many places the text is actually repeated multiple times (look at the contents for an example). If someone can recommend a similar, but better, program I'd be glad to use it.

This version also uses frames unfortunately, which again isn't very good - though the frames can easily be skipped, as I believe each page is at http://tim32.org/~muzer/naviinanutshell-PAGENUMBER.html .
[21:42:56] <@Muzer> Apple products used to be good, if expensive
[21:42:59] <@Muzer> now they are just expensive

Muzer

Also, no credit for taronyu?


(I'll get the source for the Na'vi in a Nutshell converter up soon (i'll probably just post it in this thread); and try to find a better way to convert pdfs.)
[21:42:56] <@Muzer> Apple products used to be good, if expensive
[21:42:59] <@Muzer> now they are just expensive

Seze

Quote from: Muzer on May 26, 2010, 10:29:40 AM
Also, no credit for taronyu?


(I'll get the source for the Na'vi in a Nutshell converter up soon (i'll probably just post it in this thread); and try to find a better way to convert pdfs.)

I mention taronyu in the about page on the iPhone version


Learn Na'vi Mobile App - Now Available

Muzer

#18
Here's my very short, and as previously discussed, poor script (though it's the programs I use, not the script itself, that are poor) to convert Na'vi in a Nutshell to HTML. Run in a daily cron job (for example).

#!/bin/bash
wget -O /tmp/thread.html http://forum.learnnavi.org/learning-resources/navi-in-a-nutshell-4845/ # grabs Na'vi in a Nutshell thread in a temporary file
wget -O /tmp/guide.pdf $(grep pdf /tmp/thread.html | head -1 | sed 's/[^<]*<a href="//' | sed 's/".*//') # Finds the first mention of "PDF" (which is the link unless someone changes it...), strips off the tags et al, just leaving the link itself, and downloads it to a temporary file
rm /home/muzer/public_html/naviinanutshell* # Deletes yesterday's version. Replace that bit on your server.
pdftohtml -c /tmp/guide.pdf /home/muzer/public_html/naviinanutshell.html # Replace that bit on your server. Converts the guide to HTML with complex mode on
rm /tmp/thread.html # Delete temp files
rm /tmp/guide.pdf



Use it for whatever if you like, it's really not long enough to bother copyrighting, so I hereby release it into the public domain.
[21:42:56] <@Muzer> Apple products used to be good, if expensive
[21:42:59] <@Muzer> now they are just expensive

Sіr. Ηaxalot

Quote from: omängum fra'uti on May 24, 2010, 05:33:52 PM
- Requires dictionary for different languages

If we're using SQLite, why not just make a relational database? It will probably be extremely easy to implement at the client side.