We are pleased to announce the availability of NewsRoom for the Palm Pre.

NewsRoom is a fresh new way of taking the web with you on the go. Instead of using your browser, let NewsRoom bring content to you in a way that makes sense for your phone. While NewsRoom uses RSS, it doesn't stop there. Gone are the vanilla lists of headlines and short teasers typical of RSS readers. In it's place NewsRoom brings content formatted just for your Pre and wraps it in a beautiful UI.
The unique interface is unlike any other RSS reader, thanks to our exclusive content, NewsRoom creates a truly pleasurable interface to let you skim through the day's news.
- track your feeds easily with our intuitive icon interface
- add new feeds from our featured list, via search or via your own URL
- quickly skim article summaries with our unique swiping interface
- exclusive deep harvesting technology lets you read full articles right on your phone for many feeds
- server back end optimizes data transmission to save battery life and improve performance
See it in action:
http://www.youtube.com/watch?v=yajmD_Xtfno
Check out the NewsRoom blog for more details:
http://feedmonger.blogspot.com
Screenshots and more:
We've been using Amazon's SingleDB for a few projects recently. It is a really neat service, basically a database of sorts hosted by AMZN and with their guarantees of scalability and availability.
Although we've been happy with the service, we found the tools available to be a bit lacking. There is a Firefox plugin which works ok, but which did not support standard SELECT statements and was cumbersome to use for updates, inserts and deletions. There are other options as well, both commercial and not, but in the end they tended to have a more intensive user interface than we were looking for.
We finally came across the SimpleDB Query Tool, which we found satisfied a lot of our needs. It provides a nice interface to query into SDB using the standard SQL select syntax SDB supports natively. Although this worked well, it only made us realize that what we really wanted was a SQL interface to all the functionality of SDB, from SELECTS, to INSERTS all the way to DELETES, DESCS and DROPs.
So I spent the last day building just that. It uses the interface of the SimpleDB Query tool as inspiration but rewrites the back end to use the official Amazon SDB libraries. I hacked away at a SQL parser to give us a reasonably good base for interpreting standard SQL syntax for UPDATES and INSERTS which are not natively supported by SDB. We just parse them, then translate them to the appropriate SDB actions.
Hopefully some others in the community will find it helpful, here's a quick screenshot:

To use it just download the sdbcli.jar and then run at the command line:
java -jar sdbcli.jar <amzn key> <amzn secret>
Of course, all usual disclaimers apply, use at your own risk. This is very much alpha software, we are not responsible if it eats your children and slaughters your kittens.
We've been hard at work on a major update to Reflexion for the iPhone and iPod touch.
There were a few suggestions we got from folks who have been playing the first version of Reflexion. Such as..
- "Don't make me start over at the beginning when I die"
- "Are there any more levels?"
- "I would like to compete in a global high scores list"
So, we went to work and architected Reflexion 2.0. By using Facebook Connect we've enabled users to interact and enrich their gaming experience.
For the first time, users can now create their own levels for the game. We've built an easy to use level editor, that lives on Facebook, which makes it super easy to author your own packs of levels. Both creating these packs and downloading them is FREE. This means there will be endless amounts of levels available for anybody to play. Packs can also be rated to allow the best packs to get noticed.
Secondly, each pack has its own global high scores list. Master your own pack, or set out to be #1 across all level packs out there and garner global recognition.
If you are trying to master a pack it can be frustrating to start at the beginning whenever you die. Now in Reflexion v2, we have checkpoints throughout the pack allowing you to pick up at the last save point with the lives and points you had at the moment it was reached. Keep maximizing each checkpoint to become the global master for that pack!
We've also packed in some other cool features we think you will enjoy including a few new power-ups (one of which is named 'Godzilla').
Anybody with a Facebook account can add the application and start using it right away for free. Simply visit http://apps.facebook.com/reflexion. Once you publish a pack, just drop us an e-mail at reflexion (at) trileet.com with your UDID and we will get you an early release of the next version. This will allow you to play your own levels and download and play levels created by other people. Have fun!
We first started work on the Reflexion project in the summer of 2008. We had been playing with the iPhone SDK for a while and were exploring different game interactions that would be unique to the iPhone's capabilities. Most of our previous projects were on the Sidekick platform, which had a dedicated d-pad. It was clear from the get-go that using on screen controls would be a mistake, the iPhone deserved better.
One day we came across the idea of drawing game elements directly onto the screen instead of trying to mimic traditional controls. This is a fine distinction but an important one. Yes, you can control game elements using touch, by dragging them, or touching to indicate where you want a paddle, but this is very different than directly 'drawing' onto the scre
en. The latter is more natural and provides far more freedom. So our first idea was to use touch to draw 'shields' of a sort. You would be a peaceful race, protecting your planet from alien invasion. Although your race was advanced, it had no offensive weapons, only powerful shields so the goal would be to draw shields to reflect the enemies' missiles back at them.
We played with this concept for a little while, it was pretty fun, but at some point we decided that we could use the same unique dynamic of drawing the shields into a rework of one of our favorite classic games, Arkanoid. After all, as a famous composer once said, the trick to writing new music that is loved is to make it both new and familiar. So we tweaked the game and introduced the standard bricks and powerups that we've all come to love in brick breakers.
With the new direction things were moving along relatively well until we got pulled into some other projects and Reflexion got mothballed. There it sat until we hired a new developer, David Whitlark, who finally had the time to give it the attention it deserved.
Once David started digging into it again, we came to have a new appreciation for how very different the gameplay was from Arkanoid. Suddenly your paddle is not restricted to being at the bottom of the screen, it can be anywhere, you can even have multiple paddles in completely different places. David discovered that you could swing the paddle around like a bat, trapping and forcing the ball through gems, inventing the 'windmill' attack. Level design itself also becomes far more interesting: you can start the ball at the top, bottom or even on a side and vary the openings where the ball can be lost.
As we neared completion we were feeling good about the game, but there was a nagging feeling that it still missed something. We were often fighting an all too delicate balance designing levels. They often felt too tricky and hard, more work than play. At this point David came up with the idea of allowing the user to trigger a slow motion mode by shaking the phone. This really brought things to the next level. Suddenly, using your slow motion power at the appropriate times made the previously frustrating levels immensely satisfying. It also added another unique way of interacting with the game, using the accelerometer in a way that wasn't gimmicky but rather natural.
Although we've made quite a few games over the years, Reflexion is probably the one we are most proud of. The gameplay is unique, yet easy to pick up and we find it both fun and challenging. Give it a try, we think you'll agree.
Touch Arcade kicked the tires on our new release for the iTunes App Store, Reflexion. In their words, "Reflexion is a fresh take on the brick breaker formula with an iPhone Twist" and it is "refreshing, challenging, and is easy to recommend." Thanks for the mench guys, we are glad you like it!
One thing I really like about the Danger development environment is that they chose not to use XML in their resource files. I'm a big fan of simple formats for files such as these, formats that are easy to edit with an editor such as emacs. XML seems to invariably complicate everything and is far harder to read and edit by hand.
Sadly the GUI editor, DRE that Danger provides is far from great, even after learning all the tricks to make it act right it still often corrupts itself or flakes out entirely. At those times you'll end up back in a text editor to fix things up.
For better or worse I became indoctrunated into emacs at a young impressionable age and have yet to be able to extract myself from it. Once you wrap your head around kill/yank and its style of navigation it is hard to feel productive editing text in anything BUT emacs. One other nice thing is that it is highly customizable, so building new modes for strange formats is rather easy. To that end, we built a major mode for Danger's RSRC format. This takes care of highlighting all the keywords nicely and just makes editing RSRC files that much easier.
All you have to do is grab our .emacs and you'll be set editing in color coded glory. Enjoy.
Fake your friends out with Prank Box! Prank Box is a FREE download for your T-Mobile Sidekick. Just visit Game & App Packs from the Download catalog to try it out. With it comes two sample sounds to try it out.
One of which is "Static" which you can use to convince the person you are talking to on the phone that your call is breaking up. Put your phone in to speakerphone and turn the volume up and then it's up to your acting skills to sell it.
Currently available are four packs you can purchase to add to your personal Prank Box. These include, bathroom, club, traffic, and wilderness sounds. We've got more sound packs on the way. In case the bathroom sounds weren't enough, we've included a pack which is a crowd favorite.. farts.
Keep an eye on trileet.com for details on upcoming packs!
One great thing about Danger as a platform is that they take QA seriously. Unlike other app stores, each application you submit goes through a pretty vigorous QA cycle on their side. Not just checking whether it blows your phone up, but also whether the app follows usual conventions, and even whether the game is reasonably fun, logic for it is right etc..
This makes Danger as a platform a bit more work for us as developers, but we don't mind because it also means that your Sidekick is more stable and that you are a lot more likely to get a bug free product, one that passes not only our internal QA but Danger's.
One thing Danger is NOT so good at though, is communicating said bugs. When you get a bug list it is in the form of a doc file, which is obviously a dump from their own internal bug system. All fine and dandy, but it gets old parsing through these lists and coordinating internally on which bugs are fixed, verified etc..
Here at Trileet, we use Trac for our bugs. It is lightweight, having just enough features to keep us happy but not so many that it drives us insane. (here's looking at you Bugzilla) As it is a nice way of tracking bugs (complete with auto-closing via svn), we wrote a little script to take a txt version of Danger's bug lists and import it into Trac.
You will almost certainly have to modify this script a bit for your install, but it should give you a really good start. This is the first time I've used Perl's Mechanize package and boy is it cool. It's all the power of HttpClient without the compilation time.. perl, the everything else language of choice just got that much better in my eyes.
Anyways, you can find the script over at CopyPaste, enjoy.
In my spare time I've been teaching myself some electronics. Although I've written code all my life, I've always had a real fascination with making little eletronic gadgets that through simple automatic actions make your life better, or at least more interesting. The state of microprocessors is now to the point where you can get whole little computers on cheap chips, and one such example of an open system built on such a microprocessor is the Arduino platform. Basically the Arduino provides an easy to program base for litttle projects, all using open source hardware and software, and on a standard board that can be had for ~$25, cheaper if you are willing to solder a bit.
My big failings in school have always been that I can't learn something without a practical purpose, so I decided to try to build a way of controlling my Squeezebox using some kind of RFID tags. My original goal was to have a tray of some sort, where you would plop tags representing artists, and a playlist would be built using that mix of artists. Sadly, the current generation of hobbiest RFID readers don't support multiple tags, so I had to change things a bit and settle for a single tag representing a play
list, but it still turned out pretty neat.
I'm not the first to think of controlling music with RFID, somebody made a pretty neat player called PlayStand way back in 2002. But its RFID reader was plugged directly into the PC. I didn't want a PC in my living room, I wanted the player to be totally self contained, which seemed possible since the Squeezebox was already responsible for playing the MP3s. All I needed to do was trigger a song to start playing once it saw the tag. Problem was that my server is in another room and I don't have an ethernet drop in my living room. There are ways of making Arduinos work with Wifi, but they are all really expensive, so after a bit of looking around I remembered that the Squeezebox itself could act as a bridge. So the arduino actually connects via ethernet to the Squeezebox, sending commands to a little PHP script I have running on the same server as the SqueezeCenter. That script provides a management interface to map RFID tags to particular URLs, so after configuring it, when it gets a message that new RFID is in place it triggers a playlist to start. You could use this same system to perform other actions that can be performed via a script, such as having a coaster both stop the music and post a tweet that you are off to work or somesuch. But I'm just using it for music.
The RFID reader is the Parralax Serial Reader, which is both expensive and slow. (don't know why I said cheap in the video, it is far from it for $40) It works reasonably well but has some annoying shortcomings. As I said, one is that it can only read one tag a time, another is that it tends to queue up the tags in the serial bus, always outputting the current tag in its field at 2400 baud. Thankfully it also sports an enable pin, so you can just shut the thing down and back up to clear things out reasonably well. It also seems to sometimes return a garbled tag id, which can cause a bit of havoc because the Arduino will want to treat this as a new tag and post the change to the server. I currently have it verifying the tag once before going off to the server and that is pretty reliable, but I might up it to three times to be fool proof.
The tags are also from Parallax, 50mm round tags. This was my original choice as I figured they would have a good range, and they did, but then disaster struck and they just barely didn't fit into the coasters. I tried switching to the smaller adhesive tags Parallax sells, but they didn't have quite have the range. I did notice that having the tag butted up against the metal plate in the coasters really cut down on their range, as I did test the 35mm tags first and had them working, but once I stuck them on the coasters they couldn't reach through the wood in the cabinet. In a fit of desperation I ended up ever so slightly trimming the casing of the original 50mm tags and that did the trick. RFID tags aren't as cheap as I thought.. I know Parallax tends to charge a ton for their items, but over $2 each was pretty shocking.. oh well, all in the name of science.
When I first started I wasn't sure how the tags and reader were all going to look. I was originally thinking of building some kind of wooden case for the reader, I wanted it to be something I would use and be attractive. But after reflecting on how awful looking every little thing I make like that is, I decide maybe it would be cooler to hide it entirely. I thought that photo coasters would be neat because you could have them printed up custom from any number of sites and have real solid artwork. But once I looked at the prices for the custom coasters I quickly decided that was a flawed plan, plus I wanted it to be pretty easy to change up the coasters and add new ones so I could keep
them up to date with what I was listening to. So a little bit of browsing later I came across these glass photo coasters from Amazon. They were cheap, about $2 each, and looked decent, plus I could just print out photos and insert them myself, changing them easily as I wished. They turned out perfect, although they are a bit delicate when inserting the pictures and the tags needed some trimming. They really do look sharp once the artwork is in. (shout out to my bro Marc for throwing together the art for me)
The project would have been done in an evening if not for being a bit on the bleeding edge with ethernet support on the Arduino. I first went with the official Arduino ethernet shield. Shields are just an awesome idea on the Arduino, they are a way of literally plugging in functionality, all while still maintaining the standard digital inputs and outputs. When I first started playing with the shield I was ecastatic, it worked on the first try and everything was chugging along nicely. But joy soon turned to frustration when I found that when powered off a wall wart the ethernet shield wouldn't get a link without a hard reset. Turns out this is a hardware bug in the current revision of the ethernet shield, and I couldn't get any of the workarounds working. Arr!
Thankfully, the Arduino being the open platform it is, someone else had designed an ethernet shield. LadyAda at AdaFruit industries, had designed her own ethernet shield which used the same chipset as the official one, so the same libraries
would work for it. Plus it had the added bonus that you got to solder it together. That let me add my own headers for the RFID reader and pull out the reset pin on the WizNet module so I could restart it from the Arduino. After putting it together I had a pretty reliable system and put it aside waiting to have the coasters made.
Sadly, when I picked up the project a few weeks later, I found that I couldn't make multiple requests to the server. The first one would work fine, but on the second request the call to connect to the server wold just hang, never to return. I went a bit nuts trying different things, building simple example and having the same thing happen.. this worked a couple weeks ago, why was it broken now? Turns out I had upgraded my version of the Arduino libraries in those two weeks, and a new bug had been introduced making multiple connections hang. Double arr! Once I patched up the library and put in a few fail safes and incantations I got a completely reliable system.
The last piece of the puzzle is the server side script itself. I opted to just throw something together using the web hacking language de riguer, PHP. The script basically just has three commands: 1) I see a tag, do something 2) Stop the music and 3) Here's what to do when you see this tag. The script just writes out the URLs you map to the tags to simple text files, and keeps track of the last tag it has seen in order to make it a bit easier to set up. All in all it is ugly, but gets the job done, and since you have a server running PHP if you have a squeezebox, it sure seemed like the logical choice.
So if you want to do something like this yourself, it is all pretty easy. Get yourself an Arduino, the RFID reader and ethernet shield. You'll need to do a tiny bit of wiring from the ethernet shield to the RFID reader, but apart from that, you are set. The server side script can be found here and the arduino script right here. You can contact me at nicpottier at the gmail if you have any questions.
Our love of the internet has taught us many things. Some learnings are more practical than others but almost all knowledge we gain we are happy to have consumed it. Sadly the same cannot be said for food products procured from said learnings.

Generally, we are willing to try out something new no matter how ridiculous. I personally am also partial to all-inclusive food experiences. I loved those mini cereal boxes as a kid. Rediscovering them as a college student taught me that the box itself can also serve as the vessel from which to consume the cereal. Genius! Now obviously there are lots of options for consumable packaging in our disposable society. However, what's more interesting is "hacking" existing products to allow for this all-in-one packaging-as-dish experience.
That brings us to today's misadventure, Frito Pie. Not everyone has had the opportunity to experience such a pie -- an alarmingly good concoction of chili, cheese, sour cream and America's favorite corn chip at it's core. Even fewer have tried to make their own pie using just a microwave and no dishes. The only thing we missed in our attempt at this "Road Trip" version of this southern treat was heating the chili on the hot engine block on the side of the road.
The internet has told us that some have successfully used the packaging for the fritos as their chili bowl. Right, right, I know what you are thinking.. "Why didn't I think of that?, " we asked ourselves that too, but decided to do something about it. We all agreed the first few bites were pure awesomeness. After that, things went downhill a bit. We definitely recommend that if you try this at home -- either get a smaller bag of chips, or make like us and throw the last half away with the bowl.

- 1 of 2
- ››