Nahant web agency
Hello and welcome to this web agency Web Designer Nahant video tutorial.
I’m Owen Corso from Google.
And today, we’re going to build a rich media expandable creative with video.
Let’s start by selecting file, New File.
This opens a dialog box where we will set up our ad.
First, let’s make out high of project.
We have four options– The default is Display & Video 360so we will leave that as is.
Dynamic Exits in Studio - Google Web Designer
Ant (GitHub) is much more than a React UI kit with a minimalist design aesthetic and every component under the sun. It is a rabbit’s hole that leads to a giant maze of interconnected libraries, with a serious ecosystem surrounding it. There’s a custom build tool based on Webpack called ant-tool, several CLI apps, community scaffolds, and a complete framework (dva, which has its own CLI as well). And the UI components are mini-projects in and of themselves — see this repo for information on each component.
Many of these libraries appear to be very polished, including an entire React animation library. And I’d love to learn more about them, but Ant comes with a challenge — the majority of the documentation is in Chinese.
How’s Your Chinese?
Let me preface this by pointing out that the components library and its terrific style guide have been translated into English by generous volunteers, so the UI kit is completely usable. And the translation effort demonstrates the project’s intentions to open up Ant to a wider audience, boding well for companies considering adopting it.
However, there are some language issues that remain. The English is sometimes confusing or obscure. The maintainer of the library has commented here that they welcome PRs for improving the documentation, so that could be a great way to get involved in this amazing project.Good luck hunting down issues!
Another issue is that issues in Ant.Design are mostly filed and debated on GitHub in Chinese. This could be a deal breaker for enterprise applications, but I’m not sure it should be one for early startups since Ant can be used quite minimally, without making use of smarter features like built-in form validation. Still, if you find an issue or bug with the library, it will be difficult to research previous solutions to your issue, and that’s why I recommend making minimal use of the surrounding ecosystem at this stage.
Popular UI libraries for React include Material-UI, Semantic-UI, Foundation, and Bootstrap (this and this), and they are all fairly mature. Material-UI should be singled out as it massively eclipses the others in popularity, with over 22k stargazers — and over 600 open issues. But it turns out that Ant.Design is a surprisingly worthy candidate as well. It’s battle tested by some of the most well-trodden sites on the web (Alibaba, Baidu), and it boasts a brilliant style guide, custom tooling, and, of course, a comprehensive catalogue of components. It also has only 85 open issues at the time of writing, which is a good thing considering its popularity.
So let’s take a tour of the library, see what it has to offer, and how to get started using it.
The Ant components list is dizzying. Sure, it contains the basics — modals, forms (inline and vertical), navigation menus, a grid system. But it also contains a ton of extras, such as a @mentioning system, a timeline, badges, a seriously nice table system, and other small fancy features, such as an involved address box (see the Habitual Residence field). Have a look — it has everything that a modern web application should, with a tasteful, minimalist aesthetic.
There’s a nice, concise section in the documentation on the guiding principles of Ant.Design. I found it a great read as it got me thinking a lot about UI/UX considerations, especially the “Provide an Invitation” section, where they discuss different ways of making interactions discoverable by a user. By the way, if anyone can recommend me a good book on UX, I would be grateful.
The Ant layout system is comprised of a 24-aliquot (a great new word that I learned from the translated documentation — it means parts of a whole) grid and a separate Layout component than you can choose to use. The grid uses the familiar Row/Col system, but you can also specify a prop called flex which allows you to harness Flexbox properties to define a responsive UI. (See a previous blog post of mine for help grokking the Flex standard.)
Flexbox is now fully supported on just about every browser (with partial support on IE 11 as well as some older mobile browsers), so it should be fine to use. If your customer base is largely Internet Explorer users, which does happen in some industries or countries, you would be wise to abstain from using flex Rows or the Layout component, as Layout is built strictly on Flexbox.
Layout includes components for a Sider, Header, Content, and Footer. Again, these are strictly based on Flexbox, so there’s no choice here — but to be honest I’m not sure what these components give you on top of using the standard Row/Col grid system, aside from a couple extra props you can make use of and possibly some built-in design choices. All in all, it doesn’t seem to me to be hugely useful.
Col elements can be supplied with a span prop to define how many aliquots a column takes up and an offset prop to define an optional offset; Row can take a gutter prop to define space between columns in a row (in pixels, not aliquots).
Here’s a UI example from a side project of mine. It contains one row with two columns:
The code would look something like this:
Ant does not let you down as far as forms are concerned, with options for inline, horizontal, and vertical forms, amazing select boxes, and clear validation messages and icons. In fact, it goes a little overboard here. It allows you to wrap your entire form-rendering component in a higher-order component à la Form.create()(<Component />) to gain access to a built-in validator syntax and custom two-way-binding system (cue audible lip biting). You can then specify standard rules such as ‘required’, or supply custom validator methods. (What are Higher Order Components? Check out this excellent post by James K. Nelson.)
Do you need to use their HOC? Absolutely not, and I’m not sure you should. As I said above, going down that path could expose you to language risk should you encounter bugs and I don’t see why you would want to use a custom two-way binding data system anyway. But you could easily use the HOC and just not use the two-way data binding.
Au Naturel — Plain React Forms
So let’s go over how to use the Ant validation messages without using their higher-order component.
Ant gives us three props that we can supply to each Form.Item component to display validation messages or icons:
- validateStatus — This determines the colour & icon scheme of the validation message (see photo above) — valid options are success, warning, error, and validating.
- help — The validation message to display.
- hasFeedback — This is one of them props that don’t require a value. Just include if you want to display the associated icon, and it defaults to true.
Here’s an example of a simple form element that displays a validation message:
Notice that I used the long-form Form.Item component name. You can make yourself a shortcut for this and any other Ant sub-components as follows:const FormItem = Form.Item;// .. allows you to use:
Form Validation using the Ant Higher-Order Component
Now what if we do want to make use of the Ant Form decorator? It’s fairly straightforward to implement. Create your React component class, and then pass it as an argument to Form.create(). The component can then be exported:class SomeComponent extends React.Component
render() <place_form_here.. />
FancyFormComponent = Form.create()(SomeComponent);export FancyFormComponent as default ; // imported as SomeComponent
Inside your form, decorate your Input fields using the getFieldDecorater method, which exposes a ton of extra props on your component. You can now manipulate form elements directly from the props (eek!).
This example in the documentation gives a thorough demonstration on using the complete higher-order component.
Interactive Components — Message (Alert)
Ant provides a number of other components that give web applications a high degree of interactivity. A great example is alerts — or messages, as they’re called in Ant. Adding an alert is as simple as calling message.success('Great! Item has been saved.') in your component. Message types include success, warning, or error. Just don’t forget to import message (lowercase) from ‘antd’.Minimalism at its Best
As I mentioned above, you can either go all-in on the Ant ecosystem (with its custom Webpack adapter), or just opt for the design framework. I went with the latter and I suspect you might too, not the least because using other parts of the ecosystem could require a working knowledge of Chinese. But I’ll cover both options.
Option 1 — Use the CLI
Ant comes with antd-init, a CLI for generating a complete React application with Ant installed. I do not recommend this route for non-Chinese speakers, but if you want to try it, getting started is easy. Just install the CLI using npm, create a new folder, and run antd-init:npm install antd-init -g; mkdir demo-app; cd $_; antd-init;
You will then be greeted by the following message:antd-init@2 is only for experience antd. If you want to create projects, it’s better to init with dva-cli. dva is a redux and react based application framework. elm concept, support side effects, hmr, dynamic load and so on.`
It’s a rabbit’s hole. Open your new application and you will see that your familiar webpack.config.js file is no longer familiar — the CLI uses ant-tool, a “Build Tool Based on Webpack” that I mentioned above. The documentation is in Chinese, but it appears to set common defaults for Webpack and then allow you to just supply values that you want to override. Here’s what the config file looks like:// Learn more on how to config.
// — https://github.com/ant-tool/atool-build#配置扩展module.exports = function(webpackConfig)
]); return webpackConfig;
The index.js contains a lovely demo page that uses the understated Ant styling.
Option 2 — Use Standard Webpack
This would be my preferred route, but it can be more complicated getting your Webpack settings right at first. The Getting Started page includes some good instructions. First install Ant in your React app:$ npm install antd --save
Ant recommends using their own babel-plugin-import in your .babelrc:"presets": [
"plugins": ["transform-decorators-legacy", ..., ["import", [ libraryName: "antd", style: "css" ]]
Make sure your Webpack includes loaders for .js and .css files, and you should be good to go. To use an Ant component, import it in the module file. E.g.import Row, Col, Icon, Button from 'antd';
There’s no doubt that Ant has a lot to offer as a UI framework, with a formidable catalogue of components and a serious ecosystem around it. It does, however, come with some risk. If you experience an issue with the library, you may be stuck communicating in Chinese. Ultimately I recommend trying it out if you like the minimalist aesthetic, while keeping usage of the peripheral Ant ecosystem to a minimum.
Nahant web agency
Next, we can select the type of ad.
We want to make an expandable, so we select Expandable on the left.
Next, we can set again ad’s dimensions.
We are building a 320 by 50that expands to 480 by 250.
So I will make those changes.
We then assign the Nahant creative a name.
I will leave my Save ToLocation as the default, and leave the talk about set to Quick.
Once I’m happy with my settings, I click OK.
Google Web Designer creates the initial pages of the ad for me with the dimensions I defined.
The collapsed page already contains a Tap Area event to expand the ad and an expanded pageNahant with a close tap area to collapse back down.
Latest Dental Implants To Be Used
WEB DESIGN IS BROKEN.
It's just crumbled tosand in your hands and it's just disappointing.
Today we are going to talkabout budget that the big one: budget budget BUDGET! It is such a huge topicbut I'm finally gonna lay down the final word on budget, specifically how much youshould spend when you're buying a website.
I've got the answer for you.
Youready you ready for it? 500,000 pounds a week! There we go! Did it!(that was easy) I'm out.
See you later.
(web design isfixed) No.
If you do have five hundred thousand a week to spend on a websiteyou should get in touch with me.
I think we could work with that.
Budget it's sucha huge topic no one's really kind of tackling the answers of a few there's afew articles on the internet that are like "well if you want this type ofwebsite you should spend around this much and if you want that type ofwebsite you should spend around that" Much it really comes down to a fewfactors namely your attitude towards risk, whether you're whether you'recoming from a gain or a pain perspective and how much you actually stand to makeout of it.
What you're really doing is investing in a website: you're lookingfor it to create a return you want it to be putting money back into your pocket.
If you don't want it to do that then it's only gonna be acting detrimental,it's only gonna be taking money or reputation or whatever out of yourpocket and you really need to rethink the reasons why you're doing this in thefirst place.
Go back to one of my previous videos wherewhat where I ask you the question why are you doing this in the first place.
Sothe first thing that we've got to understand when we're asking thequestion how much does a website cost, how much do I spend on a website, we'vereally got to appreciate that all you're doing is you'retrying to give yourself what they call an 'anchor' This is literally just apsychological stake in the ground so that your brain can go "okay well I'vegot a point to start from" It really doesn't matter what that number is butit becomes your anchor: the first price you hear becomes your anchor and aroundthat point you will base all value judgments.
So be careful when you'reasking this question because you might end up with another massivelyoverinflated number that completely puts you off of even going down that routewhen actually you could have got something that worked for you at areasonable price, and if you get a number that's too lowyou're gonna look around and think "hey well this is all way too expensive" andnot actually start engaging in the conversations to help you understand thevalue that it could bring there is.
Another thing that you need to be reallyaware of when you're trying to create a budget for our website and that is thatyou like me like everyone else on the planetwe are naturally risk-averse: yeah we have loss aversion.
Most people agree withthe statement that "it is better to not lose five pounds than it is to find fivepounds" It's the same five pounds! It's weirdwe're hardwired to avoid losses.
We try and keep what we have and thereforewe're less likely to risk that in search of future gains so this means thatyou're naturally going to be skeptical about the gains that you can create witha website you're naturally gonna want to spend as little as possible andthat means that you're at a risk of actually under investing when you'rebuying a website Yourisk of under-investing because you're averse to loss.
I'm exactly the same: theamount of times that I've bought things that I need on say Amazon and gone forthe cheapest possible one because I wasn't entirely sure if, you know, if itwould bring me the thing that I was looking for - the reality is that I endup spending double because, you know, buy cheap buy twice.
But you can actuallyunder invest and if you do especially in something like a website it's like underinvesting in in your team member: if you if you hire a new salesman andyou under invest in him well then he's not gonna do as good a job as hepossibly could do if you're picking if you're picking your teammembers based on the salary that they're willing to accept then you're probablyunder investing and you're not actually realizing that if you spend a little bitmore you can get like disproportionately larger returns.
The third thing that youreally need to be aware of but before you start thinking about your budget iswhether you're coming from a pain perspective or a gain perspective.
Areyou looking to this website to help you reach new markets to help you, I don'tknow, dominate the competition; to help you boost sales/Is it a gain thing? Are you launching a new business a new product? Or are youlooking at it from a pain perspective? Are you looking at it and thinking wellhow can I use this website to help me automate things, cut costs, reduceoverhead - things like that.
Maybe you've got a whole bunch of bad reviews on yourexisting website and so you're almost being forced by your customers forced byyour marketplace to up your game what you're really trying to do there ismanage losses.
You approach these.
you can buy the same thing in two different waysand your experience and therefore what you're willing to spend completelychanges depending on whether you're coming from a pain or a gain perspective.
The final line on it is using an analogy that we use sometimesit's based around cars basically.
Are you are you just trying toget to and from work or are you trying to win Formula One the Formula One GrandPrix you need very different types of cars to be able to do each of thosethings.
There's no point in buying a Formula One car because when you pull upin the Sainsbury's car park you're gonna have nowhere to put your shopping.
Likewise there's no point in buying a Fiat Panda and taking it to the track.
Sothe better you can understand what type of race is that your business is tryingto win, or what type of things your business are trying to do with a websiteand what that's worth to you is the better you're gonna be able to startcreating a realistic budget and get a return that's more in line with yourexpectations.
My name is Aaron Taylor I'm helping youto make better decisions and have better conversations when you're buying awebsite.
till next time.
[singing] I fixed webdesign, said I fixed web design.
How to Be Comfortable in the Dentist's Chair
1. Gestures are the new clicks
We forget how hard scrolling webpages used to be. Most users would painstakingly move their mouse to the right edge of the screen, to use something ancient called a ‘scrollbar’:
As a pro, you probably used a mouse wheel, cursor keys, or trackpad, but you were way ahead of most users.
In 2015 it’s far easier to scroll than it is to click. On mobile, you can scroll wildly with your thumb. To click on a precise target is actually more difficult — the complete opposite of what we’re used to on the desktop.
As a result, we should expect more and more websites to be built around scrolling first, and clicking second. And of course, that’s exactly what we’ve seen everywhere:
There’s every reason to expect this trend to continue as mobile takes over more of the market. Modern sites have fewer things to click, and much more scrolling. We’ll see fewer links, more buttons, bigger ‘clickable’ areas, and taller pages that expect to be scrolled.
Websites which spread their articles onto multiple pages will soon learn this lesson. Expect these to turn into longer single pages or even, like TIME magazine, into infinite scrolling pages:
It’s too early to know if the web will expand itself onto devices like watches, but if it ever does, you can bet it’ll be almost entirely driven by gestures.
2. The fold really is dead this time
Now scrolling is so cheap, and devices are so varied in size, ‘the fold’ is finally becoming irrelevant.
Designers are increasingly free to not cram everything at the top of a page. This leads to a design trend popularised by Medium — full-screen image titles, with no content visible until you start scrolling:
With tall, scrolling pages, designers have the chance to do what magazines have taken for granted for years: fill their pages with big beautiful images. In 2015 expect to see more designs that take up much more space — especially vertically — and a lot of larger imagery like this.
3. Users are quicker, websites are simplifying
Today every young adult is an expert web user. And even the amateurs are acting like pros: using multiple tabs, and swiping to go back a page.
The result is that everything is faster. And we’ve all learned to become impatient. If you want to make a mild mannered person explode with annoyance, just make their Internet really slow for a minute.
Now websites are forced not just to become faster (a technical problem), but to become faster to understand. Designs which slow the user down have the same impact on their audience as these websites which don’t load at all.
Simpler designs are easier to scan, which means they’re faster to appreciate. It’s easy to see which of these two designs is newer, and it’s because it’s the one that user’s can enjoy the fastest:
This is the biggest reason for the death of skeuomorphic design: users are more perceptive, less patient, and clutter only slows them down.
Apps put most websites to shame with super-minimal, beautiful interfaces. And they’re doing this because minimal interfaces perform better.
Flat design is just the beginning. The real trend is towards simplicity and immediacy, and we expect that to go further than ever in 2015.
4. The pixel is dead
On a desktop, a pixel was a pixel. You even had an idea of how many pixels made up an average inch: 72 dpi. Nowadays very few people know what a pixel is.
With responsive design, we’ve seen a move towards grids and percentages. But one huge area remains still unchallenged: bitmap images.
Almost all of the web is built with images that have half the resolution of a modern display, and they don’t scale. With Retina displays and modern browsers, the time is right for vector images to become more popular in 2015.
We can see this trend already happening with the font-based icons and Google’s Material design. The website loads faster and scale the icons to any size without losing quality. That makes them ideal for designers and modern web browsers.
The technology exists now, but it will take time for professionals to change their habits to create for higher quality displays. Once the average desktop display becomes Retina-grade (like the new iMac), we expect designers to follow suit.
5. Animation is back
If you want to make a website look dated, cover it with animated “Under Construction” GIFs and Flash animation. But several things are coming together to make animation a rising star in modern web design.
Flat design can end up looking too consistent, boring even. Animation helps a website to stand out and to pack more information into less space.
Mobile apps have redefined what a user expects. Mobile apps use motion to convey meaning, and websites are just starting to do the same.
New technologies like CSS animation make it easy to enhance designs without plugins, speed or compatibility issues. And Web Components (#6, below) will only accelerate this.
GIF animation is back, and surprisingly effective. You’ll notice this article makes extensive use of GIF animation (if it doesn’t, you should view this version), which has never been easier to create or share.
6. Components are the new frameworks
Web technology continues to get more complicated, and less semantic. Designers must embed messy code onto their pages for simple tasks, like including Google Analytics or a Facebook Like button. It would be a lot easier if we could just write something like this instead:
And we can with Web Components, which aren’t quite ready to be used by most designers yet. 2015 is looking like their year.
Google’s Material design is here, and it may just be what gets this movement started. Powered by Polymer, and supported by all modern browsers, it provides the rich animation and interaction components from Android apps, with simple tags like these:
If that takes hold, it wouldn’t be surprising to see more component based frameworks appear in 2015. Perhaps Bootstrap 4.0?
7. Social saturation and the rise of direct email
Social media has been a huge success for consumers, but many content producers aren’t so happy.
The problem is saturation. With billions of posts every day, Facebook learns the posts that users are most likely to enjoy and shows only those. Unfortunately that means over time, what you post is increasingly seen by a smaller percentage of your followers. (A problem you can solve, conveniently, by paying Facebook).
Social isn’t going away, but in 2014 we’ve seen a lot of prominent bloggers like Tim Ferriss move their focus away from social and into good old fashioned email lists. They’ve realised that email has one significant advantage over social: a much higher percentage of people will see what you send them.
I expect this post-social trend to continue into 2015, with the under-appreciated trend of Web Notifications (which work much like notifications in a mobile app).
Bonus non-prediction: CSS shapes
This cool technology won’t get noticed, except by designers. CSS shapes allow you to flow layout into shapes, like circles:
It’s incredibly cool, but until browser support is guaranteed, this is likely to be too risky to put time and effort into it you’d need almost two complete designs, for old and new browsers. And outside of designers, we don’t think many users would notice.
It is really cool though.
What to expect in 2015
In 2014 we saw mobile use overtake desktop, but the general public hasn’t caught up. Most organisations still commission a website to look good on their computer first and work on mobile second.
In 2015 that strategy is likely to look out of touch and unprofessional. As the mobile becomes the main device for browsing the web, “mobile-first” will become less of a buzzword and more of a requirement.
Flat design may be everywhere, but when you look beyond ghost buttons the real trend is that simpler sites are faster at gratifying users.
Simplicity is not just a fashion: it’s the future. Expect it to only continue.
It will become more and more common to embed animation into blog posts, and for motion to signify both premium quality (for those who can afford it) and to support the user experience.
Pixels and the fold will slowly be set aside making more room for scrolling and click-second experiences. Web Components will make it easier to deliver app-like experiences in our websites.
Right now you see the best of mobile app design appearing in web design. With enough time, the difference between an app and a website might almost entirely disappear.
Concluding with this series of tutorials, we will see now How To Solve A 4x4x4 Rubiks Cube.
The main purpose of the series, is that you learn in a much more effective way how to solve the Rubik's cubes.
We have seen that the resolution of the Junior Cube it's a subset of the steps for the resolution of Standard Cube.
We will see now that in the case of 4x4 Rubik's Cube (and bigger cubes), the method of resolution of the Standard Cube is the base of resolution of more complex cubes.
A way to solve more complex Rubik's Cubes is accomplished through using what is commonly called the 3x3x3 reduction method.
In this method it is necessary that you know how to solve the Standard Cube. If you need to learn how to solve the Standard Cube, please read 'How To Solve A 3x3x3 Rubiks Cube'.
For simplicity this tutorial is divided in four pages, in this first page terms are defined and the method is described.
Table Of Contents• How to solve a 4x4x4 Rubiks Cube • Pieces and Faces • Aditional Faces • Turn Of An Internal Face • Description Of The Algorithm • Step 1, Solving The Centres • Step 2, Pairing up the Edges • Step 3, Finishing the Cube • The Color Scheme • Swapping Two Opposite Centres • Solve A 4x4x4 Rubiks Cube • Step 1, Solving The Centres • I] First White Row • II] First Yellow Centre • III] Finishing the White Centre • IV] Concluding The Centres • Step 2, Pairing up the Edges • Pairing, Case A • Pairing, Case B • Step 3, Finishing the Cube • Last Layer Edges Parity Error • Incomplete Line • Incomplete Cross • Top Layer Edges Parity Error • Opposite Dedges • Adjacent Dedges • Top Layer Corners Parity Error • Corners In Line • Corners In Diagonal
How To Solve A 4x4x4 Rubiks Cube
In order to understand How To Solve A 4x4x4 Rubiks Cube, you need to be familiar with the notation. If you don't know it, please read 'How to solve a Rubiks Cube' before continuing.
For the purposes of the following tutorial, a series of colors will be chosen for the faces, you can choose others.
Pieces and Faces
- Corner ..- a physical corner piece. A corner piece has three sides. There are eight corners.
- Edge .....- a physical edge piece. An edge piece has two sides. There are twenty four edges.
- Centre ...- a physical centre piece. A centre piece has one side. There are twenty four centres.
- Face .....- a side of the cube. There are six external faces and six internal faces.
A 4x4x4 Rubiks Cube has internal faces, they are named with a lowercase letter.
- Internal Upper Face - u
- Internal Down Face - d
- Internal Left Face - l
- Internal Right Face - r
- Internal Front Face - f
- Internal Back Face - b
Turn Of An Internal Face
In a 4x4x4 Rubiks Cube, the internal faces can turn.
To facilitate the turn (and the notation) of an internal face, this is rotated together with the outer face.
See the difference in the following examples of a clockwise turn of the External and the Internal Upper Face (also note the double arrow, which denotes to turn two faces).
How To Solve A 4x4x4 Rubiks Cube - Description Of The Algorithm
The algorithm is divided in three steps.
Step 1, Solving The Centres
The first step in the solution is to solve the 4 Centre Pieces on each face of the cube.
Step 2, Pairing up the Edges
The next step is to Pair up the 24 Edges into 12 distinct Double Edge Pairs (Dedges)
Step 3, Finishing the Cube
When you have solved the Centres and Paired up the Edges, you should see your 4x4x4 Rubik Cube like a 3x3x3 Rubik Cube.
You can finish off the cube in the same way as a 3x3x3.
The Color Scheme
The 4x4x4 Rubiks Cube is an even cube and has no fixed Centre pieces to refer to.
There is no quick way to determine which color goes where in relation to the others. It is helpful to have a color scheme memorised:
Standard Color Scheme
- Yellow opposite White
- Blue opposite Green
- Red opposite Orange
If your cube is scrambled (or it doesn't have the standard color scheme), there is an easy way to determine the scheme.
Simply solve the corners of your 4x4x4 (assuming that you can solve the Corners of a 3x3x3).
Once you've figured out your colour scheme, memorize it or write it down.
Swapping Two Opposite Centres
At some point in your 4x4x4 Rubik Cube solving it is possible that you make a mistake with your Centres, such as transposing two Opposite Centres.
There is an easy way to fix it.
How To Solve A 4x4x4 Rubiks Cube - Algorithm
Now that you understood the method, it is time to put in practice.
Begin with the first step: Solving The Centres.Make money writing about your passions. Join HubPages ________________________________________________________________ Acknowledgement : Table Of Contents by Darkside ________________________________________________________________