Showing posts sorted by relevance for query smartfm. Sort by date Show all posts
Showing posts sorted by relevance for query smartfm. Sort by date Show all posts

Monday, August 30, 2010

SmartFM Android Study Dictionary v1.1 released

So I even managed to find time for a few performance fixes and have released version 1.1 of the SmartFM Android Study Dictionary to the Android Market.

The main difference is pretty much on the back end with the app using a separate Java client to consume JSON (instead of XML) from the new "unofficial" SmartFM API. This necessitated a performance fix on the main item list view since checking whether there was a sound for an item required a separate HTTP request. This creates the main noticeable different, that you'll briefly see progress indicators for the sound icons when you first get a set of results back.

I was pleased that using ProgressBar, AsyncTask and a cache of my own design was effective in making the list scroll smoothly and I went on to use the same approach for image loading in the sentence list that is part of each individual item view. That's something that was always a performance issue in earlier versions, but only came up for items with more than 3 or 4 sentences.

I'm disappointed not to have been able to add more functionality or fix other minor gripes, but the old version one XML SmartFM API is being discontinued today or tomorrow, so I thought it better to kick out a version that works with the new API, and leave everything else for subsequent releases. "Release Early, Release Often".

Anyhow, I am moving house and starting a new job, so will probably be restricted to bugfixes for the next couple of months, but hope to release some new features and fixes by Christmas. I think my main goals are making the voice search go straight to results without requiring a second click, and pre-loading lots of content so users don't have to wait to download sounds. I think the multiple HTTP requests associated with each individual items could be put into AsyncTasks, to make the item display more responsive ...

The two most frequently requested features are support for some study, and OpenID. I do hope to include a study feature soon. As for OpenID, we'll see ... :-)

To follow my progress subscribe to this blog or the associated Google Group:

http://groups.google.com/group/smartfm-android

Wednesday, August 4, 2010

Forking Codebases

So Cerego is going to discontinue official support of their version 1 SmartFM API as of August 31st, which is a shame, as I use that API in my SmartFM Mobile Study Dictionary app (available in the Android marketplace).

I'm going to be switching over to the unofficial version 2 SmartFM which is JSON rather than XML based, so I'm trying to rework the app before the August 31st deadline. I managed to get some preliminary JSON communications going, and since the android test harness is too damn slow I created a separate standalone non-android Java SmartFM JSON client library. So now I'm just about ready to blast through all the old XML communications and change to JSON, but first I wanted to check that this separate library was actually going to work as an android plugin, particularly since I had pulled in a different JSON library to get the standalone test framework to work.

So I created a brand new Android Shell to check that the linkage worked, and it was good, but I started wondering if I shouldn't be forking my existing codebase since I want to be able to apply small fixes to that, and perhaps pull them directly into the new codebase. Also, I need to work quickly to get this all done by the August 31st deadline, so I likely don't have time for the complete rewrite I would like ("release early, release often"), however maintaining a long term fork seems rather involved. I found a walk through of how to do that:

http://programblings.com/2008/07/21/setting-up-a-long-term-fork-with-git/

On balance it seems more trouble that its worth, so I'm going to work with a new repository and move things over piecemeal. Still I'll try and move code over without trying to fix too much, as experience tells me that trying to fix too many issues at once is asking for trouble. The main issues I want to address are removing global variables and unsightly spaghetti code, making the voice recognition auto search, and streamline the content creation process. Better get that JSON stuff working first though :-)

Thursday, September 17, 2009

SmartFM Mobile Study Dictionary live in Android Marketplace!

So shortly after my last blog post, I managed to get my SmartFm mobile study dictionary app live in the Android Marketplace. I think I finally managed to set it up so it won't conflict with the ADC version of the same app.

In less than 24 hours the app jumped into the the 100-500 downloads range, and we got some great feedback and ratings. Steve O's comment that it was "Very easy to use and definitions are very accurate. Excellent!" was music to my ears. I can't accept that praise without thanking Robert Brewer, George Lee, Viil Lid, Karhai Chu and Kim Binsted at the University of Hawaii for input on the developing interface, and huge thanks to the SmartFM team for their input on all aspects of application and various adjustments to the API to make everything connect up properly.

When I woke up this morning there was another comment from SuaveAfro, about wanting the app to allow the user to download other people's lists. I've commented back that other user's lists can be downloaded through the "Search Lists" function in the menu tab, although it is not an easy function to find, since you have to click "More" in the menu to get there. That is partly intentional, as the focus of the app is on items rather than lists, but I have to concede I haven't put up a help manual or anything that explains all that. I was so focused on the ADC submission that there is not much in the way of online support materials, and only a cursory help system on the app itself. I'll do my best to make better documentation available, but in the meantime I'll put as much as I can on this blog to help users of the application.

