Release!

Contributed by Quickman
Sick and tired of not being able to finish things? Putting a lot of hard work into a script/addon and then losing interest after a while, turning it into an incomplete waste of hard disk space? Showing a screenshot before something is finished, then losing interest to complete it and end up not finishing it? A disappointing part of mIRC Communities is how so many people show off their work but never get it out. This makes a lot of people mad and disrespect the people who don't release their shown work. This tutorial will give tips and pointers on finishing things and getting stuff out to the public, so the next time you show a screenshot and someone says RELEASE!, it gets released.

This tutorial has 2 parts. The first part shows how to get an addon released. The next part is basically a follow up of the 1st part, it shows how to get a full script released.

The first part of the tutorial will show how to finish an addon that everyone is familiar with and easy to understand, the oh-so-popular dialoged mp3 player.

Where do we start?

Well an mp3 player may sound simple at first. I mean, what do you have, the buttons, alias that play/stop/pause/seek/repeat/shuffle, a progress/trackbar, playlist, playlist editor, all the aliases in between, dll use, equalizer/spectrum analyzer, the dialog.. the list is pretty big now isn't it? Well this is where you have to take one step at a time.

Repeat after me: ONE STEP AT A TIME.

Now back to the question, where do we start? Always start with the most important, main function of what you are making. Whats the most important part of an mp3 player? The playlist? NO! The awesome appearance/look of it? NO! The progress bar? NO! The buttons? NO! Its the alias that plays the mp3 itself!

Repeat after me: ALWAYS START WITH THE MOST IMPORTANT, MAIN PART OF WHAT YOU ARE MAKING.

What next? Don't move on to the next thing until you have completely finished the thing you are at now. So don't move on until you have completley finished that mp3 playing alias. When you are done, go to the next important thing. This can be debateable. But to me, its the pause/stop/prev/next/eject/repeat/shuffle buttons. So make the aliases for those. We now have an mp3 player that can play, stop, pause, eject, shuffle, repeat, go to the next track and go to the previous track.

Repeat after me: DON'T GO TO THE NEXT PART UNTIL YOU HAVE COMPLETELY FINISHED THE PART YOU ARE AT.
Repeat after me: ALWAYS MOVE ONTO THE NEXT MOST IMPORTANT THING.

Wait! Before moving onto the dialog, we still have aliases to make. We need to make the playlist adder/remover/saver/loader. So make those aliases to add tracks, remove tracks, save a playlist and load a playlist. The dialog is usually the last thing you are going to want to do, with some exceptions. Say you want to include a progress bar in there. In order to code for a progress bar you have to have a progress bar in a dialog already. So that is one of the very few exceptions to where you make an alias after the dialog is made.

Repeat after me: THE DIALOG/GUI/APPEARANCE IS THE LAST THING YOU DO, UNLESS YOU NEED TO MAKE AN ALIAS THAT RELIES ON THE DIALOG.

Look what we have now. We have a completely functional, command based mp3 player that can do it all, from manage playlists to repeat a song. Now we can move onto the dialog. Now, make the dialog with controls for your aliases and some other "luxury" things you want to put in between. Don't forget to make that progress bar alias first. What is a luxury thing? It's basically a part of what you are making that is "optional" or not needed, basically there for added value/attraction/appeal. Example, a spectrum analyzer or a graphical equalizer or a volume bar or a huge 00:00 song position text control. The luxury things are the very last thing you do, after you have the rest of your dialog and important things functioning.

Repeat after me: IF YOU MADE AN EXCEPTION WITH YOUR ALIASES, YOUR "EXCEPTIONAL" ALIASES ARE THE FIRST THING YOU INCORPRATE INTO THE DIALOG.
Repeat after me: THE LUXURY THINGS ARE THE VERY LAST THING YOU DO, AFTER THE REST OF THE DIALOG IS 100% FUNCTIONAL.

Now we have an easy, good interfaced dialog mp3 player. With the click of the button, you can do anything with the mp3 player. Progress bar fills up, etc. What now? It looks a little dull. Lets throw in the text for the kbps, a huge 00:00 time format position text, and a spectrum analyzer with those luxury controls you have unfilled/unused but you included in there. Congratulations! You now have a good, 100% complete functional good looking mp3 player. Now what? Its only your opinion about it. How about showing it off to the rest of the mIRC community for feedback/opinion. Lets take a screenshot.

Repeat after me: DON'T TAKE A SCREENSHOT UNTIL IT IS 100% COMPLETE
Repeat after me: ALWAYS SHOW A SCREENSHOT IF YOU PLAN ON RELEASING SO YOU CAN GET OTHERS OPINION'S BESIDES YOURSELF'S OPINION.

