Author Topic: The perfect collection software  (Read 5092 times)

xyrano

  • Guest
The perfect collection software
« on: May 05, 2007, 02:33:40 PM »
I put these questions out there and hope you'll pick up. I'm kinda hoping you answer the questions and if you have anything to add yourself please, add it as a question, preferable starting with "Should".

A small start ;D
----------
What constitutes that perfect software for cataloging an item you consider collectible?

Stand alone application
1. On a client machine:
1.1. Should it be runnable on any Operating System (OS)? No, but with "The Java Runtime Environment (JRE)" that supports the following system configurations it could (initially) cover; Solaris, Windows and Linux. Mac OS X have a JRE download available for Tiger here.
1.2. Should it support multiple users? Yes
1.3. Should it support multiple user collections? Yes
1.4. Should it support all known standardizations that are relevant to this application? Yes
1.5. Should it support concurrent access (Sharing)?
1.6. Should it use a standard enterprise architecture with a Domain Model accessible though the Observer Pattern and preferable with a Remote Facade running as a service/daemon as well?

2. Items:
2.1. Should it be possible to keep track of any kind of item (inventory)? Yes
2.2. Should it have functionality to support any media type? e.g. DVD-Video, HD-DVD, Blu-ray, CD-Audio, PC DVD-ROM, xBox, Playstation... Yes
2.3. Should a user have the possibility to add new media types, on the fly? Yes
2.4. Should it be possible to combine media types in one and same collection? Yes
2.5. Should it be possible to add figurines, booklet that where delivered within the bounds of the item? Yes
2.6. Should it be possible to add customized field items (e.g. Media Types, Genres)? Yes

3. Information:
3.1. Should it leach information of popular web sites to simplify for the user or should it only support user added information (no leaching what so ever)? No leaching what so ever
3.2. Should it "mirror" the entire purchased item or should "the mirroring" be limited? Entire
3.3. Should it be possible to track all costs made by the user? Such as: payed price, rebate, tax, transport costs, more... Yes
3.4. Should it be possible to share all/some of the tracked costs or should it be private? Both
3.5. Should it be possible to share gathered information about a given media type with other program users? Yes
3.6. Should it be possible to upload the information somewhere? Through a database and/or through a direct connection with another user? Both
3.7. Should it be possible to upload/sync a collection to other hardware devices? Yes, limited only to J2ME enabled devices

----------
Alright, lets see how far this goes!
« Last Edit: October 23, 2007, 08:25:24 PM by xyrano »

Touti

  • Guest
Re: The perfect collection software
« Reply #1 on: May 05, 2007, 02:57:41 PM »
1.5. Should it support concurrent access (Sharing)

xyrano

  • Guest
Re: The perfect collection software
« Reply #2 on: May 05, 2007, 03:02:42 PM »
1.5. Should it support concurrent access (Sharing)
Thanks, it's added :)

lmoelleb

  • Guest
Re: The perfect collection software
« Reply #3 on: May 05, 2007, 03:57:48 PM »
1.1 (any OS)
No program runs on any OS. If you mean "most current OS'es" then it depends on the price you pay for it in lack of features.

1.4
No. It does for example not really need to support the ETRTO/ISO. But some relevant standards like WS-* to access the data would be nice. Notice it probably conflicts with your 1.1 - I am not aware of anything but .NET that has decent implementations of these standards, and it is not cross platform (unless someone got WCF running in Mono).

Anyway, it comes down to
1.6. Should it use a standard enterprise architecture with a Domain Model accessible though the Observer Pattern and preferable with a Remote Facade running as a service/daemon as well?

But again, there goes 1.1 - while the remote facade could be accessed from various environments (at least if it can also run in a dumbed down "plain old WebService" mode), the domain model can't. Welcome to the wonderful world of programming :(


xyrano

  • Guest
Re: The perfect collection software
« Reply #4 on: May 05, 2007, 05:28:17 PM »
First, thanks for your post. It is greatly appreciated!  :)

My answers are inside...

