31 Ağustos 2016 Çarşamba

HTML5 and CSS3

How to Code a Homepage Template with HTML5 and CSS3

This tutorial has been created to guide you through the process of converting one of our most popular PSD homepage templates on Medialoot into fully coded HTML and CSS.

What We’re Coding

Let’s take a look at our design, we will be working with a Medialoot PSD template called Simply. Simply is a minimal homepage design with subtle colours and strong headline typography. If you aren’t a Medialoot member it is still possible to follow along with the tutorial, click the preview below for a full resolution image to work from:

Understanding the Design

As you can probably see, Simply is a full width homepage design and has 7 distinct sections. We can use these sections to visually break the whole page down into a series of more manageable chunks to work with.

Setting up the Folder Structure

The first thing we need to do is create the folder structure for the project. It is fairly straightforward, all we need is an HTML file, a folder for images and a CSS file. So create a containing folder called ‘simply’ and two sub-folders called ‘images’ and ‘css’. Then using a code editor create a new blank html file and save it as index.html.

Exporting the Assets

Almost all of this particular design can be easily recreated using just HTML and CSS, however we will need to extract a handful of image assets from the .psd file. To export the individual assets, open the Simply design file in Photoshop and locate the layer for the asset that you want to export. Then hold down the Alt key and click the layer visibility icon.
This will show only the selected layer, you can now go to the Image menu and select Trim… to trim the transparent pixels.
Select the Save for Web… option under the File menu and save the photographs as JPG files and any icons or images with transparency as PNG files.
Rinse. Repeat.
Here is a list of all the assets required, their filenames, extensions and image resolutions required:
  • hero.jpg - 2000 x 697 px
  • features-icon-1.png - 100 x 100 px
  • features-icon-2.png - 100 x 100 px
  • features-icon-3.png - 100 x 100 px
  • video-placeholder.jpg - 940 x 527 px
  • article-image-1.jpg - 460 x 270 px
  • article-image-2.jpg - 460 x 270 px

Setting up the HTML File

Open up the index.html file in your text editor and add the following code:
<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Simply</title>
    <!--[if lt IE 9]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
</head>
 
<body>
    
</body>
</html>
This is the most basic skeleton that all html files need. It defines the document type (HTML5), the character set (UTF-8) and the title of the page.
In addition to the basic skeleton, I have also included a script called HTML5Shiv using a conditional comment ‘if lt IE 9’. This will enable the use of semantic HTML5 tags such as <header>, <article> and <footer> in older versions of Internet Explorer that don’t natively support HTML5.

Dissecting Our Design

As we have already split the design up into 7 distinct sections, we can now take this a step further and visually break it down into the basic structure that we will use for the HTML. Here is an image demonstrating how to do this:
You will notice that not every single element has been labelled, just the most important structural elements. The rest can be added later along with the content.
So let’s put that structure into our HTML file, in-between the <body> tags:
<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Simply</title>
    <!--[if lt IE 9]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
</head>
 
<body>

	<header>
		<h1></h1>
		<nav></nav>
	</header>
	
	<div id="hero-image">
		<h2></h2>
		<a></a>
	</div>
	
	<div id="features">
		<ul>
			<li></li>
			<li></li>
			<li></li>
		</ul>
	</div>
	
	<div id="primary-content">
		<article></article>
	</div>
	
	<div id="secondary-content">
		<article></article>
		<article></article>
	</div>
	
	<div id="cta">
	</div>
	
	<footer>
		<div id="footer-info"></div>
		<div id="footer-links">
			<ul></ul>
			<ul></ul>
			<ul></ul>
		</div>
	</footer>
    
</body>
</html>
Because the design has a width of 960px, we will also need to insert a wrapper into each section. This is done using a container div with a class of ‘wrapper’:
<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Simply</title>
    <!--[if lt IE 9]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
</head>
 
<body>

	<header>
		<div class="wrapper">
			<h1></h1>
			<nav></nav>
		</div>
	</header>
	
	<div id="hero-image">
		<div class="wrapper">
			<h2></h2>
			<a></a>
		</div>
	</div>
	
	<div id="features">
		<div class="wrapper">
			<ul>
				<li></li>
				<li></li>
				<li></li>
			</ul>
		</div>
	</div>
	
	<div id="primary-content">
		<div class="wrapper">
			<article></article>
		</div>
	</div>
	
	<div id="secondary-content">
		<div class="wrapper">
			<article></article>
			<article></article>
		</div>
	</div>
	
	<div id="cta">
		<div class="wrapper">
		</div>
	</div>
	
	<footer>
		<div class="wrapper">
			<div id="footer-info"></div>
			<div id="footer-links">
				<ul></ul>
				<ul></ul>
				<ul></ul>
			</div>
		</div>
	</footer>
    
</body>
</html>

Adding The Content

