SEO: Speaking with Search Engines

Whether you are trying to improve your site’s Search Engine Optimization (SEO) or interested in how search engines rank sites, you will find this post informative. I am going to stick with Google for my examples, well because it’s the only search engine that is both a noun and a verb, but Google’s methods are identical to other search engines, thus the techniques I speak about here can be applied to others. This post will be divided into two sections, one will be the front end, more of what your users can see, and the other section will be on the back end, behind the scenes, what the users does not see.

Front end:
  • Content- It is important for you to have quality, relevant, up-to-date content on your site, choosing words that people use when searching for the content you have to offer.
  • Titles- Page and post titles should describe the content of said page. Coming up with appropriate titles not only increases your SEO but it is often the first, if not the only thing users look at when quickly scrolling through Google.
  • URLs- Many people underestimate the importance of the URL since it does not concern the average user. However, search engines will have a much easier time understanding and indexing www.MyStore.com/poducts/shoes/running/model255 than www.MyStore.com/model255.

The content, page titles and URLs all increase how well search engines crawl your site, increasing your SEO. Other front end factors include, how quickly the site loads, is it mobile friendly, and how crowded the site is with advertisements.

Back End:
  • Links- Having other sites linking yours displays to search engines that it is worthy and trustable. However, people that try to abuse this, using black hat techniques, such as making scam websites, or paying others to link their site, have their sites banned from search engines.
  • Engagement- Google really does consider how much time users spend on your site. Are they engaging with the content, or quickly leaving your site?
  • Sitemaps- Tying in with URLs from above, it is important to submit a list of these URLs to Google, this can be done using Google’s Webmaster Tools. Webmaster contains many other tools to improve your SEO, and can also be used to view stats such as clicks and search traffic.
  • Flags- Search engines will also check to make sure the site has not been flagged for anything such as piracy/infringement of copyright and for any black hat techniques.

For all the methods to improving a site’s SEO, there are black hat and white hat techniques. Black hat techniques will get you quick clicks, but these clicks are not as valuable, and most likely will get you flagged or even banned. White hat techniques is following the given rules and guidelines of SEO, this will benefit you in higher quality clicks, where the user is genuinely interested in your site, will spend time on it, and possibly even recommend it to others.

4 Commonly Used Software Development Models

In this article we will talk about 4 of the more commonly used or referred to Software Development Models. Of course, there are plenty more but I have decided to limit this post to the following four: Waterfall, Evolutionary Prototyping, Spiral, and Agile.

Waterfall

The waterfall design model is where it all started, it was the first process model to be introduced. And as you can see below it places great emphasis on documentation,

The waterfall model is typically split into 5 stages; where roughly 20–40% of the time is invested into the first two stages; 30–40% of the time for coding, the third stage; and the remaining time is used for the final 2 stages.

Waterfall Design Model Stages
  1. Requirements: Requirements documents & use cases.
  2. Design: Software architecture & mapping the stakeholders.
  3. Implementation: Coding.
  4. Verification: Install, test, and debug.
  5. Maintenance: Check errors and optimize.

Waterfall_Design_Model

Pros:
  • Simple and easy to understand and use.
  • Phases do not overlap.
  • Each stage has its own deliverables and review process. Making it very clear as to whether the current stage has been completed or not.
  • Reduce future costs by catching bugs/problems earlier on in the process.
Cons:
  • A high amount of risk due to the difficulty of going back to fix something.
  • Poor model for long or ongoing projects.
  • Requirements must be very clear and fixed.
  • No software is produced until later in the process.

Due to the limited usability, especially in today’s day and age, the waterfall model is regarded more for academic purposes, to demonstrate that software has different stages.

Evolutionary Prototyping

There are many different types of the prototyping model, the one we will discuss here is the evolutionary model. The main difference is that in this model the previous system and requirements as a whole are refined and rebuilt until the desired outcome is reached. This enables us to build a very robust system. Compared to other prototyping models wherein each cycle the previous system is scratched and you start from the beginning.

Evolutionary Prototyping Stages

Evalutionalry-prototype

Pros
  • The client is heavily involved in the development process.
  • Errors can be caught earlier on.
  • Feedback and confusion between the client and developers can be identified quickly; Reducing risk.
  • Wasted time is also reduced due to the client being able to adjust requirements and functionality accordingly.
Cons
  • May lead to functionality overload, where client continues to add new features beyond original plans.
  • Due to the rapid change and growth of the system, documentation may be difficult.
  • Can also create more confusion. Where the developers are unsure of the client’s objectives or end goals.

