Quantcast
Channel: Yudiz Solutions Ltd.
Viewing all 595 articles
Browse latest View live

The Logo Design

$
0
0

Overview

Today we will learn how to proceed with the logo design task. Let’s take an example from some of the previous work.

It’s called “ODIGO Map”. An app that provides deep location information for residence or commercial buildings or society from the map.

The main keywords here are location and map which will stay with the product forever. But how do we know that? Right!

Well, that’s the process.

Requirement

The first step is always about the requirement gathering.

Ask the client every silly question and for that, prepare a list of fixed question to send/ask the client before you start.

Questions can be

– About business

  1. What products(s) or service(s) does your business offer?
  2. Who is your target market / demographic?
  3. How do people learn about your product or service?
  4. Who are your competitors & how do they position themselves?

– About Product

  1. What is the exact wording you would like to appear in the logo?
  2. What is the idea behind the name? Where did it come from?
  3. What is the overall message you wish to portray with your brand?
  4. Sum up your brand in a few keywords.
  5. Where will your logo be used & seen?
  6. Is there any reference logo or colors you would like? If there is any reference logo, then you can share it in the attachment.

Moodboard

After requirement gathering, we know the business and target audience
so let’s start some research!

Collect the design references. Try to find some design styles that can match the requirement and test of end-users.

Try to stick to the mood board at an early stage of designing.

To create a Moodboard, a source of inspiration can be anything like real photos, place, other designs. Sometimes it needs to go on the field and observe the view to find out the patterns.

logo_image1

Thinking and designing

Okay, enough research now! Let’s create something.

It’s time to take a pen and paper and draw a rough idea about the logo.

logo_image2

Now it’s time to give life to logo ideas. Put ideas on tools and create vector art design.

logo_image3

Concept 1
logo_image4

Concept 2
logo_image5

Do you remember the Moodboard we have created? Yes! So For logo detailing like colors, text, icons. Use those Moodboard and create own style.

logo_image6

Create alternate logo text and Mark for dark version and also for small space where you can use the only logo mark. For example the App icon.

Presentation

It’s important to test the logo for visibility.

From the questionnaire, we know that its an app so test for the smallest resolution device and app icons.

logo_image7

Also, create mockups for presentation with different real-time images.

logo_image8

It’s time to submit the logo concept to the client. It’s hard to understand concepts sometimes from just the logo mark. So don’t just share the logo versions separate but create Guide.

Small Guide:
logo_image9

Check the link below for full Odigo logo design Guide:
https://www.yudiz.com/wp-content/uploads/2019/09/Odigo_Logo_Concept_1.jpg

The guide is dependent upon the complexity of the logo.

After submitting and finalizing the logo. Create Presentation for clients and submit it with all the vector files ( Ai, EPS, SVG, PDF, etc.)

Thank you!

Conclusion

After establishing a logo design process we knew that the first step of any design is not sketching or research is always about empathy. You know better about your users as such as your design relevant to that.
Trust the process!!!!


Auto-renewable Subscriptions

$
0
0

Overview

Auto-renewable subscriptions give users access to content or services from within your app. At the end of each subscription duration, the subscription will automatically renew until a user chooses to cancel it.

Benefits Of Using Subscription / In-App Purchase

A subscription makes the business process easy for both the customer and the business. Customer do not have to repeatedly purchase when the subscription ends and Business does not need to ask the existing customer to renew their subscription until they cancel.

A subscription model ensures that the Business is used by a large number of customers on a daily basis and also helps in providing up-gradation and generate more revenue.

A subscription model offers higher payment safety for our business. It shows us regular payment transactions for the products and services sold.

New Features Added In In-App Purchase

iOS13 and iPadOS warns you when you delete an app with an active subscription.

sub_image1

  1. Subscription is becoming a very popular method for generating revenue for mobile app developers. If you install a high-end game for free there are high chances that app may contain subscription.
  2. You may have even subscribed for so many apps and have forgotten that you are paying a fee for that, but iOS13 will help you remember that. When you attempt to delete an app with an ongoing subscription an alert will prompt with “Manage Subscription” and “Keep” which will help to cancel your subscription.
  3. The new popup was first spotted in the second iPasOS beta by Federico Viticci.
  4. The prompts tell us that you can use your subscription in another device and will also remind you when to renew and if you want to cancel you can tap on the “Manage Subscription” button.
  5. This will take you to the subscription section in the AppStore where you can manage all your subscriptions and cancel the subscription which you do not need anymore.
  6. By tapping on the “Keep” button your app will be deleted but your subscription will remain ongoing.

Apple introduces new Billing Grace Period feature for failed app store subscription renewals.

      1. Apple has introduced a new Billing Grace Period feature that will help in improving the customer experience for subscription in the app store.
      2. Billing Grace Period allows subscribers to access the paid content for a specific period of time (till apple attempts to collect payment) whose auto-renewal has failed due to payment issues.
      3. There won’t be any interruption to subscribers during the period of paid service or revenue if Apple is able to recover the payment within the Grace period.
      4. For instance, If your subscription fails because your credit card has expired, your subscription won’t be immediately affected instead. Apple will reach out to collect payment from the user while keeping the service active.
      5. To get started, turn on Billing Grace Period for your app in App Store Connect.
        1. From the homepage, click My Apps, and select your app from the list.
        2. In the toolbar, click Features, and in the left column, click In-App Purchases.
        3. Turn On the Billing Grace Period.
        4. In the pop-up window, click Confirm.
      6. The length of the grace period depends on the subscription duration.

      sub_image2