We can now add the content from the design into the HTML. We will also be adding more tags for minor elements such as paragraphs, headers, links, list items and anything that hasn’t already been added:

Section 1: Header

The header consists of a logo and navigation menu. A <h1> tag is used for the logo and a span with a class of ‘color’ will allow us to set a different color for the full stop using CSS later. The navigation menu is a simple unordered list <UL> with 4 list items <li>, wrapped in the semantic HTML5 <nav> tags.
<header>
	<div class="wrapper">
		<h1>Simply<span class="color">.</span></h1>
		<nav>
			<ul>
				<li><a href="#">Home</a></li>
				<li><a href="#">Portfolio</a></li>
				<li><a href="#">Contact</a></li>
				<li><a href="#">Blog</a></li>
			</ul>
		</nav>
	</div>
</header>

Section 2: Hero Image

The hero banner image is a simple div with the headline text in a <h2> and button link
<div id="hero-image">
	<div class="wrapper">
		<h2><strong>A Minimal, clean</strong><br/>
		layout for web design.</h2>
		<a href="#" class="button-1">Get Started</a>
	</div>
</div>

Section 3: Features

The 3 feature sections are each a list item in an unordered list, using CSS we will float the list items left to display them horizontally. To prevent other elements being affected by the floating we will also need a div with the class ‘clear’ and in the CSS later the class ‘.clear’ will have the attribute ‘clear:both’.
<div id="features">
	<div class="wrapper">
		<ul>
			<li class="feature-1">
				<h4>Easy to Edit</h4>
				<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam mollis turpis ac libero interdum, id fringilla purus feugiat. Etiam malesuada mattis nibh at bibendum.</p>
			</li>
			<li class="feature-2">
				<h4>Layered PSD</h4>
				<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam mollis turpis ac libero interdum, id fringilla purus feugiat. Etiam malesuada mattis nibh at bibendum.</p>
			</li>
			<li class="feature-3">
				<h4>Ready to Go</h4>
				<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam mollis turpis ac libero interdum, id fringilla purus feugiat. Etiam malesuada mattis nibh at bibendum.</p>
			</li>
			<div class="clear"></div>
		</ul>
	</div>
</div>

Section 4: Primary Content

The primary content section is very simple and uses an <img> tag for the video placeholder image.
<div id="primary-content">
	<div class="wrapper">
		<article>
			<h3>Featured Content</h3>
			<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec euismod leo a nibh dignissim tincidunt. Nam ultricies odio ac neque suscipit volutpat. Ut dictum adipiscing felis sed malesuada. Integer porta sem nec nibh hendrerit imperdiet. </p>
			<a href="#"><img src="images/video-placeholder.jpg" alt="video placeholder" /></a>
		</article>
	</div>
</div>

Section 5: Secondary Content

Similarly to the features section, we are floating each <article> left to display them horizontally. You will probably notice in this section that we have used some inline styles. I would not normally recommend this, but in this instance the background image for the articles would be classed as content rather than styling so it belongs in the HTML not CSS.
<div id="secondary-content">
	<div class="wrapper">
		<article style="background-image: url('images/article-image-1.jpg');">
			<div class="overlay">
				<h4>Secondary Content</h4>
				<p><small>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec euismod leo a nibh dignissim tincidunt nam.</small></p>
				<a href="#" class="more-link">View more</a>
			</div>
		</article>
		<article style="background-image: url('images/article-image-2.jpg');">
			<div class="overlay">
				<h4>Secondary Content</h4>
				<p><small>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec euismod leo a nibh dignissim tincidunt nam.</small></p>
				<a href="#" class="more-link">View more</a>
			</div>
		</article><div class="clear"></div>
	</div>
</div>

Section 6: Call to Action

Another straightforward section featuring just a heading 3, paragraph and button link.
<div id="cta">
	<div class="wrapper">
		<h3>Heard Enough?</h3>
		<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec euismod leo a nibh dignissim tincidunt. Nam ultricies odio ac neque suscipit volutpat. Ut dictum adipiscing felis sed malesuada. Integer porta sem nec nibh hendrerit imperdiet. </p>
		<a href="#" class="button-2">Get Started</a>
	</div>
</div>

Section 7: Footer

The footer is divided into two columns, the ‘footer-info’ column and the ‘footer-links’ column. The ‘footer-links’ column is then sub-divided into 3 columns using unordered lists.
<footer>
	<div class="wrapper">
		<div id="footer-info">
			<p>Copyright 2014 CompanyName. All rights reserved.</p>
			<p><a href="#">Terms of Service</a> I <a href="#">Privacy</a></p>
		</div>
		<div id="footer-links">
			<ul>
				<li><h5>Company</h5></li>
				<li><a href="#">About Us</a></li>
				<li><a href="#">Meet The Team</a></li>
				<li><a href="#">What We Do</a></li>
				<li><a href="#">Careers</a></li>
			</ul>
			<ul>
				<li><h5>Company</h5></li>
				<li><a href="#">About Us</a></li>
				<li><a href="#">Meet The Team</a></li>
				<li><a href="#">What We Do</a></li>
				<li><a href="#">Careers</a></li>
			</ul>
			<ul>
				<li><h5>Company</h5></li>
				<li><a href="#">About Us</a></li>
				<li><a href="#">Meet The Team</a></li>
				<li><a href="#">What We Do</a></li>
				<li><a href="#">Careers</a></li>
			</ul>
		</div>
		<div class="clear"></div>
	</div>
