윈도우 앱개발을 향하여

블로그 이미지
윈도우 10 스토어에 앱을 개발해 올리는 것을 목표로 하고 있습니다. 비전공자가 독학으로 시도하는 일이어서 얼마나 걸릴지 모르겠지만... 아무튼 목표는 그렇습니다!!
by 코딩하는 경제학도
  • Total hit
  • Today hit
  • Yesterday hit

'분류 전체보기'에 해당되는 글 56건

  1. 2018.01.02
    DependencyObject
  2. 2018.01.01
    (Localization and Globalization in .NET) Globalization
  3. 2018.01.01
    (Localization and Globalization in .NET) Considerations
  4. 2017.12.30
    (Localization and Globalization in .Net) Fundamentals
  5. 2017.12.29
    CultureInfo description from metadata
  6. 2017.12.29
    (UX Basic) The UX Process
  7. 2017.12.28
    (UX Basic) Roles in User Experience
  8. 2017.12.28
    (UX Basic) UX Core Concepts and Terminology
  9. 2017.12.25
    (Design Basic) The Fundamental Gestalt Principles - Understanding Perception
  10. 2017.12.25
    (Design Basic) Color

#region Assembly Windows.Foundation.UniversalApiContract, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime

// C:\Program Files (x86)\Windows Kits\10\References\10.0.15063.0\Windows.Foundation.UniversalApiContract\4.0.0.0\Windows.Foundation.UniversalApiContract.winmd

#endregion


using Windows.Foundation;

using Windows.Foundation.Metadata;

using Windows.UI.Core;


namespace Windows.UI.Xaml

{

    //

    // Summary:

    //     Represents an object that participates in the dependency property system. Windows.UI.Xaml.DependencyObject

    //     is the immediate base class of many important UI-related classes, such as Windows.UI.Xaml.UIElement,

    //     Windows.UI.Xaml.Media.Geometry, Windows.UI.Xaml.FrameworkTemplate, Windows.UI.Xaml.Style,

    //     and Windows.UI.Xaml.ResourceDictionary.

    [Composable(typeof(IDependencyObjectFactory), CompositionType.Protected, 65536, "Windows.Foundation.UniversalApiContract")]

    [ContractVersion(typeof(UniversalApiContract), 65536)]

    [MarshalingBehavior(MarshalingType.Agile)]

    [Threading(ThreadingModel.Both)]

    [WebHostHidden]

    public class DependencyObject : IDependencyObject, IDependencyObject2

    {

        //

        // Summary:

        //     Provides base class initialization behavior for Windows.UI.Xaml.DependencyObject

        //     derived classes.

        protected DependencyObject();


        //

        // Summary:

        //     Returns the current effective value of a dependency property from a Windows.UI.Xaml.DependencyObject.

        //

        // Parameters:

        //   dp:

        //     The Windows.UI.Xaml.DependencyProperty identifier of the property for which to

        //     retrieve the value.

        //

        // Returns:

        //     Returns the current effective value.

        public object GetValue(DependencyProperty dp);

        //

        // Summary:

        //     Sets the local value of a dependency property on a Windows.UI.Xaml.DependencyObject.

        //

        // Parameters:

        //   dp:

        //     The identifier of the dependency property to set.

        //

        //   value:

        //     The new local value.

        public void SetValue(DependencyProperty dp, object value);

        //

        // Summary:

        //     Clears the local value of a dependency property.

        //

        // Parameters:

        //   dp:

        //     The Windows.UI.Xaml.DependencyProperty identifier of the property for which to

        //     clear the value.

        public void ClearValue(DependencyProperty dp);

        //

        // Summary:

        //     Returns the local value of a dependency property, if a local value is set.

        //

        // Parameters:

        //   dp:

        //     The Windows.UI.Xaml.DependencyProperty identifier of the property for which to

        //     retrieve the local value.

        //

        // Returns:

        //     Returns the local value, or returns the sentinel value Windows.UI.Xaml.DependencyProperty.UnsetValue

        //     if no local value is set.

        public object ReadLocalValue(DependencyProperty dp);

        //

        // Summary:

        //     Returns any base value established for a dependency property, which would apply

        //     in cases where an animation is not active.

        //

        // Parameters:

        //   dp:

        //     The identifier for the desired dependency property.

        //

        // Returns:

        //     The returned base value.

        public object GetAnimationBaseValue(DependencyProperty dp);

        //

        // Summary:

        //     Registers a notification function for listening to changes to a specific Windows.UI.Xaml.DependencyProperty

        //     on this Windows.UI.Xaml.DependencyObject instance.

        //

        // Parameters:

        //   dp:

        //     The dependency property identifier of the property to register for property-changed

        //     notification.

        //

        //   callback:

        //     A callback based on the Windows.UI.Xaml.DependencyPropertyChangedCallback delegate,

        //     which the system invokes when the value of the specified property changes.

        //

        // Returns:

        //     A token that represents the callback, used to identify the callback in calls

        //     to Windows.UI.Xaml.DependencyObject.UnregisterPropertyChangedCallback(Windows.UI.Xaml.DependencyProperty,System.Int64).

        public long RegisterPropertyChangedCallback(DependencyProperty dp, DependencyPropertyChangedCallback callback);

        //

        // Summary:

        //     Cancels a change notification that was previously registered by calling Windows.UI.Xaml.DependencyObject.RegisterPropertyChangedCallback(Windows.UI.Xaml.DependencyProperty,Windows.UI.Xaml.DependencyPropertyChangedCallback).

        //

        // Parameters:

        //   dp:

        //     The dependency property identifier of the property to unregister for property-changed

        //     notification.

        //

        //   token:

        //     A token that represents the callback (returned by Windows.UI.Xaml.DependencyObject.RegisterPropertyChangedCallback(Windows.UI.Xaml.DependencyProperty,Windows.UI.Xaml.DependencyPropertyChangedCallback)

        //     ).

        public void UnregisterPropertyChangedCallback(DependencyProperty dp, long token);


        //

        // Summary:

        //     Gets the Windows.UI.Core.CoreDispatcher that this object is associated with.

        //     The Windows.UI.Core.CoreDispatcher represents a facility that can access the

        //     Windows.UI.Xaml.DependencyObject on the UI thread even if the code is initiated

        //     by a non-UI thread.

        //

        // Returns:

        //     The Windows.UI.Core.CoreDispatcher that Windows.UI.Xaml.DependencyObject object

        //     is associated with, which represents the UI thread.

        public CoreDispatcher Dispatcher { get; }

    }

}

AND

Copyright

이 모든 내용은 Pluralsight에 Jeremy Clark가 올린 'Localization and Globalization in .NET'라는 강의의 마지막 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/intro-to-localization-globalization-dotnet/table-of-contents).



Globalization
The process of engineering an application so that it does not have cultural preconceptions
(Dates, Calendar, Numbers, Currency, etc)


A Good Use of Flags
문화를 대표하면서도 언어를 다르게 설정하기에 좋은 이미지가 바로 국기이다.
e.g., 캐나다 국기와 함께 영어 또는 프랑스어를 사용


IFormatProvider
Use IFormatProvider to ensure the format based on the correct culture

IFormatProvider is an interface and used a lot as Optional parameter of ToString method
CultureInfo class implements IFormatProvider, so We can pass a CultureInfo object to ToString method
e.g., currentDate.ToString("d", new CultureInfo("en-US");
The same method exists in integer.ToString, decimal.ToString, and other classes

DateTime.Parse
We can parse a DateTime like DateTime.Parse("10/23/2015"); OR use DateTime.Parse(string s);
But we should USE DateTime.Parse(string s, IFormatProvider provider);
If we do not provide the IFormatProvider parameter, it uses the CurrentCulture (which may not be what we expect)


Currency Considerations
ToString with a currency format will use the CurrentCulture

The Solution
1. Use a single currency regardless of CurrentCulture (like US dollar)
e.g., 100M.ToString("C", new CultureInfo("en-US"));
2. Incorporate a currency conversion
We can get the conversion factor from a database or store it as a resource
although the resource would need to be updated frequently



Summary (생략)


Course Summary (생략)


Resource

Resgen.exe : Converts between different resource file types (.txt, .resx, .resources, .resw) (link)

LocBaml : Another way to localize WPF applications (link)

Globalization, Internationalization, and Localization in ASP.NET MVC 3, JavaScript and jQuery (link)



출처

이 모든 내용은 Pluralsight에 Jeremy Clark가 올린 'Localization and Globalization in .NET'라는 강의의 마지막 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/intro-to-localization-globalization-dotnet/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.


AND

Copyright

이 모든 내용은 Pluralsight에 Jeremy Clark가 올린 'Localization and Globalization in .NET'라는 강의의 네번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/intro-to-localization-globalization-dotnet/table-of-contents).



Outline

Naming Resource Strings

Danger of culture-specific Image

Translation Considerations

Screen Layout

Exception Messags

Code Analysis Globalization Rule



Resource Naming Recommendation

Name the resources based on their purpose


Page/View-Level Resources

Naming based on purpose

Grouping_Purpose or Grouping_Grouping_Purpose


Assembly-Level Resources

Naming based on purpose

Module_Grouping_Purpose

e.g., MainWindow_Customer_Rating



The Danger of culture-specific Images


The Danger of Flags for Language


If possible, use images that do not rely on culture-specific references

e.g., A US mailbox may not be recognized in another culture, use a letter or postage stamp image instead


If possible, do not include words as part of images


If it is not possible to avoid culture-specific references, then load localized images into the .resx file along with localized strings



Translation Considerations

Machine Translation (like google translator)

Not good enough to go straight into production

But can help with screen layout during development


Human Translation

Prefer native speakers of the target language

Still not perfect - Locker Issue


Best Bet

A human translator who understands the business purpose of the application

Provide the human translator with the business context and let him determine what is best

(Screen shots and Descriptions of a program... etc)



Screen Layout Concerns

Different languages take up different amounts of space.

German words are usually long

Japanese words are usually short

Some languages read right-to-left


Use flow layouts for greatest flexibility

In XAML : use grids and stack panels to hold our controls

Avoid fixed positions and sizes

Favor auto-sizing controls and grids



Windows Forms : TableLayoutPanel, WinRes Tool

WPF, UWP : Grids and StackPanels, Grid - Auto and Star



Exception Messages

To Localize...

The message is displayed to the user

The user can act on the message


To not Localize...

The message is not displayed to the user

The message is logged for support staff



# Exception Thrower

private void ExceptionThrower(Type exceptionType)

{

var currentCulture = Thread.CurrentThread.CurrentUICulutre;

Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");

try

{

Exception ex;

ex = Activator.CreateInstance(exceptionType) as Exception;

throw ex;

}

finally

{

Thread.CurrentThread.CurrentUICulture = currentCulture;

}

}



Code Analysis Globalization Rule


FXCop is a downloadable tool that analyzes our code and provides suggestions based on a set of rules

This has been incorporated into the Code Analysis tool that is available in some of the VS versions

We're able to choose a rule set that we want to use for analysis in our project.

This is available in the Solution properties.

One of the rule sets is Microsoft Globalization Rules (specifically checks for items that may affect localization and globalization)

The Globalization Rule Set consists of 11 Rules (check the rules for detail)


e.g., 1.Set Microsoft Globalization Rules in Solution properties -> Code Analysis Settings -> Change Rule Set

2. Analyze menu -> Run Code Analysis On Solution

3. Fix the error messages


Warning : Code Analysis do not work at XAML markup




Summary (생략)


출처

이 모든 내용은 Pluralsight에 Jeremy Clark가 올린 'Localization and Globalization in .NET'라는 강의의 네번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/intro-to-localization-globalization-dotnet/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.

'Programming > .NET' 카테고리의 다른 글

(Localization and Globalization in .NET) Globalization  (0) 2018.01.01
(Localization and Globalization in .Net) Fundamentals  (0) 2017.12.30
.Net ecosystem  (0) 2017.12.03
AND

Copyright

이 모든 내용은 Pluralsight에 Jeremy Clark가 올린 'Localization and Globalization in .NET'라는 강의의 첫번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/intro-to-localization-globalization-dotnet/table-of-contents).


Content

1. Fundamentals

2. Considerations

3. Globalization



Definitions

Localization

The process of adapting an application so that its resources can be replaced at runtime.

(Language, region, culture etc... => strings, images)


Globalization

The process of engineering an application so that it does not have cultural preconceptions.

(DateTime, number, currency, calendars formats etc... => cultural formatting and other things)


Internationalization

The process of localizing and globalizing an application



.NET Localization Support

CultureInfo object (specify a language or both language and culture) (link)

Use this in conjunction with Resource files to create localized strings and images for application

These get compiled into satellite assemblies, and are used based on the culture values of the current thread.


CultureInfo(string name)

virtual string Name { get; }

virtual DateTimeFormatInfo DateTimeFormat { get; set; }

virtual NumberFormatInfo NumberFormat { get; set; }

virtual Calendar Calendar { get; }

virtual Calendar[] OptionalCalendars { get; }

virtual bool IsNeutralCulture { get; }

A neutral culture is one that specifies a language, but not a country or region.

e.g., en is neutral culture, en-US is specific culture


Neutral Cultures still have date time and number formatting information

Formatting and other values are set based on the defaults for the language

e.g., The default values for the English language are based on US English. Warning


static CultureInfo InvariantCulture { get; }

We can create an invariant culture by using an empty string for the CultureInfo constructor.

e.g., var invariantCulture = new CultureInfo("");


Or, can use the static InvariantCulture property on the CoultureInfo object

e.g., var invariantCulture2 = CultureInfo.InvariantCulture;


Invariant Culture is designed for things that should not change with culture

It can be use to persist data in culture-independent format

Invariant Culture is associated with the English language but no culture or region


#so There is neutral culture, specific culture, and invariant culture


static CultureInfo CurrentCulture { get; set; }

Gets or sets the System.Globalization.CultureInfo object that represents the culture used by the current thread


static CultureInfo CurrentUICulture { get; set; }

Gets or sets the CultureInfo object that represents the current user interface culture used by the Resource Manager to look up culture-specific resources at run time



Culture List in MSDN



Resource

Any non-executable data that is logically deployed with an app, including strings, images, and persisted objects.


.NET offers several ways to handle resources.

We will use resx file, or resw file(for UWP)

This gives us a centralized place to put localized strings.

.resx or .resw file contains value withh Name(key), value whill be displayed in our application.

Create culture-specific resource files and set Name-Value pair


Using Resource

WPF XAML

<TextBlock Text="{x:Static resx:Resources.Customer_Customer}" ..../>

ASP.NET MVC Markup

<td>@MVCOrderTaker.Resources.Home.Index.Customer_Customer</td>

C# Code

ProductName = Properties.Resources.Product_UniversalTranslator;




Satellite Assemblies

The compiler generates satellite assemblies.


hub-and-spoke model (image)




Thread and Culture

class Tread : ...

public static Tread CurrentThread { get; }

public CultureInfo CurrentCulture { get; set; }  //Determines globalization, formats(data, number, currency), sorting calendars etc

public CultureInfo CurrentUICulture { get; set; }

//Determines which set of Resources are used in the UI

//So, if the CurrentUICulture is set to US English, it will look for the resource assembly that has the same designation

...


Both of these properties are setable, this means that we can change the culture programmatically.

#There is exception for Windows Store Apps


CurrentCulture

For .NET 4.0 or later, this can be specific culture or neutral culture

Prior to .NET 4.0, this must be a specific culture (no neutral cultures allowed)

Is we only have a neutral culture we can call the CreateSpecificCulture method

var specficCulture = CultureInfo.CreateSpecificCulture("en")

Either way, if we use the neutral "en" culture, we will end up with a specific en-US culture


The reason we need a specific culture is that CurrentCulture...

Determines globalization formats for dates, numbers, and currency

Determines the sort order (how accented, or capitalized characters)

Determines parsing (such as DateTime.Parse)

Determines output formats such as DateTime.ToString("d")


Note : most parsing and output methods take an optional IFormatProvider parameter.


CurrentUICulture

Determines which culture-specific resources are used

This is how the resource manager knows which of the satellite assemblies should be used at run time

CurrentCulture can be a neutral or specific culture


CurrentCulture & CurrentUICulture

CurrentCulture and CurrentUICulture are almost always set to the same culture

This will make sure that we have consistency across our application

But they can be set to different values to support special cases.

e.g., French languages in US, "fr-US" does not exist

CurrentCulture = "en-US" to get US formatting (dates, currency)

CurrentUICulture = "fr" to get French language resources


e.g., create custom cultures



How does Culture Get Set?

Thread.CurrentTread.Current(UI)Culture = ??? Where is it come from?


CultureInfo.DefaultThreadCurrentCulture { get; set; }

CultureInfo.DefaultThreadCurrentUICulture { get; set; }


CultureInfo has static "Default" properties, both properties's default values are null

When set, these values are used for all new threads created in the application domain


When a thread is started, its Thread.CurrentThread.Current(UI)Culture is set to the DefaultThreadCurrent(UI)Culture.

If null, Current(UI)Culture is set based on the OS culture


Meaning, if we do nothing, we get the OS culture by default for desktop apps

For web apps, culture is based on the request header


Both CurrentCulture and CurrentUICulture properties on the Thread class are writable

This means that we can manually set the culture if we like as hardcoded value or value from configuration, or user preference setting in our database.

(하지만 UWP에선 Thread class에 접근할 수 없다.)


e.g., var culture = new CultureInfo("cs-CZ");

Thread.CurrentThread.CurrentCulture = culture;

Thread.CurrentThread.CurrentUICulture = culture;


//Use the same culture for any newly created threads

CultureInfo.DefaultThreadCurrentCulture = culture;

CultureInfo.DefaultThreadCurrentUICulture = culture;



Summary (생략)


출처

이 모든 내용은 Pluralsight에 Jeremy Clark가 올린 'Localization and Globalization in .NET'라는 강의의 첫번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/intro-to-localization-globalization-dotnet/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.

AND

namespace System.Globalization

{

    //

    // Summary:

    //     Provides information about a specific culture (called a locale for unmanaged

    //     code development). The information includes the names for the culture, the writing

    //     system, the calendar used, and formatting for dates and sort strings.

    public class CultureInfo : IFormatProvider

    {

        //

        // Summary:

        //     Initializes a new instance of the System.Globalization.CultureInfo class based

        //     on the culture specified by name.

        //

        // Parameters:

        //   name:

        //     A predefined System.Globalization.CultureInfo name, System.Globalization.CultureInfo.Name

        //     of an existing System.Globalization.CultureInfo, or Windows-only culture name.

        //     name is not case-sensitive.

        //

        // Exceptions:

        //   T:System.ArgumentNullException:

        //     name is null.

        //

        //   T:System.Globalization.CultureNotFoundException:

        //     name is not a valid culture name. For more information, see the Notes to Callers

        //     section.

        public CultureInfo(string name);


        //

        // Summary:

        //     Gets the System.Globalization.CultureInfo object that is culture-independent

        //     (invariant).

        //

        // Returns:

        //     The object that is culture-independent (invariant).

        public static CultureInfo InvariantCulture { get; }

        //

        // Summary:

        //     Gets or sets the default UI culture for threads in the current application domain.

        //

        // Returns:

        //     The default UI culture for threads in the current application domain, or null

        //     if the current system UI culture is the default thread UI culture in the application

        //     domain.

        //

        // Exceptions:

        //   T:System.ArgumentException:

        //     In a set operation, the System.Globalization.CultureInfo.Name property value

        //     is invalid.

        public static CultureInfo DefaultThreadCurrentUICulture { get; set; }

        //

        // Summary:

        //     Gets or sets the System.Globalization.CultureInfo object that represents the

        //     current user interface culture used by the Resource Manager to look up culture-specific

        //     resources at run time.

        //

        // Returns:

        //     The culture used by the Resource Manager to look up culture-specific resources

        //     at run time.

        //

        // Exceptions:

        //   T:System.ArgumentNullException:

        //     The property is set to null.

        //

        //   T:System.ArgumentException:

        //     The property is set to a culture name that cannot be used to locate a resource

        //     file. Resource filenames can include only letters, numbers, hyphens, or underscores.

        public static CultureInfo CurrentUICulture { get; set; }

        //

        // Summary:

        //     Gets or sets the System.Globalization.CultureInfo object that represents the

        //     culture used by the current thread.

        //

        // Returns:

        //     An object that represents the culture used by the current thread.

        //

        // Exceptions:

        //   T:System.ArgumentNullException:

        //     The property is set to null.

        public static CultureInfo CurrentCulture { get; set; }

        //

        // Summary:

        //     Gets or sets the default culture for threads in the current application domain.

        //

        // Returns:

        //     The default culture for threads in the current application domain, or null if

        //     the current system culture is the default thread culture in the application domain.

        public static CultureInfo DefaultThreadCurrentCulture { get; set; }

        //

        // Summary:

        //     Gets the culture name in the format languagefull [country/regionfull] in English.

        //

        // Returns:

        //     The culture name in the format languagefull [country/regionfull] in English,

        //     where languagefull is the full name of the language and country/regionfull is

        //     the full name of the country/region.

        public virtual string EnglishName { get; }

        //

        // Summary:

        //     Gets the System.Globalization.CultureInfo that represents the parent culture

        //     of the current System.Globalization.CultureInfo.

        //

        // Returns:

        //     The System.Globalization.CultureInfo that represents the parent culture of the

        //     current System.Globalization.CultureInfo.

        public virtual CultureInfo Parent { get; }

        //

        // Summary:

        //     Gets the list of calendars that can be used by the culture.

        //

        // Returns:

        //     An array of type System.Globalization.Calendar that represents the calendars

        //     that can be used by the culture represented by the current System.Globalization.CultureInfo.

        public virtual Calendar[] OptionalCalendars { get; }

        //

        // Summary:

        //     Gets or sets a System.Globalization.NumberFormatInfo that defines the culturally

        //     appropriate format of displaying numbers, currency, and percentage.

        //

        // Returns:

        //     A System.Globalization.NumberFormatInfo that defines the culturally appropriate

        //     format of displaying numbers, currency, and percentage.

        //

        // Exceptions:

        //   T:System.ArgumentNullException:

        //     The property is set to null.

        //

        //   T:System.InvalidOperationException:

        //     The System.Globalization.CultureInfo.NumberFormat property or any of the System.Globalization.NumberFormatInfo

        //     properties is set, and the System.Globalization.CultureInfo is read-only.

        public virtual NumberFormatInfo NumberFormat { get; set; }

        //

        // Summary:

        //     Gets the culture name, consisting of the language, the country/region, and the

        //     optional script, that the culture is set to display.

        //

        // Returns:

        //     The culture name. consisting of the full name of the language, the full name

        //     of the country/region, and the optional script. The format is discussed in the

        //     description of the System.Globalization.CultureInfo class.

        public virtual string NativeName { get; }

        //

        // Summary:

        //     Gets the culture name in the format languagecode2-country/regioncode2.

        //

        // Returns:

        //     The culture name in the format languagecode2-country/regioncode2. languagecode2

        //     is a lowercase two-letter code derived from ISO 639-1. country/regioncode2 is

        //     derived from ISO 3166 and usually consists of two uppercase letters, or a BCP-47

        //     language tag.

        public virtual string Name { get; }

        //

        // Summary:

        //     Gets a value indicating whether the current System.Globalization.CultureInfo

        //     is read-only.

        //

        // Returns:

        //     true if the current System.Globalization.CultureInfo is read-only; otherwise,

        //     false. The default is false.

        public bool IsReadOnly { get; }

        //

        // Summary:

        //     Gets a value indicating whether the current System.Globalization.CultureInfo

        //     represents a neutral culture.

        //

        // Returns:

        //     true if the current System.Globalization.CultureInfo represents a neutral culture;

        //     otherwise, false.

        public virtual bool IsNeutralCulture { get; }

        //

        // Summary:

        //     Gets the ISO 639-1 two-letter code for the language of the current System.Globalization.CultureInfo.

        //

        // Returns:

        //     The ISO 639-1 two-letter code for the language of the current System.Globalization.CultureInfo.

        public virtual string TwoLetterISOLanguageName { get; }

        //

        // Summary:

        //     Gets the System.Globalization.TextInfo that defines the writing system associated

        //     with the culture.

        //

        // Returns:

        //     The System.Globalization.TextInfo that defines the writing system associated

        //     with the culture.

        public virtual TextInfo TextInfo { get; }

        //

        // Summary:

        //     Gets or sets a System.Globalization.DateTimeFormatInfo that defines the culturally

        //     appropriate format of displaying dates and times.

        //

        // Returns:

        //     A System.Globalization.DateTimeFormatInfo that defines the culturally appropriate

        //     format of displaying dates and times.

        //

        // Exceptions:

        //   T:System.ArgumentNullException:

        //     The property is set to null.

        //

        //   T:System.InvalidOperationException:

        //     The System.Globalization.CultureInfo.DateTimeFormat property or any of the System.Globalization.DateTimeFormatInfo

        //     properties is set, and the System.Globalization.CultureInfo is read-only.

        public virtual DateTimeFormatInfo DateTimeFormat { get; set; }

        //

        // Summary:

        //     Gets the System.Globalization.CompareInfo that defines how to compare strings

        //     for the culture.

        //

        // Returns:

        //     The System.Globalization.CompareInfo that defines how to compare strings for

        //     the culture.

        public virtual CompareInfo CompareInfo { get; }

        //

        // Summary:

        //     Gets the default calendar used by the culture.

        //

        // Returns:

        //     A System.Globalization.Calendar that represents the default calendar used by

        //     the culture.

        public virtual Calendar Calendar { get; }

        //

        // Summary:

        //     Gets the full localized culture name.

        //

        // Returns:

        //     The full localized culture name in the format languagefull [country/regionfull],

        //     where languagefull is the full name of the language and country/regionfull is

        //     the full name of the country/region.

        public virtual string DisplayName { get; }


        //

        // Summary:

        //     Returns a read-only wrapper around the specified System.Globalization.CultureInfo

        //     object.

        //

        // Parameters:

        //   ci:

        //     The System.Globalization.CultureInfo object to wrap.

        //

        // Returns:

        //     A read-only System.Globalization.CultureInfo wrapper around ci.

        //

        // Exceptions:

        //   T:System.ArgumentNullException:

        //     ci is null.

        public static CultureInfo ReadOnly(CultureInfo ci);

        //

        // Summary:

        //     Creates a copy of the current System.Globalization.CultureInfo.

        //

        // Returns:

        //     A copy of the current System.Globalization.CultureInfo.

        public virtual object Clone();

        //

        // Summary:

        //     Determines whether the specified object is the same culture as the current System.Globalization.CultureInfo.

        //

        // Parameters:

        //   value:

        //     The object to compare with the current System.Globalization.CultureInfo.

        //

        // Returns:

        //     true if value is the same culture as the current System.Globalization.CultureInfo;

        //     otherwise, false.

        public override bool Equals(object value);

        //

        // Summary:

        //     Gets an object that defines how to format the specified type.

        //

        // Parameters:

        //   formatType:

        //     The System.Type for which to get a formatting object. This method only supports

        //     the System.Globalization.NumberFormatInfo and System.Globalization.DateTimeFormatInfo

        //     types.

        //

        // Returns:

        //     The value of the System.Globalization.CultureInfo.NumberFormat property, which

        //     is a System.Globalization.NumberFormatInfo containing the default number format

        //     information for the current System.Globalization.CultureInfo, if formatType is

        //     the System.Type object for the System.Globalization.NumberFormatInfo class.-or-

        //     The value of the System.Globalization.CultureInfo.DateTimeFormat property, which

        //     is a System.Globalization.DateTimeFormatInfo containing the default date and

        //     time format information for the current System.Globalization.CultureInfo, if

        //     formatType is the System.Type object for the System.Globalization.DateTimeFormatInfo

        //     class.-or- null, if formatType is any other object.

        public virtual object GetFormat(Type formatType);

        //

        // Summary:

        //     Serves as a hash function for the current System.Globalization.CultureInfo, suitable

        //     for hashing algorithms and data structures, such as a hash table.

        //

        // Returns:

        //     A hash code for the current System.Globalization.CultureInfo.

        public override int GetHashCode();

        //

        // Summary:

        //     Returns a string containing the name of the current System.Globalization.CultureInfo

        //     in the format languagecode2-country/regioncode2.

        //

        // Returns:

        //     A string containing the name of the current System.Globalization.CultureInfo.

        public override string ToString();

    }

}

AND

Copyright

이 모든 내용은 Pluralsight에 Amber Israelsen가 올린 'User Experience: The Big Picture'라는 강의의 5~10챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/ux-big-picture/table-of-contents). 강의 원작자분께 게시허가도 받았습니다.


Content

1. UX Core Concepts and Terminology

2. Roles in User Experience

3. The UX Process


The UX Process

1. Company and industry research

2. User research

3. Information architecture

4. Wireframing

5. Visual design

6. Usability testing



The UX Process : Company and Industry Research


Brand

Represents the intellectual and emotional associations that people make with a company, product, or person. Brand is something that actually lies within each of us. Brand is not just a logo or a color scheme, it's what people think and feel when they hear a company name or see their products.


"A positive user experience has a direct correlation to positive brand perception." - Steve Baty


Questions to Help with Brand Identity

What is your business about?

Who are your customers?

What problem do you solve?

Is there a unique story behind your business?

What are five adjectives or phrases that describe your desired brand?


Culture

The beliefs and behaviors that determine how a company's employees and management interact and handle business transactions, Often implied, not expressly defined.


Questions to Help with Culture

How do employees act at work?

What are common behaviors(both good and bad)?

What does this job/company mean to employees?

Would employees go somewhere else if they could?


Reputation

Collective judgments of a company based on assessments of financial, social and environmental impacts.


"It takes 20 years to build a reputation and 5 minutes to ruin it. If you think about that, you'll do things differently." - Warren Buffet


10 Components of Company Reputation

Ethical, Employees/workplace, Financial performance, Leadership, Management

Social responsibility, Customer focus, Quality, Reliability, Emotional appeal


Industry News

Resource : MarketWatch, Bloomberg, IndustryWeek


Competitors

How is our competitors and what are thy doing right now?


Questions to Ask about Competitors

Who are our three main competitors(direct or indirect)?

How do we set ourselves apart form our competitors?

What do we like and dislike about their brand and experience?


How Business Is Run



The UX Process : User Research (critical!)


User Research

Focuses on understanding user behaviors, needs, and motivations through observation techniques, task analysis, and other feedback methodologies.


User Research Methods

Interviews(asking), Contextual interview(observing), Persona, Focus groups, Surveys, Card sorting, Wireframes, Prototyping, Usability Testing, A/B Testing


User Research is critical

Reason 1. Keeps you from building the wrong product

Reason 2. Removes assumptions from the design process

Reason 3. Users will appreciate for Research, and be able to use it



The UX Process : Information Architecture


Information Architecture

The structural design of shared information environments; the art and science of organizing and labeling websites, intranets, online communities and software to support usability and findability.


Five Activities of Defining Information Architecture

1. Inventory all the content  

2. Conduct a content audit

Analyse the existing content and ask:

Can we remove or consolidate?

What content is good and working well?

What is missing?

3. Design the new architecture

4. Test the new architecture with users

5. Iterate



The UX Process : Wireframing


Wireframe

A visualization tool for presenting proposed functions, structure and content of a web pare or website.


Benefits of Low-Fidelity Wireframing

Get your ideas down

Solidify a rough concept

Quick, easy, cheap


Benefits of High-Fidelity Wireframing

Add more detail and substance

More realistic

Can be used to build an actual visual design

Easier for clients to grasp what the end product will look like    


Action Callouts

User Flow


Popular Tools for Digital Wireframing

Balsamiq, InVision, Omnigraffle, Patternry, Sketch, Axure, UXPin


General Rules for Creating Wireframes

Keep them practical and usable

- Don't be too worried about tidiness and perfection


Iterate, iterate, iterate

- Don't be afraid to throw things away and start over



The UX Process : Visual Design


Visual Design

Focuses on the aesthetics of a site and its related materials by strategically implementing images, colors, fonts, and other elements


Elements of Visual Design

Line

used to connect two points, to divide sections of page, to create texture, and provide direction on a page

Shape

used to group information or call attention to certain elements on a page, or to compose other objects

Color

differentiate items, create depth, add emphasis or organize related content. It can also be used to affect mood

Texture

Texture is how a surface feels or is perceived to feel based on a digital representation. You can use this in visual design to add interest or attract attention to a particular element

Typography

Fonts


Principles of Design (see link also)

Alignment, Contrast, Visual Hierarchy, Proximity, Layouts, Whitespace, Consistency



The UX Process : Usability Testing


Usability Testing

A technique used in user-centered interaction design to evaluate a product by testing it on users


Benefits of Usability Testing

Determine if users can successfully complete tasks, and how long it takes to complete them

Measure satisfaction with the site

Identify changes necessary to improve satisfaction

Analyze performance of the system


Questions

How wold you rate the overall user experience of the system? - 6.2

How intuitive/helpful is the navigation? - 4.4

How easy is the text to read (style and size)? - 8.1


eye-tracking results


Conducting Usability Testing

1. Create test plan (step-by-step instructions of what users to do, e.g., Find nutritional information for the bacon breakfast sandwich)

2. Set up environment (lab, eye tracking, mirror, desktop sharing, or get results from users later)

3. Identify users (3~10 users)

4. Conduct tests (get step-by-step thinking of user)

5. Summarize results


Heuristic

A rule of thumb, simplification, or educated guess that reduces or limits the search for solutions in domains that are difficult and poorly under stood.


10 Usability Heuristics for User Interface Design

1. Visibility of system status

The system should always keep users informed about what is going on, through appropriate feedback within reasonable time. e.g., Logged in Name, Progress view

2. Match between system and the real world

The system should speak the users' language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order. e.g., Decline X, Nope O

3. User control and freedom

Users often choose system functions by mistake and will need a clearly marked "emergency exit" to leave the unwanted state without having to go through and extended dialogue. Support undo and redo. e.g., Back button, Ctrl + z, Home>South Pacific>New Zealand> Wanaka (buttons to go back to each stage)

4. Consistency and standards

Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions.

5. Error prevention

Even better than good error message is a careful design which prevents a problem from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action.  e.g., warning sign, 자동 문자열 검색 리스트

6. Recognition rather than recall

Minimize the user's memory load by making objects, actions, and options visible. The user should not have to remember information form one part of the dialogue to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate. e.g., preview of a font list font, VS IntelliSense

7. Flexibility and efficiency of use

Accelerators(unseen by the novice user) may often speed up the interaction for the expert user such that the system can cater to both inexperienced and experienced users. Allow users to tailor frequent actions. e.g., keyboard shortcuts, save billing information, 

8. Aesthetic and minimalist design

Dialogues should not contain information which is irrelevant or rarely needed. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.

9. Help users recognize, diagnose, and recover form errors

Error messages should be expressed in plain language(no codes), precisely indicate the problem, and constructively suggest a solution.

10, Help and documentation

Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation. Any such information should be easy to search, focused on the user's task, list concrete steps to be carried out, and not be too large. e.g., Card Security Code with Question mark, Explanation of why Free trial need credit card



The UX Process : Iterate, Iterate, Iterate!!



Summary (생략)


Course Summary (생략)



Additional Tips and Resources

Phrases to live by - "Will this benefit the user?", "Let's ask our users"


Make friends with people on UX team OR become the UX team-of-one


Modify the process to work for your situation


Resource

Creating User Experiences: Fundamental Design Principles - Billy Hollis, Pluralsight

Hacking the User Experience / UX for Developers - Keith Harvey, Pluralsight

User Experience Tips and Tricks for Developers - Amber Israelsen, Pluralsight

uxmag.com

blog.usabilla.com

usabilitygeek.com

nngroup.com

uxpa.org

usability.gov

goodui.org



출처

이 모든 내용은 Pluralsight에 Amber Israelsen가 올린 'User Experience: The Big Picture'라는 강의의  5~10챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/ux-big-picture/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.

AND

Copyright

이 모든 내용은 Pluralsight에 Amber Israelsen가 올린 'User Experience: The Big Picture'라는 강의의 네번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/ux-big-picture/table-of-contents). 강의 원작자분께 게시허가도 받았습니다.


Content

1. UX Core Concepts and Terminology

2. Roles in User Experience

3. The UX Process


Common Roles in UX


User Researcher : Champion for the user

Responsibilities

     Conduct user interviews, Research market data, Gather findings, Design studies, Conduct usability and A/B testing

Deliverables

User personas, Usability test result, Investigative user studies, Interview results

Tools

Microphones, Cameras, Documents, Paper


"Based on our research, a typical user will...."


Information Architect : The navigator and organizer

Responsibilities

Conduct a content inventory, Card sorting, Create navigation and hierarchy(including labels), Data modeling, Create a sitemap

Deliverables

Content inventory, Card sorting results, Wireframes, Labeling system, Sitemap

Tools

Paper/whiteboard, Omnigraffle, Axure, MindManager, XMind, Treejack, OptimalSort


"Our content should be organized in a way that helps the user to..."


Interaction Designer : The animator

Responsibilities

Create storyboards, Create wireframes and prototypes of key interactions

Deliverables

Wireframes, Prototypes

Tools

Paper/whiteboard, Balsamiq, InVision, Omnigraffle, Patternry, Sketch, Axure, UXPin


"The Button should change to dart gray for 500 milliseconds when the user clicks it..."


Visual/Graphic Designer : Pixel pusher

Responsibilities

Create icons, controls and visual elements for UI, Utilize different kinds of typography, Create and apply styles, Create and enforce brand principles

Deliverables

Mockups, Style guide, Graphic files(PNGs, JPGs, etc)

Tools

Photoshop, Illustrator, Sketch

"That button needs to move a couple pixels to the left..."

Front/Back-End Developer : Coder

Responsibilities

Write code to turn the graphic designer's static design into a working, interactive experience

Deliverables

Working, functional code (e.g., web pages)

Tools

HTML, CSS, JavaScript


"The JavaScript code will make the interface transitions smooth..."

Project Manager : Holds it all together

Responsibilities

Oversee team and project from start to finish, Communicate with business stakeholders, Translate between business and UX team, Manage resources, budget and risks

Deliverables

Final product, Project plan, Status updates, Various

Tools

Project management software(like Microsoft Project), Documents


"That new feature will extend the delivery deadline by two weeks..."



Summary (생략)


출처

이 모든 내용은 Pluralsight에 Amber Israelsen가 올린 'User Experience: The Big Picture'라는 강의의 네번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/ux-big-picture/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.

AND

Copyright

이 모든 내용은 Pluralsight에 Amber Israelsen가 올린 'User Experience: The Big Picture'라는 강의의 세번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/ux-big-picture/table-of-contents). 강의 원작자분께 게시허가도 받았습니다.


Content

1. UX Core Concepts and Terminology

2. Roles in User Experience

3. The UX Process


Outline

User Experience

The UX Umbrella

Useful

Usable

User interface

Graphic/visual design

User research

Human-computer interaction(HCI)

Interaction design

Content strategy

Information architecture

Usability testing




User Experience

Encompasses all aspects of the end user's interaction with the company, its services, and its products

UX는 기술, 디자인, 사업모델 모두에 포함되는 영역이다.



The UX Umbrella

Visual Design

Information Architecture

Interaction Design

Usability

User Research

Content Strategy



So What Makes a Great User Experience?

Value (Is it useful?)

Usability (Is it easy to use?)

Adoptability (Is is easy to start using?)

Desirability (Is it fun and engaging?)



Useful : A useful feature or tool allows users to "do things"; it fulfills a need.


Usable : A measure of how easy or hard it is to do something.


User Interface(UI)

The means by which a user and computer system interact, in particular the use of input devices and software.

Pages, menus, images, icons, buttons, mouse, touch screen etc


Visual/Graphic Design

Focuses on the aesthetics of a site and its related materials by strategically implementing images, colors, fonts, and other elements.


User Research

Focuses on understanding user behaviors, needs, and motivations through observation techniques, task analysis, and other feedback methodologies.


Human-Computer Interaction (HCI)

The study of how people interact with computers and to what extent computers are or are not developed for successful interaction with human beings.


Interaction Design

The practice of designing interactive digital products, environments, systems, and services; behavior is the primary focus.


Interaction with the Interface

What can a user do to interact with the interface (e.g., mouse, finger, stylus)?

What commands con the user issue (e.g., keyboard shortcuts)?


Behavior Clues

How does the appearance change to give the user a clue about its behavior (e.g., color, shape, size)?

How do you let users know something is about to happen (e.g., labels, instructions)?


Error Messages

How do you prevent errors? (e.g., gray out a button)

Is an error happens, how does the user know what happened and how to recover?


System Feedback

What sort of feedback should the user get when they take some action (e.g., confirmation message)?

How fast should the feedback be?


Content Strategy

The planning, development, and management of content - written or in other media.


Information Architecture

The structural design of shared information environments; the art and science of organizing and labeling websites, intranets, online communities and software to support usability and findability.


Card Sorting

1. Gather all information as a card

2. Categorize

3. Confirm Labels


Usability Testing

A technique used in user-centered interaction design to evaluate a product by testing it on users.



Summary (생략)


출처

이 모든 내용은 Pluralsight에 Amber Israelsen가 올린 'User Experience: The Big Picture'라는 강의의 세번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/ux-big-picture/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.

AND

Copyright

이 모든 내용은 Pluralsight에 Jason Roberts가 올린 'An Introduction to Design'라는 강의의 네번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/design-introduction/table-of-contents).



Outline
Proximity
Similarity
Figure-Ground
Symmetry
Closure
Common Fate
Uniform Connectedness
Good Continuation



The Principle of Proximity
Things that are closer to each other seem related 
가까이 있는 것들을 묶어서 인식한다, 설령 모양이 다르더라도 뭉친것을 연관된 것으로 인식한다.


The Principle of Similarity
Things that have similarities seem related (모양, 크기, 색상에 따라 같은것들을 묶어 인식한다.)


The Principle of Figure-Ground
Things stand out from the background

오른쪽 이미지는 어떤 부분을 물체로 인식하느냐에 따라 다른 부분은 background가 된다.


The Principle of Symmetry
Two symmetrical halves appear as one
우리는 아래 사진을 6개의 괄호들로 인식하지 않고 3개의 괄호묶음으로 인식한다.



The Principle of Closure
Filling in the blanks
연속선상에 있다고 느껴지는 부분을 채워 전체를 인식하거나, 오타를 스스로 메우고 읽는다.

The Principle of Common Fate
Things moving in the same direction seem related

The Principle of Uniform Connectedness
Visually connected things seem related


줄로 잇거나 박스로 묶으면 연관되어보인다. (그 전에는 Similarity로 인해 네모와 세모가 더 연관되어 보였다.)



The Principle of Good Continuation
Things on a line or curve seem related
물체들이 줄지어 서있으면 설령 무언가에 의해 일부가 가려지더라도 우리는 그것들을 하나의 연결된 줄로 인식한다.
가장 흔한 예시로는 문장이 그러하다. (이 문장들은 한 줄로 인식되어 개별 글자가 위아래로 섞여 읽히지 않는다)


The Interplay of Principles(생략)
Principles can be competing with each other or supporting with each other



Summary (생략)


출처

이 모든 내용은 Pluralsight에 Jason Roberts가 올린 'An Introduction to Design'라는 강의의 네번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/design-introduction/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.


'Programming > UI & UX Design' 카테고리의 다른 글

(UX Basic) The UX Process  (0) 2017.12.29
(UX Basic) Roles in User Experience  (0) 2017.12.28
(UX Basic) UX Core Concepts and Terminology  (0) 2017.12.28
(Design Basic) Color  (0) 2017.12.25
(Design Basic) Typography  (0) 2017.12.25
AND

Copyright

이 모든 내용은 Pluralsight에 Jason Roberts가 올린 'An Introduction to Design'라는 강의의 세번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/design-introduction/table-of-contents).


Content

1. Typography

2. Color

3. The Fundamental Gestalt Principles

4. Layout and Organization Principles


Outline

Basic science

Color models

Meaning of colors

Color schemes

Inspiration



The Science of Light, Sight, and Color

The Electromagnetic Spectrum is a range that contains all the frequencies of electromagnetic radiation.

These frequencies ranges

Radio - Microwave - Infrared - Visible Light - Ultraviolet - X-ray - Gamma ray

(long wavelength radiation)                    (high frequency, short wavelength radiation)


Human Sight is a combination of the eye and brain working together. Electromagnetic radiation some of which is in the visible spectrum enters the eye. Within the eye there are different types of receptor cells each of which responds to different parts of the visible spectrum(Roughly these correspond to red, green, and blue light). The eye sends information to the brain that processes this information and results in the perception of color. Strictly speaking the visible spectrum of electromagnetic radiation doesn't contain colors. Color is our perception of those wavelengths. We perceive colors differently but we share the same basic mapping model.



Two systems of color

1. Subtractive color : Start with white light then subtract colors from it to give us the final color

eg. black text on a page reflects nothing from sunlight, it subtracts all the colors

2. Additive color : Start with black and adds different wavelengths of light to it to create colors

eg. The screen is in use each pixel emits light in different combinations of red, green, and blue



Color Models

Color models are ways of representing colors based on numeric values.


The RGB color model represents a given color using three values(Red, Green, Blue)

eg. 255, 255, 0 == Yellow, 0, 0, 0 == Black, 255, 255, 255 == Wight


The CMYK model is a subtractive color model used for color printing.

The four components are Cyan, Magenta, Yellow and the K(effectively means Black)

eg. Red=(Cyan 0,Magenta 100,Yellow 100,K 0), Blue=(100,100,0,0), Yellow=(0,0,100,0), Black=(0,0,0,100), White=(0,0,0,0)



Color and Meaning (Western point of view)


Red : a highly sensual color, tempting and suggestive, danger of blood. It attracts attention more than any other color


The family of reds includes both pale and bright pinks, the red of house bricks and deep reds

Brightest form red represent passionate, hot, sexy, exciting, strong, seductive, aggressive and dangerous


Green : color of nature, relaxing and calming


The green include the citrusy limes, the military olives, the protective turquoise, the sophisticated table 


Harmonious, natural, fresh, lush, agreeable, relaxing, calming



Blue : color of quiet coolness, stillness, tranquility, constancy, sadness, loyalty and dependability

The blues include the electrical bright blues, serious strong deep dart blue


The lighter and sky blues are spacious, peaceful, open, cool, pure, clean, faithful





Orange : enthusiasm and energy, sunset and fire, food and appetites, sharpen mental activity

The oranges include the soft and intimate peaches, spicy fiery gingers


Its brighter more vibrant forms are energizing, dynamic, stimulating, juicy, fun, hot, happy, playful



Purple : mysterious and magical. Purple is a combination of reds and blues but it's more than the sum of its parts

it's a relatively rare color in nature

The Purple include the romantic and calming lavenders, royal opulent deep, deep purples


Spiritual, cerebral, mysterious, meditative, transcendental




Yellow : the color of light, friendly and enlightening


The yellow include the mellow ambers, golden yellows


The brighter yellows are hot, joyous, energetic, extroverted, youthful, vibrant, hopeful





Brown : wholesome and rustic, working the land ,nature past times(hiking and camping), appetite(coffees, chocolate, cigar)

The Browns include the tans, chocolate browns


Balanced, homely, secure, enduring, natural, solid






Black and White : true polar opposites, night and day, fianl simple truth, the simplicity, timeless combination

White is pure, simple, innocent, clean, untouched

Black is strong, sober, heavy, sophisticated, and classy


Cultural Color Differences

eg Red

USA : heat, passion

Mexico, Africa : death

Argentina : craftsmanship

Netherlands : nature

Armenia : communism

China : luck

Thailand : Buddhism


Green : Universally accepted as nature



Color Schemes

Monochromatic scheme : Uses different shades of the same color

Balanced and appealing, but not much color contrast


Analogous scheme : Uses colors that are close to each other on the color wheel

In the Analogous scheme usually stick to all cool or all warm colors


Complementary scheme : provides maximum contrast

In this scheme we can use the main color as the dominant color and its complimentary color for accents

Hard to balance but maximum attention


Triadic scheme : three colors equally spaced around the color wheel

Good color contrast and some harmonry


#색을 옅게해서 contrast를 줄일 수 있다.



Taking Inspiration form the Real World




Summary (생략)


출처

이 모든 내용은 Pluralsight에 Jason Roberts가 올린 'An Introduction to Design'라는 강의의 세번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/design-introduction/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.

AND

ARTICLE CATEGORY

분류 전체보기 (56)
Programming (45)
MSDN (4)
개발노트 (2)
reference (5)

RECENT ARTICLE

RECENT COMMENT

CALENDAR

«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

ARCHIVE