Organizational Details: Enigma Experts
Organizational Details: Enigma Experts
Organizational Details: Enigma Experts
ORGANIZATIONAL DETAILS
ENIGMA EXPERTS:
Enigma helps customers do business better by leveraging our industry-wide
experience, deep technology expertise, comprehensive portfolio of services and
vertically aligned business model. Enigma is based on delivering business value
and its commitment to sustainability. Enigma champions optimized utilization of
natural resources, capital and talent. Today we are a trusted partner of choice for
global businesses and start up's looking to differentiate at the front
and standardize at the core through technology interventions.
Enigma aim to create an enterprise with a team that takes pride in delivering
innovative IT solutions, thereby bringing values to it's customers and returns to its
shareholders.
WEBSITE : www.enigmaexperts.org
1
2. INTRODUCTTION TO UI/UX
UX Design refers to the term User Experience Design, while UI Design stands
for User Interface Design. Both elements are crucial to a product and work closely
together. But despite their professional relationship, the roles themselves are quite
different, referring to very different parts of the process and the design discipline.
Where UX Design is a more analytical and technical field, UI Design is closer to what
we refer to as graphic design, though the responsibilities are somewhat more complex.
There is an analogy I like to use in describing the different parts of a (digital) product:
If you imagine a product as the human body, the bones represent the code which give
it structure. The organs represent the UX design: measuring and optimizing against
input for supporting life functions. And UI design represents the cosmetics of the
bodyits presentation, its senses and reactions.
As is found on Wikipedia:
Clear, right? Well you might note immediately that despite what I implied in the
introduction, the definition has no reference to tech, no mention of digital, and
vague at best. But like all professions, its impossible to distill the process from
just a few words.
2
Some confusion in the definition of the term itself is due to its youth. Don Norman,
a cognitive scientist and co-founder of the Nielsen Norman Group Design
Consultancy, is credited with inventing the term in the late 1990s declaring that
User experience encompasses all aspects of the end-users interaction with the
company, its services, and its products.
This implies that regardless of its medium , UX Design encompasses any and all
interactions between a potential or active customer and a company. As a scientific
process it could be applied to anything, street lamps, cars, Ikea shelving and so on.
In the video below, we pit a banana against a pineapple to demonstrate this point.
However! Despite being a scientific term, its use since inception has been almost
entirely within digital fields; one arguable reason for this being that the industry
started blowing up around the time of the terms invention. Another arguable
reason being that it was just a fancy way of rewording a practice that has already
existed for hundreds of years known as Market Research; and boy do designers
love fancy.
But dont let me confuse you, User Experience Design is not a market research
job.
Though it does utilize many of the same techniques to achieve a complex end goal:
The structure, analysis and optimization of a customers experience with a
company and its products.
If youve never seen User Experience work in practice, never even used the term at
work, its still difficult to imagine what User Experience Designers actually do. At
CareerFoundry weve developed a UX course that focuses on the process which I
will use to illustrate the profession.
3
Here is a cliff notes example of a UX Designers responsibilities as laid out by our
course. It is targeted at development of digital products, but the theory and process
can be applied to anything:
Competitor Analysis
Customer Analysis
Product Structure/Strategy
Content Development
Wireframing
Prototyping
Testing/Iteration
Development Planning
So part marketer, part designer, part project manager; the UX role is complex,
challenging and multi-faceted. You see that iteration of the product, as connected
to analysis or testing is indeed mentioned twice, but in reality you would put it in
between every other item on the list. Ultimately the aim is to connect business
goals to users needs through a process of testing and refinement to that which
satisfies both sides of the relationship.
So in conclusion:
4
User Experience Design is the process of development and improvement of
quality interaction between a user and all facets of a company.
User Experience Design is responsible for being hands on with the process
of research, testing, development, content, and prototyping to test for quality
results.
User Experience Design is in theory a non-digital (cognitive science)
practice, but used and defined predominantly by digital industries.
What is UI Design?
Despite it being an older and more practiced field, the question of What is user
interface design? is difficult to answer by its ranging variety of
misinterpretations. While User Experience is a conglomeration of tasks focused on
optimization of a product for effective and enjoyable use; User Interface Design is
its compliment, the look and feel, the presentation and interactivity of a product.
But like UX, it is easily and often confused by the industries that employ UI
Designers. To the extent that different job posts will often refer to the profession as
completely different things.
If you look at job posts for User Interface Design, you will mostly find
interpretations of the profession that are akin to graphic design. Sometimes
extending also to branding design, and even front end development.
If you look at expert definitions of User Interface Design, you will mostly find
descriptions that are in part identical to User Experience design. Even referring to
the same structural techniques.
5
So which one is right? The sad answer is: Neither
But both are close in some ways. Like User Experience Design, User Interface
Design is a multi-faceted and challenging role. It is responsible for the transference
of a products development, research, content and layout into an attractive,
guiding and responsive experience for users. It is also a field that unlike UX, is a
strictly digital profession, as per its dictionary definition:
Use rinterface noun Computing the means by which the user and a computer
system interact, in particular the use of input devices and software.
We explain in much greater detail what the definition and role of UI Design is, as
well as teach you the skills required to become a UI designer in the Career Founry
UI Design Course. This includes its relationship to brand, graphic/visual, and
front-end design.
Customer Analysis
Design Research
Branding and Graphic Development
User Guides/Storyline
UI Prototyping
Interactivity and Animation
Adaptation to All Device Screen Sizes
Implementation with Developer
6
As a visual and interactive designer, the UI role is crucial to any digital interface
and for customers a key element to trusting a brand. While the brand itself is
never solely the responsibility of the UI designer, its translation to the product
is.
Youll also note the final point which states a responsibility for implementation
of the design with a developer. While this is generally how UI jobs have worked in
the past, you should be aware that the lines are blurring, as the term Web
Designer (essentially a UI designer who can code) is being replaced by expertise
of User Interface Designers. While UX has no need for coding, UI is a role that as
time progresses, will rely on it as part of building interactive interfaces.
So in conclusion:
7
3. WEB DEVELOPMENT
Web development is a broad term for the work involved in developing a web
site for the Internet (World Wide Web) or an intranet (a private network). Web
development can range from developing the simplest static single page of plain
text to the most complex web-based internet applications (or just 'web
apps') electronic business, and social network services. A more comprehensive list
of tasks to which web development commonly refers, may include web
engineering, web design, web content development, client liaison, client-
side/server-side scripting, web server and network security configuration, and e-
commerce development. Among web professionals, "web development" usually
refers to the main non-design aspects of building web sites:
writing markup and coding. Most recently Web development has come to mean the
creation of content management systems or CMS. These CMS can be made from
scratch, proprietary or open source. In broad terms the CMS acts as middleware
between the database and the user through the browser. A principle benefit of a
CMS is that it allows non-technical people to make changes to their web site
without having technical knowledge.
For larger organizations and businesses, web development teams can consist of
hundreds of people (web developers) and follow standard methods like Agile
methodologies while developing websites. Smaller organizations may only require
a single permanent or contracting developer, or secondary assignment to related
job positions such as a graphic designer or information systems technician. Web
development may be a collaborative effort between departments rather than the
domain of a designated department. There are three kinds of web developer
8
specialization : front-end developer, back-end developer, and full stack developer.
Front-end developers deal with the layout and visuals of a website, while back-end
developers deal with the functionality of a website. Back-end developers will
program in the functions of a website that will collect data.
The above list is a simple website development hierarchy and can be extended to
include all client side and server side aspects. It is still important to remember that
web development is generally split up into client side coding, covering aspects
such as the layout and design, and server-side coding, which covers the website's
functionality and back-end systems.
9
analogy, but you get the rough idea). Theyre also in charge of making sure that
there are no errors or bugs on the front end, as well as making sure that the design
appears as its supposed to across various platforms and browsers.
10
3. Business Logic
A. The heart of the value the application provides.
B. Solid object oriented skills are needed here.
C. Frameworks might be needed here as well.
4. API layer / Action Layer / MVC
A. How the outside world operates against the business logic and data model.
B. Frameworks at this level should be used heavily.
C. Full stack developers have the ability to write clear, consistent, simple to use
interfaces. The heights to which some APIs are convoluted repel me.
5. Understanding what the customer and the business need.
A. Now we are blurring into the line of architect, but that is too much of a
hands off role.
B. Full stack developers have a grasp of what is going on in the field when the
customer uses the software. They also have a grasp of the business.
11
4. FRONT END DEVELOPMENT
Front end developers use HTML, CSS, and JavaScript to code the website and web
app designs created by web designers. The code they write runs inside the users
browser (as opposed to a back end developer, whose code runs on the web server).
Think of it a little like this: the back end developer is like the engineer who designs
and creates the systems that make a city work (electricity, water and sewer, zoning,
etc.), while the front end developer is the one who lays out the streets and makes
sure everything is connected properly so people can live their lives (a simplified
analogy, but you get the rough idea). Theyre also in charge of making sure that
there are no errors or bugs on the front end, as well as making sure that the design
appears as its supposed to across various platforms and browsers.
HTML :
Hypertext Markup Language (HTML) is the standard markup language for
creating web pages and web applicatqions. With Cascading Style Sheets(CSS) and
JavaScript it forms a triad of cornerstone technologies for the World Wide Web.
Web Browsers receive HTML documents from a web server or from local storage
and render them into multimedia web pages. HTML describes the structure of a
web page semantically and originally included cues for the appearance of the
document
HTML elements are the building blocks of HTML pages. With HTML constructs,
images and other objects, such as interactive forms, may be embedded into the
rendered page. It provides a means to create structured documents by denoting
structural semantics for text such as headings, paragraphs, lists, links, quotes and
12
other items. HTML elements are delineated by tags, written using angle brackets.
Tags such as <img /> and <input /> introduce content into the page directly.
Others such as <p>...</p> surround and provide information about document text
and may include other tags as sub-elements. Browsers do not display the HTML
tags, but use them to interpret the content of the page.
CSS Rules
CSS rules are made up of a selector and at least one declaration. A selector is the
code that selects the HTML to which you want to apply the style rule. We'll be
focusing on common selectors in this tutorial, but you can use more than a dozen
selector types as you become more proficient at CSS. A declaration is made up of
at least one CSS property and related property value. CSS properties define the
style:
h1 {color: red;}
The H1 is the selector for your h1 headers, and the declaration is made up of the
color property with a value of red. Simply said, this rule turns all H1 elements red.
13
You'll note that the syntax of the style rule looks different from what you've seen
in HTML. The curly braces contain the declarations, each property is followed by a
colon, and a semicolon is used after each property. You can have as many
properties as you want in a rule.
Applying CSS
Browser style This is the default style sheet within a browser. If you declare no style
rules, these defaults are applied.
User style A user can write a style sheet and make it override any styles you create
by changing a setting in the browser. These are used infrequently but can be helpful
for individuals with special needs, such as low vision. In such a case, the user will
create high-contrast, large-font styles that override your own.
Inline style This is style that is used right in the individual element and applied via
the style attribute. It can be very useful for one-time styles by element, but it isn't
considered ideal.
Embedded style This is style that controls one document and is placed inside the
style element within the HTML document.
Linked style This is a style sheet that is linked to an HTML document using the
link element in the head of the document. Any document linked to this style sheet
gets the styles, and here's where the management power of CSS is found.
14
Imported style This is similar to linked styles, but it enables you to import styles into
a linked style sheet as well as directly into a document. This is useful in
workarounds and when managing many documents.
You'll see examples of these style sheets as we progress throughout the tutorial.
The Cascade
People often wonder where the term cascading comes from. The cascade is an
application hierarchy, which is a fancy term for a system of how rules are applied.
If you examine the five types of style sheets just introduced, you'll notice that there
are numerous means of applying style to the same document.
What if I've got an inline style, an embedded style sheet, and a linked style sheet?
The cascade determines how the rules are applied. In the case of style sheet types,
user style overrides all other styles; inline style trumps embedded, linked, and
imported styles; embedded style takes precedence over inline style; and linked and
imported styles are treated equally, applying everywhere any of these other style
sheet types are not applied. Browser style comes into play only if no style for a
given element is provided; in that case, the browser style is applied.
The cascade also refers to the manner in which multiple style sheets are applied. If
you have three linked style sheets, the one on the bottom is the one that is
interpreted if any conflicts exist among those styles.
15
Inheritance
Inheritance means that styles are inherited from their parent elements. Consider the
following:
<body>
<h1>My header</h1>
<p>Subsequent Text</p>
</body>
Both the h1 and p elements are considered children of the body element. The styles
you give to the body will be inherited by the children until you make another rule
that overrides the inherited style. Not all properties, such as margins and padding,
are inherited in CSS but almost all others are.
Specificity
Finally, if there are conflicts within any of your style sheets that aren't resolved by
the cascade, CSS has an algorithm that resolves the conflict. This algorithm is
based on how specific a rule is. It's a bit heavy for this discussion but worthy of
mention. Obviously, two pages can't really do justice to any of these topics, so if
you're interested in learning more, be sure to look at the Additional Resources
section.
16
BOOTSTRAP :
Bootstrap is a free and open-source front-end web framework for
designing websites and web applications. It contains HTML and CSS based design
templates for typography, forms, buttons, navigation and other interface
components, as well as optional JavaScript extensions. Unlike many web
frameworks, it concerns itself with front-end development only.
FEATURES :
Bootstrap 3 supports the latest versions of the Google Chrome, Firefox, Internet
Explorer, Opera, and Safari (except on Windows). It additionally supports back
to IE8 and the latest Firefox Extended Support Release (ESR).
Since 2.0, Bootstrap supports responsive web design. This means the layout of web
pages adjusts dynamically, taking into account the characteristics of the device
used (desktop, tablet, mobile phone).
Starting with version 3.0, Bootstrap adopted a mobile first design philosophy,
emphasizing responsive design by default.
The version 4.0 alpha release added Sass and flexbox support.
Bootstrap is modular and consists of a series of Less stylesheets that implement the
various components of the toolkit. These stylesheets are generally compiled into a
bundle and included in web pages, but individual components can be included or
removed. Bootstrap provides a number of configuration variables that control
things such as color and padding of various components.
17
Since Bootstrap 2, the Bootstrap documentation has included a customization
wizard which generates a customized version of Bootstrap based on the requested
components and various settings.
Grid system and responsive design comes standard with an 1170 pixel wide grid
layout. Alternatively, the developer can use a variable-width layout. For both
cases, the toolkit has four variations to make use of different resolutions and types
of devices: mobile phones, portrait and landscape, tablets and PCs with low and
high resolution. Each variation adjusts the width of the columns.
18
5. RESPONSIVE WEB DESIGNS
Responsive Web design is the approach that suggests that design and development
should respond to the users behavior and environment based on screen size,
platform and orientation.
The practice consists of a mix of flexible grids and layouts, images and an
intelligent use of CSS media queries. As the user switches from their laptop to
iPad, the website should automatically switch to accommodate for resolution,
image size and scripting abilities. In other words, the website should have the
technology to automatically respond to the users preferences. This would
eliminate the need for a different design and development phase for each new
gadget on the market.
19
However, some ideas are already being practiced: fluid layouts, media queries and
scripts that can reformat Web pages and mark-up effortlessly (or automatically).
But responsive Web design is not only about adjustable screen resolutions and
automatically resizable images, but rather about a whole new way of thinking
about design. Lets talk about all of these features, plus additional ideas in the
making.
20
In addition to designing for both landscape and portrait (and enabling those
orientations to possibly switch in an instant upon page load), we must consider the
hundreds of different screen sizes. Yes, it is possible to group them into major
categories, design for each of them, and make each design as flexible as necessary.
But that can be overwhelming, and who knows what the usage figures will be in
five years? Besides, many users do not maximize their browsers, which itself
leaves far too much room for variety among screen sizes.
21
werent really that flexible; they could give or take a few hundred pixels, but they
often couldnt adjust from a large computer screen to a netbook.
Now we can make things more flexible. Images can be automatically adjusted, and
we have workarounds so that layouts never break (although they may become
squished and illegible in the process). While its not a complete fix, the solution
gives us far more options. Its perfect for devices that switch from portrait
orientation to landscape in an instant or for when users switch from a large
computer screen to an iPad.
In Ethan Marcottes article, he created a sample Web design that features this
better flexible layout:
The entire design is a lovely mix of fluid grids, fluid images and smart mark-up
where needed. Creating fluid grids is fairly common practice, and there are a
number of techniques for creating fluid images:
22
Hiding and Revealing Portions of Images
Creating Sliding Composite Images
Foreground images that scale with the layout
For more information on creating fluid websites, be sure to look at the book
Flexible Web Design: Creating Liquid and Elastic Layouts with CSS by Zoe
Mickley Gillenwater, and download the sample chapter Creating Flexible
Images. In addition, Zoe provides the following extensive list of tutorials,
resources, inspiration and best practices on creating flexible grids and layouts:
Essential Resources for Creating Liquid and Elastic Layouts.
FLEXIBLE IMAGES:
One major problem that needs to be solved with responsive Web design is working
with images. There are a number of techniques to resize images proportionately,
and many are easily done. The most popular option, noted in Ethan Marcottes
article on fluid images but first experimented with by Richard Rutter, is to use
CSSs max-width for an easy fix.
img { max-width: 100%; }
As long as no other width-based image styles override this rule, every image will
load in its original size, unless the viewing area becomes narrower than the
images original width. The maximum width of the image is set to 100% of the
screen or browser width, so when that 100% becomes narrower, so does the image.
Essentially, as Jason Grigsby noted, The idea behind fluid images is that you
deliver images at the maximum size they will be used at. You dont declare the
height and width in your code, but instead let the browser resize the images as
needed while using CSS to guide their relative size. Its a great and simple
technique to resize images beautifully.
23
Note that max-width is not supported in IE, but a good use of width: 100%would
solve the problem neatly in an IE-specific style sheet. One more issue is that when
an image is resized too small in some older browsers in Windows, the rendering
isnt as clear as it ought to be. There is a JavaScript to fix this issue, though, found
in Ethan Marcottes article.
While the above is a great quick fix and good start to responsive images, image
resolution and download times should be the primary considerations. While
resizing an image for mobile devices can be very simple, if the original image size
is meant for large devices, it could significantly slow download times and take up
space unnecessarily.
24
6. PROJECTS
25
7. CONCLUSION
26