New MSAgent engine for Android

Can you imagine Merlin, Genie, and all of the other MSAgent characters flying around on an Android device? Well, now you can, because I have begun work on an MSAgent engine for Android.

I have been able to get Merlin to appear in a test app running in an Android emulator.  And on modern Android screen resolutions, he doesn’t take up a whole lot of screen space, which is a plus, so he might actually look good on phones and tablets alike.

I have some basic pieces working:

  • load ACS file from device/SDCard
  • an asynchronous request queue (TODO: canceling requests, syncing requests between multiple characters)
  • playing animations (TODO: stopping/interrupting animations)
  • show/hide, w/ state animations
  • moving the Character around the screen, either with touch input (dragging) or in code, w/ state animations
  • gesturing, w/ state animations

Although it is possible to display a Character on top of the app’s UI, and even on top of Android screens when the app is in the background, I did come across some odd quirks in managing the Character’s top-level window.  This might limit MSAgent to just in-app usages.  At least the character would stay on top of the app UI (good for tutorials and such).  Will keep experimenting with it.

I did start work on TextToSpeech output, but discovered some shortcomings with Android’s TTS framework, the most important of which is that there are no notifications of when individual words/phonemes are spoken.  That means words in the speech balloon cannot be highlighted while the character is talking (unless the text is broken up into individual words and feed into the TTS engine one at a time, which is likely to cause lag).  That also means that proper mouth overlays cannot be displayed.  This is a big issue for user experience.  Not sure if these will be solvable without resorting to third-party solutions.

I am trying to make it as functional as possible.  I’m not really expecting this to be a full implementation like on Windows, just due to some shortcomings of Android and differences between how Android and Windows work in general.  But it is an interesting challenge to see how far I can take it, it gets me back into playing with MSAgent, and it helps further my learning of Android app development.

I will try to put together a little video soon to show what I have so far.

When I have an Android library that is viable outside of my development environment, I will probably put it up on SourceForge or GitHub or something.

New Blog (again)

A few months ago, GoDaddy discontinued its QuickBlogcast service, which was hosting my blog at the time.  They did not notify me about the discontinuation, so I did not save my existing blog posts.  Now I have to start over from scratch again.

Fortunately, had copies of my old posts, which I have added to this new blog for historic purposes. Of course, all comment history has been lost, though.

Status update

My laptop died on me last week. Fortunately, no data loss this time,
the hard drive is intact, but the system just will not boot up at all.
I think the motherboard has seen its final days. So until I can buy a
new laptop (hopefully in a few weeks), I won’t be working on any
projects. I am using an old laptop for the moment, so I can get online
and check email, at least.

My LSFinance app for Blackberry is still in progress, albeit slowly.
Probably after the new year, it will be ready for initial beta testing.

Status Update

A quick recap – 6 months ago, my laptop’s hard drive physically died unexpected, and my backup server got a bad firmware shortly afterwards that bricked the hardware permanantly and corrupted the hard drive partitions.  I lost access to all of my data files, including source code and version control repository for all of my Lebeau Software projects.

To give you a status update, I have not been able to recover a SINGLE FILE yet!  My laptop is functional again and I am able to work on new developments moving forward, but its previous hard drive is physically dead and unresponsive (and I don’t have the money to pay for that kind of professional recovery), and none of the downloadable recovery programs I have tried so far (and I have tried several) have been able to recover anything useful from the backup server’s corrupted hard drives.  I ended up resorting to making my own recover program from scratch, but my efforts are slow going due to time restraints, but I am still working on it nonetheless.

Fortunately, I am very hopeful that I should be able to eventually recover most of my data from the backup server’s hard drives, as they are fully operational in general, and the level of corruption on them appears to be minimal, just effective enough to render then unusable in a normal fashion, but most of the data is intact.  The backup server used a Linux OS and a Linux file system (XFS to be exact), so I am writing a program that can read the Linux XFS file system and make it accessible to Windows, then I should be able to copy most of my files like any other.  And before anyone asks, yes I have tried to perform an XFS recovery from an actual Linux OS, without much success yet.

I will post again when I have some more news to share.

Loss of data!

I’m writing with some bad news.  Due to a recent hard drive failure followed by a corrupted backup server, most of my data files are now inaccessible to me, possibly even lost forever.  This includes all of my Lebeau Software projects, except for one – my LSFinance for Blackberry app, which I started working on after the hard drive failed but before the backup was corrupted.  Which means that unless I can recover at least a good portion of my source files, or start over from scratch, what is currently available on my website will likely be all that will be available for the forseeable future.

I am still working on data recovery, but it is slow due to budget and time constraints.  I did get a few quotes from professional recovery services, like DriveSavers and OnTrack, but they want approx $800-$1000 for the job, which is a bit out of my price range right now.

I will let you know how things go

New Product, and upcoming TMSAgent VCL Beta

I am pleased to announce that I am beginning development of a new software application – LSFinance for Blackberry. This is a personal finance program targeted exclusively for the Blackberry smartphone platform. The first release of LSFinance will support importing/exporting financial data from AceMoney, a popular personal finance program developed by MechCAD Software LLC. Later releases will support popular open formats, such as QIF and OFX.

For those of you using my TMSAgent VCL component, I am working on a new v2.2 beta. In this release, I am making changes to how TMSAgent handles errors internally. The OnError event still exists, but now TMSAgent will throw exceptions into your code after firing that event, rather than returning error codes, NULL pointers, etc. This should help reduce unwanted side-effects in your code (access violations, etc). Also, I will add install files for C++Builder 2009 and 2010.

I will post again when these products are ready.