View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Sp01 Final Exam Review: Individual Communications Tool

See Final Exam Review - Sp2001

Comments? Answers? Criticisms?

a)Well the system will probably need a way to notify the user that they received voicemail or have someone apging them so I would say implement it in Morphic, since it can handle Multimedia much better than MVC. Also, Morphic is more flexible and powerful and provides a better looking interface. But then again, MVC is faster so it would depend on the goals of the system (time vs. notification/easy to use interface). And if u think about it you wouldnt want to wait a long time for your garage door to open, especially if you're right infront of it. Maybe I'm looking too much into it.

b)Interview and research the prospective users and see if they would like this new idea or find it useful. Also, you would have to find out if your users are able to handle mult-tasking like that: driving, and talking on the phone and opening garage door using the same device. You can also create a mock-up and have potential users go through a congnitive walkthrough, that way you'll know if your idea is worth implementing or not.

c) a - use MessageTally tallySends (hey Tali!) to figure out where the slow parts are, or you could use TimeProfileBrowser and see the code as well as the time it took
b - I dont know about this one. Maybe you can review the types of collections you used and see if you can find any faster ones, instead of OrderedCollections use Bags or something like that.

Is this correct?
These are nice, but there's more than one correct answer to this one. Mark Guzdial

To answer the MVC vs. Morphic question requires an in depth look into the functional requirements of the device. If all of our windows are going to be square and we don't require the curves, bevels, and other realistic, concrete features that Morphic provides, then it could be bad to go with Morphic, which is a slower UI system– we're probably going to need all the processing power we can get on this small PDA device. An HCI experiment may even show that a drag-n-drop interface is nice but too difficult and awkward to use on a small device. If our web-browser only has to show a subset of HTML (like the Palm: text and small images only) then maybe it would be a waste of processor time to use Morphic.

However, if we were to go with a slightly larger device (perhaps something designed to stay in the car) that has more processing power, and a larger display with easier to use input devices, then perhaps we should go with Morphic. The web browser could be capable of handling more multimedia content– and we could harness the power of a drag-n-drop interface. Speed wouldn't be an issue since we have the increased processing power. With an increased display size, we could have four windows: one for the web-browser, beeper, phone, and garage-door opener. In addition, because Morphic allows for different shaped windows, the different windows could be shaped like a phone, a beeper, etc.

So, in short, the UI system to chose probably depends on a number of variables including processing speed, device size, and additional feature requirements.

Most users know what is best for them, so it would probably be best to interview prospective users. We already know who the typical user will be; next, we might want to spend a little bit of time understanding the user: "What will the user need help with?", "What other features might the typical user want?", etc. The design team will also want to understand the task and try to answer questions like "When and where will the device be used?", "How often do you use the cell phone? browse the web?" etc. You might find that these soccer moms want an 'automatic' callback feature when paged or an easy way to look up a number on the web and then dial it. The design team might also want to create a physical prototype (that doesn't actually work or has limitted functionality) and ask soccer moms what they think of its size, ease of use, etc.

There are several ways to identify the slow parts of the system.
Once, you have found the critical points, you can do several things to optimize your code.
Doug Powers

Folks, can anyone summarize the KEY difference between Morphic and MVC? I'll give you a hint: Swing is like MVC, VB is like Morphic. Mark Guzdial

I think the key difference between morphi can MVC is the fact that MVC allows window and its subwindows to resize which gives us a flexable UI. While Morphic's windows are a given size and when Resizing the main window, the Sub windwos will not resize by themselves.
I think that squeak need the basic primitives(int and is operations, float and its operations, ETC...). This allows the mathmatical part of the problem to be much faster... This is because there will not be a need to do a message look up to see which class need to handle the message... To identify these problem all you need to do is add a counter to each method and see which method is getting ran the most... But rewriting those methods that are frequently ran with better Algorithm you can dramaticly improve proformance.
Actually, resizing windows and subwindows works fine in both MVC and Morphic – it's a matter of how you set the windows up. This question is more about design issues involved in doing a MVC-based GUI and a Morphic-based GUI, and isn't as much about nuts-and-bolts issues that are different. -Lex Spoon

I listed a few differences in Sp01 Final Exam Review: MVC vs. Morphic. The major design difference is that Morphic has the model, view, and controll combined by default whereas MVC forces the programmer to keep them seperated. Any hints on why this difference should affect whether I implement this browswer/beeper/phone in Morphic or MVC?
Doug Powers

I see the key difference here being that MVC provides multiple controllers whereas Morphic does not. Since this product is meant to be used for four completely different tools, in terms of ui, it would make most sense to go with MVC.

so you're saying that there is no way to create this kind of an effect in Morphic? I would think that since morphic is a newer and more advanced interface it would have that functionality. Maybe it wouldn't be as simple to implement as in MVC but you would still be able to do it. Any thoughts? Arkady

Link to this Page