1.1 (any OS)
No program runs on any OS. If you mean "most current OS'es" then it depends on the price you pay for it in lack of features.
x: True! Already we see the need to limit the 1.1 question :) Excellent! I was actually on my way to do just that, with the following text: No, but with "The Java Runtime Environment (JRE)" that supports the following system configurations it could (initially) cover; Solaris, Windows and Linux. Mac OS X have a JRE download available for Tiger here.

1.4
No. It does for example not really need to support the ETRTO/ISO. But some relevant standards like WS-* to access the data would be nice. Notice it probably conflicts with your 1.1 - I am not aware of anything but .NET that has decent implementations of these standards, and it is not cross platform (unless someone got WCF running in Mono).
x: Yes, that 1.4 question is too generalized. What is WS-*? Could you narrow it down to some specific WS-? standards so I can search on them? Thanks :)

Anyway, it comes down to
1.6. Should it use a standard enterprise architecture with a Domain Model accessible though the Observer Pattern and preferable with a Remote Facade running as a service/daemon as well?
x: Thanks, it's added! :) ... and yes it should!

But again, there goes 1.1 - while the remote facade could be accessed from various environments (at least if it can also run in a dumbed down "plain old WebService" mode), the domain model can't. Welcome to the wonderful world of programming :(
x: Yes, away it went! :lol: - it needs different controllers (MVC 2 using Struts maybe) to access the domain model if it would ever come to be a web application. Thanks for the welcoming! ;D


« Last Edit: May 05, 2007, 06:01:55 PM by xyrano »

lmoelleb

  • Guest
Re: The perfect collection software
« Reply #5 on: May 05, 2007, 07:53:44 PM »
First, thanks for your post. It is greatly appreciated!  :)

My answers are inside...

1.1 (any OS)
No program runs on any OS. If you mean "most current OS'es" then it depends on the price you pay for it in lack of features.
x: True! Already we see the need to limit the 1.1 question :) Excellent! I was actually on my way to do just that, with the following text: No, but with "The Java Runtime Environment (JRE)" that supports the following system configurations it could (initially) cover; Solaris, Windows and Linux. Mac OS X have a JRE download available for Tiger here.

It's an option, but as always you obviously pay a price. For example lack of access to WPF and WCF on Windows, which is unfortunate - I do not beleive anything on the Java side really match those two. :(
Quote
Quote
1.4
No. It does for example not really need to support the ETRTO/ISO. But some relevant standards like WS-* to access the data would be nice. Notice it probably conflicts with your 1.1 - I am not aware of anything but .NET that has decent implementations of these standards, and it is not cross platform (unless someone got WCF running in Mono).
x: Yes, that 1.4 question is too generalized. What is WS-*? Could you narrow it down to some specific WS-? standards so I can search on them? Thanks :)
Various standards adding to the plain old SOAP WebServices allowing secure connections, transactions, events, etc. WS-Security, WS-Federation, WS-Eventing etc. With the right framework it's not hard to support them, but then again - as far as I know only .NET has this support at this stage.
Quote
Quote

Anyway, it comes down to
1.6. Should it use a standard enterprise architecture with a Domain Model accessible though the Observer Pattern and preferable with a Remote Facade running as a service/daemon as well?
x: Thanks, it's added! :) ... and yes it should!

But again, there goes 1.1 - while the remote facade could be accessed from various environments (at least if it can also run in a dumbed down "plain old WebService" mode), the domain model can't. Welcome to the wonderful world of programming :(

x: Yes, away it went! :lol: - it needs different controllers (MVC 2 using Struts maybe) to access the domain model if it would ever come to be a web application. Thanks for the welcoming! ;D
What I was refering to with the Domain model not being able to load in different environments was that only one technoligy will be able to load the domain model directly. If for example someone wanted to make a web application in PHP, Java, or .NET, only one of them could load the domain model directly (Java or .NET most likely), the other two would have to "talk" to the remote facade, most likely having to implement their own Domain Model layer on top of the Remote Facade. Though, you could always force all of them to go though the Remote Facade, hence only having one instance of the Domain Model at any time - then you can do some caching, syncronization etc you would else have to leave to the database layer.

