i actually made a slightly improved RLE algorithm for use in a video game once - i could store the tile data much more efficiently by specifying that there were, say, ten trees in a row rather than listing "tree" ten times. i got around the a1b1c1d1e1 problem by making it possible to write something like "abcd2e2". if there was no number present, the algorithm assumed 1.
the game was never finished (never anywhere close!). honestly, i had a lot more fun working on the code than i did the actual game...