</footer>
The next step is to link to some css files that we will be using. The first one is a css reset from Meyerweb that can be downloaded here: CSS Reset. Once it has been downloaded place it into the css folder and include this line of code in the <head> section of our HTML:
<link rel="stylesheet" type="text/css" href="css/reset.css">
Then we want to include a separate css file for our own custom styles. Create a new blank document with your text editor and save it as style.css, place it in the css folder and then include this line of code in the <head> section of the HTML (directlybelow the css reset line):
<link rel="stylesheet" type="text/css" href="css/style.css">
We will also be using a custom font from the Google Fonts library for the logo text. Including this line of code will allow us to use the ‘Crete’ font:
<link href='http://fonts.googleapis.com/css?family=Crete+Round' rel='stylesheet' type='text/css'>

Adding the Styles

Global Styles

Some styles such as the body, headings, paragraphs and links are global attributes that apply to the whole document, so we will define these first. Most of these attributes, such as colours and fonts are simply extracted from the PSD file. The width of the wrapper is 960 pixels minus 10 pixels padding on either size. And due to using a CSS reset, attributes such as strong and small will need to defined.
body {
	background-color: #fff;
	color: #777;
	font: normal 15px "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
}

p {
	line-height: 20px;
	margin-bottom: 20px;
}

h1 {
	font-family: 'Crete Round', serif;
	font-weight: bold;
	color: #444;
	font-size: 45px;
	margin-bottom: 20px;
}

h2 {
	font-weight: 300;
	color: #444;
	font-size: 55px;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 20px;
}

h3 {
	font-size: 30px;
	color: #444;
	font-weight: bold;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 20px;
}

h4 {
	font-size: 24px;
	color: #444;
	font-weight: bold;
	text-transform: uppercase;
	margin-bottom: 20px;
}

h5 {
	font-size: 15px;
	color: #444;
	font-weight: bold;
	text-transform: uppercase;
}

a {
	text-decoration: none;
	color: #444;
}

a:hover {
	color: #02b8dd;
}

strong {
	font-weight: bold;
}

small {
	font-size: 13px;
	color: #777;
	font-style: italic;
}

.clear {
	clear: both;
}

.wrapper {
	margin: 0 auto;
	padding: 0 10px;
	width: 940px;
}

Section 1: Header

The <h1> styles position the logo text and the .color attribute defines the colour of the full stop in the logo. The navigation <ul> displays all of list items floating to the left.
header {
	height: 120px;
}

header h1 {
	float: left;
	margin-top: 32px;
}

header h1 .color {
	color: #02b8dd;
}

header nav {
	float: right;
}

header nav ul li {
	float: left;
	display: inline-block;
	margin-top: 50px;
}

header nav ul li a {
	color: #444;
	text-transform: uppercase;
	font-weight: bold;
	display: block;
	margin-right: 20px;
}

Section 2: Hero Image

The #hero-image class has a height which is actually less than the dimensions of the background image, this gives you a few pixels top and bottom to play with if minor changes are needed in the future, or if you are making your design responsive.
#hero-image {
	height: 580px;
	padding-top: 1px;
	background: #e8eced url('../images/hero.jpg') no-repeat center;
}

#hero-image h2 {
	margin: 180px 0 40px 0;
}

.button-1 {
	display: block;
	text-align: center;
	background: #444;
	border-radius: 3px;
	color: #fff;
	width: 180px;
	height: 50px;
	font-size: 20px;
	line-height: 50px;
	margin: 0 auto;
}

.button-1:hover {
	background-color: #02b8dd;
	color: #fff;
}

Section 3: Features

Each of the feature elements share the #features ul li attribute but the individual .feature-1, .feature-2 and .feature-3 attributes are unique to their respective elements and define different icons for each feature.
#features ul {
	margin: 80px 0;
}

#features ul li {
	width: 300px;
	padding-top: 140px;
	float: left;
	margin-right: 10px;
	text-align: center;
}

#features ul li.feature-1 {
	background: url('../images/features-icon-1.png') no-repeat top center;
}
#features ul li.feature-2 {
	background: url('../images/features-icon-2.png') no-repeat top center;
}
#features ul li.feature-3 {
	background: url('../images/features-icon-3.png') no-repeat top center;
}

Section 4: Primary Content

The heading 3 in this section is underlined and aligned to the center, which is customisation of the standard h3 defined in the global styles part of the CSS.
#primary-content {
	background-color: #f8fafa;
	padding: 60px 0;
	text-align: center;
}

#primary-content h3 {
	display: block;
	margin: 0 auto 20px auto;
	width: 400px;
	border-bottom: 1px solid #02b8dd;
	padding: 0 0 20px 0;
}

#primary-content a img {
	margin: 20px 0;
}

Section 5: Secondary Content

A first-child selector is used to place 20 pixels of margin on the first article only, and the .overlay class features a slightly transparent white background using rgba.
#secondary-content {
	padding: 60px 0;
	text-align: center;
}

#secondary-content article {
	width: 460px;
	height: 270px;
	float: left;
	background-color: #f5f5f5;
}

#secondary-content article:first-child {
	margin-right: 20px;
}

#secondary-content article .overlay {
	background: rgba(255, 255, 255, .95);
	height: 230px;
	width: 190px;
	padding: 20px;
}

article h4 {
	border-bottom: 1px solid #02b8dd;
	padding-bottom: 20px;
}

.more-link {
	border: 1px solid #02b8dd;
	color: #02b8dd;
	padding: 6px 20px;
	border-radius: 3px;
}

.more-link:hover {
	background-color: #02b8dd;
	color: #fff;
}

Section 6: Call to Action

We use the same custom styling for <h3> here and also define the styles for the outlined button and its hover state
#cta {
	padding: 60px 0;
	text-align: center;
}

#cta h3 {
	display: block;
	margin: 0 auto 20px auto;
	width: 400px;
	border-bottom: 1px solid #02b8dd;
	padding: 0 0 20px 0;
}

.button-2 {
	display: block;
	margin: 0 auto;
	border: 2px solid #02b8dd;
	color: #02b8dd;
	border-radius: 3px;
	width: 180px;
	height: 50px;
	font-size: 20px;
	line-height: 50px;
}

.button-2:hover {
	background-color: #02b8dd;
	color: #fff;
}

Section 7: Footer

We split the footer into two main columns with a float: left attribute on both #footer-info and #footer-links. And use the same method to split the #footer-links section into 3 horizontal unordered lists.
footer {
	padding: 60px 0;
	background-color: #f8fafa;
}

#footer-info {
	width: 380px;
	float: left;
	margin-top: 10px;
}

#footer-links {
	width: 520px;
	float: right;
}

#footer-links ul {
	width: 150px;
	float: left;
	margin-left: 20px;
}

#footer-links ul li {
	margin: 10px 0;
}

Conclusion

And there we have it! By breaking the design down into sections and visualising the structure before we start coding, it is surprisingly straightforward to code a template using HTML5 and CSS3.
Don’t forget that you can download the Simply template here:

28 Ağustos 2016 Pazar

css background

Using an image on a background is pretty simple:
body {
  background: url(sweettexture.jpg);
}
The url() value allows you to provide a file path to any image, and it will show up as the background for that element.
You can also set a data URI for the url(). That looks like this:
body {
  /* Base64 encoded transparent gif */
  background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
}
This technique removes one HTTP request, which is a good thing. But, there are a number of downsides, so before you start replacing all of your images make sure you consider all the

27 Ağustos 2016 Cumartesi

theme forest2

Uzun bir süredir themeforest üzerinde satişa cikarmak uzere birseyler yapmaya calisiyorum ve yetersiz kaldigim icin ve etrafimda daha once bu isler ile ilgilenen birileri olmadigi icin genelde yarida birakip vazgeciyorum.
Aslinda iki kisiyiz ve olasi seneryomuz su sekilde; ben psd olarak bir web tasarimi ortaya cikariyorum arkadasimda bunu html e dokerek bir html template hazirladiktan sonra bunu themeforest uzerinden satisa sunuyoruz, fakat bu kadar basit ilerlemiyor. Themeforest uzerinde satis yapabilmek icin, yapacaginiz isin kurallari standartlari v.s. gibi bir cok sorunun cevabi icin Türkçe kaynak bulunmuyor. İngilizce olarak dokumani v.s. mevcut fakat ingilizcemiz biraz zayif. Bu konuda bilgisahibi olmak isteyen bir cok arkadasimiz oldugunada eminiz ve halihazirda satis yapan bir cok arkadasta mevcut olduguna inaniyorum. Eger bu yaziyi okuyan arkadaslar var ise aklindaki sorulari yorum olarak yazabilir, themeforestle calisan arkadaslarda ayni sekilde cevap verebilecegi sorular varsa cevaplarini esirgemesinler. Boylece ortaya basit Türkçe bir kaynak cikarmis oluruz. Akljmdaki sorulari ve bulabildigim bazi cevaplari net olmasada yazacagim.

1- Bir web sitesi tasarimi yapacagim, calisma dosyamin genisligi kac px olmali ? Bir standart var mi?

Bunun icin grid system kullaniliyor. 12 kolonlu bir sablon kullanilabilir.360gs.com uzerinden v.b. Grid system yapilarinin hazir psd dosyalari kullanilabilir.

PSD Tasarim yaparken klasor yapisi nasil olmali ?

Olabildigince duzgun bir sekilde bolumlere ayrilmali. Bunu ogrenmenin ve anlamanin en iyi yolu tehemeforest uzerinden bir tema bulup bunun psd dosyasini incelenmesi.

Tasarimimda kullanacagim resimleri free stock resim sitelerinden temin edip kullanabilirmiyim?

Genelde ucretli stock fotograflar tercih ediliyor ayrica ucretli bir resim kullandiysaniz nereden satin aldiginizi belirterek link vermemiz gerekiyormus.

Tasarimi html e dokerken bir css framework kullanmaliyim?

Benim gordugum ve gozlemledigim kadariyla en cok bootstrap kullanilmakta. Mutlaka kullanmalisiniz.

Hangi css framework’u tercih etmeliyim?

Bootstrap tercih edebilirsiniz.

Kullandigim js pluginlerini, font, icon, css frameworkleri v.s. belirtmelimiyim?

-?

MIT lisansina sahip olan plugin v.s. herseyi rahatca kullanabilirmiyim?

-?

Html temam icin dokumantasyon hazirlamam zorunlu mu?

Evet envatoda satisini yapmak istedginiz hersey icin dokumantasyon istenmekte. Ornek dokumantasyona sahip olmanin en iyi yolu hali hazirda sizinkiyle ayni kategorideki bir temayi indirip

Makaleler

themefores 1

Bu yazı ben de yapmak istiyorum ama bir türlü vakit ayıramıyorum diyen arayüz tasarımcısı arkadaşlarıma ithafen yazılmıştır. Yol göstermesi dileğiyle.
Projeyi tamamlamak ne kadar vaktimi aldı?
Tüm süreç yaklaşık 1,5 ay civarında sürdü. Bu süre boyunca her gün proje ile ilgilenemesem de her zaman aklımda projeyi bir an önce tamamlamak ve bir sonraki adıma geçmek vardı. Çalışabildiğim günlerde en az 2 saat, en fazla 3 saat kadar proje için vakit ayırdım.
Normal çalışma düzenimden farklı değişik bir çalışma sistemi uyguladım. Çalışma saatlerimi işten gedikten sonra akşam vakti değil de, sabah daha erken kalktığım bir vakide çektim. Benim için oldukça farklı bir deneyim oldu bu. Çünkü uzun zamandır (yıllardır) sabahları kalkıp direk olarak işe gidiyordum. Sonradan ferkettim ki bu beni oldukça monotonlaştırmıştı. Erken kalkmak tam bir işkence gibi gözüküyordu. Ama sabah saat 6 da kalkıp, hergün düzenli olarak işe oturdukça motivasyonum gün geçtikçe arttığını gördüm. Yaptıklarımın en önemli noktası bence burası oldu.
Peki zaman bu kadar az iken nasıl oldu da işime odaklandım ve verimimi nasıl yüksek tuttum?
Her gün sabah 6:00 da kalkıp 8:00′e kadar çalıştım ve bu 2 saati 4 eşit parçaya (4P) bölerek kullandım. 25dk  çalışma için ve 5dk dinlenme olarak kullandım. Bu tekniğin adı “Pomodoro” tekniği. Faydası ise 25dk boyunca üzerinde çalıştığım konuya tam olarak odaklanabilmeyi sağlamasıydı. Çalışırken işi aksatacak, gerekli gereksiz aklıma gelen her şeyi bu süre boyunca görmezden geldim ve bunları küçük kağıtlara not etmeye başladım. Bu konulara ise sonra bakarak zamanımı sadece işe ayırmış oldum. Çoğu da zaman ayırmaya değmeyen şeylerdi tabiki.
Süreç boyunca sabahları zihnimi açık tutabilmek için bazen kitap okuyarak güne başladım. Bu sayede 2 tane de kitap bitirdim. Normalde iki üç ayda bir kitap bitirirsem benim için bu büyük bir başarıydı. Sabah okumanın faydalarını ayrı bir konu olabilir.
İlk hareket ve motivasyon sağlamak?
Motivasyonumu yüksek tutmak için kullandığım özel bir yöntemim olmadı. İlk hareketim sabahları erken kalkmaya başlamak oldu. Bu bir rutin haline geldikten sonra iş kendi kendine ilerlemeye başladı, otomatikleşti. Hiç bir şey üretmesem bile sabahın gücü beni hep ileri götürdü. Zamanla artık aklımdaki tek düşünce bir tasarım ile Envatoya, bu global markete zaman kaybetmeden girmek idi. Yapılacakları Evernote ile kaydettim. İşleri buradan takip ettim.
Projeyi çok daha kısa bir zamanda bitirebilirdim, ama kendime bu konuda baskı yapmadım.
İşin en güzel kısmı bence bu oldu. Kendime hiç baskı yapmadım. İşimi kendim için yapıyordum ve bu beni yaptığım işe daha çok bağlıyordu. Boş vakitlerimde Freelance olarak başkasına çalışmaktansa kendi adıma çalışmak, yaptığım tasarımın beğenilmeyecek korkusunu ya da diğer stres unsurlarını (işin iptal olması, yetiştirememe, söz verip tutamamayı) ortadan kaldırdı. Bazı insanlar üzerlerindeki bu baskıyı kendi verimliliklerini arttırmak için kullanırlar ama benimki öyle olmadı. İş daha çok benim oldukça yapmaktan o kadar fazla keyif aldım. Bu da üzerimde olumlu bir motivasyon oluşturdu. Sonuçta bence hiç de fena sayılmaz.
Gereksiz iş yapma.
Hayatımın her döneminde elimde freelance işler oldu. Bu süreçte odağımı dağıtmamak için gelen freelance işleri başka arkadaşlarıma pasladım. Bazen ücret almadan eşe dosta, bazen kendi fikir ve projelerime, bazen de gerçek müşterilerime işler yapıyordum. Bazı işler için isteksiz olsam da hayır diyemediğim için de yapmak zorunda kalıyordum. Açıkcası bugüne kadar yaptığım işlerden hatrı sayılır gelir de elde ettim. Ama işlerin sürdürülemez (yap/sat) gelir kaynakları olmasından dolayı sadece işi teslim ettiğim dönemi, yani günü kurtardılar. Müşteri bazlı yaptığım işleri, tam zamanlı çalıştığımdan ve maaşımdan olmamak için referanslarım arasında bile gösteremedim.
Başkalarına sırtımı yaslamalı mıyım?.
Öğrendiğim en önemli şey bu oldu. Birilerine güvenip de iş planınızı ona göre yapıyorsanız karşı tarafta bir aksilik çıktığı zaman sizin de iş planınız aksıyor. Böyle olunca hayallerinizi gerçekleştirmek için başkasına bağımlı hale geliyorsunuz. Benim kendime önerim artık mümkün olduğunca hayallerimin peşinden önce kendi başıma koşmam oldu. Bu ortak iş yapmayacağım anlamına gelmiyor, sadece her zaman bir B planı olmalı. 6 ay kadar bir arkadaşım ile yaptığımız projeler de ilerleyemezken bu tasarım 45 günde yayına girdi!
Şimdi biraz da iş süreci. Phione’ı yaparken şu aşamalardan geçtim.
Fikir?
Market için en uygun fikrin One Page (tek sayfa) tasarım olduğuna kanaat getirmem çok uzun sürmedi. İncelediğim bir çok ThemeForest profilinde ilk ürün olarak genellikle bu tarz sayfalar olduğunu gördüm. Markete alışmak için yapıldığı çok belliydi. Ben de aynı yolda ilerlemeye karar verdim. Maksadım zaten pas atmak ve bu işe bir yerden girmekti. Themeforest üzerindeki örnek one page tasarımları inceledim ve mevcut olan tüm başlıkları tek tek not aldım. Bu başlıklardan sadece yapmak istediklerimi seçtim. Elimde yapılabilecek bir çok fikir de birikmiş oldu. Tabi biraz kendime limit koymak zorunda kaldım bu başlıkları belirlerken, yoksa çok fazla yapılacak iş kalemi olacaktı elimde.
İsim?
Altın oranı bir çok tasarımcı biliyordur. Phi sayısı (1.618) Fibonacci serisindeki rakamların kendinden önceki rakam ile bölündüğünde ortaya çıkan orandır. Çok eski zamanlardan beri eserlerin yapımında kullanılan, günümüzde ürün tasarımları (iPod) logo tasarımları (Apple logosu) ya da film çekimleri gibi yerlerde de kullanılan, doğada da bir çok canlıda olan, insanın görsel açıdan güzel tanımlamasının ortak noktası sayılan (bununla ilgili bir makale okumuştum) bir orandır. (1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89).
Ben de buradan esinle Phi ve dizinin ilk serisinden 1 rakamını kullanarak “PhiOne” ismini çıkarttım. Kafamda zaten “One Page” (tek sayfa) yapmak olduğu için de uyumlu oldu. Fonetik olarak iphone olarak da okunduğunu sonradan fark ettim. Google otomatik tamamlama “phione” ın doğru olmadığını söylüyor :)Çokta sorun etmedim ama. Tabiki phi’yi sadece isimde kullanmadım. Site tasarımının bir çok yerine uygulamaya çalıştım.
2014-02-08_0944h1-title2014-02-08_0238
Kağıt çizimler:
Bir sayfada olması gerekenler ve isim çıktıktan sonra hepsinin nasıl olması gerektiğini kara kalem olarak sağa sola çizmeye başladım. Bu konuda çok dağınık gittim, nereye ne çizdiğim karıştı. Bir süre sonra bu sürecin işi biraz uzattığını düşündüm ve en mantıklısının Mockup kısmına geçmek olduğuna karar verdim.
Mockupların (taslak tasarımların) hazırlanması:
Mockuplar bir tasarımın temel taşıdır. Eğer işi düzgün bir şekilde tamamlamak, yaptıklarınızı sil baştan yapmamak ve vaktinizi verimli kullanmak istiyorsanız mutlaka projenizi görsel olarak canlandırmanız gerekli. Daha önceleri balsamic mockup ve pencil ile yaptığım çalışmaları bu sefer online tutabileceğim başka bir araç ile değiştirdim. Çünkü iş yerinde öğle aralarında da bu konudan uzak kalmak istemiyordum. Biraz internetten araştırma yaptım vemoqups’ı buldum.Online olarak mockupları tutabileceğim en kullanışlı site burasıydı. Diğer alternatifleri genellikle pahalı olduğu için burası daha cazip geldi. İşin en zorlu kısmını burada geçirdim. Çünkü elimde yapılacak öğeler (alanlar) vardı ama nerede ve nasıl durması gerektiği konusunda henüz karar verememiştim. Burada daha önce karaladığım çizimler ve dribbble, fikirleri bulmam açısından çok işime yaradı. Yapacağım tasarımın neye benzemesi gerektiği konusunda dribbble’dan oldukça beslendim. Her zaman bir tasarımcının zihinsel olarak yediği yemek kaliteli olduğu zaman yaptığı işlerinde kalitesi o oranda artıtığını düşünüyorum. Tabiki yakın arkadaşım Can’dan da bir çok geri bildirim aldım ve bunları mockup üzerinde düzelttim.
phione-mockup

Görsel Tasarım:
Tasarımın temeline her zaman yapmak istediğim altın oranı koymak fikri aklımdan hiç çıkmadı yüzden tüm görselleri birbirine bu oranlarla hizlamaya çalıştım. Tasarım süreci normalde benim için zorlu geçiyordu, ama bu sefer daha kolay geçti. Çünkü mockup’ı yaparken nerede ne kullanacağıma dair bir öngörü oluşturmuştum. Renk paleti seçiminde biraz tembellik yaptığımı itiraf etmeliyim. Sevdiğim için direk flatuicolors u kullandım. Ama bir sonraki tasarıma kendi renk paledimi yapabilirim. Bununla ilgilide ufak bir yazı yazacağım.
Tasarımları tamamladığımda yakın arkadaşlarımdan geri bildirim almak istedim.Bu durumda Skype ya da Facebook’un iletişim için yetersiz geldiğini farkettim. Yaptığım araştırmalar sonucu redpen.io ‘yu buldum ve bu araç üzerinden geri bildirim almaya başladım. Tüm tasarımcı arkadaşlarım görsel açıdan kaçırdığım bir çok konuda bana değerli geri bildirimler verdiler. Tasarımcı oldukları için görsele bakış açılarına da güvendim.  Mesela typography konusunda baya eksiğim olduğunu gördüm. Hepsini düzelttim.
IMG_5996   IMG_6013--
HTML/CSS/JS:
Öncelikle HTML kısmını yapmakla işe koyuldum. Burada adım adım gitmenin işleri daha da kolaylaştırdığını düşündüm. Aynı bir kazak örmek gibi. yukarıdan aşağıya doğru. HTML yapısı sublime text’de eklenti olan emmet’in yardımı ile yaptım. En sıkıcı kısmı bence galeriyi yapmak oldu. Resimleri tek tek kesip biçip düzenlemek baya vakit alıyormuş. bu kısmı dribbble dan çekerek işimi kolaylaştırmaya karar verdim. Sonra sayfa içinde class isimlerini daha önce kendi yazdığım htmltocss ile HTML içinden hızlıca ve kolayca çıkarttım ce CSS kodlarını Stylizer’a aktardım.
CSS de görsel kısmını hazırlamaya başlamıştım artık. Bir süre sonra Stylizer da yetersiz gelmeye başladı (bazı CSS3 komutlarını için hatalar veriyordu) ben de tamamen Sublime Text e geçiş yaptım.
CSS ile animasyonlar kısmında animate.css den destek aldım, bazı yerdecodrops‘dan da örnekler baktım.
Resim olarak yaptığım iconları font awesome ile yeniledim ve gerekli jQuery kütüphanelerini Google ve Stackoverflow.com dan yardım alarak aktif etmeye başladım.
Sayfam artık oluşmaya başlamıştı ve hareketlendikçe içim daha da bir heyecan olmaya başladı.
code-sample
Testler:
Tamamlanan tasarımı daha küçük ekranlar ve IE için tekrar optimize ettim. responsive.css dosyası oluşturarak düzeltmeleri buraya yazdım. Yardımcı olsun diye de HTML5’i desteklemeyen bir js yi IE8 için sayfa içerisinde çağırdım. Responsive konusunda bana Resizer  eklentisi çok yardımcı oldu. Tabiki yine bu aşamada da arkadaşlarımdan birçok geri bildirim aldım.
phione-resizer