If you use MVC, Passive View, Supervising Controller, Presentation Model or whatnot to build the GUI on top of the domain model isn't that important, as long as you do not use the Big Ball of Mud pattern most people unfortunately choose.

xyrano

  • Guest
Re: The perfect collection software
« Reply #6 on: May 06, 2007, 02:32:17 PM »
First, thanks for your post. It is greatly appreciated!  :)

My answers are inside...

1.1 (any OS)
No program runs on any OS. If you mean "most current OS'es" then it depends on the price you pay for it in lack of features.
x: True! Already we see the need to limit the 1.1 question :) Excellent! I was actually on my way to do just that, with the following text: No, but with "The Java Runtime Environment (JRE)" that supports the following system configurations it could (initially) cover; Solaris, Windows and Linux. Mac OS X have a JRE download available for Tiger here.

It's an option, but as always you obviously pay a price. For example lack of access to WPF and WCF on Windows, which is unfortunate - I do not beleive anything on the Java side really match those two. :(
Quote
Quote
1.4
No. It does for example not really need to support the ETRTO/ISO. But some relevant standards like WS-* to access the data would be nice. Notice it probably conflicts with your 1.1 - I am not aware of anything but .NET that has decent implementations of these standards, and it is not cross platform (unless someone got WCF running in Mono).
x: Yes, that 1.4 question is too generalized. What is WS-*? Could you narrow it down to some specific WS-? standards so I can search on them? Thanks :)
Various standards adding to the plain old SOAP WebServices allowing secure connections, transactions, events, etc. WS-Security, WS-Federation, WS-Eventing etc. With the right framework it's not hard to support them, but then again - as far as I know only .NET has this support at this stage.
Quote
Quote

Anyway, it comes down to
1.6. Should it use a standard enterprise architecture with a Domain Model accessible though the Observer Pattern and preferable with a Remote Facade running as a service/daemon as well?
x: Thanks, it's added! :) ... and yes it should!

But again, there goes 1.1 - while the remote facade could be accessed from various environments (at least if it can also run in a dumbed down "plain old WebService" mode), the domain model can't. Welcome to the wonderful world of programming :(

x: Yes, away it went! :lol: - it needs different controllers (MVC 2 using Struts maybe) to access the domain model if it would ever come to be a web application. Thanks for the welcoming! ;D
What I was refering to with the Domain model not being able to load in different environments was that only one technoligy will be able to load the domain model directly. If for example someone wanted to make a web application in PHP, Java, or .NET, only one of them could load the domain model directly (Java or .NET most likely), the other two would have to "talk" to the remote facade, most likely having to implement their own Domain Model layer on top of the Remote Facade. Though, you could always force all of them to go though the Remote Facade, hence only having one instance of the Domain Model at any time - then you can do some caching, syncronization etc you would else have to leave to the database layer.

If you use MVC, Passive View, Supervising Controller, Presentation Model or whatnot to build the GUI on top of the domain model isn't that important, as long as you do not use the Big Ball of Mud pattern most people unfortunately choose.

Interesting, thank you!

Well, if there would be any systems design to speak of from my side, it would have to be J2SE for a stand alone application and J2EE for a web application. Both of them is powerful enough I think! I would probably use all the things you talk so negatively about in your last paragraph  ;D

lmoelleb

  • Guest
Re: The perfect collection software
« Reply #7 on: May 07, 2007, 09:44:45 AM »
Interesting, thank you!

