E-commerce & Internet Marketing Blog: Tips and tricks in internet marketing. Latest trends in web design.

Why it’s better to do advanced web programming in Yii (= Yes It Is) framework compared to something else?

Yii framework

Yii framework

I have written why it’s always good idea to develop web on open source platforms like MODx, WordPress, Magento and I have written why MODx is better content management framework compared to others but today I want to explain why sometimes things should be written from scratch rather than using ready-made CMS systems. When you need more complicated functionality to be developed then often using ready made solution will mean actually same amount or even more hours of work to modify it, change what’s needed and remove unneccesary functionality. In the future when changes or amendments are needed then it may be even more expensive and complicated as existing script have been hacked so much that it might be even not possible. At more complicated cases downloading ready made scripts and hacking their core is never suggested by programmers who are able to program solutions from scratch and only “script kiddies” use ready made scripts.

Now, sould everything be done from scratch? Yes and no! Yes, because using ready made scripts is no good when you need rich functionality but not every piece of code should be written from scratch as that would take too many working hours and increase the price. So, frameworks should be used and below I’m going to explain why Yii framework is at the moment best PHP framework available.

Yii is fast!

Yii is fast!

It’s really fast!

All frameworks are slower than plain PHP but click on the image on the right to see the comparsion of Yii framework’s efficienty compared to developing in other most popular PHP frameworks that we have used in our development – CodeInteger, Zend, CakePHP, Prado and Symphony. There’s compared the amount of requests each framework can do in one second without very often used APC extension and with APC. As you can see the Yii is a hugely faster than other frameworks.

There are many reasons why PHP software developers consider using frameworks to be more effective but the main one is the speed of development. Frameworks save PHP application development time, help PHP web developers in creating stable applications and reduce the amount of repeated code. And that’s the most important in modern web application development and creating complicated dynamic sites and business applications. By oxagile.com

Well, of course performance isn’t the only important thing as otherwise just no framework could be used and written in plain PHP but with such a great performance Yii framework still has super rich set of features compared to others that improves the effecienty of web development.

Just some of features Yii provides:

  • built-in hierarchical role-based authentication support
  • Facebook, YouTube, Google etc. integration (eg. no login needed but just “Facebook connect”)
  • works well with third party code – for example it’s very easy to use in Yii some code from Zend
  • jQuery AJAX widgets (auto-complete input field, treeview, data grid, etc.) that let us develop modern and very versatile user interface (UI)
  • super easy to keep design (templating) separate from functionality
  • simple form helpers, validators and handlers
  • errors handling made nicer and easier
  • secure (safe from SQL injection, cross-site scripting (XSS), cross-site request forgery (CSRF), and cookie tampering, etc)
  • XHTML compilant
  • stricktly object-orientated (OOP)

Is it fast? … Is it secure? … Is it professional? … Is it right for my next project? … Yes, it is! By yiiframework.com

The the science of persuasion research teaches you to write texts to your website

Sometimes it's good first write/draw on paper

Following the previous blog post by Runo that explained the importance of foreseeing the scares of your customer and about writing about your unique selling proposal at your website then below some more tips how to do good copywriting at your website according to the science of persuasion. The suggestions below are collected from most prominent books in this field including Mr. Cialdini’s books that all marketers who want to be the best have followed.

  • If possible try to give something away for free or teach something valuable on your website before you start selling! Priciple of reciprocity – people feel that they need to give something back if they have got something. This tactic works great if you don’t sell low-budget products/services.
  • Consistency – try to sell something not so big first and just mention that you offer also big deals. Once the customer has bought something that maybe doesn’t bring big profits for you he feels like your customer and will most likely buy more from you if he/she had good experience.
  • People like real people – write the texts on your website like a friend of the website visitor. Be personal, tell about yourself, write blog posts, add photos of your personal, write also somewhere what your employees do at their free time, etc. Personal touch is important! Statistics says that people buy less from websites that use stock photos instead real photos of their company, products etc.
  • Write why your product/service is best! Well – the first one probably is nothing new for you;)
  • Call for action. In many places ask website visitor to buy or contact you and write exact steps that must be taken.
  • Write: “I understand your needs” because you know your customers’ needs.
  • Make limited time and/or quantity offers at prominante place in your website. Tactic of “scarcity”.
  • Add as much bonus products or services as possible to really convice the website visitor to buy.
  • Explain all the ways why your product/service will benefit your customer. Try always to think what your website visitor needs not what you need!
  • Present the price in the way that it looks like very good deal.
  • (Money-back) guarantee is a must!
  • Give many proofs like examples of work, (video) testimonials by experts (nobody cares if someone Bob says “they’re best”), charts and numbers how many people already have bought from you etc. Demonstrate your authority!

