tisdag 5 juli 2011

The Design Process

The Design Process

This chapter offers some basic tips on how to make the best design choices for your software. Great software design involves a careful analysis of the needs of your users; after all, they are the ones who will use your product. Identifying their needs and finding ways to meet those needs are important first steps in the design process.

Involving Users in the Design Process

The best way to make sure your product meets the needs of your target audience is to expose your designs to the scrutiny of your users. Doing this during every phase of the design process can help reveal which features of your product work well and which need improvement.
When you give people an opportunity to use your product (or a prototype of it) you may uncover usability problems that you did not anticipate during your initial design phase. Finding and eliminating these problems early can save you time and money later on. Clearly identifying the needs of your users helps you create products that deliver effective solutions and are typically easier for them to learn and use. These improvements can translate into competitive advantages, increased sales, and enhanced customer satisfaction.

Know Your Audience

Identifying and understanding your target audience are important first steps when designing your product. Equally important is the analysis of similar products in related markets to see what audiences they target and whether those products would be competitors or would interleave nicely with yours. Understanding the approach taken by other product designers might give you insight into the needs of your own target users.
It is useful to create scenarios that describe a typical day of a person who uses the type of software product you are designing. Think about the different environments, tools, and constraints that this person deals with. If possible, visit actual workplaces and study how people perform those tasks you intend your product to help them perform.
Throughout the design process, find people who fit your target audience to test your prototypes. Listen to their feedback and try to address their concerns. Develop your product with people and their capabilities—not computers and their capabilities—in mind.
Recognize that, as an application developer or interface designer, you have a greater wealth of knowledge and a more intricate understanding of your application than your customers are likely to have. Although you should use that knowledge to choose the best default settings or decide the best presentation of information, remember that you are not designing the program for yourself. It is not your needs or your usage patterns that you are designing for, but those of your (potential) customers.

Analyze User Tasks

When you have defined your audience, you need to define and analyze the tasks that your users might perform. Discover the mental or conceptual model people associate with the task your product will help them perform. A mental model paints a picture of a task and defines expectations about the components of the task, the organization of those components, and the overall workflow.
To help you discover the mental models people associate with your product’s tasks, look at how they perform similar tasks without a computer. What terminology do they use? What concepts, objects, and gestures do your users associate with this task? Design your product to reflect these things, but don’t insist on replicating each step a user might take when performing the task without a computer. Take advantage of the inherent strengths of the computing environment to make the whole process easier or more streamlined. For more information on how the user’s mental models should inform your design, see “Reflect the User’s Mental Model.”

Build Prototypes

Use the information about tasks and their component steps to create an initial design, and then create a prototype of your design. Prototyping is a good way to test aspects of your design and verify how well they will work for your users. You can use a variety of techniques to construct prototypes, not all of which involve writing code. For example, you can create storyboards that visually show the appearance of your product as users go through the steps of a specific task. You can also use prototyping software to simulate some features of your product or demonstrate how it will operate.

Observe Users

Once you have a prototype, let some target users try it out and observe their reactions to it. Watch and listen carefully to these users, and try to videotape their reactions as they work through specific tasks you’ve defined for your prototype. User observations can help you determine how well your design works or where there are problems. If product designers and engineers are available, encourage them to watch the tests, but prevent them from interacting with the users so that they do not influence the test results.
During user testing, be sure to limit the scope of your tests to key areas of your product. Focus on the tasks you identified during your task analysis. Your instructions to the participants should be clear and complete but should not explain how to do things you’re trying to test.
Use the information recorded from your user tests to analyze your design and use that information to revise your prototype. When you have a second prototype, conduct a second set of user observations to test the workability of your design changes. You can repeat this process as often as you like until you feel confident that you’ve addressed the needs of your target audience and created a highly usable product that displays the characteristics of great software (see “Characteristics of Great Software”).

Guidelines for Conducting User Observations