Evolutionary Prototyping is commonly used where the final product requires a lot of interaction with the end users. User interfaces and web interfaces for online systems typically require a high amount of interaction with the end users.

Spiral

In the spiral model, a software project repeatedly passes through four phases: Planning, Risk Analysis, Engineering, and Evaluation. Barry Boehm refers to the spiral model as a ‘Sequence of waterfall increments.’ The spiral model is a risk-driven process model, where greater emphasis is placed on the Risk Analysis phase.

Spiral Model Phases
  1. Planning – Requirements are gathered during the planning phase.
  2. Risk Analysis – A prototype is produced at the end of this phase and is closely analyzed to identify risk and alternative solutions. If any are found they are then implemented.
  3. Engineering – Coding, and testing are done in this phase.
  4. Evaluation – The client evaluates the output of the project and depending on the satisfaction the project is either marked as complete or continues to the next spiral.

Spiral-model

Pros
  • Considering this model places great emphasis on Risk Analysis, the risk is greatly reduced.
  • The client can adjust requirements throughout the cycles.
  • Accommodates major changes.
  • Software is produced early-er on compared to other models.
Cons
  • Model depends on the Risk Analysis phase, it can make or break the project.
  • Depending on the number of cycles, it can be a costly model to use.
  • Is not intended for smaller projects.

Agile

The agile method is one of the more recently introduced methods. It is a collection of best practices, values, and principles. Agile is another type of an incremental model, where software is released in small increments and is thoroughly tested to ensure software quality is maintained.

Pros
  • Similar to evolutionary prototyping, the client is heavily involved in the development process.
  • Working software is produced frequently.
  • Individuals and interactions over processes and tools.
  • Customer collaboration over contract negotiation.
  • Responding to change over following a plan.
Cons
  • Not suitable for large teams, especially where team members are unable to share and collaborate.
  • The model is not very efficient when the deliverables are large.
  • Again, similar to evolutionary prototyping, the model may lead to functionality overload, where client continues to add new features beyond original plans.

 

Should You Close All ‘Multi-Tasked’ Applications?

Too often people force close apps after every use, their argument is that it will save battery, increase the devices speed, etc. Sometimes this results in the opposite, lose of battery, particularly with apps that are frequently visited, every time the app is forced to close it is removed from the RAM, thus every time it is opened the phone has to work harder to get it back in there. This is a popular misconception, especially when the term ‘multitasking’ is used to refer to backgrounded apps. If you are still concerned about this, you are better off managing your ‘Background App Refresh’ settings (iOS: Settings-> General-> Background App Refresh, Android: Settings->Data Usage) from there you can turn off which apps are allowed to refresh in the background or turn it off entirely. Keep in mind that iOS only allows a 30-second window for the app to refresh before it’s ‘closed’ again. Also, iOS is programmed to automatically turn off background refresh for apps that you do not frequently use/open.

Applications that are truly running in the background will display a bar at the top that will let you quickly return to them, this is usually with navigation and calling applications (phone, FaceTime, Messenger Call, etc). My tip and what I personally do is open the backgrounded app’s window and scroll all the way to the end and close applications from there, since they are most likely ones that I haven’t visited in a while, and barely use.

The Social Media Crisis

As the new year starts the war on social media continues. Many articles and posts attempting to predict which social platform will dominate, or whether social media will even continue to exist and for what purposes.

The popular article claiming that Facebook is “Dead and Buried”. Since teens are now turning to Snapchat, Instagram, and Twitter for ‘Parent Privacy’. Some still lack real security, such as the recent Snapchat DataBase Leak. I still believe Snapchat will continue to grow, but if they choose to be independent since they did decline Facebook’s offer. They will need to minimize these flaws, and this applies to any company going for the same approach.

That being said the ‘Dead and Buried’ article also stated that Facebook nor the investors should worry. Since these teens will need to resort to Facebook once they enter the real world to keep long-term relationships. Over the last 4 years or so, many companies have tried to match Facebook’s quality of social networking. Google’s executive chairman Eric Schmidt even admitted to ‘My Biggest mistake at Google was not anticipating social’. While Facebook might be the dominant social messaging app, a recent study shows this is only true in the US.

 

So will Facebook really continue to dominate for long term relationships? And will social media proceed to be the hub for advertising and promoting products? As one digital strategist and author claims:

“Companies will have far more success backing off a bit, being much more thoughtful about what they’re doing online, and making sure to integrate more offline contact and connecting to get back to getting in touch with customers in ‘old fashioned’ ways.” – Aliza Sherman