a) MVC would be the answer here. Several of these different functions of this device would use common models but4 would have different views on top of them. For Instance, all of the various functions ahve to have the ability to communicate with the world in some way which could conceiveably be derived from similar objercts. MVC would allow us to construct the different views for each of these much more easily than Morphic.
b) hmmm. Don't think this would get me credit on the test.
c) The first thing (and normally the most effective) thing you can do to speed up your squeak is to change the algorithmn. Some of the other minor things you might consider are "Am I using the most efficient storage class to hold my data". Jared Parsons
b) Make sure it is designed with familiar principles... it should probably look a lot like a cell phone for the cell phone to be practical, instead of some weird, intimidating gadget.
Also, a survey of the respective audience would help give the designers what they should be aiming for. Matt Quigley
Let's talk some more about optimization. Consider the options I gave you in class on Thursday. Mark Guzdial
b) You should probably talk to a soccer mom of this type and ask them how they would use it. Watch them in action, etc.
c) along with more efficient algorithms, key aspects or operations that are performed numerous times and/or are slow should be turned into a primitive to speed it up. You should benchmark your methods using.. the method Mark used in class :) to figure out where the slow parts of the program is. Jesse Shieh
c) if operations are being performed by each class numerous times or a specific function is repeated again and again, try putting all common methods into a General class and have all classes using it relate to this class. That way, the operations would be a little be less. Also changing algorithms as well as defining some primitives to boots things up also helps.
A little question concerning part a) It was said that MVC would be the best. However, for web browsing, dont you think that there would be some graphics involved and if so, wouldnt Morphic be preferred since its better with graphical stuffs. For the rest, MVC seems the better choice but the web browsing threw me off a bit...just wondering? Any ideas? Thanks
I have to agree with the MVC on the reasons above cause implementing advance graphics beyond MVC abilities would probably require more hardware than price would allow. But I have a second reason for it, since we seem to be adding any functionality that involves recieving/tranmission of radio waves, I would have to think that new generations of software would be made on this with new functionality, thus having a more maintainable interface becomes important, hence we would want MVC. Also I hate to say this but what was the method Mark used in class Robert Schierholz
c) MessageTally is a good way to see what's slowing things down. As well as the TimeProfileBrowser. First decide if your algorithm is optimal, if there is a better way to do things. Having done that there is still more to do. If you find that what is slowing it down is a particular message that gets repeated quite often, you need to make a primitive to speed up that particular message. Finally, if everything is still too slow, try implementing what mark was talking about earlier on review and rewrite your VM using L1 cached register variables instead of a stack!!