I would also like to share one great video by Simon Sinek I found today: How great leaders inspire action

(website) marketing messages & digital web agency vs traditional advertising agency

imagesAll the modern SEO and web 3.0 marketing stuff is the future and old traditional agencies must become digital new media agencies (or they’ll die) but in the middle of this all technological buzz don’t forget the content! Content is still the king! Think about the questions and fears that your customer might have before making the purchase when you write your content!

What I mostly see in this market today is that from one side there are digital (web) agencies that promote from marketing side SEO, social media and other internet marketing methods to get more and more visitors to your website and from other hand traditional advertising companies that are thinking how to tune your marketing message so that it will work. Both have their pros and cons.

Modern web agencies that are the future and killing more-and-more the old-fashioned traditional web agencies. More and more highly talented people join digital agencies and “web” isn’t any more fr bunch of geeks but everybody know that it’s most essential and cost-effective marketing channel nowadays.

Although more and more talented marketing people including graphic designers and copywriters join these days digital agencies but still most of the web agencies doesn’t yet take too seriously the content of marketing message. Also customers who come to us don’t expect us to start spending lot of hours on the content from the point of view how to make the marketing message more attractive. People expect us to brief the design, do the programming and web development. Finally of course they ask how much it will cost now to do the SEO so that they’ll get best rankings in Google.

Good traditional advertising agencies from other hand do one thing perfectly that modern web agencies often doesn’t pay too much attention – work hard on the marketing texts (good designers hang around both – “old” and “new”). It’s a super necessary part of the job and modern web agencies here tend often to just measure how heavily the content is filled with keywords that potential customers may be using in search engines and not spending too much time on thinking how to convince that visitor that finally arrived to website.

So few tips this time not about how to get more visitors but how to deliver your (internet) marketing message so that maximum amount of your website’s visitors will go to your website’s goal (contact form, “buy now” button, price calculator, booking form or whatever it is in your website):

1. Most probably you have a (advertising) message that describes (and tries to sell) your product/service. Yes, of course you have to describe what you offer but that’s not enough.

The best message creates a conversation in it’s reader’s mind – it answers to the questions that your potential customer may have in it’s mind. What wonders your customer? What problems your product/service can solve?

Let’s take an example. You’re a building company. What you do? You have some money in your pocket and buy nice website design, order content management system, log into it and start writing: “painting, plumbing, decorating, electricity erc.” Everybody does that and adding here “trusted provider” or “high quality” wont help much.

A little better way would be: “Cowboys ripped your neighbour and you’re afraid to call unknown building company? You can trust Bob but he’s old and not really experienced to do complicated tasks? How to find a company that won’t charge the earth and still can be trusted? Call our talented and friendly project manager Jack and he’ll come and make a reasonable price offer and we’ll write a clear transparent contract if you’re still in doubt after meeting Jack! We never push to sell anything and if you’re not happy with our quality you won’t pay!”

We’ll I just wrote that without analysing it too long and it’s just an non existing example company but can you see the difference? Calm down your customer’s fears, be firendly, be different, be honest, be reasonably priced (don’t look like cheap and then try to rip off to live).

2. Unique selling proposal. How your product is different from most of your competitors? How you do it (bit) differently, (bit) better? It can’t be that you do exactly the same way like any other provider. Even selling roses on the street can be done differently (better) than anyone else.

3. Most important messages as shortly as possible to the front page. Within first seconds visitor will decide if he’ll stay at your website so you must answer a) what is it – what can be done here; b) why are you different if you have competitors; c) what do I get from this website – if you didn’t convince the visitor with a and b then try to say with c at least that he’ll find useful/interesting/entertaining content here.

MODx Revolution is here and MODx native shopping cart VisionCart comming soon

MODx Revolution 2.0.2 with some bug fixes is out already for a while and it’s really great. It takes time to learn as it’s quite different but it’s worth the time. Must move on and Evolution must become history.

