Loading ...
Sorry, an error occurred while loading the content.
 

general comments about yahoo design patterns

Expand Messages
  • Ralph Johnson
    I ve been looking over the patterns, because I am interested in patterns in general. The patterns on the web site seem to me to be all user interface design
    Message 1 of 6 , Apr 1, 2006
      I've been looking over the patterns, because I am interested in patterns in general.

      The patterns on the web site seem to me to be all user interface design patterns.  They describe a variety of techniques for making better user interfaces.  They don't necessarily depend on any particular technology, though since they are Yahoo Design patterns, I assume they are meant for the web and so at least a few of them assume an AJAX environment.  Did I miss some patterns?

      Is there a document that describes the assumptions that the patterns make?  I haven't looked at the Yahoo UI library, so perhaps the main assumption is just that you are using that library.  However, the patterns tend not to mention it.

      Are all the patterns at the level of Auto Complete?  I would expect a few higher-level patterns that would lead to the overall design of the web site.

      The "solution" for Auto Complete is what a UI designer thinks of as a solution, not what a programmer thinks of as a solution.  For example, in an AJAX application, how do you divide the computation between client and server?  I  imagine that you don't want to go to the server on each keystroke, but you don't want to keep the whole database on the client.  So, you might use the first keystroke to fetch a subset of the database from the server, and then narrow down the selection with each keystroke.  But what really interests me is that you don't talk about issues like this.  Was it deliberate? 

      -Ralph Johnson
    • Deepak Alur
      Hi Ralph, Like you, i am new to the Yahoo Design Patterns and am studying them to understand better. At the AJAX seminar in NYC last month, i got a chance to
      Message 2 of 6 , Apr 1, 2006
        Hi Ralph,
        Like you, i am new to the Yahoo Design Patterns and am studying them to understand better.
        At the AJAX seminar in NYC last month,  i got a chance to listen to Bill Scott's presentation.
        After listening to Bill's talk and briefly reviewing them on this site,
        these patterns are aimed at UI designers and usability engineers.
        So most of these patterns are not application/web site design oriented.

        I think a higher level pattern that describes a larger problem, and then offers
        various options to solve the problem (what we call "Strategies"
        in our core J2EE patterns) can help tie the catalog of patterns together better.
        E.g "Search Results" can be a higher level pattern and the various strategies for that
        pattern can be "Search Pagination", "Object Pagination", and so on. So when I want to implement
        displaying search results, i walk through the "Search Results" pattern and depending on
        the forces and consequences, i end up choosing one of the strategies and implement that.

        Also, like in the GoF book, a commentary on interplay between the patterns can be helpful.
        (see example here: http://www.corej2eepatterns.com/Patterns2ndEd/PatternRelationships.htm
        and http://www.corej2eepatterns.com/Patterns2ndEd/index.htm)

        -deepak


        Ralph Johnson wrote:
        I've been looking over the patterns, because I am interested in patterns in general.

        The patterns on the web site seem to me to be all user interface design patterns.  They describe a variety of techniques for making better user interfaces.  They don't necessarily depend on any particular technology, though since they are Yahoo Design patterns, I assume they are meant for the web and so at least a few of them assume an AJAX environment.  Did I miss some patterns?

        Is there a document that describes the assumptions that the patterns make?  I haven't looked at the Yahoo UI library, so perhaps the main assumption is just that you are using that library.  However, the patterns tend not to mention it.

        Are all the patterns at the level of Auto Complete?  I would expect a few higher-level patterns that would lead to the overall design of the web site.

        The "solution" for Auto Complete is what a UI designer thinks of as a solution, not what a programmer thinks of as a solution.  For example, in an AJAX application, how do you divide the computation between client and server?  I  imagine that you don't want to go to the server on each keystroke, but you don't want to keep the whole database on the client.  So, you might use the first keystroke to fetch a subset of the database from the server, and then narrow down the selection with each keystroke.  But what really interests me is that you don't talk about issues like this.  Was it deliberate? 

        -Ralph Johnson
        --
        Untitled Document
      • billwaynescott
        Deepak did a good job of delineating between the software design patterns and interaction design patterns. Ralph, At Yahoo! I am in the User Experience &
        Message 3 of 6 , Apr 3, 2006
          Deepak did a good job of delineating between the software design
          patterns and interaction design patterns.

          Ralph,

          At Yahoo! I am in the User Experience & Design team. As such I choose
          to limit my view of patterns to that of User Interaction Design
          Patterns-- those related to describing patterns of user interaction. I
          am very aware of software design patterns as my first exposure to
          patterns was through the "Design Patterns" book on software by the so
          called Gang of Four.

          Michael Mahemoff is doing a good job of cataloging software design
          patterns for Ajax (as well as some interaction design patterns) at his
          site http://www.ajaxpatterns.org He also has an upcoming O'Reilly
          book titled "Ajax Patterns" that addresses both types of patterns.

          The Yahoo! patterns focus on interaction and for now focus on web
          patterns. They should apply to standard web sites, ajax-enabled or
          flash-enabled sites. They cover traditional web sites and rich
          internet applications.

          --- In ydn-patterns@yahoogroups.com, "Ralph Johnson" <johnson@...> wrote:
          >
          > I've been looking over the patterns, because I am interested in
          patterns in
          > general.
          >
          > The patterns on the web site seem to me to be all user interface design
          > patterns. They describe a variety of techniques for making better user
          > interfaces. They don't necessarily depend on any particular technology,
          > though since they are Yahoo Design patterns, I assume they are meant
          for the
          > web and so at least a few of them assume an AJAX environment. Did I
          miss
          > some patterns?
          >
          > Is there a document that describes the assumptions that the patterns
          make?
          > I haven't looked at the Yahoo UI library, so perhaps the main
          assumption is
          > just that you are using that library. However, the patterns tend not to
          > mention it.
          >
          > Are all the patterns at the level of Auto Complete? I would expect
          a few
          > higher-level patterns that would lead to the overall design of the
          web site.
          >
          > The "solution" for Auto Complete is what a UI designer thinks of as a
          > solution, not what a programmer thinks of as a solution. For
          example, in an
          > AJAX application, how do you divide the computation between client and
          > server? I imagine that you don't want to go to the server on each
          > keystroke, but you don't want to keep the whole database on the
          client. So,
          > you might use the first keystroke to fetch a subset of the database
          from the
          > server, and then narrow down the selection with each keystroke. But
          what
          > really interests me is that you don't talk about issues like this.
          Was it
          > deliberate?
          >
          > -Ralph Johnson
          >
        • Dan Malks
          Bill, Just some comments and questions... Perhaps not all members of your group are aware that Ralph Johnson, who posted the original question, is coAuthor of
          Message 4 of 6 , Apr 3, 2006
            Bill,
            Just some comments and questions...

            Perhaps not all members of your group are aware that Ralph Johnson, who posted the original question, is coAuthor of the "Design Patterns" book mentioned in your response text, below. Also, can you provide some comments on his question about the connections between the Yahoo UI Library code and the patterns? Seems like some of the patterns reference the libs, perhaps, but others not? Is there end-to-end code for some of these patterns in the UI lib? Also, Ralph asks about a more holistic, higher-level view (ie: "how these things fit together to create apps") and I don't think this is being covered specifically by the Ajax patterns mentioned in your response, which appear to be captured at a lower level of abstraction.
            Thanks,
            Dan

            billwaynescott wrote:
            Deepak did a good job of delineating between the software design
            patterns and interaction design patterns.
            
            Ralph,
            
            At Yahoo! I am in the User Experience & Design team. As such I choose
            to limit my view of patterns to that of User Interaction Design
            Patterns-- those related to describing patterns of user interaction. I
            am very aware of software design patterns as my first exposure to
            patterns was through the "Design Patterns" book on software by the so
            called Gang of Four.
            
            Michael Mahemoff is doing a good job of cataloging software design
            patterns for Ajax (as well as some interaction design patterns) at his
            site http://www.ajaxpatterns.org. He also has an upcoming O'Reilly
            book titled "Ajax Patterns" that addresses both types of patterns.
            
            The Yahoo! patterns focus on interaction and for now focus on web
            patterns. They should apply to standard web sites, ajax-enabled or
            flash-enabled sites. They cover traditional web sites and rich
            internet applications.
            
            --- In ydn-patterns@yahoogroups.com, "Ralph Johnson" <johnson@...> wrote:
              
            I've been looking over the patterns, because I am interested in
                
            patterns in
              
            general.
            
            The patterns on the web site seem to me to be all user interface design
            patterns.  They describe a variety of techniques for making better user
            interfaces.  They don't necessarily depend on any particular technology,
            though since they are Yahoo Design patterns, I assume they are meant
                
            for the
              
            web and so at least a few of them assume an AJAX environment.  Did I
                
            miss
              
            some patterns?
            
            Is there a document that describes the assumptions that the patterns
                
            make?
              
            I haven't looked at the Yahoo UI library, so perhaps the main
                
            assumption is
              
            just that you are using that library.  However, the patterns tend not to
            mention it.
            
            Are all the patterns at the level of Auto Complete?  I would expect
                
            a few
              
            higher-level patterns that would lead to the overall design of the
                
            web site.
              
            The "solution" for Auto Complete is what a UI designer thinks of as a
            solution, not what a programmer thinks of as a solution.  For
                
            example, in an
              
            AJAX application, how do you divide the computation between client and
            server?  I  imagine that you don't want to go to the server on each
            keystroke, but you don't want to keep the whole database on the
                
            client.  So,
              
            you might use the first keystroke to fetch a subset of the database
                
            from the
              
            server, and then narrow down the selection with each keystroke.  But
                
            what
              
            really interests me is that you don't talk about issues like this. 
                
            Was it
              
            deliberate?
            
            -Ralph Johnson
            
                
            
            
            
            
            
             
            Yahoo! Groups Links
            
            <*> To visit your group on the web, go to:
                http://groups.yahoo.com/group/ydn-patterns/
            
            <*> To unsubscribe from this group, send an email to:
                ydn-patterns-unsubscribe@yahoogroups.com
            
            <*> Your use of Yahoo! Groups is subject to:
                http://docs.yahoo.com/info/terms/
             
            
            
            
            
            
            
            
              
          • Ralph Johnson
            I ve been reading Michael Mahemoff s patterns for several months. This morning we met to discuss some of them. We do this most weeks, and we send MP3s of the
            Message 5 of 6 , Apr 3, 2006
              I've been reading Michael Mahemoff's patterns for several months.
              This morning we met to discuss some of them. We do this most weeks,
              and we send MP3s of the discussion to Michael.

              The Ajax patterns do a reasonably good job of having both high and low
              level patterns, and the more UI-oriented patterns lead into more
              code-oriented patterns.

              Since you say that the Yahoo design patterns are related to a library,
              I figured there would probably be some discussion of how a design
              patterns leads to a use of the library. I think the patterns would be
              more useful if you described the connection for each pattern.

              -Ralph Johnson
            • billwaynescott
              Thanks for pointing out Ralph s incredible contribution to the world of patterns. And before I answer your questions let me thank Ralph for the Design Patterns
              Message 6 of 6 , Apr 3, 2006
                Thanks for pointing out Ralph's incredible contribution to the world
                of patterns. And before I answer your questions let me thank Ralph for
                the Design Patterns book. It really formalized my thinking in the
                world of software architecture. And of course it influenced and
                challenged me to think of interactions in the same way.

                Your question about the relation between the Y! design pattern and the
                Y! code library.

                You are correct in that the association is rather loose at this point
                on the public site. Internally, we work closely with the code library
                team and use the patterns to flesh out the design of the components
                and libraries.

                The tension is that the code libraries are built in a generic manner
                and the most specific patterns become prescriptive in nature. This
                necessitates that a example code be built that more closely ties the
                pattern with the code. We have not had the chance to create these
                examples.

                For example, internally we have an example of drag and drop modules.
                In fact Eric Miraglia uses it in teaching the class on the code
                library. But we do not have this code publicly available for various
                reasons. We do have the drag and drop library and the Drag & Drop
                Modules pattern points to it.

                So our plan over time is to create one-for-one examples using the Y!
                UI library code for each pattern (where it makes sense.)

                Additionally, I am considering opening up the pattern library code
                examples to other libraries (Dojo, Scriptaculous, Rails, Backbase,
                Rico, MochiKit, Tibco, JackBe and so on) to provide specific code
                examples that implement the given pattern.

                I believe very strongly that much of the power of these patterns is to
                create a solution vocabulary from which to hang good examples of code.
                It also would be an excellent place to reference underlying software
                design patterns that would inform the architecture for implementing
                the interaction design pattern.

                On the larger issue of how these things fit together to create apps...

                Well I was actually working on a book on this topic but abandoned it
                due to time constraints. I think this is what Michael is trying to do
                with the Ajax Patterns book, however, I have not had a chance to look
                at it.

                I try to discuss this in various workshops that I do. I frame the
                patterns in the context of 9 design principles and then get down into
                the code. However, I really don't deal with app construction from a
                software pattern perspective. I think that would be a worthwhile addition.

                --- In ydn-patterns@yahoogroups.com, Dan Malks <dan@...> wrote:
                >
                > Bill,
                > Just some comments and questions...
                >
                > Perhaps not all members of your group are aware that Ralph Johnson, who
                > posted the original question, is coAuthor of the "Design Patterns" book
                > mentioned in your response text, below. Also, can you provide some
                > comments on his question about the connections between the Yahoo UI
                > Library code and the patterns? Seems like some of the patterns
                reference
                > the libs, perhaps, but others not? Is there end-to-end code for some of
                > these patterns in the UI lib? Also, Ralph asks about a more holistic,
                > higher-level view (ie: "how these things fit together to create apps")
                > and I don't think this is being covered specifically by the Ajax
                > patterns mentioned in your response, which appear to be captured at a
                > lower level of abstraction.
                > Thanks,
                > Dan
                >
                > billwaynescott wrote:
                > > Deepak did a good job of delineating between the software design
                > > patterns and interaction design patterns.
                > >
                > > Ralph,
                > >
                > > At Yahoo! I am in the User Experience & Design team. As such I choose
                > > to limit my view of patterns to that of User Interaction Design
                > > Patterns-- those related to describing patterns of user interaction. I
                > > am very aware of software design patterns as my first exposure to
                > > patterns was through the "Design Patterns" book on software by the so
                > > called Gang of Four.
                > >
                > > Michael Mahemoff is doing a good job of cataloging software design
                > > patterns for Ajax (as well as some interaction design patterns) at his
                > > site http://www.ajaxpatterns.org He also has an upcoming O'Reilly
                > > book titled "Ajax Patterns" that addresses both types of patterns.
                > >
                > > The Yahoo! patterns focus on interaction and for now focus on web
                > > patterns. They should apply to standard web sites, ajax-enabled or
                > > flash-enabled sites. They cover traditional web sites and rich
                > > internet applications.
                > >
                > > --- In ydn-patterns@yahoogroups.com, "Ralph Johnson" <johnson@> wrote:
                > >
                > >> I've been looking over the patterns, because I am interested in
                > >>
                > > patterns in
                > >
                > >> general.
                > >>
                > >> The patterns on the web site seem to me to be all user interface
                design
                > >> patterns. They describe a variety of techniques for making
                better user
                > >> interfaces. They don't necessarily depend on any particular
                technology,
                > >> though since they are Yahoo Design patterns, I assume they are meant
                > >>
                > > for the
                > >
                > >> web and so at least a few of them assume an AJAX environment. Did I
                > >>
                > > miss
                > >
                > >> some patterns?
                > >>
                > >> Is there a document that describes the assumptions that the patterns
                > >>
                > > make?
                > >
                > >> I haven't looked at the Yahoo UI library, so perhaps the main
                > >>
                > > assumption is
                > >
                > >> just that you are using that library. However, the patterns tend
                not to
                > >> mention it.
                > >>
                > >> Are all the patterns at the level of Auto Complete? I would expect
                > >>
                > > a few
                > >
                > >> higher-level patterns that would lead to the overall design of the
                > >>
                > > web site.
                > >
                > >> The "solution" for Auto Complete is what a UI designer thinks of as a
                > >> solution, not what a programmer thinks of as a solution. For
                > >>
                > > example, in an
                > >
                > >> AJAX application, how do you divide the computation between
                client and
                > >> server? I imagine that you don't want to go to the server on each
                > >> keystroke, but you don't want to keep the whole database on the
                > >>
                > > client. So,
                > >
                > >> you might use the first keystroke to fetch a subset of the database
                > >>
                > > from the
                > >
                > >> server, and then narrow down the selection with each keystroke. But
                > >>
                > > what
                > >
                > >> really interests me is that you don't talk about issues like this.
                > >>
                > > Was it
                > >
                > >> deliberate?
                > >>
                > >> -Ralph Johnson
                > >>
                > >>
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > > Yahoo! Groups Links
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                > >
                >
              Your message has been successfully submitted and would be delivered to recipients shortly.