Hourly Sales Data Now Available in Sales and Trends.

      1. Sales and Trends provide next-day sales and unit data so that you can measure the performance of your free or paid iOS, tvOS, and macOS apps, as well as any associated in-app purchases. Data in Sales and Trends is recorded when a customer initiates a transaction on the App Store.
      2. You can now view your app sales data by hours in in-app purchases.
      3. Follow the Below Steps to see hourly sales data
        1. From the App Store Connect homepage, click Sales and Trends.
        2. On the left side, click Units, Proceeds, Sales, or Pre-Orders.
        3. In the upper-right corner, click the date picker and select the Last 24 Hours.
        4. Filter by Content to see data for a specific app or in-app purchase, or by Territory to see where your app performed highest by the hour.

Adapting Dark Mode on Your Project, Swift 5

$
0
0

Overview

After apple relieved the iOS Dark Mode theme, many were happy. It was one of the features we were waiting for since macOS Mojave’s dark mode. The first thing we were checking was our projects that we have worked on. How to support dark mode in it, how it would look etc.

It is very simple and easy to change. As in this blog, we’ll see how to use the system’s color and custom color as well for the dark mode. We’ll also see how to set images & icons for light & dark mode.

Minimum Requirement:

  • Xcode 11 (beta or above)
  • iOS 13 (beta or above)

Without wasting time let’s jump directly into the 1st topic: Set system color for dark mode.

This is my design for the light mode:

dark_image4

System Color

Apple has provided some good range of adaptable color, we can use and it automatically sets the color for the dark mode. We just want to set those adaptable color, and it will adapt its color for the dark & light mode. It’s that simple.

dark_image1

Let’s see how.

First, we will change our color for our Title label and background. By just selecting the system’s adaptable colors. E.g. Changing the system’s blue to systemBlue. I have selected systemBackgroundColour for my main view.

dark_image2

We can also use these colors programmatically too.

lblTitle.color = UIColor.systemGray

Let’s see now, how it looks in the iOS device dark mode.

dark_image3

Custom Color

For custom colors, we can add it to the asset file. In asset_file.asset < right-click into it > New color set. You will see the color in the list. Now select the color and in the attribute inspector, go to the Appearance and select Any, Dark. You will see 2 colors on the board. Change both the color according to your requirement for light and dark mode and give a proper name.

dark_image5

You can use this custom color through the storyboard and programmatically as well. In the storyboard, you can see it in the color list. And programmatically, you can access like this.

segmentControl.backgroundColor = UIColor(named: "segmentBg")

As we can see the segment controller in design looks thrown off a bit I’m going to create a custom color for it for both dark and light mode and so for my subtitle label to give it a little darker color.

dark_image6

Images & icons

For images & icons, steps are similar to a custom color. Select the image, in the Attribute inspector, go to the Appearance and select Any, Dark. You will see the empty box to upload images for the dark mode.

I’m going to change the sun image, if its an icon or a template image you can simply change the tint of the image as well, For example. The images in the segment controller are template image and their tint is handled by the system. here I will add a new image for the dark mode.

dark_image7

dark_image8

dark_image9

Other methods & property

We can use many ways to detect the dark mode and change the property in the app or on the individual screen as well.

1. Notification:

It is one of the ways to detect the change in the dark mode.

