graceland-core Documentation

Size: px
Start display at page:

Download "graceland-core Documentation"

Transcription

1 graceland-core Documentation Release SNAPSHOT Javier Campanini April 14, 2014

2

3 Contents 1 About Contributing License Overview Motivation Architecture Modules Getting Started Step 1 - Silly Counting Machine Step 3 - Wire It Up Step 4 - Resources, Tasks & Plugins Step 5 - Building the Application Step 6 - Add a New Machine Step 7 - Switch It Up Plugins Why Plugins? Plugins vs. Modules Writing Your First Plugin A Sample Plugin Plugin Loaders Applications Simple Applications Modal Applications Custom Applications Configurations Binding a Configuration Platform Platform Platform Configuration Escape Hatches How We Use Dropwizard Configurator i

4 8.3 Initializer Metrics Graphite Host-Aware Graphite Reporter Indices and tables 25 ii

5 Contents: Contents 1

6 2 Contents

7 CHAPTER 1 About 1.1 Contributing We re on github, so just head over there, fork the repo, and submit a pull request. While Test-Driven Development is not strictly required, it is highly encouraged, and at the very least, a high degree of test coverage is. 1.2 License Graceland is licensed under the Apache License v2.0. See the LICENSE file for more details. 3

8 4 Chapter 1. About

9 CHAPTER 2 Overview Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 2.1 Motivation Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 2.2 Architecture Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 2.3 Modules Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 5

10 6 Chapter 2. Overview