We got our feedback/opinion. Lets incorprate it into our mp3 player. So fix up some things. Now that its fixed up, its optional but if you made enough significant changes show another screenshot. But if not, time to get to releasing. Make sure all your paths and filenames are right, and use $scriptdir for the addon, not $mircdir. Now, zip it up and get some beta testers to test it for errors/bugs.

Repeat after me: USE $SCRIPTDIR FOR YOUR PATHS/FILENAMES AND KEEP EVERYTHING IN THE SAME FOLDER.
Repeat after me: ALWAYS BETA TEST FOR BUGS AND ERRORS, 99% OF THE TIME WHEN YOU BETA TEST YOU FIND A BUG/ERROR. NEVER ASSUME ITS BUG/ERROR FREE. ALWAYS PLAY IT SAFE OVER RELEASING THINGS.

Ok, so we found some bugs and errors and fixed them. Now beta test it again and if its bug/error free, time to release! Release anyway you wish, whether sending it to an mIRC website or putting it on your own website, or just DCC sending it. But hey, you successfully released an addon!

Repeat after me: DON'T RELEASE ANYTHING UNTIL ITS 100% BUG/ERROR FREE.

Well that concludes the 1st part of this tutorial. Now we go onto the shorter, part 2 of the tutorial on how to get that full script out.


Where do we start?

In a full script, make all of your modules first. Just use the procedure above to make your modules, its the same way. Start small, don't make a list of 20 modules to make. Just make minimum of 5 and no more than 10 for your first release, since too many = overwhelming and may cause you to burn out and lose interest. Don't move onto the next module until the one before it is 100% done, otherwise you may find yourself in a mess with 10 incomplete module files. This easily makes you lose interest.

Repeat after me: MAKE ALL YOUR MODULES FIRST IN A FULL SCRIPT.
Repeat after me: YOUR FIRST SCRIPT RELEASE, START SMALL WITH WHATS IN IT. 5-10 MODULES SHOULD DO.
Repeat after ne: DON'T MOVE ONTO THE NEXT MODULE UNTIL THE ONE BEFORE IT IS 100% COMPLETE.

Whew. The worst is over. The longest stretch in full script making is done. Pretty grueling but hey its a job well done. Now we can focus on the not-so-important important part of the script, the popups. This shouldn't take long. Channel/Menu Bar popups are really the only thing you need to worry about. Just include some basic things. A good thing to do is look at some other full scripts to see what their channel/menubar popups contain. They contain not a lot, but what it does contain is very useful. Such as channel modes, oper scans, and mass commands. Most will also contain popups to access modules in their script.

Repeat after me: MAKE YOUR POPUPS SHORT AND SIMPLE BUT EFFECTIVE.

Now we can do the fun part. That is arranging the script's layout. This is usually the 2nd to last thing you do. Hmm, we have a custom toolbar, switchbar, a sidebar, and theme engine. With full scripts, the best move to make is to use K.T.E. or another MTS theme engine for your script since its most compatible, time saving and broadest. But you can make your own theme engine if you wish or not one at all. Just like the rest, the toolbar/switchbar/sidebar is optional. You don't have to do it. But if you do, make the toolbar and switchbar as smooth and functional as the default toolbar/switchbar. Sidebar, include useful things in there that everyone can use. Don't include things like baseball sport tickers, since people in France could really care less. If you do decide to include something like a baseball ticker, make it optional/changeable.

Repeat after me: THE SCRIPT LAYOUT IS THE 2ND TO LAST THING YOU DO.
Repeat after me: THE SCRIPT LAYOUT IS OPTIONAL, IT DOESN'T HAVE TO BE DONE.
Repeat after me: INCLUDE THINGS IN THE SCRIPT LAYOUT THAT EVERYONE WOULD HAVE A USE FOR, IF NOT MAKE IT OPTIONAL/CHANGEABLE.

What do we do last? Our script options of course. All scripts have optional things it it. For example, changing icons on the toolbar. Thats optional. Or if there is a statusbar, what to put in there? Another thing that is optional. But the script options is very important but can only be done when everything is complete so you know what to put.

Repeat after me: DO THE SCRIPT OPTIONS LAST BUT MAKE SURE TO INCLUDE IT.

Now, show your screenshots, do your beta testing, and release. Refer above for how to do the screenshots, testing and release. But congratulations, you released a full script!

Repeat after me: MAKE UPDATES/BUG FIXES IF PEOPLE CATCH THEM.

This tutorial should help most people get their stuff out when they show it off. A good rule of thumb, don't show anything off unless you plan on releasing it. Now, when someone says RELEASE!, you will RELEASE! it!

Written by quickman, July 8, 2004. [email protected] irc.isyourgod.com #games #xttr irc.creativeirc.net #gcn #witticisms #megaman #ppt #chat us.undernet.org #mircscripts.org
All content is copyright by mircscripts.org and cannot be used without permission. For more details, click here.