(last edited on April 29, 2014 at 1:26 am)
SUMMARY: I release the Flash 7-ish source code to the Online Emergent Task Timer under Creative Commons, after getting a couple of requests for it. Details follow.
Back in June, 2006, I released a prototype version of the Emergent Task Timer, written in Flash. This was alpha-quality code, meaning that it was designed to test concepts but was not actually feature-complete. Still, it proved to be pretty useful for the day-to-day, and I put enough features in it so that was useful. A particularly-nice feature was Flash’s ability to save data in case you accidentally closed the browser window; back in 2006, this was pretty cool. However, I never got around to improving the interface to add features like scrolling and server-side data storage. After over three years of sitting on my ass (and more than a few requests), I’ve decided to release the source code under Creative Commons, specifically the Attribution Non-Commercial Share Alike license deed:
This license lets others remix, tweak, and build upon your work non-commercially, as long as they credit you and license their new creations under the identical terms. Others can download and redistribute your work just like the by-nc-nd license, but they can also translate, make remixes, and produce new stories based on your work. All new work based on yours will carry the same license, so any derivatives will also be non-commercial in nature.
I have a lot going on, and I don’t foresee taking the time to relaunch myself into the current Flash Actionscript environment. This codebase dates back to Flash 8 Professional using a blend of ActionScript 2 and timeline-based scripting to handle simple graphics state changes. While not as bad as some Flash coding practices common back then, it still might make your eyes bleed today. A thorough knowledge of AS2 MovieClips, Flash events, the Flash IDE, and object-oriented programming is probably mandatory to make sense of this code.
There are a few features we’d all like to see:
- The ability to save data on a server
- Additional lines of entry
- Easy navigation of past days data
The internal data representation is based on unix epochs and hexadecimal strings, which should be friendly to databases. I am not, however, a server-side programmer or a database programmer, and I never got around to learning how to write such code cleanly. I’m sure there are plenty of people out there who could write that in their sleep. With this release of the source code into the Creative Commons, I’m hoping to see someone add some new features. I’m also curious to see how people deconstruct and refactor my code, though it’s been so long I’ve kind of forgotten how it works. I’m also curious to see what happens to the code as people have their way with it.
Download Source
You’ll need Adobe Flash CS4 to open this file, since I did some slight editing to static text and had to resave it. You’ll also need to be an experienced Flash ActionScript 2 programmer with an understanding of the Flash IDE and MovieClips. See the License Notes in the archive for more information.
» Download ETT Alpha Flash CS4 Source Code (ZIP 336K)
Enjoy! I’ll be happy if I see someone make a meaningful change and shares it with the rest of us. Fingers crossed! Feel free to discuss approaches to modification and ideas in the comments here.
8 Comments
Nice to hear – thanks for sharing this! It’s a useful tool, and hopefully someone will run with the ball.
I’m still using the ETT. Love it, and can’t wait to see what comes of this.
Don’t forget the tool you recommended: Bubbletimer. http://www.bubbletimer.com
I use it everyday! Have been for months. It is a really good version of the ETT.
Thank you for sharing under CC license. Other coders have a way of helping out in the end!
I’m hoping people run with the code. So far…crickets!
Tom: Yah, Bubbletimer IS pretty cool. Definitely worth checking out for an implementation that works now.
Luke: That’s what I’m hoping! I actually finally released this code because I was asked by a coder if he could get it to try to write a database back-end. This is something I’ve never really WANTED to know how to write, personally, so I’m happy to have someone else do it :-) The ETT codebase already has a database in mind in the way that it’s storing data internally, so maybe it is not as difficult.
Anyone make any enhancements to this yet regarding server/database/network stuff? We have been using it for awhile but haven’t had time to do any of this ourselves…
Love the process!
Jesse: I have heard nothing at all from anyone. The codebase is probably too grody for people to want to deal with :)
I’m so excited that you released the source code! Thanks.
First goal: Replace the sound with a better sound. I could never get it to take a new mp3. I tried local files. I tried hosted files.
Second goal: Move it to a different language where I am more comfortable and see what I cna get going. I had made a version in excel that produced pretty nice pie charts at the end of the day, but it didn’t have the magic red line moving across the screen keeping me aware of where I was during the day.
Anyway, thanks again! I’ll be sure to do at least something with it.