Well, if there would be any systems design to speak of from my side, it would have to be J2SE for a stand alone application and J2EE for a web application. Both of them is powerful enough I think! I would probably use all the things you talk so negatively about in your last paragraph  ;D
Personally I do not even consider .NET 3.5 as "powerful enough", but if you with "powerful enough" means "By writing a lot of stupid timeconsuming plumbing code, it should be possible to get something working with limited functionality" then I guess you are right, even with Java or the old .NET 2.0/3.0 (some call .NET 3.0 current, don't know why as 3.5 is already in beta and obviously a huge improvement) .

And I list a number of alternative ways of hooking up the GUI - using all of them is not a good idea. And the only one I talk negatively about is Big Ball of Mud.... which is what you get when you do not know what you are doing, so I do hope you do not plan to use it (you might end up with it, but at least plan for something else).

xyrano

  • Guest
Re: The perfect collection software
« Reply #8 on: May 07, 2007, 12:58:39 PM »
Interesting, thank you!

Well, if there would be any systems design to speak of from my side, it would have to be J2SE for a stand alone application and J2EE for a web application. Both of them is powerful enough I think! I would probably use all the things you talk so negatively about in your last paragraph  ;D
Personally I do not even consider .NET 3.5 as "powerful enough", but if you with "powerful enough" means "By writing a lot of stupid timeconsuming plumbing code, it should be possible to get something working with limited functionality" then I guess you are right, even with Java or the old .NET 2.0/3.0 (some call .NET 3.0 current, don't know why as 3.5 is already in beta and obviously a huge improvement) .

And I list a number of alternative ways of hooking up the GUI - using all of them is not a good idea. And the only one I talk negatively about is Big Ball of Mud.... which is what you get when you do not know what you are doing, so I do hope you do not plan to use it (you might end up with it, but at least plan for something else).
Well, thank you very much for that. I am in no rush and I will most certainly not write stupid time consuming plumbing code. I can only speculate as to what made you think that I would do that!?  ???

And I list a number of alternative ways of hooking up the GUI - I missed the purpose of your MVC talk and thought you slashed that too, sorry! As for pattern talk, I must confess that I haven't been around long enough to be able to engage in conversation about them, but I felt it odd/confusing that you put them all in the trashcan!?

This thread certainly took a path I did not expect.
However, it looks as though my plan (with this thread) has already failed, since nobody is interested talking about functionality they would like to see/use in a stand alone application, which I dubbed "The perfect collection software".

lmoelleb

  • Guest
Re: The perfect collection software
« Reply #9 on: May 07, 2007, 03:58:52 PM »
Well, thank you very much for that. I am in no rush and I will most certainly not write stupid time consuming plumbing code. I can only speculate as to what made you think that I would do that!?  ???
He - I think you misunderstood me. :)
"Stupid plumbing code" is something we all write (at least, if you found a way to avoid it please share it - you can even make a few billion in pocket money with that knowledge). It's code that's not really having any function in itself, it just needs to be there to hook up the various parts because the frameworks we are using (both Java and .NET) are not really up to the task. For example if you have the observer pattern you typically need to fire an event when a property is changed (AFAIK you would call a method on an interface in Java - same thing, just a different way of doing it). You need to make this yourself.... It's plumbing, and it's stupid because the framework should really provide it so we won't have to type it ourselves.

Quote
And I list a number of alternative ways of hooking up the GUI - I missed the purpose of your MVC talk and thought you slashed that too, sorry! As for pattern talk, I must confess that I haven't been around long enough to be able to engage in conversation about them, but I felt it odd/confusing that you put them all in the trashcan!?
MVC like the other patterns have their pros and cons. None of them used to hook a domain model to a GUI are really that good, it's just the best we can come up with. They tend to either link the domain model too tight with the GUI, or require too much "stupid plumbing code" :)

Depending on your environment and data, you might indeed throw MVC in the trashcan. After all, if one of them was perfect for everything, we would only have one.
Quote
This thread certainly took a path I did not expect.
However, it looks as though my plan (with this thread) has already failed, since nobody is interested talking about functionality they would like to see/use in a stand alone application, which I dubbed "The perfect collection software".
Well, to me the perfect collection software IS someting that is build on a solid foundation allowing me to interface it. Who cares if it can do everything you want now, but it inflexible so it can't be extended with what you need tomorrow. I would rather have something that is decent now, but I can see it has potentials to be improved over time.

ninehours

  • Guest
Re: The perfect collection software
« Reply #10 on: May 07, 2007, 09:21:41 PM »
To me the "Perfect" collection software was DVDP it was intuitive and easy to get to grips with i did not need to read any instructions i just installed it and started using it. That to me is perfect (Hope you don't mind the thoughts of the non technically minded)