Logo
Yaptığın işin adını en baştan koymuştum. Ona uygun bir şeyler yapmak istedim. Açıkçası burada biraz basit olsun istedim. Tamamen altın oran olan bir dikdörtgen kullandım. Alt kısmına da ismini yazdım. İlk işim için idare eder diye düşündüm.
logo

Banner
Banner’ı yapmak en keyifli süreçlerden bir tanesiydi. Tabi ki marketteki diğer banner’lara bakarak genel bir kanı oluşturdum. Solda ürün özellikleri, sağda ise ürünün farklı cihazlarda kullanılmış görselleri kullanmak ürünü daha iyi tanıtabilmem için en mantıklı seçenek gibi durdu. Banner’ı yaptıktan sonra yine arkadaşlarıma göstererek geri bildirim almaya devam ettim.
Preview

Açıklama yazısı
Proje ilerken aklıma gelen tüm özellikleri evernote ile kayıt ettim. Böylelikle hem site içerisinde kullanacağım şeyleri elde ettim hem de açıklama yazısı için bir taslak sahibi oldum. Zamanla örneklere bakarak daha da düzenledim. Yazıyı tamamladığımda son düzenlemeleri envatitor ile (http://revaxarts-themes.com/envatitor/) yaptım. Themeforest uygun bir kod yapısılyla HTML görüntüleyebiliyordu.
Ürünü gönderme vakti geldi (gibi sanki)
Siteyi online adrese (http://mrsarac.com/phione) aldım ve ThemeForest için gönderilecek olan tüm dosyaları “zip” formatında sıkıştırdım, yazımı yapıştırdım, logo mu ve banner’ı ekledim. Duamı ettim ve gönderdim.
Bekleme süreci oldukça heyecanlı geçti. Çünkü bir işi tamamlamış olmanın vermiş olduğu keyif apayrıydı. Sonra eğer ki Themeforest kabul etmezse başka bir satış kanalıyla yine satarım diye düşündüm.
Soft reject
Gelen bir mail ile hayallerim suya düşmüş gibi hissettim. Onca emek boşa mı gitmişti? Mailde açıklayıcı bir şekilde 3 madde den bahsedilmişti.
1- Javascript te “use strict” kullanmam gerektiği
2- Bir dökümantasyona sahip olması gerektiği (!)
3- Gönderdiğim görselleri kaldırıp onların yerine placeholder kullanarak boş resimler oluşturmam. (Lisans sorunu çözmek içim)
Tüm sorunların çözüm basitti tabi biraz vakit alacaktı.
Javascript de “use strict” yazdığımda bazı scriptler çalışmamaya ve hata vermeye başladı. Bende yenileriyle değiştirdim. Sorun çözülene kadar deneme yanılma yaptım.
Place holder konusu ise basitti. Resim adresleri yerinehttp://placehold.it/350×150 gibi bir adres girdim. Buradaki rakamlar görselin boyutu.
Dokümantasyon konusunda daha önce arkadaşlarım uyarmıştı ama nedense göz ardı ettim. Sonra yine kabak bana patladı. Saolsun SuitThemes de Uğur’dan bu konuda büyük destek aldım. İsteyenler içinde bu adresten (http://revaxarts-themes.com/documenter/) dokümantasyon sürecinde destek alabilirsiniz.
Ve sona geliyoruz
Artık her şey hazırdı. Gönderilecek dosyaları son kez kontrol ettikten sonra gördüğüm bazı hatalarını giderdim ve onay için tekrar gönderdim.
Cumartesi akşam göndermeme rağmen yaklaşık 6-7 saat sonra (pazar sabah 9) ürünüm marketteydi.
İnanılmaz bir mutluluk. :) Bu yolda giden herkesin bunu yaşamasını istiyorum. Başarmış olmanın verdiği keyif sizi hayata, mesleğinize daha çok bağlıyor. Burada önemli noktalardan birisi motivasyonun artık para ve maddi kazanç olmadığı öğrenmem oldu.
Sizi 3-5 dolar motive etmez ama bu dünyada birşeyler yaparak yol almak apayrı bir tat verir.
Unutmadan Yaptığınız işi kimseye gösteremiyorsanız yapmanızın ne anlamı var?
Sonraki projerlerde görüşmek üzere.