NotificationCenter.default.addObserver(self, selector: #selector(darkModeEnabled(_:)), name: .darkModeEnabled, object: nil)

NotificationCenter.default.addObserver(self, selector: #selector(darkModeDisabled(_:)), name: .darkModeDisabled, object: nil)

2. TraitCollection property:

The dark mode is the party of the Trait Collection, thus the changes in the trait regarding appearance/interface style will be detected in the Trait collection method.

override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
    super.traitCollectionDidChange(previousTraitCollection)
    let userInterfaceStyle = traitCollection.userInterfaceStyle
//here you can take the necessary steps that you have to do when the appearance changes
}

However, the trait collection consists of other traits and the method will get called in other like the device orientation change. Thus to detect the appearance change you can use the code below:

let hasUserInterfaceStyleChanged = previousTraitCollection.hasDifferentColorAppearance(comparedTo:traitCollection)

Not ready for Dark mode?

If you are just not yet ready to adopt the dark mode you can simply override the user’s choice by using

overrideUserInterfaceStyle = .dark

or

overrideUserInterfaceStyle = .light

You can do this for one screen or the whole application.

Another way to keep a default interface for your app ignoring whatever user has set you can simply add a key pair in your info.plist

Open your info.plist as Source Code
Add the key-value pair just above

<key>UIUserInterfaceStyle</key>
 <string>Light</string>

Conclusion

Ready or not Dark mode is here and soon people will be addicted to it and will want them in most apps they use. Better to do it now then to go back and do it again!!

Blog On Moodboard

$
0
0

Overview

A Mood board is a collection of inspirational ideas, materials. Collection of reference for creating a design, color swatches, fonts, and typography, etc is known as a mood board. A mood board helps a designer to convey a general idea or feel about the project or task he is working on.

In short, whatever the designer needs to start the project, all those things are collected in the mood board and help them to accomplish a project/task.

Mood boards can set the tone of a project and guide a large team project during the design process, and assist new designers joining or working with an unfamiliar project.

The user creates the mood board with a different type of ideas from realtime pictures, various textures, typography, colors theme, etc. From this, the user can visualize ideas and concepts.

The mood board doesn’t show the wireframe or any other detailed pictures of the projects.

The mood board helps designers to collaborate with the client and team-members and turns conceptual ideas into real ideas. In this way, designers can effectively share their ideas with the other team-members because visual material always works better than fluent phrases.

Three Types of Mood Board

1. Free collage

Collect high-resolution pictures, illustrations, typography, and colors. Create a theme by choosing a color from picture collection and create a typography hierarchy from the reference which is collected in free collage. Also, collect real-life images related to the project which helps you and the users to understand the concept of the project.

mood_image1

2. Reference collection

The designers can collect stimulus design. They can collect reference that is relatable to their product for visualization, which helps to understand how it looks like after design! Here, the designer can collect references for a particular screen, page or section, and design according to the reference collection.

Reference collection
mood_image2_1

Design from references
mood_image2_2

3. Template board

This mood board is used to show the structure and visual hierarchy of a product. Using the Template board, a designer can create a visual flow for product design using the reference collection for the different screen, page or section. It will help you to show the client how the product will design.

mood_image3

Create a Color Theme in Mood board

The world is so beautiful and filled with millions of colors. So when we click the photographs, they are also full of colors. We can use those colors for our project and make it beautiful.

To create a color palette, collect high-resolution photos, illustrations, and other stuff which helps you to create a color palette and choose project-related colors that give an attractive look to your project and arrange them properly.

mood_image4

How to Create a Better Mood Board

  • Be clear about what you are trying to make.
  • Choose a few directions/ versions of the project and store them in one place for future reference.
  • Write and collect thoughts, concepts, and inspiration from references.
  • Add an existing project/ theme references & elements that are relatable to your project.
  • Collect inspiring designs around the web.
  • Add related photographs.
  • Add colors and fonts which we will use in the project.
  • Add references for animations and motion.
  • Arrange all parts of references as per their importance using its size and scale.
  • Write a note for elements, why some elements are chosen.

Here is an Example Using a Tablet App of a Mining Company

This tablet application is to be used by the employees. Utilizing this application, employees have to fill various types of forms regarding the whole procedure of mining.

I’ve created the mood board of this app in sketch. In the sketch file, I have collected and created some references & components.

  • Created various types of input fields
  • Radio Button
  • Toggles
  • Options selection
  • Typography
  • Colors
  • Image References

mood_image5

Design from mood board
mood_image6_1

Design from mood board
mood_image6_2

The elements of this application are filing-forms, entering details, and readability of the text. So we didn’t include High-intensity colors, Graphics and all those things which can rattle the user’s focus from text data.

This app contains lots of forms for formality and procedure of mining which is filled by employees or crew before they start fieldwork.

The client had a hard copy of the forms he wanted. In case you don’t have a hard copy, ask the client necessary questions and create a rough hard copy first. As per the requirement of our client, there are so many required text input fields, radio buttons, toggle buttons, a different state of an input field, input fields for date and time. So we can add a collection of references or samples to the mood board for all those fields.

Only one font family is used to design this application. The main purpose of this application is to make the entire form-filling process easy for users. For the same reason, we haven’t use funky or eye-catchy colors.

Online Tools to Create a Mood Board

  • Canva
  • Mural
  • Milanote
  • Evernote

Conclusion

In short, Mood board is a basic step to start a project. Also, it is an important part of the design to have a collection of photos, references, and relevant ideas that help you to know the basic concept of a project.

WordPress Errors and Their Solutions

$
0
0

Overview

WordPress is the most loved overall CMS. Most of the Blog sites or E-Commerce sites ( i.e. WooCommerce ) are created in WordPress. It is easy to use, gives no error and runs successfully, but sometimes the user faces some hurdles. In this article, we will discuss some most common WordPress errors and their solutions that everyone faces while creating a WordPress site.

wp_image1

Caution: Get Backup Of Your Site

  • It is important to take a backup of your site before doing any kind of modification. Before you proceed to solve any kind of issues, make sure you have a backup because your site might break down while solving errors.
  • It is necessary to have a backup, so you can revert it back. You can take backup as follows:
    • Take Backup Manually: Take a backup of all your files and export your database.
    • Take Help of Plugin: You can install any plugin which helps you to take a backup of files and database.

Below are some errors and their solutions which we face in the development of WordPress site:

Disabled Javascript

Nowadays, Javascript is beloved for all developers. Javascript works fine within any WordPress site. If Javascript is disabled in any browser, it might stop running the site or it may affect the design of the site.

Solution:

    • To solve this, we can put some
      in header or footer file, which displays some informative page which indicates javascript is disabled to users and guides to enable javascript.

For ex.

<noscript>
  	<META HTTP-EQUIV="Refresh" CONTENT="0;URL=<?php echo home_url() . '/disabled_script.php'; ?>">
</noscript>

  • Put this code in your header.php or footer.php
  • Create disabled_script.php file in your site, which gives the message that javascript is disabled.
  • If javascript is disabled, the site would be redirected to a specific page, saying javascript is disabled.

WordPress Asks for FTP Credentials

This error occurs when WordPress can’t access your files directly or can’t update any plugin or theme. Users are asked for credentials to edit or install files.

Solution:

  • The problem is about permission. This will allow accessing files and plugins. The below function allows to edit or install files or plugins.

Step 1: To solve this, first put below code in the wp-config.php file.
define(‘FS_METHOD’,’direct’);

Step 2: Next go to your site directory and run below command in your console. This will change the permissions of your site’s folder.
Command:- sudo chmod -R 777

  • The above steps will help you to change the permissions of your site. Now you can update any plugin or theme.

Site Not Working and Also Not Displaying Any Error (White Screen of Death)

  • If your site displays a blank screen with no information, no errors displaying, it would be the ‘White Screen of Death’. This error is caused because of some PHP errors or database errors. Following are some of the several possible reasons:
1. Plugin Compatibility Issue
  • One of the issues might be of plugins in your site.
  • Some plugins might conflict because of the bad coding structure of the plugin. It may cause an error in the WordPress site.

Solution:

  • If you can access your Administration screen, then first deactivate all your plugins on the site.
  • Activate all your plugins one-by-one to find the issue.
  • If you can’t access your Administration screen, then open your website via FTP and locate to wp-content/plugins folder and rename all plugin names.
  • Rename all your plugin one-by-one to find the issue.
2. Theme Issue
  • If all plugins are working fine and you still get the issue with a blank screen, then it may have a problem with an activated theme in your site.
  • Deactivate the theme and WordPress will activate the default theme.
  • Try to run your site, and if it runs successfully, the issue would be with your theme.

Solution:

  • To solve this check your theme’s function file.
  • Check if it contains extra spaces at the beginning or end of the file (remove space before <?php) or have a bad coded function, fix it.
  • It may cause problems and your site might not run successfully.
3. Other Issue
  • If the above-mentioned points are not the issue with your site, and still getting a blank screen in your site then enable debug mode to find the issue.
  • The issue might be of PHP code or database error.

Solution:

  • Enable debug mode in the theme’s wp-config.php file.
  • Set Debug mode to true.
  • It will display the error. The error might be some PHP error or Database error.

wp_image2

500 Internal Server Error

  • This error would occur either because of the corrupted .htaccess file, plugin compatibility issue or theme issue in your site.
  • To solve the plugin issue follow the above steps of the Plugin Compatibility Issue section.
  • If it’s not a plugin issue, it might be of theme issue then follow the steps of the Theme Issue section.
  • The issue might also be of PHP error or database error. To solve this issue enable debug mode in wp-config.php file.
  • If still getting the error then it might be of corrupted .htaccess file.

Solution:

  • .htaccess is a hidden file in your project directory.
  • To access this file, you should give permissions to access the hidden file in your client FTP.
  • Rename your .htaccess file and check if it works. If it works successfully, go to your Administrative Screen->Settings->Permalinks and click on “Save Changes”. This will generate a new .htaccess file for your site.
  • If you can’t see the .htaccess file, it would still not be created in your project. Go to your Administrative Screen->Settings->Permalinks and click on “Save Changes”. This will generate a new .htaccess file for your site.

wp_image3

Cache Clear

  • You make changes in your site and nothing happens, it might be the browser’s cache issue.
  • Clear your browser’s cache and cookies and re-run your site.
  • It will run successfully.

Broken Website (PHP Version Issue)

  • Without PHP, WordPress sites might not exist.
  • If there would be a PHP version issue, your site might stop running and it may not result as needed.
  • Currently, v7.3 or greater version of PHP is recommended for WordPress. Your website will be faster, more efficient, more secure as you have the latest PHP version. But there would be PHP version issue if your site’s PHP version isn’t compatible with the version of PHP in activated plugins or themes on your site.

Solution:

  • Before you do any kind of changes, make sure to take a backup of your site. If your site gets stuck anywhere, there will be a solution to get back your site, if you have your backup.
  • First update WordPress, Plugin, and Theme.
  • Enable debug mode to true in your wp-config.php file to display PHP errors.
  • Check version of PHP in which site is developed.

There are 2 ways to check the version:

1)By using PHP function:
<?php phpinfo(); ?>
Put this function in your theme and check the version of PHP.

