SOAP Web Services

Web services are one of the easiest ways ways to communicate between multiple languages or multiple servers by passing HTTP requests, or XML/JSON.  With the recent surge in HTML5, more web sites than ever can use web service requests to deliver updated content without requiring the user to refresh their browser.  One of the most widely used web service protocols is SOAP.

SOAP is the protocol that Used Boats Ahoy! uses to populate it’s inventory of boats.  The web service client connects to a web service server that has direct access to a database.  Interoperability is key with web services since the code base of any given web site is unknown.  In this case the client code is written in PHP and the server in ColdFusion, but they both communicate using a common XML format. Read more »

Web Services/Feeds Introduction

One web site can become much more useful to a user if it has access to other useful sets of information to display. The challenge is to be able to control the flow of information being passed between server and client interfaces.  There are many different types of use cases for web services which have different sets of requirements. While RSS feeds are more of a precursor to the proper web service, they are a good example of a one way service where a client can display content, usually articles, from an external server’s database.

Read more »

Used Boats Ahoy!

The site Used Boats Ahoy! is probably my most popular project to date which hasn’t required much major attention in a little while.  The latest features I’ve added were first the Facebook like/share buttons, and then the Google +1 button.

With the current trends of smartphones though, this seems to be changing.  This site was not built with the mobile web in mind (although it’s not usable).  This is a trend that I can no longer ignore, since over the last two years, mobile traffic has been doubling. Read more »

Lexx Soundboard 0.3.4 Release

Updating this app to be able to set sound clips as notification tones was easier than I expected.  The way that it was originally built, it already saved the clips in a way that you could use them as notification sounds in the Android Sound Settings.  I only needed to add the logic to be able to set them as the default.

Secondly, I needed to change the way the select box works since from what I can see regular alert boxes only support three options (positive, neutral, negative).  Instead I implemented a list select box which would allow as many options as necessary.

Lexx Soundboard Request

I’m always happy to see a feature request from the android market, along with a few good reviews!  Most recently there was a request to save the sounds as a notification.  While it should be possible to do with a few work arounds, and a file management app, I don’t see why this feature shouldn’t be easy to implement now that it is possible to save the clips as ringtones.  Hopefully I’ll be able to have something to release by the end of this weekend.

Development Hardware / History

I’ve been interested in the emerging mobile platforms since I bought my first cell phone in 2004.  At that point in time, carriers had nearly full reign of what applications a device would or would not have.  Fortunately, I’ve always been the type to get the most out of my hardware which, for better or worse, usually involves warranty voiding shenanigans to work around the barriers. Read more »

Lexx Soundboard 0.3.2 Release

I’m happy to announce the release of this new version of the Lexx Soundboard containing sound clips from season 1 episode 2 “Super Nova” now available in the android market.  Now that the road is paved with all the content converted into individual video files, episode 3 “Eating Pattern” should be a much simpler task.

Onto the more technical side of thing, there  was able to fix a minor bug which with the method I was using to play the audio files which didn’t output any visible error message in the app, but it caught my eye in the development debugger.  This would only happen the first time a sound clip was played because of a missing check to make sure the media player was actually running before having it stop the previous clip.

Lexx DVDs Converted Successfully

I converted all four seasons of Lexx using the free and open source ripping tool HandBrake.  The whole process took slightly longer than I expected, but I added a step of backing up all the raw ISO files because I wasn’t sure what settings to use to optimize the quality/compression ratio.  These DVDs were unusual because instead of having dual audio tracks, they contain complete separate copies of each video.  The DVD video title numbers were not consistent throughout the entire collection, so for each disc I needed to make a note of which title went to which episode.  The most time consuming part was the actual ripping process.  My desktop has 6GB memory and an Intel i7 processor, and ripping season 4 (24 episodes) maxed our my CPU and took about 3 hours.

Lexx DVD Collection

To follow through with my promise of adding new sound clips to my Lexx SoundBoard app, as well as add to my digital collection, I began converting my Lexx DVD collection into DivV starting with Season 2.  Disc one and disc two ripped without a hitch, but I got stuck with the third.  This is extremely surprising to me because I’ve taken extreme care of them, and they haven’t been touched for at least a few years.  Fortunately it didn’t contain any of my favorite episodes.  I didn’t notice any obvious scratches that I could blame the problem on, but I will have to try and solve this problem.  This will also give me a chance to research the best techniques for DVD conversion.

Bridgekeeper Pitfalls and Progress

Coming back to a project I haven’t touched in six months was almost like looking at someone else’s code for the first time.  But after a some strategic archaeology, I was able to uncover the general idea of how everything was supposed to work, and remember my original basic plan.  While the app did run (somehow) there were a few major corrections to start off the resurrection.

  • The Player was walking in fast-forward speed  – The animation code was running in two places..
  • The Player sometimes continued to walk in place when it reached its destination time – the animation would only stop if the endpoint was an even pixel number.
  • The Player attacking animation wouldn’t repeat – the stop event was firing every frame the Player wasn’t in motion.

WordPress Themes