Categories
Vector Graphics for the Web

Vector Graphics for the Web – Introduction

When working on the web, there are two types of image formats that you can use:

  1. Raster Graphics: They are made up of pixels. The more pixels you have the higher the resolution you get.
  2. Vector Graphics: They use mathematical equations to create a two dimensional image. The graphics data is described by mathematical formula.

This article will look at vector graphics and how to work with them using JavaScript.

Vector graphics can be drawn by writing code to create them. Programs such as Inkscape and Illustrator also use them in their default formats.

Take for example the map of Africa shown above. It is a composite shape made up of individual paths that each represents a country. With this knowledge, we can apply a transformation to the individual countries to any size. Provided we do the transformations uniformly, we can size or resize the image without distortion.

The SVG Specification

SVG is a language for describing vector graphics in XML. SVG is a W3C specification and works well with HTML, CSS and JavaScript.

Below is a basic skeleton of an SVG document. xlmns specifies the namespace for the document.

<svg xmlns="http://www.w3.org/2000/svg"> 
 
</svg>

To draw a circle, we specify the properties of the circle in the document. So our document becomes:

<svg xmlns="http://www.w3.org/2000/svg"> 
	<circle cx="40" cy="40" r="30" stroke="#000" stroke-width="1" fill="#FFF" />
</svg>

Saving the above in a circle.svg document and viewing in a browser will draw the circle shown below:

Circle in SVG

SVG Advantages

Resolution Independence

Vector Graphics are Resolution Independent
Vector Graphics are Resolution Independent

Scalable Vector Graphics (SVG) do not lose their resolution regardless of how they are resized.

Interactivity

You can add hyperlinks and animation to SVG by styling and scripting. SVG has a navigable DOM which allows for the creation of interactive elements.

SEO Friendly

SVG is made up of XML text files. As a result, you can add keyword descriptions and links making content more recognisable for search engines.

Adding SVG to Your Web Pages

Using the Image Tag

An SVG document can be embedded in the image tag like a regular image in HTML. An example is shown below:

<img src="circle.svg" alt="A simple circle" width="100" height="100" />

The disadvantage of this method is that the SVG will not be interactive.

Using the Object Tag

This is the best option if you intend to make the SVG interactive. The code to do so is shown below:

<object type="image/svg+xml" data="circle.svg"></object>

Using inline SVG

In this method, the code to generate the svg is placed between the body tags of the web pages.

Browser Adoption

Browser Support for SVG
Browser Support for SVG

On the Can I Use website, most modern browsers have great support for SVG with the exception of Internet Explorer.

JavaScript Tools for Working with SVG

RaphaelJS

RaphaelJS is a JavaScript library that allows you to work with vector graphics using JavaScript. It acts like an interface for creating SVG without having to write code in SVG.

Think of it like jQuery. Without a wrapper like jQuery providing a layer of abstraction for JavaScript, you would have to write raw JavaScript to do anything on the web. If you think of how tedious writing JavaScript is and multiply that by 10, you will have an idea of the difficulty of SVG.

RaphaelJS is a vector graphics library which is used to draw objects in the browser. It enables SVG support for IE8 and below.

JustGage

JustGage is a handy JavaScript plugin for generating and animating nice & clean gauges. It is based on RaphaelJS library for vector drawing, so it’s completely resolution independent and self-adjusting.

Oh yes, since it’s pure SVG, it works in almost any browser –
IE6+, Chrome, Firefox, Safari, Opera, Android, etc.

Snap.svg

Snap.svg was developed by the creator of the RaphaelJS library. Unlike RaphaelJS which supports IE8 and below, Snap.svg was designed for modern browsers and therefore supports the newest SVG features like masking, clipping, patterns, full gradients, groups, and more.

D3.js

D3.js is a JavaScript library for manipulating documents based on data. D3helps you bring data to life using HTML, SVG, and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.

Conclusion