What is even greater news for many who have been thinking that MODx is great but there’s missing a good shopping cart – from MODx forum you can read that two great MODx developers have started to develop MODx Revolution native shopping cart called VisionCart. They say it’s gonna be awesome! They hope to  to release the first version around November or December (maybe earlier).


Nice, isn’t it?

Internet revolution in e-Estonia (by Reuters)

Reuters visited Estonia and considered that it’s really e-Estonia starting from Skype that is one of the first big e-solutions coming from Estonia and ending with many other great web solutions developed in tiny high-tech country e-Estonia.

Watch the Reuters video

Watch the video by Reuters and get some inspiration!

If you have some resources then you just need some ideas, one really innovative developers team + a little bit of luck and you might grow from one-man business into something really big!

Welcome to high tech e-Estonia!

Draw the web site’s structure diagram & draw the web pages’ layout

Once you have gave a deeper thought about the goal of your website (read about “First steps planning your web design” by Carlo) you need to think about how the web pages (with text, image, video, input forms, etc. content) will be structured.

Good starting point would be to first try to think of what message you want to give the visitor straight away on a front page? Don’t forget that first very few seconds are most critical part when website visitor decides whether to leave of continue browsing.

Then you should think about the menu structure – what should be in main menu, what should be in sub-menus.

It’s always a good idea to graphically visualise the structure of the website (mindmap/flowchart) as that will make your web designers life much easier and higher the chance that you’ll get exactly what you need from your web development team.

Example hierarchy mindmap of example planned web design.

Example hierarchy mindmap of example planned web design.

Of course you can just use a pen and paper to draw the web site structure, scan it and send it to your web designer. This example mindmap was drawn using free web based and easy to use tool DabbleBoard (even no registration needed) and often we use open source freeware mindmap software called FreeMind but it might be easier to use a paper and pen for those who are less computer-literate.

Most web development companies including us will also provide you the service (we offer it for free for fist 2 hours) to create the website’s structure, hierarchy and functionality documentation.

Now you should think about the web design layout. Where should be the main menu, sub-menu or maybe separate menu for products/services. Where should be banners, advertisements, search box, login area, breadcrumbs etc.

It’s again a good time to take a pen and paper and draw the main page and any other pages needed. Again pen and paper + scanner is just fine, too but if your a Mac user then there’s a perfect software called Keynote and if you’re Windows user then open source freeware OpenOffice‘s  Impress or not so free MS Office’s PowerPoint will be good choice.

Click on the image to see full size.

Click on the image to see full size.

Please, note that the minus of the Horizontal menu is that you should decide the amount (maximum +/- 1 or 2) items there will be. The vertical menu can extend downwards therefore it’s more functional. Of course there’s always drop-down menu option for horizontal menu but main menu items are limited. Vertical menu can have submenus when main menu clicked and also drop-right or drop-left menus.

When you have drawn and written a bit more detailed structure of your website it’s always a good idea to have a short phone call to go it all through all together.

Edit:

Mockingbird: Online wireframe toolCreate and share clickable mockups of your website or application with Mockingbird, an easy and fast wireframing and prototyping tool.

First steps planning your web design

Web development planning goals

What is the goal of the website?

Of course you have to start from here. Is the goal to get the visitor to click “buy now” or “order now” button on e-commerce website and reach the “Thank you! Payment successful” page or just fill a form and end up “Thank you! Information submitted!” page so you have some sort of information about the visitor and can do the sales via phone, e-mail or face-to-face.

What are the visitor’s immediate needs?

Your company’s goal can be different to your visitors need on your website. One of web 2.0 ideologies is to design website so that customer finds what he’s looking for as a first thing not to try to push agressively what you want to say -  annoying advertisments, pop-up windows and long navigation path before the content what visitors most probably search for at you website. If it’s an e-shop then products must be the first thing to promote and if providing services then all services should be mentioned on the front page and must be easily found from main menu(s).

The most immediate information that visitors want to find is weather the product/service they’re looking for is offered. After that the potential customer wants to know about the prices, quality, customer service quality and see some examples of work or try the product for free. Also, people want to get guarantee (Escrow payment if service provider or using secure payment methods where dispute can be created when product/service doesn’t meet the needs).

In part 2 Runo writes how to Draw the web site’s structure diagram & Draw the web pages’ layout

Why it’s better to develop web in open source (MODx, Magento, WordPress etc.)?