2)By using plugins:
There are several plugins that check the version of the PHP of your site.

  • PHP is set on the server-side by your hosting company. Interact with your hosting company to update the version or ask them to update the version. The hosting company provides instructions to update PHP on your server.

404 Page Not Found

  • This error is the most common error for developers. This error occurs when the requested URL is not found, or when displaying any post or page.
  • This error will not display anything and return 404, but it contains the content of the page.

Solution:

    • On one side, it is again the issue of .htaccess file in your site so you can follow the steps mentioned earlier for the same. In most cases, this solution will work.
    • But if it doesn’t work then rewrite the rules in your .htaccess file located in your site where your wp-content folder is located.
    • Replace the default code with the below code in your .htaccess file.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Resolve a Custom Post Type Name vs. Page Permalink Conflict (Same Slug)

  • The issue is very small or weird but might end up badly.
  • Accidentally, if custom post type and one of the pages in your site has the same slug then WordPress might not result as per your expectations.
  • In this case, WordPress will give your custom post type’s archive page. It will not display your page’s content.
  • The reason behind this is WordPress archives have seniority than WordPress page. Yes, it’s true. That’s why if custom post type slug and page slug are the same, the output will be of the archived page, not of the original page.

Solution:

There are two solutions to these problems:
1. Disable the archive functionality of the custom post type.

  • Disable the archive page of the custom post type, that is when registering the custom post type makes ‘has_archive’ to ‘false’.

For ex.

function create_custom_post_type() {
	register_post_type( 'book',
		array(
     		'labels' => array(
		     	'name' => __( 'Books' ),
	     		'singular_name' => __( 'Book' )
      		),
      		'public' => true,
	     	'has_archive' => false,
    		)
  	);
}
add_action( 'init', 'create_custom_post_type' );

2. Rewrite the slug of the custom post type.

  • Rewrite the slug of the custom post type, which means changing the slug in the ‘rewrite’ attribute when registering your custom post type.

For ex.

function create_custom_post_type() {
	register_post_type( 'book',
		array(
     		'labels' => array(
		     	'name' => __( 'Books' ),
	     		'singular_name' => __( 'Book' )
      		),
      		'public' => true,
			'rewrite' => array( 'slug' => 'books' ),
    		)
  	);
}
add_action( 'init', 'create_custom_post_type' );

Note: When following any of the above solutions, after updating the code, do not forget to update the permalinks in Settings => Permalinks. Otherwise, you might not get the updated output and see the old one only.

Conclusion

That’s It. WordPress’s most common errors and their solutions. Those are just a few common errors that we face usually. We hope this post will be helpful to you guys for solving these WordPress problems. If you guys get some other problems and their solution or a better way to solve the above errors, share it in the comments section. Nobody wants hurdles in their site, so share your views and help them get rid of it. Besides these things, WordPress will still be the loved CMS for us.

CSS Variables

$
0
0

Overview

By reading the title of the blog, we know many of you will say “what’s new” in this. It is already there with CSS preprocessors. But here we are talking about native CSS Variables which can also be referred to as “Custom Properties”.

Benefits

These days we usually have complex websites with multiple lines of code in CSS files with repetitive values. For example, we need to change a color that is used multiple times in the file then we need to globally search and replace that color which is obviously a tedious task. By using CSS Variables, such tasks will be done within a fraction of time. Even it is better to memorize the variable for example “primary-color” rather than the hex code for that “#3f7d6b”. It will work based on scope and inheritance. Don’t worry about it now, we will go through this in the latter part of the post.

As we might have a few mates who might have a view that we already have such features with CSS preprocessors then let us shed some light on this. The primary difference between CSS preprocessors variables and native CSS variables is that Sass variables are static and lexically scoped whereas CSS Variables are dynamic and scoped to the DOM.

Implementation

CSS Variables should be defined within the selector. For defining the variable that is accessible globally it should be defined within :root or body selector. Variable name precedes with double dashes(–).

Syntax

css-selector{
    --variable-name: value;
}

For Example

:root {
   	--color: blue;
   	 --warning-color: yellow;
 }
 #alert { --color: red; }
 #warning { --color: var(--warning-color); }
  * { color: var(--color); } 

<p>I inherited color from the root element!</p>
<div id="alert">
      While I got red set directly on me!
      <p>I’m red too, because of inheritance!</p>
</div>
<div id="warning">I got color dynamically changed using script.</div>
<script type="text/javascript">
   	 document.documentElement.style.setProperty('--warning-color', 'orange');
</script>

Result:

css_image1

Conclusion

I hope this blog will help you understand the CSS Variables and be helpful to you in your future projects.

Working with CDN – Part 1

$
0
0

Overview

Nowadays, websites are growing more dynamic and richer in front-end. The use of high dimensional images and videos is increasing for better UI/ UX to attract users and to get more traffic on the website. Not only images and videos are important for marketing or to get heavy traffic, but SEO optimization is also as important. More load time decreases optimization, reduces the efficiency of the site. Users are distracted from websites that take much initial load and it put bad impacts. What if, you want a website fully loaded with heavy CSS, advanced Javascript, fully dynamic content and also need to load websites faster from any side of the world… Think Think… 🤔🤔 Yes, you are thinking about the right concept… It is a CDN… Content Delivery Network.

CDN_image1

What is CDN?

CDN is a Content Delivery Network. Just kidding… 😁
Jokes apart, Content Delivery Network is a platform/ group of distributed servers or network that provides cached web content from a network/ server location closest to a user. It is a mediator between the origin server and user that delivers content faster as per the request to the server. Complicated??? 😕 We will look into details…

CDN_image2

How CDN Works?

  • The main concept of CDN is to improve the delivery time of web content from the origin server to the user. It stores static content like HTML images, CSS and javascript from the server and delivers them to the user.
  • A Content Delivery Network (CDN) is a platform of geographically distributed servers/ networks which quickly delivers web pages and other web contents to user on the basis of the geographic location of the user.
  • When a user searches for your website, they are redirected to the web host’s server of their geographic location. So every user of your website is accessing this one server of the particular location. Now if your website contains heavy traffic then it reduces the efficiency of your server and takes more time to load and reduces the speed of content delivery.
  • This is where CDN will work. CDN caches your static content from the origin server and quickly delivers the content. It copies the content of the website to distributed servers of geographical location and caches the pages. When user requests for the page that is part of the CDN server, CDN will redirect it from originating server to distributed servers in geographical location.

For ex.,

  • You have a shoe factory and it is on a big scale of selling shoes. You need to sell your products all over the world. Customers from all over the world are not able to come to your factory and buy shoes. of course, it’s not feasible for all to travel far and buy products or it’s not feasible for you to deliver the product so far. So now you have to distribute your products on a small scale in different countries i.e. there are different shops in different cities for your product. Now the shops of that geographical location will deliver the product to particular locations and delivery will be fast as compared to the delivery from direct factory. So there’s no difficulty for you and your customer for product delivery.
  • The same thing happens with CDN servers. For here, shop in different countries is the CDN servers in geographical locations and the shoe factory is the origin server. Users which here are the customers will request the data that is the product, CDN servers of that location which are shops here will deliver the content which is stored in the cache (products stored in the shops) as fast as compared to the delivery direct from the origin server (shop factory). This will decrease the load in the origin server(shop factory) and increase the usability of your store. CDN server takes less redirection time and delivers fast content.

CDN_image3

Conclusion

That’s it. We have overviewed what CDN actually means over then ‘Content Delivery Network’. What is CDN and how it actually works… This is not the end guys. The sky’s the limit… If you want to increase website performance using CDN and to configure CDN wait for the next part… We will see about how to configure CDN, CDN Providers, and, etc… etc.. 😉 Share your views in the comments section about CDN and help knowing it better… 😊

Pagination with Bottom Loading

$
0
0

Today, we will cover a simple but important topic of TableView. As we are loading a huge amount of data in the tableView, it may take time to load these data. So the best solution that we have to overcome this loading time is to do Pagination. And to give this pagination a good outcome, we can add a bottom loader. You may have seen in many famous apps like – Facebook, Instagram, etc.

Let’s see, what is Pagination?

Pagination is the breakdown of the records into small parts as per requirement and adding the other parts of the record one-by-one. It decreases the loading time and saves internet data as much as possible. Mostly it is used where the data is huge and in the array or dictionary.

Bottom loading helps a user to understand that there is still more data to be loaded and that too without disabling the user interaction.

Without wasting time, let’s start with the project. Create a single view project, give the name -> Create. Take a tableView, complete all its steps, and integrate an API, so that we can add pagination in it.

Now, first of all, we’ll create a model to handle the pagination process, we have to create it according to the response we get and request that we have to give to the server. As my response is:

page_image1

And in the request, I have to pass startIndex and maxResult. So our model will be like this –

// MARK: - Pagingnation
struct Pagingnation {
    var pageNumber: Int
    var limit: Int
    var isAllLoaded: Bool = false
    var start: Int {
        return (pageNumber * limit)
    }

    init(_ pageNumber: Int = 0, limit: Int = 15) {// Max data in the response, from the pageNO.
        self.pageNumber = pageNumber
        self.limit = limit
    }
}

It will help us to handle the pagination process.
Now, we will create an object of the Pagination in the class where we have to use it.

// Variable Declaration(s)
    var objPagination: Pagingnation!

    // Variables for Pull to Refresh
    let refresh = UIRefreshControl()

Now initializing the variable and adding pull-to-refresh.

func prepareData() {
        objPagination = Pagingnation()
        // Setup Pull to refresh
        tableView.refreshControl = refresh
        refresh.addTarget(self, action: #selector(refreshData), for: .valueChanged)
    }

// Reload data while pull to refresh
    @objc func refreshData() {
        objPagination = Pagingnation()
        webCall()
    }

Invoke preparedata() method in the viewDidLoad().

Now, we have to make certain changes to the web-call code.

First of all add this code in the web-call method, before the response code.

if self.objPagination.pageNumber == 0 {
      // empty array that is used to display data in the tableView
            self.arrBooks = [] 
        }

It is for the data to be refreshed when pull-to-refresh or first call is made.

Now adding the pagination data in the URL.

let urlStr = baseURL + "startIndex=\(objPagination.start)&maxResults=\(objPagination.limit)"

Now if the data in the response is less then the max result. Then it will be the last data.

if self.objPagination.limit > allBooks.count {
      self.objPagination.isAllLoaded = true
}

After the response is taken in the local variable, value of pageNo should be increased.

self.objPagination.pageNumber += 1

At last, on the web-Call, stop the refreshControl of tableView and reload it.

self.tableView.refreshControl?.endRefreshing()
self.tableView.reloadData()

Now, one last step for the pagination. We have to call the webCall() method to load other data. We’ll do this when the last cell is to be loaded in the tableView. So in the willDisplayCell method of tableView, we’ll add following code:

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
              if (!objPagination.isAllLoaded && indexPath.row == arrBooks.count - 1) || arrBooks.isEmpty {
            webCall()
        }
    }

All the steps of Pagination are now completed.

Now creating a bottom loader for it. Add cell and add activityIndicator in the controller of storyBoard and add constraints to keep it at the center.

page_image2

In the numberOfRowsInSection method add 1 for the indicator.
And in the cellForRowAt add a condition for the last cell and return cell that has an indicator in it.

To animate the activityIndicator write code in the willDisplayCell method, keep the condition for the last cell and add this in it.

if let cell = cell as? DemoCell {
          cell.loader?.startAnimating()
 }

Build and Run the project.
That’s it!


How a designer can start React JS

$
0
0

Overview

ReactJS is an open-source JavaScript library. It is designed and maintained by Facebook and the community of individual developers & companies for creating rich and engaging web apps fast and efficiently with minimal coding. In this blog, we can see how a designer can start HTML development in the React project.

Create a New React App

You can use one of the following methods to create a new app. (You will need to have Node 8.16.0 or Node 10.16.0 or later version on your local system)

To create a project called my-react-demo, run this command:

npx

npx create-react-app my-react-demo

Yarn

yarn create react-app my-react-demo

npm

npm init react-app my-react-demo

Run a New React App

Once the installation is done, you can open your project folder and you can use the following command to runs the app in development mode. It will open http://localhost:3000 to view in your browser.

npm start

or

yarn start

What is Reactstrap?

Reactstrap is a react library that contains React Bootstrap 4 components that favor composition and control. This library does not depend on jQuery or Bootstrap javascript.

Using this library we can use a carousel, collapse, dropdown, modals, popovers, tab, etc. without using jQuery. These elements are basic elements of website design.

Reactstrap also provides advanced positioning of content like Tooltips, Popovers, and auto-flipping Dropdowns.
So now we will see how to add Reactstrap in our React project.

Add Reactstrap and Bootstrap

We will install a reactstrap and Bootstrap from NPM. First, we will include Bootstrap CSS because Reactstrap also uses it. So we have to install Bootstrap CSS for that use following command:

npm install --save bootstrap

Or

yarn add bootstrap

To include Bootstrap CSS in our project write below code in src/index.js file.
import ‘bootstrap/dist/css/bootstrap.min.css’;

Now we will install reactstrap from NPM. For this use following command.

npm install --save reactstrap react react-dom

Or

yarn add reactstrap react react-dom

Now we can use any component from https://reactstrap.github.io/components/alerts/

Add Custom style in a project

Create custom CSS file in your project src/assets/css/style.css

react_image1

Now include this custom CSS “style.css” in src/index.js file after bootstrap CSS.
import ‘../src/assets/css/style.css’

react_image2

We can also add fonts and images folder wise as per our requirements same as we add “style.css”

Add SCSS in React project

We can also use “style.scss” file. Create and include SCSS file the same as we added simple “style.css”.

But it will throw an error at compile-time, So to import Sass files, you first need to install node-sass. Run the following command inside your workspace.

npm install node-sass

Or

yarn add node-sass

react_image3

Conclusion

I hope that this blog might be useful to newcomers to react in setup and start the design phase in your project and If you have good hands-on SCSS than you can also use it. We will learn how to design a website component base with SCSS in our next blog.

Build your fabric smart contract with VScode plug-in

$
0
0

Overview

What is IBM blockchain platform visual studio code extension?

The IBM Blockchain Platform Visual Studio (VS) Code extension gives an environment within the VS Code for creating, packaging, and testing smart contracts. It was released on 5 May 2018. The latest version 1.0.14 was released on 24 Oct 2019. You can practice the extension to create your smart contract project and start generating your business logic. You can then practice the VS Code to test your smart contract on your local machine by using a preconfigured instance of Hyperledger Fabric before you deploy the smart contract to the IBM Blockchain Platform. Quite interesting!

Let’s discuss how fabric can be responsive through VS Code.

ibm_image1
[Smart contract development]

Step 1: Install IBM Blockchain Platform VS Code Extension

Before you start to install the IBM Blockchain Platform VS Code extension, check prerequisites.

Prerequisites:

Install Extension:

  1. Go to the VS Code extension marketplace page or search for the IBM Blockchain Platform in the extensions panel within VS Code.

ibm_image2

  1. Click to Install.
  2. Restart VS Code to complete the installation.

After the installation, you can see the IBM Blockchain icon on the left side of the VS Code to initiate the IBM Blockchain Platform panel.

ibm_image3

Step 2: Set Up a Fabric Environment

Once you click on the icon(IBM Blockchain extension) you will get four following small box options:

  1. Smart contract
  2. Fabric environments
  3. Fabric gateway
  4. Fabric wallet

ibm_image4

Now click on the local fabric option inside the fabric environment which will extract all necessary images and run it as a container. Once the connection is successful, you will observe a full fabric environment.

ibm_image5

you can check your fabric environment using a docker ps command. If you have followed every installation dependency perfectly you will get the following output.

ibm_image6

Step 3: Create a Smart Contract

You can use the extension to generate a new smart contract project in VS Code. The extension creates a basic smart contract that maintains an example asset in the language of your choice. You can use the structure of the model as a starting point for developing your business logic. The extension gives all the dependencies that are required to deploy your smart contract to an instance of Hyperledger Fabric.

  • Click the IBM Blockchain icon to initiate the IBM Blockchain tab. Click the overflow menu in the smart contracts and click the Create New Project OR run ctrl+shift+p and click the Create New Project.
  • Select the language that you want to build a smart contract. The current selections are JavaScript, TypeScript, Go, and Java.

Key: You can use the VS Code extension to create and test Java smart contracts locally. However, you cannot deploy Java smart contracts to IBM Blockchain Platform networks. If you are deploying the smart contracts to a production network, JavaScript and TypeScript smart contracts require more support than contracts written in Go.

  • Create a folder with the name of your project and initiate it. (The structure of the project depends on the language that you chose. Here we chose a javascript language.)
  • After the successful creation of a smart contract, go through the lib folder and open the my-asset-contract.js file which is auto-generated. You can edit as per your business logic.

ibm_image7

Step 4: Package a Smart Contract

You need to package a smart contract in .cds format before you can install it on the IBM Blockchain Platform network.

  • Click the IBM Blockchain icon to initiate the IBM Blockchain tab.
  • In the Smart Contracts, click the overflow menu and choose the Package Open Project.

ibm_image8

Step 5: Deploy a Smart Contract to a Preconfigured Hyperledger Fabric Network

You can accept the VS Code to deploy your smart contract to a preconfigured Hyperledger Fabric network that the extension builds on your local machine. You can install, instantiate, and test your smart contract before you deploy it to a live network.

  • Ensure docker is running
  • In the Fabric Environments panel, click Install Smart Contract. Select the peer that you require to install the smart contract on. Select the smart contract package that you need to install, and click Install.

ibm_image9

  • In the Fabric Environments, click Instantiate Smart Contract. Select the installed smart contract to instantiate.
  • Enter the name of the instantiate function in a smart contract. If you practiced the default smart contract template, no instantiate function is used. (optional)

ibm_image10

If you adjusted your smart contract code and then repackaged it, you can upgrade the instantiated smart contract to deploy a newer version to the network.

ibm_image11

After a smart contract is installed and instantiated, you can submit transactions to the functions inside a smart contract by using the Fabric Gateways panel and also using a node environment.

Conclusion

So in this blog, we had just done the key steps in the workflow of local smart contract development! You’ve generated a dummy contract, deployed it locally, and used it to submit transactions. Stay tuned!! Happy coding!!

Yudiz Solutions Pvt. Ltd. Proud to be Named on Clutch Top 1000

$
0
0

clutch_image1

Here at Yudiz Solutions, we know that businesses work best when their digital strategy is aligned with their top-quality software solutions. We’re a certified company that has over eight years of global exposure in the leading mobile app development platforms, including iOS and Android. Our motto is “success for one and all”, and we always strive to exceed our client’s expectations and maintain our track record of completely satisfied clients.

In recognition of our accomplishment, we’ve been named a top mobile app development company based on Clutch’s verified research. Clutch helps potential buyers to select appropriate vendors for their projects. We’ve been named on the Clutch 1000, which is a comprehensive list of the top B2B service providers around the world. We’re number 172 on the list, one out of over 100 custom software development companies, but only one out of 15 vendors based in Ahmedabad, India.

We’d like to take this time to thank our valued customers for participating in client interview s on our behalf. They ranked us on the criterion of quality of our work, attention to schedules, and cost-effectiveness. In summary of those scores, we’ve been ranked an amazing 4.8 out of 5-stars. We’re so happy to be meeting our customers’ expectations! Please take a look at a recent review below:

clutch_image2

For those unaware, Clutch is a B2B market research firm that uses a unique rating methodology to rank companies across service industries. The Manifest also lists us among their top-rated companies for app development. Visual Objects, a platform where potential buyers can check out businesses, highlights as a top app development company too.

Thank you one and all for making this award possible! Please drop us a line if you’d like to work together soon!

Apple U1 Chip

$
0
0

With announcing the new iPhone 11, Apple also launched the U1 chip. Apple didn’t mention anything about U1 chip in the keynote. What will the Chip do? Well, Chip U1 will provide new capabilities like the accurate version of airdrop in the new iPhone model with iOS 13.

The post Apple U1 Chip appeared first on Yudiz Solutions Pvt. Ltd..

Clutch Awards: Yudiz Solutions Named Top Mobile App Developer In The Gaming Industry

The Logo Design

$
0
0

Today we will learn how to proceed with the logo design task. Let’s take an example from some of the previous work. It’s called “ODIGO Map”. An app that provides deep location information for residence or commercial buildings or society from the map. The main keywords here are location and map which will stay with the product forever. But how do we know that? Right! Well, that’s the process.

The post The Logo Design appeared first on Yudiz Solutions Pvt. Ltd..

Auto-renewable Subscriptions


Adapting Dark Mode on Your Project, Swift 5

Corda : A Revolution for Financial Industries

What is HAProxy load balancer?

Custom Code Snippets in C#

Blazor with .NET Core

$
0
0

Blazor is a web framework used to build an application using c# that runs in the browser. Blazor is an HTML framework like Angular, React, and Vue. It is used for rendering .NET on client-side and runs under WebAssembly.

The post Blazor with .NET Core appeared first on Yudiz Solutions Pvt. Ltd..

Viewing all 595 articles
Browse latest View live