Thursday, August 26, 2010

Another SmartFM Android Study Dictionary Beta, all media upload now supported

So I've managed to get all the media upload functionality working against the new API, I think ... If anyone is interested in helping me test the new beta it is available here:

http://www.neurogrid.net/public_html/smart_fm.apk


There are still some performance issues, but I think I have an angle of attack on those (AsyncTasks and some caching structure), so if I'm lucky I can put those in place before the August 31st deadline. Final beta before then I hope ...

One interesting note is that SmartFM now has some pretty impressive automated text-to-speech for Japanese Sentences. Words and sentences now have audio added automatically and at least to my untrained ears it sounds pretty good. Makes all the effort to support sound upload on the Android a little redundant ...

Tuesday, September 15, 2009

Video describing SmartFM Android Application

So the other week I submitted an android application to the second Android Developers Challenge (ADC). There's over a million dollars in prize money up for grabs from Google in the second such competition. Last time android was only available on emulators, but now the devices are out, so competition will be fierce.

I've put together a short video about my app, the SmartFM Mobile Study Dictionary, which shows you how I integrated the Google Speech Recognition component and got multimedia content creation working. I'm real excited about this application because now any user can create study content (focused on languages at the moment) on the go, uploading sounds and images. So say you learn a new word in the language you are studying you can check what it means using the dictionary, and if it doesn't exist, add the entry there and then. If it is there, you get helpful info on the word and its usage, and you can add new example sentences and usages you've discovered, with images and audio to illustrate.

The results from the ADC won't be in till late November, and owners of android devices should be able to vote on the best apps later this month (please vote for me :-), but I'll release this to the market before then, once I've worked out a few bugs.

Please check out the video and let me know what you think:

SmartFmMobileStudyDictionary.mov

Friday, August 20, 2010

Early Beta of Smart.fm Study Dictionary v2 available for testing

So I've created a stand-along Java client library for the new version 2 of the smart.fm API. I've now used that successfully to create an early beta of the Smart.fm Study Dictionary v2, which is available here:

http://www.neurogrid.net/public_html/smart_fm_2.apk

If you want to help by beta-testing this application you can download directly to your phone by browsing to the above link (ensuring you have set your android phone to allow non-market installs).

I've re-implemented everything that was in the original except the creation & media upload functions - those are planned for next week :-)

Some issues I am aware of are the slowness when downloading or scrolling item lists, and that some items may have sentences from multiple languages inserted. These are due in part to changes in the API and I am working on fixes. I would be most grateful to hear of any other issues or suggestions for changes. My current work TODO list is available at the following link for your perusal:

http://groups.google.com/group/smartfm-android/web/smartfm-v2-todo-list

Tuesday, October 6, 2009

SmartFM Mobile Study Dictionary Upgrade

So I released an upgrade (1.0.1) of the SmartFM android client, adjusting the media type for audio uploads (although the AMR uploads are still only audible on the phone and not the main site) and disabling the voice input when the google speech recognition package is not available. This latter was in response to a marketplace comment from Zom-B about force closing on voice button.

Of course this makes me want to say a few things about the marketplace comments, which are potentially a great resource, but are kind of odd in that they can be signed under any name, and there is no way to reliably communicate back with the people who made the comments. For example, originally SuaveAfro made the comment that the app should support downloading other people's lists. I replied to SuaveAfro in my own comment explaining that that functionality was included. Subsequently SuaveAfro became Havoc, and so I updated my own comment accordingly, but that moved my comment away from the one it was referring to. I guess the solution is that I should update my comment to reflect whatever is my response to the most recent comment, but it seems less than optimal. Would be nice if the commenting framework could link directly to a discussion forum on that app, but I guess that's overkill. Comments are a simple solution - would be nice if they were at least linked to a user's email so I could have a fighting chance of getting responses back to users who are unlikely to look at the comments again after their first download ...

Wednesday, August 11, 2010

Android Speech Recognition

The Android speech recognition module is great (I use it in my SmartFM Study Dictionary), but it doesn't have much flexibility. I'd really love to be able to use the audio recording component in it for my own audio recording needs, and also be able to submit my own audio rather than being forced to use the existing audio recording component. I think ideally the speech recognition and recording components would be split up. There are a few enhancement requests already filed with Google that I added stars to in order to increase the chances of this happening. If you have a moment please star them as well.

http://code.google.com/p/android/issues/detail?id=4541

http://code.google.com/p/android/issues/detail?id=6930

http://code.google.com/p/android/issues/detail?id=10022