Neat way to write software?

What do you think of this approach?

What would be really cool is if software was built so you could “turn on” capabilities by what level user you are: Beginner, Intermediate, Advanced, Expert. So you learn what you need in each level, then progress forward. You don’t get lost in the morass. And as you turned the levels “on” the software optionlly asked you questions to help you not only have the best settings but also to help you learn WHY they are the best settings. And I’m not talking about a wizard just at program installation time. Also, instead of FAQS being something you read OUTSIDE of the software the FAQS become PART of the software, something dynamic that the software downloads periodically. What do you think of that approach?

For sake of argument, if n-track were built that way, what would go in Beginner and Intermediate?

Well, a lot of these things are starting to work into the software paradigm. You see it with wizards as a beginning. Now in XP there is alot more prompting to get things at a level the user understands. That drives me nuts being an IT person myself, I just want my MMC and let me loose. Any who, in the most basic implementation, N-track would record, playback, and allow panning, volume, and EQ changes. These are the basic nuts and bolts of getting a good mix and would keep folks from instantly reaching for a pile of plugins to polish a turd. I think it would force the user to actually understand GIGO and that fixing it in the mix is not the best option. Once that is achieved, we can move on to other things like multiple parts, MIDI, and VSTis. This gives more creative possibilites and focuses the user on making something that sounds good without relying on gizmos. The last thing is letting folks loose with envelopes and auxes.

I can’t count how many times some one has asked on this board “How do I get hiss out of my recordings… is there a plugin I can use?” The answer 99% of the time (there are a few exceptions) is make sure the hiss isn’t there to begin with! Reliance on the bread and butter of recording would help the user get a better product sooner and understand the process rather than look for gadgets. After 10 years (or longer) of gadgets not doing the job some folks come to realize, gee, maybe I should actually learn how this stuff works. Forcing a work flow that encourages this is a good thing IMO. BUT! Flavio might not sell a whole lot of software this way. Folks like to see all the knobs and buttons up front… that way they know they are getting their money’s worth. :;):


the big software packeges (we’re talking 10.000$s not 1$) have a similar idea: You only buy the part of the software you really need. It’s all modular. If you need another part buy it and use it. Kinda the same like you suggested but far more expensive. :p


You suppose we could use Oracle or PeopleSoft for DAW work? Though, getting either for $10k would be a deal! :;): Seriously, large industial software packages like you describe are adding or removing functionality. Here we are talking keeping all the functionality, but presenting it in bite size pieces. I don’t know, it’s a good idea, but making it a reality with a one man shop… There are certainly bigger fish to fry. (Like making MIDI editing better…)

Heh. I can see it now Bubba…Oracle/SQL adapted for DAW work…

“SELECT HITSONG.TRACK1, HITSONG.TRACK2, HITSONG.TRACK3” & Chr(13) & “” & Chr(10) & “FROM HITCD.dbo.HITSONG HITSONG” & Chr(13) & “” & Chr(10) & “WHERE (HITSONG.TRACK1=“DRUMS”) AND (HITSONG.TRACK2=“BASS”>{ts ‘2004-10-20 00:00:00’}” _
, “)” & Chr(13) & “” & Chr(10) & “ORDER BY HITSONG.DT”)


yeah… and my drumloops can all be put in Stored Procedures

exec sp_MiddleEightFill ‘120bpm, 1bar’

EDIT: Ooops. Double post. Forum seems very slow

Nerds… :p BTW, kaboomifiers are an aggregate, so proper syntax would be more like

select kaboomifier (hitsong.bass), kaboomifier(hitsong.drums)


But for efficiency you may want to select everything into a temp table and thm pull your aggregate from the smaller data set. :D

Some of you guys are DB people :laugh:

There are pros and cons to everything. I do like the modular idea, if I could pay $100 for the 10% of Sonar4 that I would actually need it would be great, assuming I could update the functionality on demand. However, if I had to deal with Clippy the N-Track helper I’d probably find a new hobby. :)

Biggest problem is how to decide what features go in beginner/intermediate/expert categories. MIDI might be intermediate for a guitar player, but essential to a keyboard player etc, etc. On the other hand a configuration wizard to set defaults for consumer/pro soundcard and system power might be useful to get the first time user off the ground.

Quote (Earache @ Oct. 21 2004,11:41)
Biggest problem is how to decide what features go in beginner/intermediate/expert categories.