There are many ways to get feedback from users during the design process. These include usability testing, cognitive walkthroughs, group walkthroughs, on-site observations, and heuristic walkthroughs. You can use the following guidelines when conducting user observations, but note that they can apply more generally to other types of testing as well. Remember that testing is not an experiment; you will not get quantitative data that can be statistically analyzed. You can, however, see where people have difficulty using your product, and then use that information to improve your product.
If time and budget permit, consider working with a professional usability testing facility to conduct this type of testing. If this is not feasible, try to allow a cross-section of colleagues within your company to use a prototype of your product and gather their feedback. This alone will improve the usability of your product because some testing is far better than no testing.
If you choose to conduct your own user observation-based testing, following these guidelines will help you get the most valuable data:
  • Introduce yourself and describe the purpose of the observation (in very general terms). Most of the time, you shouldn’t mention what you’ll be observing. Make it clear to the participant that you are testing your product, not the participant.
  • Tell the participant about how long the test will take and that it’s OK to quit at any time, for any reason. The user should never feel pressured to complete a test. Besides, quitting may indicate that the underlying task is too difficult or complex and should be simplified.
  • A common testing methodology is to use the think-aloud protocol. If you are using this protocol, explain how to do it. Ask participants to think aloud during the observation, saying what comes to mind as they work. By listening to participants think and plan, you’ll be able to examine their expectations for your product as well as their intentions and their problem-solving strategies.
    You may find that listening to users as they work will provide you with an enormous amount of useful information. In particular, you’ll discover some of the details of the mental model the user has of the task. You can help users practice thinking aloud by having them describe a simple task, like how they prepare a cup of coffee.
  • Describe in general terms what the participant will be doing. Explain what all the materials are and the sequence in which the participant will use them. If you are using a lab, explain the purpose of each piece of equipment in the room (hardware, software, recording devices, and so forth) and how it will be used in the test. If you need to demonstrate your product before the user observation begins, be sure you don’t demonstrate something you’re trying to test.
  • It is very important that you allow participants to work with your product without any interference or extra help from the facilitator, the analyzer, or anyone else. This is the best way to see how people really interact with the product. For example, if you see a participant begin to have difficulty and you immediately provide an answer, you will lose the most valuable information you can gain from user observation: determining where users have trouble and how they figure out what to do.
  • Conclude by explaining what you were trying to find out and answer any questions the participant may have.
  • Use the results. As you observe, you will see users doing things you may never have expected them to do. When you see participants making mistakes, your first instinct may be to blame their inexperience or lack of intelligence. This is the wrong response to have. Remember that the purpose of observing users is to learn what parts of your product might be difficult to use or ineffective because of faulty product design.
  • Watch for patterns. Just because one user has a problem with something, that doesn’t mean every user will. Carefully consider why the single user had the problem and consider discarding that finding if it can be easily explained, otherwise, recognize that the software may be faulty.
  • Review all results with a cross-functional team comprising representatives of product management, marketing, engineering, human interface design, documentation, and quality assurance. Each of these participants will view the results through the lens of their own expertise, enabling them to provide valuable insights into various usability issues with which the users might have struggled.

Making Design Decisions

When making design decisions regarding features in your application, it’s important to weigh the costs, not all of which are financial, against the potential benefits. Every time you add a feature to your application, the following things can happen:
  • Your application gets larger.
  • Your application gets slower.
  • Your application’s human interface becomes more complex.
  • You spend time developing new features rather than refining existing features.
  • Your application’s documentation and help become more extensive.
  • You run the risk of introducing changes that could adversely affect existing features.
  • You increase the time required to validate the behavior of your application.
Choosing appropriate features and devoting the needed resources to implement them correctly can save you time and effort later. Choosing poor feature sets or failing to assign appropriate design, engineering, testing, and documentation resources often incurs heavier costs later when critical bugs appear or users can’t figure out how to use your product.
The following sections present several additional factors to take into consideration before adding features to your product.

Avoid Feature Cascade

If you are developing a simple application, it can be very tempting to add features that aren’t wholly relevant to the original intent of the program. This feature cascade can lead to a bloated interface that is slow and difficult to use because of its complexity. Try to stick to the original intent of your program and include only features that are relevant to the main workflow.
The best products aren’t the ones with the most features. The best products are those whose features are tightly integrated with the solutions they provide, making them the most usable.

Apply the 80 Percent Solution

During the design process, if you discover problems with your product design, you might consider applying the 80 percent solution—that is, designing your software to meet the needs of at least 80 percent of your users. This type of design typically favors simpler, more elegant approaches to problems.
If you try to design for the 20 percent of your target audience who are power users, your design may not be usable by the other 80 percent of users. Even though that smaller group of power users is likely to have good ideas for features, the majority of your user base may not think in the same way. Involving a broad range of users in your design process can help you find the 80 percent solution.

Källa:

Interaktivitetsdesign och grafik

Animation och GUI-design
På länken nedan finns en bra och uttömmande föreläsning kring hur Disneys principer kan användas kopplat till GUI-design


Länkar


Design
De följande länkarna innehåller väldigt mycket inspiration kring vilka designmöjligheter man har med t.ex Flash (och liknande applikationer). Dessutom finns det ett par länkar som tar upp principer som t.ex Grid-metoden.


Om Grid-design (inkl kritik)

Referenser
Bernhardsson, Patrik (2011). Multimediaproduktion, modul 5, Interaktionsdesign och grafik. [Elektroniskt] http://disco.hv.se/courses/5660/index.html Tillgänglig: <http://disco.hv.se/courses/5660/88975/files/interaktivitetsdesign_forts.html>[2011-07-05].

Interaktivitetsdesign

Design 1


Det här avsnittet kommer att handla om vad interaktivitet kan innebära samt multimodalitet, dvs hur vi kombinerar ljud, bild, text och film för att uppnå önskad effekt. 


Första delen handlar om interaktivitet både i stort (macro) och litet (micro) perspektiv.

I stort perspektiv pratar vi om olika typer struktur i vår produkt, och i litet perspektiv pratar vi om hur vi utformar en specifik sida för att underlätta interaktivitet. 


Macroperspektiv
När man pratar om m

Microperspektiv



Referenser
Bernhardsson, Patrik (2011). Multimediaproduktion, modul 4, Design 1. [Elektroniskt] http://disco.hv.se/courses/5660/index.html Tillgänglig: <http://disco.hv.se/courses/5660/88633/files/interaktivitetsdesign.html>[2011-07-05].

Flash för video

FLV CONTAINER
  • FLV 
  • F4A
  • F4V
    • (Flash Player 9, Update 3)


FLV CONTAINER
  • On2 VP6
  • Sorenson spark (H.263)
  • H.264 (riktigt bra komprimeringsteknik - men kräver sin hårdvara).
  • AAC
  • MP3


PROGRAM/ENCODERS

  • Adobe Media Encoder
  • Flash
  • Premiere/After Effects
  • Sorenson Squeeze
  • On2 Flix Pro


ATT KOMPRIMERA
  • En kombination av:
    • Antal rutor (frames)
    • Antal nyckelrutor (keyframes)
    • Dimensionerna
    • Bitrate

FÅNGA VIDEO
  • Undvik zoom och pan
  • Unvik övergångar
  • Undvik autofokus
  • Använd stativ
  • Tänk på ljuset
  • Tänk på ljudet


WEBBSPELARE
  • JW Flash Player
    • http://www.longtailvideo.com/palyers/jw-flv-player/
  • Flow Player
    • http://flowplayer.org/


Referenser
Bernhardsson, Patrik (2011). Multimediaproduktion, modul 3, Flash som mediebärare. [Elektroniskt] http://disco.hv.se/courses/5660/index.html Tillgänglig: <http://disco.hv.se/courses/5660/88430/files/flash_mediebarare.html>[2011-07-05].

måndag 4 juli 2011

Filformat

Bild
  • MPEG 1,2 & 4
  • H.264
  • H.263/3GP
  • WMV
  • MOV
Ljud
  • MPA
  • MP3
  • VMA
  • AAC
Codec
  • enCOder-DECoder
  • En komponent som behandlar/tolkar data på olika sätt
  • Bildcocec
  • Ljudcodec
  • Om ej korrekt codec finns går det ej att spela upp materialet
  • Ej heller att skapa material i ett specifikt filformat 
(de-)Multiplex
  • Att ta isär eller sätt ihop bild och ljud
  • En separat ljudfil
  • En separat bildfil
  • Vissa program tar endast emot assets på detta vis
MPEG
  • Moving Picture Experts Group, grundad 1988
  • Består av tre delar
    -Ljud, bild och system.

  • MPEG 1
    -Främst för CD-ROM
  • MPEG 2
    -För TV (DVD, HDTV)
    • Okomprimerad film
      =20 MB/s = 144 GB (inget ljud inkl.)
    • 32:1 för att få med film, text, ljud osv
    • Lösningen: MPEG2 -Bygger på att det mesta av informationen i en film är spatialt och temporärt redundant.

    • Group of picture
      GOP
    • I BB P BB P BB P
      BB P BB I
    • Group of Picture of
      15
    • 15 representerar intervallet mellan I-frames

  • I-frame
    -Intra frame är en komprimerad bild som ändå innehåller all data
    -Predictive beräknas av tidigare I eller P, högre kompri och står modell för
    -Bi-directional hårt kompri använder både frames före och efter

  • Variable Bitrate
    • 4 Mbps = 120 min = 4,7 GB
    • 4 Mbps stundtals inte tillräckligt i komplexa scener (tänk Matrix)
      -Höj bitraten
      -Minska redudansen
       genom att filtrera bort skräp...
  • MPEG 3
    -Var tänkt för HDTV, men ersattes av MPEG 2
  • MPEG 4
    -Framtagen för att användas inom flera olika tillämpningar. Från 3G till HDTV
    -WMV, DivX, XviD, VC-1

Ljudformat


Bildformat MOV

Ljudformatet som hör till MOV

Bildformat WMV

Ljudformatet som hör till

Bildformat H.263

Bildformat H.264


WAVE, nytt ljudformat

OGG, ljudformat (open source)
FLAC , ljudformat (open source)
AC-3
Matroska


FileInfo


Crutchfield
En sorts


Referenser


Bernhardsson, Patrik (2011). Multimediaproduktion, modul 3, Filformat [Elektroniskt] http://disco.hv.se/courses/5660/index.html Tillgänglig: <http://disco.hv.se/courses/5660/88430/files/mpa_modul3_filformat.html>[2011-07-04].

fredag 1 juli 2011

Ansvarsfördelning

Ansvarsfördelning

Uppgiftskontrakt/Ansvarskontrakt
Det är viktigt att ha någon huvudansvarig för varje aktivitet, vilket kan dokumenteras med ett uppgiftskontrakt som i exemplet nedan.Det används för att minimera missförstånd i gruppen genom att man vet vem som är ansvarig för uppgiften. På så sätt säkerställer man också att aktiviteten blir klar och att man får det resultat man förväntar sig.


Bilden visar ett Uppgiftskontrakt/Ansvarskontrakt

  • I uppgiftskontraktet skriver man upp vilken händelse det gäller.
  • Och vilken person som är ansvarig för aktiviteten.
  • Utgångspunkten syftar till att beskriva var man befinner sig idag.
  • Slutligen skriver man vilket resultat man väntar sig när aktiviteten är avslutad. Det är viktigt att det är ett mätbart resultat så att man vet när man är klar.


    Anvarsfördelning med Gannt-schema
    Man kan också göra det genom att använda ett Gannt-schema. Där man lägger upp uppgifterna enligt tidsaxeln och med ansvariga personer.
Bilden visar exempel på Ansvarisfördelning med
hjälp av ett Gannt-schema.


IT som planeringsverktyg

Datorstöd
Fördelen är att man kontinuerligt kan gå in ändra och uppdatera i sitt projekt så att man vet hur man ligger till i tidsplanen. Det här är bra om man har ett stort projekt annars kan det vara svårt att gå in och justera smådelar i projektet.

Men det kan även vara bra att enbart använda papper och penna för att engagera hela projektgruppen och sedan föra in det i datorn.


Programvaror
Det finns programvaror som gör PERT-scheman, Gannt-scheman och även de som gör både och. Ett exempel är Smart Draw finns som en testversion som man kan testa ett antal dagar.


Referenser
Bernhardsson, Patrik (2011). Multimediaproduktion, modul 2, Modeller för projekt. [Elektroniskt] http://disco.hv.se/courses/5660/index.html Tillgänglig: <http://disco.hv.se/courses/5660/88161/files/wpa_m3.html>[2011-06-29].

Gannt-schema

Fördelar
  • Gannt-schemat är ett schematiskt sätt att planera aktiviteter.
  • Brukar komma in när man har gjort klart PERT-Schemat, då man vill se hur aktiviteterna ligger i relation till tiden.
  • Gannt-schemats stora fördel är att den är baserad längs en tidsaxeln så att man kan se start och slutdatum.
  • Används för att kunna jämföra det planerade utförandet med hur det aktuella utförandet. På sätt kan man få en uppföljning av arbetets gång.
Nackdelar
  • En svaghet med Gannt-schemat är att det inte påvisar relationen mellan de olika aktiviteterna.
  • Det gör däremot PERT-Schemat vilket innebär att de kompletterar varandra.
Två olika typer
  • Load Charts
    Används ofta vid kontstruktionsprojekt. Vid extra arbetsbelastning gå in ett mer detaljerat Gannt-schema.
  • Projekt Planning Charts
    Används oftast.

Enkelt Gaant-Schema

Bilden visar ett enklare Gannt-Schema

Avancerat Gannt-SchemaAnvänds vid större projekt.

Bilden visar ett mer avancerat Gannt-schema

Referenser
Bernhardsson, Patrik (2011). Multimediaproduktion, modul 2, Modeller för projekt. [Elektroniskt] http://disco.hv.se/courses/5660/index.html Tillgänglig: <http://disco.hv.se/courses/5660/88161/files/wpa_m3.html>[2011-06-29].