Personal opinion


#1

Right, this is a question about application design philosophy more than anything. As usual, i’ve gone on a bit, but I’ve implemented ‘easyRead™’ for the short of patience.

The main goal of [size=200]tampon[/size] is to provide an intuitive framework to use to build applications. Not that you can’t build apps already with juce but, without knowledge of the fundamentals of sound app architecture, it [size=200]is[/size] difficult to do stuff more sophisticated than basic tools.

It’s [size=150]going to be based around a Document/View system[/size], and is going to take care of a lot of stuff that should be taken for granted (but currently is still time consuming to assemble, or even know to assemble).

Of course [size=150]one[/size] of the [size=150]main design goal[/size]s of the Doc/View system [size=150]is to separate the[/size] model ([size=150]document[/size] data) [size=150]from the[/size] view (on screen [size=150]editor[/size]), making it easier to change the UI without needing to touch the document code.

Now, [size=150]with the Jucer,[/size] the most important parts of the [size=150]document[/size] - the child [size=150]Components[/size] - [size=150]are used directly by the editor[/size]. Because of the nature of Components, as they are added to a parent, they are removed from the one they are in. This sort of violates the model, as you’re supposed to be able to create multiple views of a document if you so desired.

Obviously having it [size=150]this[/size] way [size=150]makes things[/size] pretty [size=150]simple[/size]. Plus, it’s not really a problem as it only requires a single view. I want to make sure that the tampon framework does allow for such basic ‘quick-fix’ design models, [size=150]but[/size] I also want it to be a guide for application design too (for newcomers with ambition greater than their architectural knowledge).

So my question is: [size=150]are you happy that it operates in this way?[/size] It saves time and effort in many ways, but also violates some design guidelines (though that may only present a problem if it were to expand in unforeseen ways). [size=150]Were there a time-saving framework to facilitate it, do you think you might have bothered ensuring that the Components displayed on the editor are not the same objects stored in the document?[/size]

[i’m not saying i have a problem with the jucer :slight_smile: i’m just trying to make sure that i have my priorities in the right order.]


#2

Yes, you’re quite right about that aspect of it, but to do it more “correctly” would involve writing loads more code for every type of component, and since I was only ever planning on letting the jucer have one view open, it just wasn’t worth the effort. And the jucer is a bit of a unique case in that its elements are actually the components themselves - any other type of document would contain elements that get represented by components. In the jucer’s graphics view, for example, the view/model architecture works fine - the graphics elements get assigned a component to display them, and there could be more that one.

Not sure about this “tampon” name, though…


#3

Yes, that’s pretty much what I imagined - it does work and it saves a lot of effort so why not.

As for the name… i guess it’s a psychological thing. This is the third time I’ve tried to move this project forward - each time in the past I just got really fed up with it because it’s not terribly exciting an artistic prospect. Having such an absolutely absurd name keeps the child in me amused and makes it feel far more fun than it really is. :oops: I hope it doesn’t actually offend anyone (i’ll be very disappointed in anyone who is genuinely offended by a word as cute as tampon!), as I’m not planning on changing it - at least not until I’ve got the bulk of it done. You’d be amazed how much of a difference something like a name can have on your motivation.


#4

FYI in french Tampon is another word for things like Tampax.
Maybe not the same in english…


#5

no, it’s exactly the same. at least there’s no translation issues! :smiley:

maybe i’ll change it to ‘tempon’ later on (a template for applications)… :slight_smile: but like i said it’s mostly a self-motivation trick.

am i just causing frowns and revulsion? :frowning: that’s not my intent!


#6

LOL - how can the word tampon offend anyone when, amongst others, it also means (in French) stamp, buffer (used in programming, electronics, on trains etc…) but is also the name of a small territory of the island of La Reunion* (Indian Ocean) :slight_smile:

Please keep the fun and self motivation trick rolling, most of all thank you for your continued efforts to help this community with your tutorials and samples making Juce even more accessible than originally to everyone - all the best!! :smiley:

* [size=92]“Le Tampon, une commune où il fait bon vivre” - “The Tampon, a small commons territory where it is nice to live”[/size]


#7