11 CHAPTER 3 Getting Started A quick guide to getting started using Graceland, using the example of a counting machine, and resources and tasks that use a CountingMachine singleton. 3.1 Step 1 - Silly Counting Machine For this example, we ll create a silly counting machine that will keep count and can be represented in JSON, like the following: { "count": 4, "timestamp: You can do this by creating a simple POJO representation of the counter: public class Counter { private final long count; private final DateTime timestamp; public Counter(long count, DateTime timestamp) { this.count = count; this.timestamp = timestamp; public long getcount() { return count; public DateTime gettimestamp() { return timestamp; And the interface that for the counting machine: package io.graceland.example.counting; public interface CountingMachine { void increment(); void resetcount(); Counter getcurrentcount(); 7

12 This should be enough of a toy example to shed some light on Graceland s plugins. 3.2 Step 3 - Wire It Up Now let s create a simple implementation of the CountingMachine: public class SimpleCountingMachine implements CountingMachine { private final AtomicLong count = new AtomicLong(); public void increment() { count.incrementandget(); public void resetcount() { count.set(0); public Counter getcurrentcount() { return new Counter(count.get(), DateTime.now()); And lets wire it up inside of an Plugin: public class SimpleCountingPlugin extends AbstractPlugin { protected void configure() { // hook up the counting machine bind(countingmachine.class).to(simplecountingmachine.class).in(singleton.class); Whenever we include this SimpleCountingPlugin, we ll be telling Guice to use the SimpleCountingMachine implementation wherever it needs a CountingMachine. You can look into the Guice documentation if you need more information. 3.3 Step 4 - Resources, Tasks & Plugins Now that we have a counting machine, we need to expose it through a RESTful endpoint. We can do that with the following class. Notice how the CountingMachine is injected into the public class ExampleResource { private final CountingMachine ExampleResource(CountingMachine countingmachine) { this.countingmachine 8 Chapter 3. Getting Started

13 @Produces(MediaType.APPLICATION_JSON) public Counter getcurrentcount() { countingmachine.increment(); return countingmachine.getcurrentcount(); We also want to add a Dropwizard Task to help us clear the counting machine whenever we want. We can inject the same CountingMachine here as well: public class ResetTask extends Task { private final CountingMachine ResetTask(CountingMachine countingmachine) { super("reset"); this.countingmachine = countingmachine; public void execute(immutablemultimap<string, String> stringstringimmutablemultimap, PrintWriter countingmachine.resetcount(); printwriter.println("count Reset!"); printwriter.flush(); Now let s add the Task and Resource to our web service: public class ExamplePlugin extends AbstractPlugin { protected void configure() { // add the resource bindjerseycomponent(exampleresource.class); // add the task bindtask(resettask.class); This should be enough for you to start wiring up a simple application! 3.4 Step 5 - Building the Application Now we ll need both of those plugins to wire up our application. We can extend the SimpleApplication for this example, and load the plugins explictly: public class ExampleApplication extends SimpleApplication { protected void configure() { loadplugin(new ExamplePlugin()); loadplugin(new SimpleCountingPlugin()); 3.4. Step 5 - Building the Application 9

14 To run the application, we just add a public static void main(string[] args) method and run it from our IDE: public static void main(string[] args) throws Exception { Platform.forApplication(new ExampleApplication()).start(args); You ll receive a message, listing the commands available. Create a configuration file platform.yml to tell graceland where to start up the server: server: applicationconnectors: - type: http port: 8080 And then re-run the application with the following command line arguments: server platform.yml Note: Make sure the current working directory contains the platform.yml file. You should see text similar to the following: INFO INFO INFO INFO INFO INFO [ :38:55,065] io.dropwizard.server.serverfactory: Starting Platform [ :38:55,127] org.eclipse.jetty.setuid.setuidlistener: Opened application@24a06fb1{ [ :38:55,128] org.eclipse.jetty.setuid.setuidlistener: Opened admin@2104e040{http/1 [ :38:55,130] org.eclipse.jetty.server.server: jetty v [ :38:55,225] com.sun.jersey.server.impl.application.webapplicationimpl: Initiating [ :38:55,291] io.dropwizard.jersey.dropwizardresourceconfig: The following paths we GET /api/example (io.graceland.example.exampleresource) INFO [ :38:55,505] org.eclipse.jetty.server.handler.contexthandler: Started i.d.j.mutabl INFO [ :38:55,506] io.dropwizard.setup.adminenvironment: tasks = POST POST /tasks/gc (io.dropwizard.servlets.tasks.garbagecollectiontask) /tasks/reset (io.graceland.example.resettask) WARN [ :38:55,507] io.dropwizard.setup.adminenvironment:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! THIS APPLICATION HAS NO HEALTHCHECKS. THIS MEANS YOU WILL NEVER KNOW!! IF IT DIES IN PRODUCTION, WHICH MEANS YOU WILL NEVER KNOW IF YOU RE!! LETTING YOUR USERS DOWN. YOU SHOULD ADD A HEALTHCHECK FOR EACH OF YOUR!! APPLICATION S DEPENDENCIES WHICH FULLY (BUT LIGHTLY) TESTS IT.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! INFO [ :38:55,511] org.eclipse.jetty.server.handler.contexthandler: Started i.d.j.mutabl INFO [ :38:55,525] org.eclipse.jetty.server.serverconnector: Started application@24a06fb INFO [ :38:55,526] org.eclipse.jetty.server.serverconnector: Started admin@2104e040{http You can finally test it out: 10 Chapter 3. Getting Started

15 3.5 Step 6 - Add a New Machine Now lets extend our application by adding a new CountingMachine implementation. This time, we ll use one that uses a configuration file to set itself up. First, lets make a configuration file, starting-up.yml: startingon: 500 Now let s make a configuration class to represent the values as a POJO. public class StartingOnConfiguration implements io.graceland.configuration.configuration { private final long public StartingOnConfiguration(@JsonProperty("startingOn") long startingon) { this.startingon = startingon; public long getstartingon() { return startingon; Using the configuration, let s build another CountingMachine. It s very similar to our earlier version, but this one has a constructor where the StartingOnConfiguration is injected into. public class StartingOnCountingMachine implements CountingMachine { private final AtomicLong StartingOnCountingMachine(StartingOnConfiguration configuration) { // use the configuration to get the starting on count count = new AtomicLong(configuration.getStartingOn()); public void increment() { count.incrementandget(); public void resetcount() { count.set(0); public Counter getcurrentcount() { return new Counter(count.get(), DateTime.now()); and finally the plugin to bind the CountingMachine and to tell Graceland what file to use for the configuration. public class StartingOnCountingPlugin extends AbstractPlugin { protected void configure() { // hook up the counting machine bind(countingmachine.class).to(startingoncountingmachine.class).in(singleton.class); // bind the configuration file to the class bindconfiguration(startingonconfiguration.class).tofile("starting-on.yml"); 3.5. Step 6 - Add a New Machine 11

16 Note: The configuration files look for the files relative to the current working directory (cwd). If you re running into trouble finding a configuration file, check to see what the cwd is. Now let s see how we can bring this new CountingMachine into our application. 3.6 Step 7 - Switch It Up We can simply swap out the plugin being loaded! protected void configure() { loadplugin(new ExamplePlugin()); // replace the simple with the StartingOn // loadplugin(new SimpleCountingPlugin()); loadplugin(new StartingOnCountingPlugin()); And now when you check out the URL, you ll see the counting machine starts at the configured value. 12 Chapter 3. Getting Started

17 CHAPTER 4 Plugins Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 4.1 Why Plugins? Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 4.2 Plugins vs. Modules Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 4.3 Writing Your First Plugin Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 4.4 A Sample Plugin Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 13

18 4.5 Plugin Loaders Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum Native Plugin Loader Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 14 Chapter 4. Plugins

19 CHAPTER 5 Applications The purpose of the Application is to manage the list of plugins that define your application. The two primary pieces of functionality are loadplugin and getplugins. 5.1 Simple Applications A simple plugin provides the most basic implementation of an application. It provides a configure() method so you can define the plugins to load. 5.2 Modal Applications You may want an application to end up having different modes of operation - loading different plugins while in the staging environment vs. the production environment. It would be ideal for swapping out implementations that are either not present or not deployed in a given environment. If you want different modes, you can extend the io.graceland.application.modalapplication class, and use your own enum to define the different modes. Note: You ll need to provide a default mode for the application in the constructor. Choosing a production-ready mode would make deploying to a production environment that much less complicated. Instead of using the configure() method, you will use the configurefor(enum<?> Mode) so you can load determine what to do based on the mode. public class SampleModalApplication extends ModalApplication<SampleModes> { protected SampleModalApplication(String[] args) { // it helps to pass in a reference to the class, and the default // mode of the application super(samplemodes.class, SampleModes.PROD, args); protected void configurefor(samplemodes mode) { // load plugins that will be used in all modes loadplugin(new SamplePlugin()); switch (mode) { 15

20 case DEV: // do dev stuff loadplugin(new SampleDevPlugin()); case PROD: // do prod stuff loadplugin(new SampleProdPlugin()); Choosing a Mode To tell your application what mode to run in, add a command line argument with a leading double-dash and the mode enum name. For example: --DEV will match up to the enum value DEV. If no value is passed in, the default mode is used. Note: The mode passed in the command line is case-sensitive. 5.3 Custom Applications If the provided applications do not provide the functionality needed, you can extend them or write your own implementation of the io.graceland.application.application interface. 16 Chapter 5. Applications

21 CHAPTER 6 Configurations Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 6.1 Binding a Configuration Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 17

22 18 Chapter 6. Configurations

23 CHAPTER 7 Platform The graceland-platform module provides everything you ll need to build out modular Dropwizard applications. 7.1 Platform Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 7.2 Platform Configuration Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 19

24 20 Chapter 7. Platform

25 CHAPTER 8 Escape Hatches Graceland is built on top of the dropwizard platform and tries to wrap up the functionality so your plugins don t need to deal directly with it. Because we can t begin to pretend that we ll cover all of your use cases, we ve provided some escape hatches so you could access the low-level dropwizard functionality when needed. 8.1 How We Use Dropwizard A dropwizard application has two primary phases: initialize and run. Graceland provides access to the dropwizard components in each of those phases. public class Platform extends io.dropwizard.application<platformconfiguration> { public void initialize(bootstrap<platformconfiguration> bootstrap) { // run the Initializers and other code public void run(platformconfiguration configuration, Environment environment) throws Exception { // run the Configurators and other code 8.2 Configurator Configurators are triggered during the run phase of the dropwizard application. It provides access to two important low level components: configuration - the application s configuration. environment - an io.dropwizard.setup.environment, which provides access to the underlying frameworks, such as jetty, jersey, and the metrics registry. Most of the work done in a dropwizard application is done during the run phase, so the majority of the custom code will come in the form of a Configurator. public class SampleConfigurator implements Configurator { public void configure(platformconfiguration configuration, Environment environment) { // example of adding a filter directly to the environment environment.servlets().addfilter(...) 21

26 8.3 Initializer If you need access to the a io.dropwizard.setup.bootstrap, you can use an Initializer. This phase is usually used to add commands and bundles to a dropwizard applicataion. public class SampleInitializer implements Initializer { public void initialize(bootstrap<platformconfiguration> bootstrap) { // add a configured command bootstrap.addcommand(...); 22 Chapter 8. Escape Hatches

27 CHAPTER 9 Metrics Graphite The graceland-metrics-graphite module provides a metrics reporting factory that automatically uses the hostname in the prefix. 9.1 Host-Aware Graphite Reporter Reports metrics periodically to Graphite. The prefix provided may include a variable %s that will be replaced with the current machine s host name. This is so each instance of the service will have a different prefix, letting you differentiate each machine s activity, while still letting you roll them up using Graphite. Note: If no hostname can be determined, the variable is removed and any double dots.. will be replaced with single dots. Note: All non-alphanumeric characters (including dots) in the hostname will be replaced with an underscore _ to ensure graphite does not break down the hostname variable Configuration Extends the attributes that are available to the graphite reporter. See the graphite reporter documentation for more details. metrics: reporters: - type: graphite-hostaware host: localhost port: 8080 prefix: <prefix> Name Default Description host localhost The hostname of the Graphite server to report to. port 8080 The port of the Graphite server to report to. prefix (none) The prefix for Metric key names to report to Graphite. 23

28 24 Chapter 9. Metrics Graphite

29 CHAPTER 10 Indices and tables genindex modindex search 25

KIDS BEDROOMS SHOP NOW -00% NEW. Item Name & Description $00 $00 -00% NEW. Item Name & Description $00 $00 NEW COLLECTIONS SHOP NOW!

KIDS BEDROOMS SHOP NOW -00% NEW. Item Name & Description $00 $00 -00% NEW. Item Name & Description $00 $00 NEW COLLECTIONS SHOP NOW! Sign In / 0 0 0 HOME ACCESSORIES DINING SETS SPECIAL OFFERS 2016 COLLECTIONS! JUNE 24,2016 ELEGANT DINING SET Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut

More information

UVic Senior s Program: Microsoft Word

UVic Senior s Program: Microsoft Word UVic Senior s Program: Microsoft Word Created by Robert Lee for UVic Senior s Program website: https://www.uvic.ca/engineering/computerscience/community/index.php Opening Microsoft Word: Launch it from

More information

Typography is the art and technique of arranging type in order to make language visible.

Typography is the art and technique of arranging type in order to make language visible. TYPOGRAPHY 101 Typography is the art and technique of arranging type in order to make language visible. Good typography goes unnoticed. Readability How easy it is to read words, phrases and blocks of text

More information

HTML for D3. Visweek d3 workshop

HTML for D3. Visweek d3 workshop HTML for D3 Visweek d3 workshop What is HTML HTML is the language in which the web pages are encoded. What is HTML? HTML can be complicated But it doesn t have to be.

More information

brand rationale logo colour typography graphics & images GREEN BISHOP BRAND IDENTITY GUIDELINES

brand rationale logo colour typography graphics & images GREEN BISHOP BRAND IDENTITY GUIDELINES brand rationale logo colour typography graphics & images 1 BRAND RATIONALE THE STORY OF GREEN BISHOP Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore

More information

BRAND Guide. EuropeActive LOGOS

BRAND Guide. EuropeActive LOGOS BRAND Guide EuropeActive LOGOS version 10/2014- p1 EuropeActive Logo The European Health & Fitness Association (EHFA) has been rebranded to EuropeActive. With our mission to get more people, more active,

More information

Business Applications Page Format

Business Applications Page Format Margins Business Applications Page Format Page margins are the blank space around the edges of the page. The printable area is the section of the page inside the margins. To Change the Page Margins Margins

More information

CASE EXPLORER - INSTALLATION GUIDE. Doc

CASE EXPLORER - INSTALLATION GUIDE. Doc CASE EXPLORER - INSTALLATION GUIDE Doc. 20161104 Table Of Contents Overview... 3 Log In... 3 Procedure... 3 Home Page... 4 Searching and Pagination... 4 Utility Tools... 5 Report Generation... 6 Additional

More information

HARBORTOUCH STYLE GUIDE

HARBORTOUCH STYLE GUIDE HARBORTOUCH STYLE GUIDE THE LOGO The Harbortouch logo was created for its simplicity and ease of use for all types of applications. It is essential that the logo is not altered in any way in order for

More information

High Performance Auto Layout

High Performance Auto Layout #WWDC18 High Performance Auto Layout Ken Ferry, ios System Experience Kasia Wawer, ios Keyboards 2018 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission

More information

Thinking inside the box

Thinking inside the box Intro to CSS Thinking inside the box Thinking inside the box Thinking inside the box Thinking inside the box Thinking inside the box Thinking inside the box Thinking inside

More information

howtomarketing VISUAL IDENTITY In this section 30/04/ MY PR plus 1

howtomarketing VISUAL IDENTITY In this section 30/04/ MY PR plus 1 howtomarketing VISUAL IDENTITY Module 1 Identify 1 In this section + WHAT IS VISUAL IDENTITY? + BRAND PROMISE AND STYLE + COLOURS + FONTS + DESIGN + VISUAL IDENTITY GUIDES/STYLE SHEETS 2 1 Visual Identity

More information

PromiseShip Style Guide

PromiseShip Style Guide Logo Options Primary - Color Primary with Tag - Color Black Black with Tag Reverse/White Reverse/White with Tag 2 Logo Use Guidelines Use the height of the P in PromiseShip to determine the width of space

More information

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed eiusmod tempor incididunt ut labore et dolore magna - ali qua. Ut enim ad minim veniam,

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed eiusmod tempor incididunt ut labore et dolore magna - ali qua. Ut enim ad minim veniam, Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna - ali qua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut

More information

IDM 221. Web Design I. IDM 221: Web Authoring I 1

IDM 221. Web Design I. IDM 221: Web Authoring I 1 IDM 221 Web Design I IDM 221: Web Authoring I 1 Week 1 Introduc)on IDM 221: Web Authoring I 2 Hello I am Phil Sinatra, professor in the Interac4ve Digital Media program. You can find me at: ps42@drexel.edu

More information

Styling of Controls Framework

Styling of Controls Framework Styling of Controls Framework 2011 51Degrees.mobi Limited. All rights reserved. The copyright in and title to the document Styling of Controls Framework belongs to 51Degrees.mobi Limited. No part of it

More information

Manual ODIP Content Management System Version 1.0 February 2013

Manual ODIP Content Management System Version 1.0 February 2013 Manual ODIP Content Management System Version 1.0 February 2013 Chapter 1- Home page After you have logged in you will find the entry buttons to all sections of the CMS you will need to maintain the ODIP

More information

DESIGN GUIDELINES. Use the following slides as a guide to make sure your presentation follows the PCS Plus brand.

DESIGN GUIDELINES. Use the following slides as a guide to make sure your presentation follows the PCS Plus brand. Use the following slides as a guide to make sure your presentation follows the PCS Plus brand. LOGO PLACEMENT On white content slides the logo should appear in full colour on the bottom left of the screen

More information

STOCKHOLM BEAMER THEME

STOCKHOLM BEAMER THEME STOCKHOLM BEAMER THEME sthlm is based on the hsrm theme 20130731-093333-r2.2B-TemplatesthlmBeamerTheme HendryOlson.com Made in Sweden OVERVIEW 1. Background 2. Structure 3. Features 4. Tutorial 2 BACKGROUND

More information

ANNEX VIII.2 New dangerous substances website. Safety and health at work is everyone s concern. It s good for you. It s good for business.

ANNEX VIII.2 New dangerous substances website. Safety and health at work is everyone s concern. It s good for you. It s good for business. ANNEX VIII.2 New dangerous substances website Safety and health at work is everyone s concern. It s good for you. It s good for business. Information architecture 2 Information architecture Multilingual

More information

Brand Guidelines. Brand Guidelines V1.2 May 21, 2018

Brand Guidelines. Brand Guidelines V1.2 May 21, 2018 Brand Guidelines Brand Guidelines V1.2 May 21, 2018 1. Table of Contents 1. Table of Contents 2. Introduction 3. Logo 3.1 Clear Space 3.2 Color 3.3 Photo Backround 3.4 Sizing 3.4 Don t 4. Color Palette

More information

COMCAS 2015 Author Instructions for Full Manuscript Submission

COMCAS 2015 Author Instructions for Full Manuscript Submission COMCAS 2015 Author Instructions for Full Manuscript Submission This document provides guidance on the submission of your Manuscript to COMCAS 2015. You may wish to print out these instructions and read

More information

HTML. UC Berkeley Graduate School of Journalism

HTML. UC Berkeley Graduate School of Journalism HTML UC Berkeley Graduate School of Journalism Webpages are made of three Webpages are made of three HTML Webpages are made of three HTML CSS Webpages are made of three HTML CSS JavaScript Webpages are

More information

INTRODUCTION. As GRADED brand user, you are also responsible for preserving that image. We count on your cooperation in this process.

INTRODUCTION. As GRADED brand user, you are also responsible for preserving that image. We count on your cooperation in this process. BRAND BOOK 1 INTRODUCTION In this guide, you will find the rules to use the GRADED logo and graphic elements correctly with the possible variations and allowed limits. The guide aims to build a harmonious

More information

15. Recursion 2. Motivation: Calculator. Naive Attempt (without Parentheses) Analyzing the Problem (15 7 3) = Input * 3 = Result 15

15. Recursion 2. Motivation: Calculator. Naive Attempt (without Parentheses) Analyzing the Problem (15 7 3) = Input * 3 = Result 15 Motivation: Calculator Goal: we build a command line calculator 15. Recursion 2 Building a Calculator, Streams, Formal Grammars, Extended Backus Naur Form (EBNF), Parsing Expressions Example Input: 3 +

More information

Ad Spec Guidelines

Ad Spec Guidelines Ad Spec Guidelines 03.19.18 Ad Spec Guidelines 1 General Guidelines Required Assets For best results, please provide fully editable assets. FILES Design Files - Layered PSD (Photoshop) Fonts - RTF / TTF

More information

This is an H1 Header. This is an H2 Header. This is an H3 Header

This is an H1 Header. This is an H2 Header. This is an H3 Header is a key element in web design. This templates delivers you sophisticated typography and various stylings. The style guide gives you an overview about all possible HTML tag stylings provided by the template.

More information

Brand Guidelines CONTENTS. About these guidelines...2. Logo usage...3. Color palette...6. Fonts...7. Additional design elements...

Brand Guidelines CONTENTS. About these guidelines...2. Logo usage...3. Color palette...6. Fonts...7. Additional design elements... CONTENTS About se guidelines...2 Logo usage...3 Color palette...6 Fonts...7 Additional design elements...8 Collateral examples...10 Brand Guidelines AUGUST 2013 1 about se guidelines [yoc-to] The smallest

More information

CONTENT STRATEGY: What s Real, What s Relevant. Kristina Halvorson Web 2.0 Expo San Francisco

CONTENT STRATEGY: What s Real, What s Relevant. Kristina Halvorson Web 2.0 Expo San Francisco CONTENT STRATEGY: What s Real, What s Relevant Kristina Halvorson Web 2.0 Expo San Francisco 04.01.09 WHO AM I? President, Brain Traffic Speaker, conferences Author, in training WHO AM I? Advocate, importance

More information

nagement ompetition enture coaching GRAPHIC STANDARDS capital investment launch opening risk assessment entrepreneur information feasibility study

nagement ompetition enture coaching GRAPHIC STANDARDS capital investment launch opening risk assessment entrepreneur information feasibility study eas development ESEARCH startup groundwork capital investment risk assessment Analysis nagement enture coaching entrepreneur information ompetition GRAPHIC STANDARDS launch opening feasibility study strategy

More information

IDM 221. Web Design I. IDM 221: Web Authoring I 1

IDM 221. Web Design I. IDM 221: Web Authoring I 1 IDM 221 Web Design I IDM 221: Web Authoring I 1 Week 6 IDM 221: Web Authoring I 2 The Box Model IDM 221: Web Authoring I 3 When a browser displays a web page, it places each HTML block element in a box.

More information

USER MANUAL. ICIM S.p.A. Certification Mark

USER MANUAL. ICIM S.p.A. Certification Mark USER MANUAL ICIM S.p.A. Certification Mark Index Informative note 4 The Certification Mark 6 Certified Management System 8 Certified Management System: Examples 19 Certified Product 27 Certified Product:

More information

DESIGNPRINCIPPER FANG FORTÆLLINGEN

DESIGNPRINCIPPER FANG FORTÆLLINGEN DESIGNPRINCIPPER Indhold: 3 / Bomærke 6 Skrift 8 Farve 9 Plakat overordnet På udstillingsstedet 11 Plakat Udstilling 12 Skrift 13 Folder 17 Flyer 2 / Bomærke 3 frizone 4 (minimum gengivelse) 2 cm 4 cm

More information

simpleapi Documentation

simpleapi Documentation simpleapi Documentation Release 0.0.9 Florian Schlachter July 06, 2014 Contents 1 Contents 3 1.1 User s Guide............................................... 3 1.2 Developer s Reference..........................................

More information

01/ 03/ 05/ 07/ 09/ 11/ 13/ 15/ 17/ 19/ 21/ 23/ WEB DESIGN PRINT DESIGN PERSONAL DESIGN. DESIGN IS: a finely crafted method of mass communication

01/ 03/ 05/ 07/ 09/ 11/ 13/ 15/ 17/ 19/ 21/ 23/ WEB DESIGN PRINT DESIGN PERSONAL DESIGN. DESIGN IS: a finely crafted method of mass communication WEB DESIGN 01/ 03/ 05/ 07/ 09/ Delicious Boutique Product Page Design Vida Vibe Website Mock Design IIWII Homepage Design Naturewasher Landing Page Design Grown - Up Talk Application Design PRINT DESIGN

More information

Sphinx Readability Theme Documentation

Sphinx Readability Theme Documentation Sphinx Readability Theme Documentation Release 0.0.6 Tsuyoshi Tokuda December 27, 2015 Contents 1 What Is It? 1 2 User s Guide 3 2.1 Installation................................................ 3 2.2

More information

#BDOG2018. Taglines, Hashtags And More. Spice Up Your Messaging. Digital Sharing. Questions? Comments?

#BDOG2018. Taglines, Hashtags And More. Spice Up Your Messaging. Digital Sharing. Questions? Comments? Taglines, Hashtags And More Digital Sharing Follow and share your story using the hashtag #bdog2018 Browse nonprofits and tools to get involved on our website: bigdayofgiving.org Like us on Facebook: facebook.com/bigdayofgiving

More information

Dashboard Dashboard Screens Screens

Dashboard Dashboard Screens Screens Dashboard Screens DataSynapse Grid Server Dashboard Grid Components Services Admin Diagnostics Overview Overview Director Monitor Broker Monitor 45 Available Engines 16 Connected Drivers 31 Active Sessions

More information

Chapter 3 CSS for Layout

Chapter 3 CSS for Layout Chapter 3 CSS for Layout Chapter two introduced how CSS is used to manage the style of a webpage, this chapter explores how CSS manages the layout of a webpage. Generally a webpage will consist of many

More information

Condition of the Mobile User

Condition of the Mobile User Condition of the Mobile User Alexander Nelson August 25, 2017 University of Arkansas - Department of Computer Science and Computer Engineering Reminders Course Mechanics Course Webpage: you.uark.edu/ahnelson/cmpe-4623-mobile-programming/

More information

Case Study: Gut Check App

Case Study: Gut Check App Case Study: Adam Keller User Experience Client: Janssen Pharmaceuticals Design & Direction Business Objective: To provide IBD and Crohn s Disease patients with a helpful tool that also collects patient-reported

More information

IDM 221. Web Design I. IDM 221: Web Authoring I 1

IDM 221. Web Design I. IDM 221: Web Authoring I 1 IDM 221 Web Design I IDM 221: Web Authoring I 1 Week 2 IDM 221: Web Authoring I 2 Tools for Development Text Editor Hos.ng Version Control FTP (later) IDM 221: Web Authoring I 3 Last week we discussed

More information

Enter the Elephant. Massively Parallel Computing With Hadoop. Toby DiPasquale Chief Architect Invite Media, Inc.

Enter the Elephant. Massively Parallel Computing With Hadoop. Toby DiPasquale Chief Architect Invite Media, Inc. Enter the Elephant Massively Parallel Computing With Hadoop Toby DiPasquale Chief Architect Invite Media, Inc. Philadelphia Emerging Technologies for the Enterprise March 26, 2008 Image credit, http,//www.depaulca.org/images/blog_1125071.jpg

More information

Ad Spec Guidelines. Ad Spec Guidelines 1

Ad Spec Guidelines. Ad Spec Guidelines 1 Ad Spec Guidelines Ad Spec Guidelines 1 Table of Contents General Guidelines 3 Banners Display 4-5 Native Ads 6 Landing Pages: Super 7-8 Image 9 Interstitials 10 Rich Media 11-12 Tags 14 Attribution Pixels

More information

[ ] corporate brand guide brought to you from the minds at:

[ ] corporate brand guide brought to you from the minds at: [ ] corporate brand guide 2015-2016 introduction This document describes the most essential elements of the p d adapt visual identity collage including logo usage, typographical marks and color palette.

More information

Introducing Natural Language

Introducing Natural Language Session #WWDC18 Introducing Natural Language 713 Doug Davidson, Senior Software Engineer Vivek Kumar Rangarajan Sridhar, Software Engineering Manager 2018 Apple Inc. All rights reserved. Redistribution

More information

Username. Password. Forgot your password? Sign in. Register as new user

Username. Password. Forgot your password? Sign in. Register as new user Username Password Forgot your password? Sign in Register as new user Registration Email Password Mobile phone Verify your account via SMS otherwise leave blank to verify via email. Terms & Conditions Lorem

More information

The Moldable Editor. Bachelor Thesis. Aliaksei Syrel from Minsk, Belarus. Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern

The Moldable Editor. Bachelor Thesis. Aliaksei Syrel from Minsk, Belarus. Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern The Moldable Editor Bachelor Thesis Aliaksei Syrel from Minsk, Belarus Philosophisch-naturwissenschaftlichen Fakultät der Universität Bern 6. February 2018 Prof. Dr. Oscar Nierstrasz Dr. Andrei Chiş, Dr.

More information

Introduction to MVC 1.0

Introduction to MVC 1.0 Introduction to MVC 1.0 David Delabassee - @delabassee Software Evangelist Cloud & Microservices - Oracle Java Day Tokyo 2016 May 24, 2016 Copyright 2016, Oracle and/or its its affiliates. All All rights

More information

01 The logo design. Our logo is the touchstone of our brand and one of the most valuable assets. We must. Designed by KING DESIGN

01 The logo design. Our logo is the touchstone of our brand and one of the most valuable assets. We must. Designed by KING DESIGN 01 The logo design Our logo is the touchstone of our brand and one of the most valuable assets. We must 1. The logo and its usage / 2. Black, white and grayscale / 3. Logo construction + clear space /

More information

CSC 337. Cascading Style Sheets. Marty Stepp, Rick Mercer

CSC 337. Cascading Style Sheets. Marty Stepp, Rick Mercer CSC 337 Cascading Style Sheets Marty Stepp, Rick Mercer Preview of a style sheet /* The good way, with a preview of cascading style sheet (css) that has class mystyle */ body { background-color: grey;.mystyle

More information

Feature Extraction and Classification. COMP-599 Sept 19, 2016

Feature Extraction and Classification. COMP-599 Sept 19, 2016 Feature Extraction and Classification COMP-599 Sept 19, 2016 Good-Turing Smoothing Defined Let N be total number of observed word-tokens, w c be a word that occurs c times in the training corpus. N = i

More information

sphinx-argparse Documentation

sphinx-argparse Documentation sphinx-argparse Documentation Release 0.2.2 Alex Rudakov and Devon Ryan Mar 15, 2018 Contents 1 Installation 3 2 Basic usage 5 2.1 Other useful directives.......................................... 6 3

More information

Technical Document Authoring and

Technical Document Authoring and 2015 Aras 1 Technical Document Authoring and Management in PLM Kevin Richard 2015 Aras 2 Agenda Business Justification (Challenges/Goals) Technical Documents Features Demo Wrap up and questions 2015 Aras

More information

Title Optional Subtitle

Title Optional Subtitle . Title Optional Subtitle J. Random Author Technische Universiteit Delft . Title Optional Subtitle by J. Random Author in partial fulfillment of the requirements for the degree of Master of Science in

More information

.and we ll give you 100 to say thank you

.and we ll give you 100 to say thank you The digital bank Windows Internet Explorer http://www.anybank.co.uk/distinction Open an anybank current account today. Get our award winning Distinction Account 5 mobile banking app No monthly fees* Earn

More information

Elaine Torres/Jeremy Henderson/Edward Bangs

Elaine Torres/Jeremy Henderson/Edward Bangs SCENARIO 1: IMAGE AND TEXT PERSONAL USE Lorem ipsum dolor sit am, consectur adipiscing Lorem ipsum dolor sit am, consectur adipiscing Cloud Capture Icon appears in the top right corner of any browser after

More information

Brand Guidelines Clarity Coverdale Fury

Brand Guidelines Clarity Coverdale Fury Brand Guidelines 1 B R A N D M A N I F ESTO There s a spark when a girl realizes she has someone she can count on to support her dreams. The Ann Bancroft Foundation believes in nurturing that spark. Through

More information

brand guide book & resources

brand guide book & resources brand guide book & resources back to top 1 logo page 3 placement, colours and composition key visuals & graphics page 8 placement, colours and composition typography page 10 font use and rules placement,

More information

Travelport Site Re-Architecture,-Design & -Development User Experience: Sitemap + Wireframes 2/14/ :01 AM V1.5

Travelport Site Re-Architecture,-Design & -Development User Experience: Sitemap + Wireframes 2/14/ :01 AM V1.5 Travelport Site Re-Architecture,-Design & -Development User Experience: Sitemap + Wireframes /4/0 :0 AM V.5 Katie Turcotte Rob Staples Michael Johnson Natalie Weathers John Adcox : A Unified Marketing

More information

Graphic Identity Manual Version 5.0 (Updated 08/17)

Graphic Identity Manual Version 5.0 (Updated 08/17) Graphic Identity Manual Version 5.0 (Updated 08/17) University at at Albany Graphic Identity Manual 2 Contents 3 Introduction 4 Name 5 Colors 7 Typefaces and Fonts 8 Wordmarks and Logos 16 Signatures 17

More information

Title. Optional subtitle J. Random Author. Cover Text possibly spanning multiple lines ISBN

Title. Optional subtitle J. Random Author. Cover Text possibly spanning multiple lines ISBN Title Optional subtitle J. Random Author Cover Text possibly spanning multiple lines ISBN 000-00-0000-000-0 Title Optional subtitle by J. Random Author to obtain the degree of Master of Science at the

More information

Amplience Content Authoring Cartridge for Salesforce Commerce Cloud

Amplience Content Authoring Cartridge for Salesforce Commerce Cloud Amplience Content Authoring Cartridge for Salesforce Commerce Cloud Makes it easy to integrate Amplience-created content modules with Commerce Cloud page templates. The result? Seamless content and commerce

More information

Telly Mamayek, MCWD Director of Communications and Education

Telly Mamayek, MCWD Director of Communications and Education Minnehaha Creek Watershed District REQUEST FOR BOARD ACTION MEETING DATE: March 26, 2015 TITLE: Acceptance of 2014 MCWD Brand Manual Updates RESOLUTION NUMBER: 15-XXX021 PREPARED BY: Telly Mamayek, MCWD

More information

Machine-actionable Data Management Planning

Machine-actionable Data Management Planning Machine-actionable Data Management Planning Please select a stakeholder to launch the associated mockup! Researcher Research Support ICT Operator Management Funder DMap Sign In Welcome to DMap the Machine-actionable

More information

Debugging programs. Khoo Yit Phang October 24, 2012

Debugging programs. Khoo Yit Phang October 24, 2012 Debugging programs Khoo Yit Phang October 24, 2012 1 Ideal week of a CS430 student Write code for assignment Compile code into program??? Profit! (Or get an A ) 2 More realistic week of a CS430 student

More information

Control-flow Statements

Control-flow Statements Introduction to Programming Control-flow Statements Sergey Shershakov #4/22 Jan 2019 Test 3 (5 pts) https://goo.gl/forms/9yfm7kohnezgp3gk2 2 MORE ON STREAMS AND STRINGS 3 Class std::stringstream Allows

More information

SIGNAGE STANDARDS MANUAL RYERSON UNIVERSITY

SIGNAGE STANDARDS MANUAL RYERSON UNIVERSITY SIGNGE STNDRDS MNUL RYERSON UNIVERSITY 350 VICTORI ST, TORONTO, ON M5 2K3 ISSUE FOR TENDER SEPTEMER 1, 2017 Sign Type 1.0/Interior Identification Sign Type 2.0/Interior Directory Sign Type 3.0/Interior

More information

RHYMES WITH HAPPIER!

RHYMES WITH HAPPIER! RHYMES WITH HAPPIER! Title Subtitle Date Title Subtitle Date Title Subtitle Date Title Subtitle Date WHO AM I? First Last Body copy Quick Facts about Zapier HQ: San Francisco, CA 100% Remote 145 Employees

More information

1 VISION BRAND. Vision Brand Guide

1 VISION BRAND. Vision Brand Guide 1 VISION BRAND Vision Brand Guide Introduction There are times in the evolution of every corporation that you must embrace change in order to move forward. Optimal strategic positioning and corporate brand

More information

C OLLABORATIVE AI WORKFLOWS

C OLLABORATIVE AI WORKFLOWS C OLLABORATIVE AI WORKFLOWS At, we transform the way people work within companies We offer the technological solutions to develop bespoke collaborative workflows providing superior access to information,

More information

Ghislain Fourny. Big Data 7. Syntax

Ghislain Fourny. Big Data 7. Syntax Ghislain Fourny Big Data 7. Syntax Introduction 2 The stack: Syntax Text CSV XML JSON RDF/XML Turtle XBRL Syntax 3 Data Shapes Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam vel erat nec

More information

User Manual. Version ,

User Manual. Version , User Manual Version 2.3.13, 2018-07-20 Table of Contents Introduction...6 Features...7 Installation...9 Uninstall...9 Quick Start...10 Settings...13 Block name...14 Block code...15 Quickly disable insertion...15

More information

User Guide. Version 2.3.9,

User Guide. Version 2.3.9, User Guide Version 2.3.9, 2018-05-30 Table of Contents Introduction...6 Features...7 Installation...9 Uninstall...9 Quick Start...10 Settings...13 Block name...14 Block code...15 Quickly disable insertion...15

More information

User Guide. Version 2.3.0,

User Guide. Version 2.3.0, User Guide Version 2.3.0, 2018-01-21 Table of Contents Introduction...6 Features...7 Installation...9 Uninstall...9 Quick Start...10 Settings...12 Block name...13 Block code...14 Simple editor for mobile

More information

(12) United States Patent

(12) United States Patent USOO8782.042B1 (12) United States Patent Cooke et al. (54) METHOD AND SYSTEM FOR IDENTIFYING ENTITIES (75) Inventors: David Cooke, Los Altos, CA (US); Martin Betz, Palo Alto, CA (US); Ashutosh Joshi, Fremont,

More information

Buoys, break lines, and unique backgrounds: techniques for non-disruptive bidirectional spatial links

Buoys, break lines, and unique backgrounds: techniques for non-disruptive bidirectional spatial links Buoys, break lines, and unique backgrounds: techniques for non-disruptive bidirectional spatial links Tuomas J. Lukka, Janne V. Kujala, Matti Katila and Benja Fallenstein Hyperstructure Group Agora Center,

More information

BOOTSTRAP GRID SYSTEM

BOOTSTRAP GRID SYSTEM BOOTSTRAP GRID SYSTEM http://www.tutorialspoint.com/bootstrap/bootstrap_grid_system.htm Copyright tutorialspoint.com In this chapter we shall discuss the Bootstrap Grid System. What is a Grid? As put by

More information

Keywords: authors must specify 3-5 keywords in English, which will be used for indexing

Keywords: authors must specify 3-5 keywords in English, which will be used for indexing Title Subtitle Author Name1, Author Name2* Affiliation1, *Affiliation2 Authors must provide an abstract of 100-200 words, written in English in a single paragraph. Lorem ipsum dolor sit amet, consectetur

More information

TheLadders. brand guidelines

TheLadders. brand guidelines TheLadders brand guidelines purpose of this guide This guide is for TheLadders internal team and any of TheLadders trusted vendors. It establishes clear guidelines to help TheLadders teams execute creative

More information

Brand Guideline Book

Brand Guideline Book Brand Guideline Book Contents Tone of Voice 02 Logotype 06 Colour 12 Typography 16 Brand Language 20 Photographic Style 24 Application 28 01 TONE OF VOICE TONE OF VOICE Tone of Voice O1 is a brand that

More information

KNOWLEDGE CENTER SERVICE. Customization Guide

KNOWLEDGE CENTER SERVICE. Customization Guide KNOWLEDGE CENTER SERVICE Customization Guide TABLE OF CONTENTS PAGE Homepage Overview 1 Homepage Customization Options 1. Header 3 2. Engagement Tools 5 3. Search Box 8 4. Search Results 13 5. Footer 20

More information

BRAND GUIDELINES

BRAND GUIDELINES BRAND GUIDELINES 06.19.18 CONTENTS 3 BRAND ELEMENTS 1.1 Overview 1.2 The Nutrien Logo 1.3 The Nutrien Ag Solutions Logo 1.4 Color System 1.5 Logo: Colors 1.6 Logo: Clear Space 1.7 Logo: Scaling & Minimum

More information

Vendio Stores RST Template Language Reference

Vendio Stores RST Template Language Reference Vendio Stores RST Template Language Reference Version 2.1, 09/07/2009 2009 by Vendio Services, Inc. 1 Contents Introduction:...4 The Vendio Stores...4 Assumptions and prerequisites...6 1. RST Basics...6

More information

LANGUAGE SELECTION. Which language do you prefer? English. English

LANGUAGE SELECTION. Which language do you prefer? English. English LANGUAGE SELECTION Which language do you prefer?? English English Your guide to Samsung 837, where technology and culture collide. Confirm 837,. SWIPE TO EXPLORE You, or the concierge who gives you the

More information

(12) Patent Application Publication (10) Pub. No.: US 2016/ A1

(12) Patent Application Publication (10) Pub. No.: US 2016/ A1 (19) United States US 20160371751A1 (12) Patent Application Publication (10) Pub. No.: US 2016/0371751A1 Cohen (43) Pub. Date: Dec. 22, 2016 (54) METHODS AND SYSTEMS FOR REDUCING NADVERTENT INTERACTIONS

More information

HOW TO RANK FOR IPHONE 8 & IPHONE X: A COMPLETE SEO STRATEGY

HOW TO RANK FOR IPHONE 8 & IPHONE X: A COMPLETE SEO STRATEGY HOW TO RANK FOR IPHONE 8 & IPHONE X: A COMPLETE SEO STRATEGY AYIMA HOW TO RANK FOR IPHONE 8 & IPHONE X: A COMPLETE SEO STRATEGY PAGE 1 The New iphone 8 & How To Rank For It: A Complete SEO Strategy After

More information

Python 3: Child processes

Python 3: Child processes Python 3: Child processes Bob Dowling 29 October 2012 Prerequisites rjd4@cam.ac.uk This self-paced course assumes that you have a knowledge of Python 3 equivalent to having completed one or other of Python

More information

PIXEL PERFECT PRECISION. Version 3 Produced

PIXEL PERFECT PRECISION. Version 3 Produced PIXEL PERFECT PRECISION Version 3 Produced by ustwo @pppustwo @gyppsy CONTENT Intro 1 Photoshop & ustwo 110 Thanks 2 Colour Profiles 111 The Core 3 Pixel Precision 116 Pixel Perfect Principles 4 Techniques

More information

RinohType. A Document Processor inspired by LaTeX. Brecht Machiels EuroPython 2015

RinohType. A Document Processor inspired by LaTeX. Brecht Machiels EuroPython 2015 RinohType A Document Processor inspired by LaTeX Brecht Machiels EuroPython 2015 About the Speaker Brecht Machiels, *1982 enjoying computers since about 1986 Ph.D. in micro-electronics programming C, C++,

More information

Title. Optional Subtitle

Title. Optional Subtitle Title Optional Subtitle Title Optional Subtitle Proefschrift ter verkrijging van de graad van doctor aan de Technische Universiteit Delft, op gezag van de Rector Magnificus prof. ir. K.C.A.M. Luyben,

More information

Brand Usage Guide must any all logo files Word templates

Brand Usage Guide must any all logo files Word templates Brand Usage Guide You must refer to this guide for any use of the Stsʼailes logo or Brand. The enclosed CD contains all logo files and Word templates for use. For the latest files go to: www.stsailes.com/brand

More information

Translation features of SharePoint Will they make your site useful or hilarious? Martin Laplante, CTO IceFire Studios

Translation features of SharePoint Will they make your site useful or hilarious? Martin Laplante, CTO IceFire Studios Translation features of SharePoint 2013. Will they make your site useful or hilarious? Martin Laplante, CTO IceFire Studios Machine Translation Risks 3 Machine Translation Risk to your brand Machine Translation:

More information

Python 3: Argument parsing

Python 3: Argument parsing Python 3: Argument parsing Bob Dowling 29 October 2012 Prerequisites rjd4@cam.ac.uk This self-paced course assumes that you have a knowledge of Python 3 equivalent to having completed one or other of Python

More information

LECTURE 6 Scanning Part 2

LECTURE 6 Scanning Part 2 LECTURE 6 Scanning Part 2 FROM DFA TO SCANNER In the previous lectures, we discussed how one might specify valid tokens in a language using regular expressions. We then discussed how we can create a recognizer

More information

Conversion Rate Optimisation. A small business guide

Conversion Rate Optimisation. A small business guide Conversion Rate Optimisation A small business guide 1 Contents About this e-book Why conversion rate optimisation A focus on ROI A 6 step approach to CRO Creating goals and funnels Types of tests Statistical

More information

Python 3: Handling errors

Python 3: Handling errors Python 3: Handling errors Bruce Beckles mbb10@cam.ac.uk Bob Dowling 29 October 2012 Prerequisites rjd4@cam.ac.uk This self-paced course assumes that you have a knowledge of Python 3 equivalent to having

More information

Demo User Interface and Graphic Guidelines

Demo User Interface and Graphic Guidelines Demo User Interface and Graphic Guidelines Typography & Colours Titillium Regular Titillium Semibold Titillium Bold The font used in Qt Demos is the company font Titillium. Fonts weights used: regular,

More information

Map Me To ZERO Waste. Putthisak Panomsarnnarin. Thammasat University.

Map Me To ZERO Waste. Putthisak Panomsarnnarin. Thammasat University. Map Me To ZERO Waste Putthisak Panomsarnnarin Thammasat University. Chemical Substance Identified Problems Leftover Improper Waste Disposal & Collection Solution Difficulties in Accessing to Waste Management

More information