PORTFOLIO

Dot Trombone LLC / Rand Barnett

Software Development

  • Mobile and Desktop Apps with Adobe AIR
  • Windows Apps with Visual Studio and C#
  • Web Apps and Server Programming with PHP/MySQL
  • HTML/CSS/Javascript/jQuery
  • RESTful Webservices XML/JSON
  • Arduino Programming




Teachers Development Group is a company that analyzes teaching patters. They had been using a paper form to take notes during classroom sessions. So we made an app with Adobe AIR for iPad primarily, but also for Windows, Mac and Android. The main idea was to take these notes on an iPad during a class and then be able to upload the data to their server. We created a main screen with buttons for all the teacher and student interactions. We also made a pen input pad, camera and audio recorder. When the session is completed, it is saved and then there is a summary page with all the session data and previously saved sessions. Those sessions can then be sent to the server or edited.



The 360 Labs Action Cam Importer Windows utility program copies movie files from multiple SD cards to a destination folder with logical renaming of the files. It also combines MP4 files in an "interop" operation using FFMPEG. What that means is that it runs FFMPEG in the background to stitch the MP4's together and then continues copying the rest of the files. This program is based on my DT Versioning Backup program.



2015 has been the year of Malarkey. Malarkey had a tool for their salespersons that was written in PHP. In coordination with Soekan Design, we redesigned the site so that it looked better, is more secure, is more accurate and is faster. I did all the PHP/MySQL work on this project. I always love it when these strictly business applications come up.



2014 was the year of Fitwall. I'm the developer of their iPad app. I worked closely with Peter Giese of Soekan Design to bring their enterprise app to life. Fitwall is a studio based areobic workout. We are using iPad's attached to each "wall" and connecting with Bluetooth to monitor heart rate activity during the workout. I'm collecting and graphing this data within the app as well as synching videos to the timeline of the workout. I also created a sister app that runs on a Mac Mini and displaying on an HDTV in their studio which monitors statistics on the whole class and also a music app that runs on the iPod Touch that runs in sync with the workout. All three of these apps are synced automatically within just a few milliseconds.



In 2012 I made the prototype for the Learning.com app. They have an extensive Flash based eductional content library. I made an app that was able to convert those AS2 (Actionscript 2) interactive animation files into loadable swf files into an Adobe AIR app. The code was recoded by hand to AS3 (Actionscript 3). I proved the concept and my code was for the most part used in the actual app. I however did not stay on to do the production work of converting hundreds of lessons. The app runs on iOS and Android and is available in the app stores although you need a Learning.com account to access the content.

Electronic Car - Ron Doctors


The electric car has been quite a project. The task was to program an Arduino to take input from digital joysticks and other sources and then send signals to control the car functions like lights and shifting. I was also tasked with making a display on a Nexus 7 tablet. I used Adobe AIR to make the app. I had some success using the AS3Breeze native extension to get a Bluetooth connection with the Arduino. It was quite difficult getting that communication to be correct.

One of the main goals was to display a grid of the voltage of all the battery cells. The original battery management system (BMS) was a series of Maxim boards. A hardware failure combined with Maxim discontinuing their board prompted a switch to using a BMS by Orion. Matt Bergman lent a hand with some of the low level programming. In the end, we got the Orion to work with the Android app over Bluetooth.

** Update 8/26/2014
The car is licensed and is working well. The Bluetooth communication is working 100% now. I modified the AS3Breeze script to include a static reference to the "input stream" and then call it from my project instead of dispatching it as data comes in. Much like Arduino's Serial.available() function. I'm in the process of making this Arduino Bluetooth code work on all platforms.

Games




This is the new version of my 2007 game Shape Shooter. I spent several months converting this to an Objective C app for the iPhone. It never really got to be 100% done, although it was very close. I got really frustrated with it and decided to try making a Flash AIR app out of it. I was almost done with it in one day! And it works on the iDevice, Android, PC, Mac and the web. You can buy it on my site here: flickbricker.



I was looking for more contract work in the spring of 2010 when I interviewed at DHX Advertising. They had this interesting Flash project for their client Donate Life America. It was called ScalpelPal. I took them up on their offer of a full time position. It took 4 or 5 months to make ScalpelPal. After that was done, I stayed on to write some custom CMS/database applications and some mapping applications like the one for Pacific Pride.





In March of 2007 I started working full time for Fablevision as a Flash developer. With them I made educational games for kindergarden through 5th grade. Their clients included Learning.com, Scott Foresman, Outside the Classroom and recently KCET and The Jim Henson Company. Sid the Science Kid is posted on pbskids.org. That site went through three versions. The first was all xhtml, css, javascript that I was solely responsible for coding. Then the preview site came out in July. The full launch of the site was on Labor Day 2008. Most of the Flash work was coded by myself and Isaac Ruiz. I did almost all of the html work and it eventually involved a little bit of ajax too. We were accustomed to getting rich art from Fablevision's Boston headquarters.



Learning.com has done a lot for me. My first fulltime job as a programmer was making games like The Antarctica Factor for Fablevison and Learning.com. We had an office in Portland in 2007 that coded the entire Aha! Math series of educational games. I continue to do a small amount of contract work for them.



Micropede was conceived in December of 2003. I then spent the next 9 months developing a collision detection engine for the game to run on. I suffered a computer crash in October of 2004 and took a break from programming for a couple months. When I got back into it, I studied PHP and put Micropede on the shelf for a while. Well, it stayed on the shelf for over 3 years. Now that its done, it's funny how close it was to coming together in 2004. That's the way it goes sometimes. I am very excited to see this game working. Micropede is now going through a rebirth. I'm packaging it up for the iPad with some new art. It uses two virtual joysticks. I'm very proud of my collision detection class and the potential it has for making all kinds of arcade games. Here is a tilting maze game that I made with collision detection in about 20 minutes.



Games


Flash based games have been fueling my programming since 2003. I spent most of 2004 working on a collision detection engine that I could use to make arcade style games. Before I was completely done with my collision detection engine, I realized the importance of php and databases. I made picsToPuzzles.com in the spring of 2005. In the end of 2005, I made a clone of the game Snood. I also included a level designer for those who wish to make their own levels. Right after that I made a Flash and php Scrabble game. The Scrabble game was most impressive using custom Flash 5 scroll panes and list boxes. The Scrabble game also has a chat feature.


In 2006 I wrote my first artifical intelligence script. I programmed a Backgammon game with a computer opponent. The computer opponent plays a medium difficulty game. I think I would have to program it different to make the computer a better opponent, but it works pretty good for my first attempt. In 2007 while I was working for Fablevision, I got the idea of combining Snood with Tetris. I programmed the game over a weekend in about 12 hours. I call it Shape Shooter. It's a great combination, however it is too hard to play without the cheat line. I have not found a good solution to that problem. I should also mention my first game Bumper Bubbles. It is an astreriods type game with two ships. The ships bounce off each other and off bumpers, kind of like pinball. It was made in the summer of 2004.
Game programming is starting to take off. Micropede has new art and is being made into an app. Castle Breakout is about a week of development time away. It should be out by summer.

Websites

I do a fair amount of website programming too. Most are smaller projects, especially those that involve a custom CMS. Here are a few of the bigger ones:




Made with DHX Advertising for Pacific Pride
I made the mapping function and the database/CMS that it ties to.








This site had a lot of legacy PHP code from the late 90's.
I cleaned all that up and then made it capapable of working in multiple cities and coded the new design.

More Stuff


Applications - Actionscript 3


I learned a big lesson when I made my Scrabble game; custom scroll panes and list boxes come in handy! When Actionscript 3 came out, I got up to speed by making a new window. The example below is fully interactive. I've done some work on this in Feburary 2009. I added drop down menus with sub menus and added the ability to open applications up in the new windows. Yes, this is a little overkill, but it is a good example of object oriented programming. The top drop down menu is acting as a task manager. Each application has its own window manager class. There is a global cursor manager class. All the windows are using keyframes for skins. Because of the Flash 9 gotoAndStop bug, I've turned this into a Flash 10 application. That is nice that Adobe solved that one. There is still a lot of work to do to make this package better. I've spent 3 to 4 weeks on it so far.




Collision Detection


And here is my collision detection rewritten in AS3. The core of it took about 9 months to program in 2004. I turned it into an Actionscript 3 class in the summer of 2008. Then I finally made Micropede, the game it was written for, in January of 2009. You can really make any kind of Mario game with this engine. Below is the example version of it. A few years ago I extended it to include a linear algebra collision detection. See my collision detection page.

All objects are draggable.