In the world of front end web development, there are a plethora of tools that are used to create interactive web applications. This tools involve working with HTML5, CSS3, SVG and WebGL.

The main advantage of SVG is that it allows you create graphics without the loss of resolution when they are resized. This might not seem like much to you but in a world of responsive design, it represents a big opportunity.

Categories
Make Money Online

Medium Partner Program Earnings Report – August 2020

Above is my earnings report for the Medium Partner Program in August. I wrote my first for a publication on August 28 and 3 days later I have made over 1 dollar.

Writing is one of the ways to make money online. The hard work with the Medium Partner Program is the generation of unique content where you are a subject matter expert.

I expect to continue writing in September. I will also give a report then. Have a great new month.

Categories
Make Money Online

Medium Partner Program Nigeria

On the 13th of August, I would sign up for the Medium Partner Program. I had heard about the Medium Partner Program but had been unable to join because payouts for the Medium Partner Program are made through Stripe. Sadly, Nigeria is not on the list of countries supported by Stripe.

Reading this article where the author explained how to sign up from Nigeria would guide me through the steps needed to join the Medium Partner Program from Nigeria.

If you are a writer based in Nigeria, this article will explain how you can benefit from the Medium Partner Program. It is one of the way to make money online in Nigeria.

On the 28th of August, I would submit my first article to a publication and the rest would be history.

You can read my article using my friend link. So although the article is behind a paywall, you don’t have to pay anything to read it.

Categories
Product Launch

MTN to launch Chenosis API Marketplace for Developers

Yesterday, while I was on Twitter, the news about the Chenosis API Marketplace would break out.

As someone who once tried to do a Nigerian API Directory, I understood the importance of what had just happened.

MTN has launched Chenosis as a place where developers, entrepreneurs and businesses can create, publish, discover and subscribe to APIs from across the continent with ease on a single platform. The goal is to create a one stop marketplace for the entire continent.

Chenosis provides access to a broad market of API products and services across telecommunications, health, government, financial services, entertainment, and more.

Chenosis is an independent API Marketplace with an arms-length relationship with the MTN brand so that it remains open to all mobile network operators, fintech start-ups, payment service providers, mobile wallet operators, financial service providers, and more

The Chenosis Marketplace will be open to the public from 10 August 2020. It will be exciting to see the apps that come out of the marketplace.

Categories
Blockchain Technology

SpaceBox Bitcoin Node Kit

Having spent close to a decade in the tech ecosystem in Africa, I can safely say that not much excites me in the industry.

However, since I heard about Blockchain Technology, I have been excited by its possibilities. I joined the Blockchain Nigeria User Group (BNUG) and also finished the course from the University of Nicosia.

It would be there that I would get to follow the process of development of a Bitcoin node that uses solar electricity by by Chimezie Chuta of Blockspace Technologies. Chimezie Chuta is also the Founder and Coordinator of Blockchain Nigeria User Group (BNUG).

I remember my excitement when he shared the news with the group and would share the video of the first version which you can find on Twitter.

Development has continued until the prototype has evolved into SpaceBox.

SpaceBox is a kit that allows a user run a full Bitcoin node. In short you can mine your own Bitcoin using it making it a powerful use case for Bitcoin technology on the continent. It is not for Bitcoin mining rather, full Bitcoin Lightning Network node operation.

Whereas miners validate and create new coins with hashpower, node operators maintain the Blockchain records and process Lightning Payments between channels.

SpaceBox

The SpaceBox is powered by the Raspiblitz which is basically a Raspberry Pi configured to run a Bitcoin node. The rest of the kit comprises solar panels, batteries, and a voltage regulator.

As the arms race for Bitcoin mining continues to support expensive hardware, SpaceBox is a no frills example of what great technology is all about. It levels the playing field for Bitcoin mining allowing Africans to participate.

Components of the SpaceBox Bitcoin Node Kit

If you would like to support the project, there is a fundraiser currently on Tallycoin.