Slightly delayed by real-life and coding roadblocks, but progress is now started on some new features for Version 2.2 of the S.E.D.S.;For now, we continue with observations on the development process by looking "Under The Hood". This time, we'll look at some of the final touches that went into Version 2.0 and carried over to Version 2.1.
Part 3 - PEBKAC, Files, and Finishing Touches
While I was doing the last segments of coding to get Version 2.0 into working order, I had to add a few more "extra" aspects to the project to make it worthwhile and useful for other users, many of whom I didn't know and would never speak to directly.
~PEBKAC and the Help File~
PEBKAC is a persistent problem in all fields of computer-related technology; it stands for "Problem Exists Between Keyboard And Chair" (i.e. the user of the program). As troubleshooting goes, PEBKAC is a real issue but one that can be difficult to address. If you code for the lowest common denominator, you might sacrifice flexibility for usability; if you code for the most proficient computer user around, you give out a powerful tool that only a few can use properly.
I encountered a lot of these problems with earliers versions of the S.E.D.S., where the interface was far from intuitive. Console-applications require a lot more legwork on the user end where thinking and acting is involved. Part of the coding I added to S.E.D.S. 2.0 was to help prevent PEBKAC where possible; things like users leaving fields empty that needed values. Ultimately though, I wasn't going to be around to help walk users through every problem, so I got to work implementing the next best alternative: the Help file.
Click the image for full-size.
The Help File allowed me to relay information about the program to every user who downloaded the program. Details about installation, recording programs, and where to send feedback and bug reports was included. As I update S.E.D.S. the Help file will continue to be updated to reflect new information and help avoid PEBKAC problems.
~Inside the seds.cfg File~Initially in the development of the S.E.D.S., I made use of the autoexec.cfg file that is used by Source games to implement code at the start of each game. After a few versions and more exposure to individuals beyond myself, I recognized a few problems with this setup. First, the autoexec.cfg has other uses besides S.E.D.S., causing unnecessary clutter; second, if I ever changed the cfg file I included for recording it would cause problems for users.
To solve this problem I created a new cfg file: seds.cfg. The only change I would need to make to the autoexec.cfg file now would be a one line call to run the seds.cfg file; any changes I made in successive iterations would be harmless to users who made use of the autoexec.cfg file for other functions, and it would be far less cluttered.
The seds.cfg file uses a simple set of alias commands to increment up to 50 recorded demos. Fifty is by no means the maximum possible, but most of the time after hours of play I would not even pass by 10 recordings, and the user could reset the recordings by simply exiting, saving, and rejoining.
One aspect of the cfg file that changed was that instead of using each numpad key 1-9 to record an individual demo file, it instead increments them. The advantages of this are that the user needs only one keybind to record any new demo, and that users could go above only 10 demos if so desired. The disadvantage is that the counter resets on each game exit, meaning users could risk overwriting old demos if they don't save them with the program before recording again.
Ultimately, the advantages outweighed the disadvantages and the new design was implemented. Without seds.cfg, the ease of recording isn't possible, requiring users to open the console to record demos.
~Finishing Touches~Some finishing touches remained just before release. I did some extra testing beyond the normal operating functions of the program, as well as installing and reinstalling the program multiple times over to test reinstallation. One of the last finishing touches was a simple icon for the program EXE file to give it some uniqueness on a desktop or in a folder.
~
~
Hopefully "Under The Hood" has helped give users of S.E.D.S. a better understanding of program itself, as well as the development and planning process I used to put it together. Future posts may be put together for more "Under The Hood" on any new functions or features that get added to help illuminate them. As always, please send any questions, bug reports, concerns or suggestions to sedsfeedback@gmail.com, and keep an eye out here for the next release version sometime this month.