Open source web designSimple – if you order from X web development company or even worse outsource your CMS and shopping cart for example from freelancer in India who will use his Z content management system then what will happen if that X web design company or freelances one day disappears? Unfortunately that happens to really often. Now you have your website coded so that no web development company will be happy to develop your website or will quote you maybe up to 10 times higher compared to if your web would been developed in open source platforms. Your new web developer needs to spend hours to learn the new code and sometimes parts of the code may be even crypted so you pay the new web developer £££ just to tell you that it’s cheaper to start from scratch so in most cases in such a situation it’s a better idea to start the whole development from scratch on open source.

What is open source?

Open source freeware software means that the source code is not crypted and anybody can see how it’s coded, use it freely, improve it, develop on it. That means that there are many developers who have improved it during many years and big amount of very talented developers are committed to work on these projects so they get always better and better by time and it’s always free for you to upgrade if new and better releases come out. And then there’s a huge community of fans who have developed huge amount of add-ons, extentions and extra modules for open source projects.

Minuses of open source web solutions

Many open source solutions’ user interface is too complicated for end user as they are developed by geeks and they have often TOO MUCH in it so end user can find it bit hard to find the right place to do the needed task. Let’s take for example even Linux which is open source operating system – most end users don’t like it but it’s best choice for your websites server hosting. It’s cheaper, better and you can run the best PHP/MySQL based open source applications on it compared to more expensive and absolutely not better Windows and ASP.NET.

Best example of too overloaded and slow open source CMS is probably Joomla. I have compared best open source CMSs including MODx, WordPress, Drupal and Joomla in this post: Why MODx is best content management system. From e-commerce the good example is definitely Magento.  It’s huge, most resourceful so it needs really good server with lot of memory and skilled web developer to make it run fast otherwise your customers can make a cup of tea before the next page loads. And it’s more expensive to develop e-commerce web in Magento as it simply takes bit more time to get everything working properly in Magento. But from other hand is not bad at all if to leave out the speed and development time as Magento is leader number 1 e-commerce platform. We can develop on Magento almost any functionality you can imageine and we can even integrate Magento with your any other CRM or accounting software. Magento is growing fast and it’s powerful!

So, to summarise all above – open source is just the first best choice you make when starting the web development. But it’s also important to choose the right open source framwork on what to start the development. Shortly we can tell you that MODx is best for CMS and any custom built website, WordPress is best for blogging and news websites and Magento is best if you need multifunctional e-commerce website (if not then simple shopping cart can be done in MODx, too).

Some dark humor from real life

We just got yet another customer who cried that previous Indian developer didn’t deliver anything during 4 months. Well that’s the sadest scenario that you can read from this The Daily WTF post: “Maybe I Needing Later

We really do get one-two new customers each month who need us to fix and improve their websites coded very poorly and without any documentation by small outsourced company nobody ever heard so we either deny the job, there will be lot of hours working out how everything is built or we start from scratch using of course best open source software.

How and why to develop website in a new server while old website is still live at old hosting until the new website is ready

Customers often want us develop new website to their domain name customer.com but until the new website is finalized, tested and the content added, the old website should still be live.

I’m going to explain the easiest way to do so without extra time (=cost for customer) spent on transferring new website to another hosting server and also configuring more complex web solutions to work properly in different server with different settings once it’s ready. Of course it’s also possible to develop your new website at existing hosting server’s subdirectory customer.com/new-website but that has some minuses, too:

  1. It takes some extra time to make the website work later in root directory (and can be much more time consuming if customer’s hosting company doesn’t offer shell access as most of them do if you don’t have dedicated hosting).
  2. Downtime of the website while taking the old web down and setting the new one up in the right location is in progress.

So, here comes the best solution – create new hosting in a new server for customer.com – of course now you don’t see the new website before DNS entries are changed and customer.com is not pointed to your new websites hosting from domain registration control panel (from the place where the domain name was registered). So now there are two hosting servers set up to host customer.com but everybody still sees what’s in the old hosting server = old website because if you type customer.com into your browser it turns to DNS and the DNS tells the browser that this domain should be looked up from the old server’s IP address. Now you as a developer (and customer as the one who want’s to see the development and add content before new website goes live) need to tell your computer NOT to look from internet in which server (IP) customer.com is hosted but to open customer.com from the new server (for example e-Stonia main server’s IP is 92.63.140.173).

Web design at new hosting