No matter how you try to group and categorize, you're bound to piss off someone.

As a general principle, I think you'd get maximum acceptance from a 2-level approach: Beginner, and the Works

Beginner, where only the most mainstream operations are at the top of the menu, the most-used buttons are big and simple, and everything has tooltips, with links into Help. The advanced choices are still available but only from the drop-down menu's, so it's not cluttering the desktop.

The works - (eg ntrack as it is now) where you can have anything/everything as buttons or shortcuts, and totally configurable.

My favourite arrangement is what you find in most good coding packages (IDE's), where you can set up a number of different workspaces for different purposes, each one configured separately. In desktop audio, IQS SAWPro had this - you could set up workspaces for recording, overdubbing, mixing, 2-channel editing, mastering, etc etc. It was very cool.

Excellent replies! I agree with most all of the points in the previous posts. My big problem with books and with software
is this: separating the wheat from the chaff. I love n-track, but even n-track shows a novice n-track user more bells and whistles than the average train!.. and what about if you not only a novice in n-track but a novice at recording? What I really want is something (at least initially) that helps me concentrate on what is essential to what I want to do. This could be a wizard that asks a series of questions and as a result turns off or on options within the software so I only see what I need, or takes me througn a PERTINENT set of events. It could be a kind of “consistency checker” I could exceute with a click of a button to see if what I have selected as options makes sense. In the simplest sense it could even be color coding of fields: red fields are something you better understand intimately, green fields are more optional or “fluffy.” I could write forever on this subject… so I won’t!!

I hear you. But it reads like you’re making a case for the Microsoft paperclip “help” avatar, which used to infect - oops I mean be present in MS Office.


What you’re asking would require weeks of programming, preceded by MONTHS of research to determine how best to present it.

nTrack is a tool, not a training course. The Internet is stuffed with information about editing, and in particular Audiominds is a site set up by nTrack users that contains useful tutorials.

So, part of your investment is the price of nTrack (calling $60 an investment is ridiculous; it’s more like dinner & a movie) and the rest of your investment is your time in working through the ntrack manual, visiting audiominds, and doing some internet searches.

(a shout out to all the other programmah’s. I see we all have day jobs…)

So my last advice applies to SQL, nTrack and life:



It looks to me like Macromedia is going this direction. There was a time when “Dreamweaver” was their flagship. Now it is more like a dinghy. They sell you Dreamweaver and, in order to get full functionality, you need Flash and a suite of add-ons (and a big fat wallet). For full functionality, you’re into it to the tune of several thousand dollars! Buying anything less than the full package leaves you feeling left out of the loop, inadequate, and that is probably a big part of their marketing strategy. When you tell a techie that he has only a part of the puzzle he will generally strike a defiant stance and quick-draw his plastic. Meanwhile, push the idea that the puzzle can be built with affordable modules.


(a shout out to all the other programmah's. I see we all have day jobs...)
Not to be rude, but I've been programming and managing programmers since PL1 was a hot language and have written my fair share of Basic, Smalltalk, C, C++, Java, VBA, Prolog, and a half dozen other languages I can't even remember. I also know programmers tend to be at their worst when determining how a GUI makes intuitive sense to a user. I also despise the Microsoft paperclip. You know why we despise the paperclip? One, because it's ineffective. But MAINLY because we already know in-depth the ins and outs of the program it's standing in the way of us using. But I also know rookie users who couldn't live without it. And that's my point. What's wrong with software being both a useful tool and an optional interactive training system? Who knows better the ins and outs of a system, and the choices made in it's design, then the developer? If this rocks the current paradigm, then rock away. The future is made as a series of evolutions, not following pathways others have forged. My path may not be the future but it doesn't rest on the present... if something weren't needed along these lines, why would we need this forum? Why would we need to help us try to gleam some nuggets of knowledge and then figure out how to apply them to our software? But, hey, I've always followed a different path... maybe that's just me! :-)

my “shout out” was to the guys who were doing the SQL jokes. They were funny, thanks guys.

So you think it’s reasonable for Flavio to write the software AND develop a built-in training course AND keep the price at $60. OK…

I don’t mind getting my paradigm rocked occasionally. But ya gotta be real. As with the paperclip… have you seen ANY software that has implemented your concept with ANY real success? I don’t think it’s been done yet… it’s that tough of a problem.

(PS I program, but I’m also a usability freak)

Just to address a few good points - I have to agree that there is a limit that one programmer can do to improve the interface / learning curve and the much improved manual is a great step in this department. You also have to consider the target market. From monitoring this forum and a few others I would guess the majority of N users are true home recordists but with enough knowledge / experience to have a need for more than basic functionality, and most would prefer that Flavio spend his time on new recording features and improvements rather than educating end users.

For the first timer, N does have a learning curve but that curve can be attributed more to audio recording in general rather than N specifically. Traction is probably the easiest program I’ve tried for basic operation, but I just couldn’t adjust to the interface for things beyond tracking and drawing envelopes - where’s the mixer!! (and it looks like Mackie took away the permanent upgrade thing when they took over the product).

(slightly)OT - And as long as we’re trashing clippy, I gotta say MS never learns. It really burns me that they the file search utility by adding a cute puppy character and removing the ability to search within (and even for some) program files. In W2K I used this utility daily to find code in Java files, XP makes this not only useless but annoying too.

Quote (TallPaul @ Oct. 21 2004,20:33)
Not to be rude, but I've been programming and managing programmers since PL1 was a hot language and have written my fair share of Basic, Smalltalk, C, C++, Java, VBA, Prolog, and a half dozen other languages I can't even remember.

What, no Delphi?? What kind of a programmer are you?? (Just kidding). :D

In actual fact, I'm amazed as to the depth of experience and knowledge that everyone here brings into the discussions, no matter what the topic is. Although I don't post much, I do read and learn.... read and learn...

Thanks everyone.


I thought of a great example of how todays IDE’s could easily be improved with very little additional strain on the developer. For sake of argument, I’ll call this new twist “Dynamic Help.” It’s a combination of a Help screen like you see in n-track and other programs as well as a FAQ and a forum… and the neat thing it’s content is completely dynamic, integrated directly into the program, and the content can be provided by the user community as well as the developer. Here’s the way it works…

Let’s suppose that the first time you enter the program, it says “At any time you can hit the Alt-F6 keys to toggle Dynamic Help”. It’s also a menu option in the menu bar. This is important: you can turn it on, and you can turn it off! There is also a class who’s responsibility it is to handle “mouseOver” events when the Alt-F6 key or the menu option is chosen to turn on Dynamic Help. If the user then holds the mouse over the top of a field and keeps it there without moving off the “area” for a period of, say, 2 seconds then Dynamic Help kicks in. It doesn’t preclude the user from doing functional work even when Dynamic Help is turned on.

So what does Dynamic Help look like? Imagine you hold your mouse over one of the fields as described. The Dynamic Help screen pops up SPECIFIC TO THIS FIELD and the original entry in it might be from the developer. He gives us his rendition of what the field tries to accomplish. The screen itself might look like a grid with scroll bars and have the following fields: the type of entry (statement of fact, a question, or an answer to a question), his name, the date added, his expertise level, and the text of the item. Below his entry are questions and comments from you, the users of the program. Your name, date added, expertise level, and text are also listed. But how did this new information get added? Well, somewhere within the Dynamic Help box you have the ability to add new content specific to this field. When you create your question, comment, statement (whatever) you click a Send button and “send” it to a central server for processing. On a periodic basis your client program also retrieves messages from the server and has a way of notifying you of messages you have not read yet (fields show up in different colors when you are in Dynamic Help mode, etc.) You as a user could also filter out what messages you want to read by who created it, what type of message it is, how long ago it was submitted, et cetera. When you move off the field or hit a certain key, the Dynamic Help screen dissappears. BTW, this style of messaging is done constantly with anti-virus software with new virus definitions downloaded to the client… and we’re talking text here, not huge binaries.

I know there are fields not addressed in n-tracks help. I’ve read some of n-tracks help text and scratched my head. I look at the forum and see people ask questions specific to what given fields do. Does this replace a FAQ, a forum, or a manual? No. Because those devices can provide context much broader in range covering concepts and workflows as well as fields. But it does provide very focused help is a very dynamic manner. And it allows the user community to give back directly to the program in a very focused manner. And isn’t that what the people in this forum are trying to do?

I’m not saying it SHOULD be done by Flavio, I’m speaking in a more general sense of software at large. This could easily be a module written by one company and integrated by hundreds, including n-track. Heck, maybe I’ll do it as part of my Masters Thesis! Beats working on W-Grammars or collision detection in spheroidal 3D space!

Copyright 2004 TallPaul (a traceable alias) :slight_smile: