The article I wrote the other day went seriously viral.
CLICK HERE TO READ THE REST
I describe as DC Universe Online as massive because it is more interactive than standard MMORPGs. It includes a levelling system, raid instances, endgame progression and inventories. Players can choose a mentor for their character (such as Superman, Batman or Wonder Woman for heroes and Lex Luthor, The Joker, or Circe for villains).
DC Universe is unique in a way because you can play it on your Play Station 3 if you don't have powerful PC but Sony doesn't support MAC users. This game allows gamers to create their own character with their desired abilities and power, like the laser eyes of Superman. Also, this game offers users to play as the villain, which most MMORPGs don't offer.
1. IT'S NOT A RACE - If you have a business or a web idea that you want to promote online . . . DO NOT HURRY to develop it. The most effective and useful websites on the internet have taken weeks, months, even years to develop and perfect!
If you rush, you will miss things! - Take the extra week, research your competitors, see how you can beat them with your website, come up with new ideas, do something differnt!
By taking the extra time, you can ensure that you have covered all aspects of your business and how you are going to promote it on the web successfully.
2. WHERE ON EARTH DO I GO? - There is NOTHING WORSE than visiting a website and you can't find the menu. It's hidden, it's flash animated, it doesn't work properly or it's even written in another language to be arty!
If you create a website with poor navigation, you can bet that users will spend an average 2 seconds on your website - and they will be spending that time trying to locate the back button on their browser!
Make your navigation clear, crisp and precise so that users can easily navigate around and find the info they need. By doing this they will stay on your website longer which can lead to future enquires for you business.
Try it out! What you think might be a good idea for navigation could be horrible for someone else. Why? Because you know how the menu will work in your head and other people would have no clue.
3. IT IS A MESS! - So you have 6 different columns, 5 different images, moving pictures and a nice big pop up banner and it's all on the one page. . . where do you want me to look?
LOSE THE CLUTTER PEOPLE!!
Your website needs to have the MOST IMPORTANT information CLEARLY made available to maximise your potential business.
If I visit a website and there are 10 different calls to action, I leave straight away due to sheer confusion.
This is a massive flaw that people have with their websites. They think that the more information they have on the page the better - yes i'll give you credit that a lot of information can help, just not all on one page . . . spread it out.
And obviously people leaving your website is a bad thing. Not only will you have a high bounce rate, but you will more than likely find your website ranking will head down the google chain and struggle to boost itself up because no one is visiting it!
Put the most important and relative information on the page. Put yourself in your potential visitor's shoes. They know NOTHING about you or your services. If they were to visit your site, would they be able to pick up the services you offer nice and quick? This is imperative- Use images to illustrate a certain point and not just for decoration. Images form a large part of clutter so make sure they are only there if you need them!
4. It don't matter if it's Black or White . . . or red or yellow or green with a little purple . . .
Stop overdoing it on the colour . . . . The other day I visited a children's website and I swear it had every possible colour in the world on the one page. This is not good, not good at all.
When people think of colours, they think "I need to make it look pretty", but what you should be thinking is "how can I use colours to direct my users' attention".
By this, I mean that if you have a tagline, header, or something important you want to point out to the user, colour should be your first port of call as it's where people's attention is drawn to.
When it comes to colour also, you need to make sure your colours match and complement each other - and please MAKE SURE it matches your logo . . . I can't tell you how many times I have seen a website with a Logo that does not even match the website colours and it looks horrible.
If you are stuck on colours, Google colour charts or colour themes make sure the colours you are using match, otherwise you will lose a visitor's attention.
There are many other small things that people do wrong on websites, what you need to do is plan it properly, use common sense and most of all make sure that the website is user friendly!
If you need some advice on optimising your website to ensure it reaches is maximum possibilities with your target market, please give KAYWEB a call on 1300 794 636 and we will be able to provide you with some advice.
Now go get planning!
From thinking up an idea to buying a domain, then designing a website, developing a mobile application, launching, marketing, search engine optimization, social media optimization and exiting... it is truly a thrilling ride.
For me, it has become an addiction. Founding and setting up KAYWEB and investing in multiple internet and mobile businesses along the way has meant that I have been, and continue to be, on that ride with startups in Sydney, Melbourne and New York.
Recently on my personal blog, I wrote a few articles asking fellow riders of the startup wave to consider a few things. I link to them below.
1. Build to sell, or not? - click here to read
2. Location, location, location - click here to read
3. Identify your weaknesses and plug them - click here to read
4. Quirkiness is cheap - click here to read
The reason for this is because they have to ensure the websites they optimize are in line with the factors Google says are most important since the algorithm change.
- Because the “load time” of a web page is now included in the algorithm of Google, developers and SEOs are now making sure that the images and all page elements are optimized and the pages load fast.
2. Search Engine Optimization keyword usage
- Keywords should be in title tags and alt tags. Putting keywords in internal links pointing to the page is also important. Keywords in the domain and/or URL are great. The order keywords appear in are important, and many more of a stable SEO techniques surrounding keywords still apply.
3. Flash sites
- As we mentioned with speed, this is bad news for Flash sites because they take forever to load. Do not expect to rank high with full flash sites even if it was meteorically quick, as flash is full of images, which is not fully readable by Google robots.
4. Age and Quality of Links
- Google says that the age of links matter and stable links will get you up in rankings.
5. Content Quality Score
- As Google's Matt Cutts said: “The net effect is that searchers are more likely to see the sites that wrote the original content rather than a site that scraped or copied the original site’s content.”
So what is it that Google really wants?
Google is pushing website owners, developers and SEOs to create better content inside faster websites which are optimized with quality backlinks.
The good news is that websites which are informative, clean, compatible, fast and popular will benefit.
Basically, the SEO game doesn’t change here at KAYWEB.
ProblemWorkstation 1 needs to connect to Database Server located at another part of the globe.
Prerequisites• Workstation 1 and Workstation 2 are on the same network.
• Workstation 3 and Database Server are on the same network.
• Workstation 2 can connect to Workstation 3 via SSH.
• Port 4321 at mycompany.com is forwarded to port 22 of Workstation 3.
• Workstation 2 does not have a firewall which allows Workstation 1 to connect to it.
• Database Server allows connection from Workstation 3.
SolutionCreate an SSH tunnel using Workstation 2 and Workstation 3 where Workstation 1 connection can pass through going to Database Server.
Steps:1. Go to Workstation 2 and make sure it can connect to Workstation 3 by issuing the following commands:
[user1@Workstation2 ~] ssh email@example.com -p 4321
Last login: Mon Feb 21 21:55:54 2011 from Workstation2
[user1@Workstation3 ~] exit
If you can do the above, then we are set to do tunneling.
2. Still on Workstation 2 issue the following command:
[user1@Workstation2 ~] ssh -f firstname.lastname@example.org -p 4321 -L 192.168.70.2:1234:192.168.50.2:3306 -N
We will define each one of the parameters:
This tells ssh to go to background just before command execution.
This defines your username and address of the remote computer.
This is the port in the firewall where in it is being forwarded to port 22 of Workstation 3. If your firewall is on Workstation 3, then this parameter can be omitted.
This is where the magic happens. -L means you want a local (Workstation 2) port to be forwarded to a remote host (Database Server) and port (3306) on the remote side (Workstation 3). Just to be clear, local side pertains to the computer network at Africa while remote side pertains to the computer network at South America.
The bunch of numbers after -L can be separated by colon(:) and here are their meanings:
192.168.70.2 is the address of the local computer (Workstation 2).
1234 is the port on the local computer (Workstation 2).
192.168.50.2 is the address of the remote computer (Database Server) on the remote side.
3306 is the port to access in the remote computer.
This means that you cannot execute a command on the remote host since your are only tunneling data. This is basically for security.
Once you have issued the above command and entered your password, the ssh connection will go in the background. The tunnel is now created.
3. To use the tunnel, we go to Workstation 1 and execute mysql:
[user1@Workstation1 ~] mysql -h 192.168.70.2 -P 1234 -u dbuser -pdbpasswd dbname
That's all there is to it. Workstation 1 is now connected to Database Server.
I get a lot of small business clients who come to me looking for a new website to help promote their business.
We go through pricing and different options for the web design and development, but for some reason, when I get to search engine optimisation (SEO) - explaining it, not selling it - some people decide this is less important that their website.
They think that having a website will be enough to help promote their business. But how can a website be found if there is nothing supporting it?
The problem is that there are billions of sites on the net. Just typing "Web Design" into google gets me about 700,000,000 results!
How is your website meant to compete? How are people going to find your brand new website or your brand new business? You need SEO.
Firstly, you should have some DIY SEO options available to you.
KAYWEB provides our clients with a SEO-friendly Content Management System (KAYWEB CMS), where tools are provided for clients to constantly be able to optimise their own website to achieve better rankings in Google and other search engines.
Is your current provider offering this service? Do your research, ask your web provider if you are getting a SEO-friendly website included in your package, with some ability to do SEO yourself.
Did you also know that when it comes to SEO, External Link Popularity and Keyword Focused Anchor Text from External Links are two of the most important things to generate better results on Google? Sound confusing? We can explain ;)
Why spend hundreds or thousands of dollars towards a website that will ultimately struggle to be found on Google? Ask questions!
If DIY SEO is proving difficult and not delivering you results, KAYWEB offers many affordable SEO packages for clients, where we focus on External linking, Content massage and much more to generate results. It always works!
Try our SEO services today, you have nothing to lose! Instead you have the opportunity of generating more results to your website and if you are not seeing results, which we know won't happen, just cancel your service!
Let us help you in growing your business.
P.S. I'll give you a BIG SEO hint . . . HOST your website in the same country as your main audience. Google Australia will rank a website higher if it's hosted on an Australian server when searching on Google AU. Google America (and any other country) will also do the same. So make sure you are hosting in the right area - it is worth the extra few hundred dollars per year!!
More info about SEO coming soon!
Gaming shows strong growth year after year. And with this comes innovation as well.
What do you think about a 17 button mouse?
I am sure, if you are one of the many World of Warcraft (WOW) players like me, a gamers’ mouse is not the latest thing. But for amateur gamers, let me discuss this special mouse.
The Razor Naga is the ultimate Massively Multiplayer Online Gaming mouse that shifts the balance between keyboard and mouse by putting an unprecedented number of in-game commands in one place.
The mouse has been optimised with an extra 12 buttons which are customisable to keyboard settings on the computer. This multi-button mouse will place every command you need in the palm of your hand.
According to GamesCom, the mouse enables players to “run rings” around other players who rely on a conventional keyboard to move around, jump, dance, and thwart evil plots.This would certainly make the games easier to play, give maximum comfort for long gaming sessions and make you a more competitive evil doer plot thwarter.
Recently, with my blog ‘A look at mobile websites’, I gave a insight about the growth of use of smart mobile devices. These devices, which are glued to human hands, ears and eyes for more hours in the day than ever before, run on mobile operating systems, like iOS, Android, Symbian, Windows 7, etc.
I thought it would be beneficial to dedicate this blog to introduce you to the fastest-growing mobile operating system in Google's Android.
What is Android?
Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android OS can be used as an operating system for cellphones, netbooks and tablets, including the Dell Streak, Samsung Galaxy Tab and other devices.
Skills you’ll need to dive into Android programming:
- For technical and programming skills, knowing Java will make you more comfortable. Also understanding of common, object-oriented languages like C++ and C# will make someone pick things up quickly, as apps you develop in Android are heavily dependent on the said frameworks.
- Some experience with a tag-based view technology like HTML or Adobe's Flex will makes the views very familiar.
Difficulties you’ll encounter:
- Layouts would be the hardest initial things to overcome as an Android developer. It required digging into the source code to make things look the way you wanted. There were things that were just not skinnable, or required making a completely new component, or changing the design.
- Taking full-size pictures in the app and using those pictures is harder than it should be.
- Another thing that is almost unbelievable is how much of a pain it is to work with maps. It requires signing up for an API key per computer to even see maps. Compare that to iPhone map development with Google maps, where you don't have to do any of that. They just work.
Tools you should have on hand:
- You need the Android software development kit, which comes with the emulator. Most developers prefer Eclipse for Java development, and the Android Developer Tools work with Eclipse.
- It also really helps to have a device, especially when doing things with location or with the camera.
Things you need to consider as you are creating Android-based apps for multiple devices:
- The big one is layout. If you fudge a layout to just get it working on a single device, it's going to get you later. You'll also need to prepare for different APIs not being supported, like the camera for instance. Designing the application well is going to make you think harder about the core functionality and use cases you want to support.
Best support resources for Android programmers:
- The Android Developers site would be a great help. It has all the associated documents, code and the Google groups.
- And as Android is open source, you can easily run searches and see what Google engineers did to make the core apps do what they do.
But did you know that double-digit percentage optimisation results can be achieved with a few simple steps?
Having optimally-running software is quite a bit of challenge. The main difficulty in achieving maximum speed lays in small implementation details, that, if not treated properly on time, build up and often are difficult to track down.
In a nutshell, writing a fast program means coding the same logic in fewer steps required for the computer to perform.
The following are several simple hints for programmers related with the well-known statements.
Program codes seldom follow a unidirectional path if statements are probably the most used statements of all. The syntax of the statement is:
if <condition holds true> then <do something with THEN (TRUE) caluse>
otherwise <do something with ELSE (FALSE) clause>
Firstly, some sign legends:
- == - EQUALS TO
- != - NOT EQUALS TO
- && - AND clause
- || - OR clause
- ! - NOT (NEGATION) clause
Usually, the condition of the if statement is comprised of multiple atomic (unbreakable into simpler pieces) conditions with optional NOT negation clause that are joint together with AND or OR clauses.
1. (a == b) && (c != d)
2. (a != b) && (c != d)
are both valid if conditions. Let's analyse the number of steps needed to gain a result.
(a == b) && (c != d) - in human language this means that to perform THEN clause a and b must be the same and c and d must be different.
This condition is equivalent to (a == b) && !(c == d). So
- Check if a is equal to b
- Check if c is equal to d
- Negate the result of 2.
- Output TRUE if 1. and 3. are TRUE
(a != b) && (c != d) - in human language this means that to perform THEN clause a and b must be different and so must c and d.
This condition is equivalent to !(a == b) && !(c == d). So
- Check if a is equal to b
- Negate the result of 1.
- Check if c is equal to d
- Negate the result of 3.
- Output TRUE if 2. and 4. are TRUE
Disjunctive Normal Forms (DNF) and Conjunctive Normal Forms (CNF) are methods to transform a condition into an equivalent condition (which may result to better performance in computer terms).
DNFs contain atomic conditions that are related to each other with OR clauses.
CNFs contain atomic conditions that are related to each other with AND clauses.
Following are statements that we will use to figure out how to optimise conditions of if statements.
DNFs result to TRUE value if at least one of its conditions is TRUE,
CNFs result to TRUE value if and only if all of its conditions are TRUE.
CNFs result to FALSE value if at least one of its conditions is FALSE,
DNFs result to FALSE value if and only if all of its conditions are FALSE.
DNFs can be converted into CNFs and vice versa using the following rules. I will use <==> sign to mark equivalency.
- A || B <==> !(!A && !B)
- A && B <==> !(!A || !B)
Having the two statements above we can deduct that the (a != b) && (c != d) condition can be performed faster by performing less steps. Really,
- (a != b) && (c != d) <==> !(a == b) && !(c == d) ,
- which by the DNF to CNF interconversion rule <==> !( !(!(a == b)) || !(!(c == d)) ).
- ! applied twice neutralises itself thus we have !( (a == b) || (c == d) ).
Analysing the result we have the following steps
- Check if a is equal to b
- Check if c is equal to d
- Take TRUE if either 1. or 2. or both are TRUE
- Take the negated result of 3.
So instead of 5 steps we managed to do the same thing in 4 steps. Taking a close look at both versions
!(a == b) && !(c == d) and !( (a == b) || (c == d) )
we can clearly see that the optimum one has less NEGATION clause. So the verdict is:
- NEGATION clauses can be trimmed
- Excessive NEGATION clauses can slow down the code.
Modern programming languages are going one extra step to optimise the code further by making good use of the 1. statement about DNFs and CNFs:
- For DNFs if the code encounters a TRUE atomic clause it disregards the rest of the clauses as they will not influence the final result,
- For CNFs if the code encounters a FALSE atomic clause it disregards the rest of the clauses as they will not influence the final result.
- For DNFs put the likely TRUE clauses before the rest of the clauses,
- For CNFs put the likely FALSE clauses before the rest of the clauses.
Let's consider !( (a == b) || (c == d) ) again.
- Check if a is equal to b
- If 1. is TRUE negate 1. and take the result as an answer (2 STEPS ONLY), otherwise If 1. is FALSE Check if c is equal to d
- Take TRUE if either 1. or 2. or both are TRUE
- Take the negated result of 3.
Considering that 2. has 50/50 chance to be TRUE or FALSE we finally have that on average the whole statement can be performed in ( 2 + 4 ) / 2 = 3 steps.
So we gained approximately 40% performance improvement in obtaining a result for the condition (a != b) && (c != d).
Additionally, if an
if (condition) then else
can be transformed into an equivalent
if (condition) then
form then the code will avoid an unnecessary calculation which is also an optimisation measure.
Further to come,
1. Does unary operators have underwater reefs.
2. Memory usage versus quick execution, an example.