How to tell your Mac OS to look for customer.com from 92.63.140.173:

  1. Open terminal: from “Finder” take “Applications” -> “Utilities” -> “Terminal”
  2. Type into terminal:
    • sudo nano /private/etc/hosts (you will be asked for administrator’s password – type it in)
  3. Add one more line at the bottom of the file:
    • 92.63.140.173 customer.com
  4. Hold down control key and push letter o key to save the file. Now press enter on the filename prompt and hold down control key and push key x to exit the editor.
  5. Type:
  6. dscacheutil -flushcache
  7. Close terminal window, close your browser, re-open it and type in customer.com and you should see new website that is in development.

How to do it on Windows XP:

  1. Open from Start menu “Programs” -> “Accessories” Notepad and take from “File” menu “Open”
  2. Go to folder “My Computer” -> “C:” -> “WINDOWS” -> “System32″ -> “drivers” -> “etc”
  3. From “Files of Type” drop-down choose “All files”
  4. Open file “hosts” and add one more line at the bottom of the file:
    • 92.63.140.173 customer.com
  5. Close your browser, re-open it and type in customer.com and you should see the new website that is in development.

With Windows Vista and Windows 7  just click Start – search for “Notepad“, right-click on it and select “Run as Administrator“.

When web development is done and the new website is ready, customer.com will be pointed to the new hosting name servers from domain registration control panel and everybody will start seeing new website when they type customer.com into their browser.

Communication – a key to customer satisfaction in web development

English communicationIf you are working in the web development field you have probably come across the situation when you have created a nice new web page – it has the looks, it has the functionality, it has everything you’d wish for and most importantly everything the customer wished for but yet the customer rates it 3 out of 5 if not worse. You have put a lot of effort in creating the web and getting a good result so customer disappointment can be really frustrating not to mention bad for the business since happy customers recommend you to others and return to you whenever they need services offered by you, unhappy ones tend not to or may even spread a bad word about you. So how to avoid this – read on.

A few posts earlier I talked about written planning – the two main reasons it is important is to eliminate the risks to fail and to avoid arguments with customers on whether or not they’re getting what they paid for. OK, so you sat down together and wrote down every single little thing the web is supposed to do and are safe now on that side. But it is impossible to define what the web will have to look like. Of course you can put down the main design features like what colors should be used, whether to use top or side menus and so on but when you draw up the design solely based on that information it may look not so good to the customers eyes because tastes differ and what looks amazing to one’s eye may look appalling to other’s. A common mistake made is having the customer show you a website they like and creating a new one based on that but you want to create something new and eye catching not to copy someone else’s work and produce something you can already see all over the web. To avoid this it’s best to get the customer to do some homework and find as many webs as possible they like something about. Since people tend to be lazy by nature you have to encourage them and explain that they don’t need to create a full feature list for all the designs they find nice but make just a short list with one or two sentences about every site. For example:

www.example.com – I like the top menu on this site

www.example2.com – This page has a neat clean look

www.example3.com – The header looks smart and the usage of photo fading is great

If you get something like this it’s already a good start. Then it’s time to do some homework on your side – go through all the sites and have a look what was considered good and tasteful, try to combine the features from different sites in your mind or if you are not very talented designwise have your designer do that. After that you can go back to your customer with questions and suggestions. Now you can already put down quite a good plan on what to use and what can be discarded as not suitable with other ideas. At this point it is a good idea to compose an e-mail to the designer with as much information as possible. Include all the links with the customers initial comments, your own understanding of the comments based on discussions with the customer, the addresses of all available materials, the deadlines and everything else you have. Why an e-mail – the designer sits ten feet away from me? While IM chats and Skype/phone calls are good to discuss things not to mention face to face communication it is harder to track everything discussed later on. Things may go unnoticed or chat logging may play tricks and correcting mistakes later on is always more expensive than avoiding them.

Now that you have that plan your designer can draw a mock-up of the site to be. After such preparation it is quite probable that you can get it right or almost right with the first try. Since most projects have limited budgets it’s a good idea to show the design to the customer as often as possible to avoid having to redo large amount of work.

Don’t be afraid to make suggestions for as long as you are able to explain why some ideas are not that good and why something else might look better the customers usually take your ideas into consideration. Even though customers initially tend to have a “clear vision of what they want” they aren’t designers themselves and just putting all their ideas into a design usually results in poor designs no one will be satisfied with. All great products are born in collaboration and by the end of the day – that’s what you both are after.