Monday, August 17, 2020

What’s New In Flutter 1.20?


Google, on August 5, 2020 has launched a version of Flutter 1.20 Stable. In the previous release, Google introduced substantial performance improvements, improved support for Metal on ios and new material widgets. With the new biggest release, Flutter 1.20 has resolved 5485 issues and merged 3029 pull requests. Flutter 1.20 release had 359 contributors from across the world and among them 270 were from the flutter community. Flutter 1.20 stable release includes performance improvements, some UI enhancements, update to the visual studio code extension, autofill for mobile text fields and so on. Each new release of Flutter brings with it increased usage and momentum. Google boasts that, now there are more than 90,000 apps developed with Google Play, which was 50,000 till April. And most of the growth comes from India,  which is now the top region for Flutter developers, Google says.

Let’s have a look at the new features and updates of flutter 1.20.

What’s New in Flutter 1.20? Updates & Features-

Performance Improvements For Flutter And Dart-

  • Google Flutter 1.20 is improved with a performance fix for tree-shake-icons which are default when building non web apps and reduce the size of your app by removing icons that are not used. Icon font tree shaking is currently restricted to True Type Fonts  but can be lifted in the future.
  • Janky animations can affect the overall app. It appears negatively in the first run due to a shady compilation jank. With new Skia Shading Language Shader warm-up, the shader compilation jank can be reduced  by 2 times.
  • Flutter has improved mouse hit testing’s performance in web-based micro-benchmark by 15 times. As a result, Google has been able to add support for mouse cursors which will display in various commonly used widgets.
  • Along with all these improvements, Google also enhanced the decoding speed and time of Dart’s UTF-8 Decoder. In UTF-8 decoding benchmarks, the company ahs measured improvements of nearly 200% for english text and 400% for chinese text on low-end ARM devices.

1. Autofill for mobile text fields-

One of the most requested features among developers is text autofill in Flutter apps. With the new Flutter 1.20 release, basic autofill functionality has been added. Now you do not need to ask your users to fill the data again that the OS has already collected. The text autofill feature is also brought for web apps too.

2. Interactive viewer widget-

Another new feature in Flutter 1.20 is interactive viewer. This new widget is designed to build interactive elements in your app like pan, zoom, drag ‘n’ drop and so on. The feature takes boundary margin, minScale, maxScale and any type of child property on which transformation is performed. Put your cursor on the property and you can drag n drop, zoom in out using the cursor. 

3. Updated DatePicker, TimePicker, RangeSlider, And Material Slider-

This new release includes many updated widgets to match the latest material guidelines. These include Slider and RangeSlider. DatePicker has been updated to include a new compact design as well as support for date ranges. And TimePicker has a completely new style.

4. New pubspec format for publishing plugins-

The pubspec.yaml has been removed in Flutter 1.20. So now you’ve to adopt the new pubspec.yaml format to update or publish new plugin. The old format did not support specifying which platforms your plugins support, and has been deprecated since Flutter 1.12.  The new pubspec.yaml format is now required for publishing new or updated plugins.

For clients of plugins, the tools understand the old pubspec format and will for the foreseeable future. Existing plugins on pub.dev using the legacy pubspec.yaml format will work as usual with Flutter apps for the foreseeable future.

5. Tooling metadata for all tool builders-

This is an update in Flutter 1.20 for developers creating flutter tooling. They have released a complete catalog of metadata for a 395 widgets. For every single widget there are parents, libraries and descriptions available in the Catalog and one icon metadata for material and cupertino icons. Icon metadata includes color mapping, values of the color and icon names and previews as well.

6. Typesafe platform channels for platform interop-

Because of increasing demand from Pigeon authors, google is experimenting the making communication between flutter and host platforms simpler and more secure for Add-to-App and plugins. To fulfill this need google has created Pigeon, a command line tool which uses Dart syntax to generate type-safe messaging code on top of platform channels without including extra runtime dependencies. 

With Pigeon, rather than manually matching method strings on platform channels and serializing arguments, you can call Kotlin/Swift/Objective-C/Java class methods and pass non-primitive data objects by directly calling Dart methods. Pigeon is mature enough that we can use it in video_player plugin.

7. Mouse cursor support-

Mouse cursor for desktop is one of the upvoted features of Flutter 1.20. Now you’ll get better, faster and stronger hit testing using your mouse cursor.

8. Updating import statements on file rename-

For visual studio code has a new feature- updating imports on rename. This new feature automatically updates import statements when files are renamed or removed. Right now, it just works for single files, but the support for multiple files will be announced soon.

9. Auto import change in VSCode-

Another improvement is support for auto import changes in Visual Studio Code. Means when you change the location of file from one folder to another, the import will automatically be changed.

Other important changes/updates-

Flutter 1.20 has lots of other new features and developer tools. These are some of few: 

  • support for automatically updating import statements when files are moved or renamed in Visual Studio Code; and more.
  • an updated Flutter plugins
  • a new responsive licenses page available from the AboutDialog
  • a new pubspec.yaml format requirement for publishing
  • an updated Network page in Dart DevTools with support for web socket profiling

Final Words-

These are some new features and updates from new release Flutter 1.20. There can be few others too. Google says that Flutter 1.20 is the framework’s biggest release yet and is still working on implementing sound null safety support, new versions of Ads, Maps and WebView plugins, tooling support and so on.

Are you looking to develop an app with Flutter? We have a dedicated team of flutter developers to help you through development. You can hire skilled Flutter developers of Solace team for an effective development. Connect with solace and get a free quote for flutter app development. We will be happy to help you.


Wednesday, August 12, 2020

Django Vs Laravel- Which One To Choose?

 

Django vs Laravel

Selecting the best framework for web or mobile app development is a tough task for experts as there are so many contender frameworks available in the market. Django and Laravel are the two popular frameworks in the tech pool. Frameworks like Django provide an administration interface. But for many others, developers need to write the code and use it to interact with different parts of the framework. Selecting the right framework for your project will help you to code faster and easier. Also it greatly impacts the development process and helps you to get your project done within client timelines. Here we will see the comparison of Django vs Laravel which will help you decide which framework to choose based on your priorities.

Django-

It is an open-source framework  written in Python programming used for web development. It follows MVT(Model View Template) architecture pattern which is generally used to develop complex web apps. Django framework was developed by the Django software foundation and released in 2005. Well know websites like Mozilla, Instagram, Pinterest, Bitbucket and so on. 

One of the strong points of Django is, It is very lightweight and having standalone feature for development and testing purposes. The goal of Django is to ease the complex web app development with less time and effort.

You can know the effective considerations to choose framework for web apps at- Effective Considerations to choose the technology for Web Application.

Laravel-

Laravel was developed by Taylor Otwell and licensed by MIT License. Initially, it was released in the year 2011. You must need some basic knowledge of PHP before start development with the laravel framework. It is used to develop a content management system(CMS) applications. The framework can help you to build any kind of website, right from simple CMS to social networking sites, news sites, etc. It provides inbuilt features that eases the development with reduced time.

Django Vs Laravel-

We have already acclimatized information of Laravel and Django and how developers can use it according to the project requirements. It is better to compare both the frameworks before you choose one of them for development. Let us see the detailed comparison of Django vs Laravel in terms of different parameters.

1. Type-

Django-

Django is an open-source framework preferred by most of the developers. This framework is equipped with libraries, templates and an API for connectivity and natural upgrades. In terms of coding, it follows the D.R.Y principle. 

Laravel-

It is also a free and open source web app framework with an easy flowing elegant syntax. It makes the web development process easy and rapid. This framework eases the pain points by making common tasks like routing, sessions, caching and authentication. Laravel is more suitable to develop large , powerful apps. Expressive migration system, inversion of control container and tightly integrated unit testing support are the best features of laravel framework.

2. Programming language-

Django-

Django is a full-stack web application framework that is coded and written in Python. It follows the MVT architecture dissimilar to Laravel. The TIOBE programming community indexed Django in the 4th place and 2nd position in terms of popularity.

Laravel-

Laravel is a full-stack web application framework that is coded and written in PHP. It follows an OOP or object oriented programming approach and Model-view-controller approach. The TIOBE programming community has ranked PHP in the 7th position and 5th position in terms of popularity on GitHub.

3. Learning Curve-

Django- Learning curve for python is almost non-existent and this makes Django simple and easy to deploy.

Laravel-

Laravel is more natural and has a steeper learning curve. This framework let you master modern PHP development with database migrations, Eloquent ORM Composer, packages, REST, templating, etc.

4. Security-

Django-

User authentication system of Django provides safe way to manage user accounts that allows developers to abstain from making common mistakes like clickjacking, forgery etc.

Laravel-

It uses salted and hashed passwords means passwords will never be saved as regular text. It also uses “Bcrypt Hashing Algorithm” for encrypted versions of passwords. Laravel also has some mechanisms to protect their users in events like cross-site scripting (XSS) attacks, SQL injection vulnerability, intercepting private information, insecure cookies and so on.

5. Library-

Django-

It includes a wide range of libraries and self-contained packages that provide reusable features.

Laravel-

It possesses a good set of libraries to build any website. It has detailed documentation and a video tutorial library of over 1100 video tutorials.

6. Scalability-

Django-

Django is highly scalable, as it is a python based framework.

Laravel-

Laravel is also scalable but when compared to Django, it has some limitations to support high scalability. But with new versions, web apps having high traffic can employ laravel development.

7. Template-

Django-

It has a Jinja template that allows customizations of globals, filters, tags and tests. It allows designers to call functions with different arguments on objects.

Laravel-

Laravel development is carried out on Blade template which is a powered and fully featured template.

8. Speed-

Django-

Since python is a high performance language the execution is pretty fastHence Django is faster and it allows developers to speed up web applications. Results of Django for Plaintext test – 3127 requests/seconds, JSON test – 3060 requests/ seconds, Random SQLite Fetch test – 2137 requests/ seconds.

Laravel-

Laravel  has numerous in-built features. But with these extra features, it makes laravel slower than other PHP based networks. With the version 7, the performance and speed has been improved to compete with others. Results of Plaintext test – 212 requests/seconds, JSON test – 167 requests/ seconds, Random SQLite Fetch test – 140 requests/ seconds.

Know the effective tips to boost web app performance at- How you can Boost Your Web Application Performance?

Final Words-

The final selection of framework is dependent on project requirement. The main aim of Django is to allow developers to rapidly develop projects and it fulfills that. It also removes security issues like cross-site request forgery, SQL injection, cross-site scripting and clickjacking.

On the other hand, laravel offers an easy approach for routing. One can easily build huge enterprise grade apps or simple JSON APIs with laravel and test through unit testing.

If you are still confused about choosing the best one between Django and laravel, consult with solace experts. We have dedicated developers to help you through consultation and development. You can hire laravel developers and Django developers of Solace team. Connect with Solace and get a free quote for web app development. We will be happy to help you.


Tuesday, August 11, 2020

Hashgraph Vs Blockchain- Top 7 Differences That You Must Know

 

Hashgraph Vs Blockchain- Top 7 Differences That You Must Know

Hashgraph vs Blockchain

You know that blockchain technology is continuously evolving at a rapid pace.  Blockchains impact is powerful and is impacting business, finance, education, governance, healthcare even in sports, music. There are other similar distributed ledger technologies(DLT) to replace blockchain technology by providing a better solution. Hashgraph is one of them. It solves the distributed ledger differently and claims to be safer, fast, and fair. So here, we will compare two technologies, Hashgraph and Blockchain and which one is better. Before we proceed to the comparison, let us see each one in detail.

What Is Hashgraph?

Hashgraph is a form of distributed consensus which offers another approach to distributed ledger technology. It is a peer-to-peer platform that expels the requirement for any intermediary to complete transactions. It offers a secure, fair and fast network, and its is implemented using Java and Lisp programming languages. This means it supports solidity. One of the best advantages of Hashgraph is its speed. It can handle thousands of transactions per second and is able to verify more than one million signatures per second.

What Is Blockchain?

Blockchain is a popular form of distributed ledger technology. This technology is used by every cryptocurrency ie., bitcoin.  Here, peers communicate between themselves to form a peer-to-peer network. Bitcoin uses the basic form of blockchain technology but is not so efficient. Hence we have seen an ascent in another type of blockchain technology. Ethereum is successful with a huge active community. It is a second generation blockchain which means it supports dApps and smart contracts.

In technical terms, blockchain is a series of blocks or records and supports append-only structure. Despite that, the database is immutable means that data that once written, cannot be deleted or altered by anyone else. Hence blockchain is a perfect solution for the issue where data immutability is necessary. Best use cases of blockchain are, supply chain management, voting and finance industry.

Hashgraph vs Blockchain-

Hashgraph vs Blockchain

1. Programming Language-

Blockchain makes use of languages- Java, C++, Solidity, Ruby and Python. For hashgraph, Lisp and Java languages are used.

2. Approach-

Hashgraph makes use of directed acyclic graph to store and access information. Blockchains are an open-source technology. It stores data in blocks in a linear way. The append approach works seamlessly but it is not always a way for blockchain solutions out there. In both DLTs, each node as a copy of the ledger that makes it decentralized.

3. Consensus Mechanism –

Hashgraph is based on asynchronous Byzantine-Fault Tolerance (aBFT), which provides an improved model of DLT by catering solutions to established cryptocurrency platforms. It uses Gossip about Gossip   and virtual voting as a form of gaining network consensus. 

Blockchain does not depend on a single approach to consensus. Contingent on cryptography and currency, Blockchain uses numerous consensus algorithms, like Proof of Work, Proof-of-Elapsed Time, Practical Byzantine Fault Tolerance, Proof of Stake, and so on.

4. Speed-

Speed of blockchain varies according to the solution(platform, cryptocurrency, etc.). But it is slower than Hashgraphs. Hashgraph can reach a speed of 5,00,000 transactions per second. Blockchain solutions like ethereum, bitcoin are slow and can do 100 to 10,000 transactions per second. And the Hashgraph Gossip method is a reason behind its speed. With this, less information needs to be propagated across a network. 

5. Security-

Blockchain uses a different approach where they use cryptographic methods to ensure security. As we already know, blockchain is a series of blocks or records and that blocks are tamper-proof and no malicious actor can change the integrity of data.

To secure a network from malicious actor, Hashgraph uses an approach- Asynchronous Byzantine Fault Tolerance(aBFT).

Friday, August 7, 2020

An Ultimate Guide To Mobile App Maintenance

 

An Ultimate Guide To Mobile App Maintenance

Mobile apps have gained importance for businesses due to its innovative features. User-friendly interface and marketing campaigns. If you have ever searched about app development, you might get a lot of stuff about app development frameworks, app development steps, app store optimization tips and so on. After the launch of the App, there is one thing that has its own importance i.e. mobile app maintenance. But there are just a few things that can guide you regarding the maintenance of mobile app. You already know the importance of mobile app development, but do you know the importance of app maintenance?

Here we will discuss all about the need, types and the engagement models of maintenance so that you can plan out your mobile app’s maintenance cost. 

Need Of Mobile App Maintenance-

Mobile App Maintenance

1. Hardware-

Nearly every 6 months, new hardware is being launched and adapted by each new phone that is to be launched. Hence your app should be optimized so as to work with modern hardware. This is a time where you need a maintenance team to make changes and release new versions.

2. Operating system-

Each year, there are new updates for iOS and Android version and accordingly apps should be updated for proper functioning.

3. Update app with technological trends-

Let us consider an example of Dark mode which changes the complete theme of your phone to dark in order to lessen the eye strain in case of low lighting. Now consider that, a user is accessing a mobile with dark theme, then he would expect the same from your app too.  If you didn’t change the app as needed, the user may face eye strain and hence he may search for another similar app that provides dark mode and uninstall your app.

4. Minimizing uninstalls-

The app journey will not end with the launch of an app. Continuous monitoring and maintenance are the best ways to achieve success and it can be done after the app is being used. It is beneficial and necessary to consider the feedback you receive or the analytics you get. It will help to analyse the behaviour of users and get rid of uninstalls. 

5. Integrating emerging technologies-

New technologies are taking over the market and you cannot predict anything about them. The only thing is to integrate it after a stable release. Let us see how maintenance is necessary for your app if it revolves around emerging technologies.

• AI-

Artificial intelligence needs data regularly and hiring a team for maintenance is cheaper than getting panel to control how data is fetched. AI algorithms could be anything but what it will fetch has to go through app directly. In this way, maintenance can solve your problems by changing the code.

• IoT- 

IoT allows you to operate devices of daily chores through app, and hence maintenance is necessary 

• AR-

Aligning images that are displayed on your phone is an ongoing task and it can be carried out smoothly through maintenance. Augmented reality always need more objects as your customers increases and it is better to hire permanent designers to make them, maintenance team would be cheaper for deploying them and updating the app accordingly.

6. Security-

Applications may be affected by security holes, and you have to update the app so as to fix the issues.

Apart from all these points, you should frequently update your app to keep it top on the app store.

Types of app maintenance-

1. Corrective-

Corrective maintenance includes removing faults and residual errors in the daily app functions. Residual errors are the errors in design, logic and coding.

2. Adaptive-

Adaptive maintenance is the maintenance carried out to achieve perfect adaptability to modern technologies and app store guidelines after the app is deployed. The environment where your app would work in would always be upgrading, so it is necessary to carry out adaptive maintenance. 

3. Perfective-

As users use app, some new requirements can be discovered. Perfective maintenance considers these feedback and make functional modifications in the source code to provide users a perfect user experience as they  expect. 

4. Emergency-

This type of maintenance can take care of all abrupt issues and errors that expect immediate intervention. Whenever an organization detects an unpredictable issue with their app, they must go with emergency maintenance.

App Maintenance Cost-

The app maintenance cost is based on the type of app and complexity. You can distinguish app maintenance cost into following categories-

1. Hosting costs- 

According to the number of users, your hosting cost can increase. It may go up to thousands or ten thousands of dollars each month. These expenses do not include human expenses of creating and maintaining the backend but are important as your app scales up.

2. Monitoring and crash analytics- 

You will need app analytics tools to monitor usage patterns to improve in-app experience. You must invest in tools that will send you real time crash reports. 

3. App store optimization-

App store optimization is important to list your app on app store. You should spend considerable time to keep your app store listing updated by searching appropriate keywords, A/B testing headlines and descriptions, answering reviews, considering feedback, uploading screenshot or videos as features change, running search ads etc.

4. Licenses-

Most of the apps were built using licensed technologies. Some licenses are taken for life, while others need to be renewed on a yearly basis. You must consider the app licensing cost while setting the app maintenance cost.

Apart from these, there are some activities that costs you are as follows-

  • Product or demo video
  • Content marketing
  • Contests and giveaways
  • Social media marketing
  • In-app ads
  • App Store ads
  • In-app content creation
  • Facebook ads
  • Adwords ads
  • Email

Final Words-

Mobile app maintenance is important to succeed. Many apps have failed down because creators forget that the users want things according to their way and not the perfect way. App maintenance is not a one time task. As the market is competitive, once the app is launched, it needs more attention and maintenance to provide the expected user experience.

If you are looking for the best app development company to build an application, then we are here to help you for app development and maintenance. Connect with Solace and get a free quote develop a success app that meets users requirements. You can hire android developers and iOS developers of Solace team for effective app development. We will be happy to help you.


Wednesday, August 5, 2020

Django Vs Ruby on Rails: Which One to Choose? And When?

Selecting the best technology is an important step for web development as it decides how your website and app will perform. There are a lot of web development frameworks and technologies available in the market and hence many entrepreneurs and freelancers get confused to choose the best from a large pool. Most of the entrepreneurs prefer frameworks that are entirely open-source, have wide community support and offer rapid development. Web app development is divided in two parts: front end development and back end development, accordingly there are a lot of tools available to develop robust and scalable web apps.

Django and Ruby on rails are the two most popular web applications that offer development of interactive and scalable websites and web apps. Before proceeding towards Django vs Ruby on rails, let us see each one in detail.

What Is Django?

Django is a Python based web framework released in 2005. It is an open-source and general purpose framework which makes it popular among web developers. This framework was designed to simplify the development of complex and database driven websites. It allows rapid development with neat and pragmatic design.

What Is Ruby on Rails?

Ruby on Rails is a server-side, open source web app framework written under MIT Licence. Rails provides a great default structure for database, pages and web services. It works on DRY(Don’t Repeat Yourself) and Conversion Over Configuration. DRY eliminates the need of doing the same task of coding repeatedly and Conversion Over Configuration means you can adapt instead of creating your own rules every time. And this makes the whole process easy.

Similarities Between Django And Ruby on Rails-

Django and ROR both are used to develop interactive and scalable websites and web apps. Let us see similarities of both frameworks-

  • Django and ROR both are open source web app frameworks, used to build robust web apps and websites.
  • Both frameworks have a large and active community, so if you have any issue, a large community is there to help you to solve your problem. Hence ROR developers and Django experts are preferring these frameworks
  • Both the frameworks are fast, reliable and speed up the development process.
  • Django and Ruby on Rails both are MVC based structure means website or web app development will be arranged into layers, models, defined routes and controllers within the framework itself.

Django Vs Ruby on Rails-

1. Maturity Of Platform-

Django was first released in 2005 and since it has been on the list of best frameworks for web development. His recent release was released in December 2019 which includes many new features and improved usability. 

ROR was first released in 2003 and in 2004 it was declared as an open source program. It’s latest version is released in August 2019.

2. Syntax-

ROR is based on ruby while Django uses Python. Python is a widely used programming language and is popular for its simple and readable code whereas Ruby is famous for its syntax. Ruby has a simple syntax like english language and this makes it popular among the developer community.

3. Principles-

Principles holds the process of web app development. Django has to principles  and “Explicit is better than Implicit.” This helps developers to create easy to understand software that can be managed by many people.

Ruby on Rails uses DRY and the Configuration Convention means you have to follow the guidelines so as to be successful instead of making your own configurations. It helps to improve efficiency and speed.

4. User Interface-

Django and ROR both are absolute winners in this case. Both of them offer a high-class experience. These web frameworks allow you to develop fully loaded functional websites with add-ons and plugins.

5. Speed And Performance-

In the comparison of ROR and Django, Rails is 0.7% faster because of its amazing libraries and plugins. All things considered, Django similarly supports rapid development processes and is a great decision for a web framework. Django REST framework delivers convenience as authentication modules, JSON serializers/deserializers etc. When comparing Django vs ROR, Django may have an edge because REST is and advantage of Django. The performance of Django vs Rails is high for both as it uses modern programming languages while providing tools to optimize the code.

6. Security-

Django and ROR, both are secure web app frameworks having set of tools that websites or web apps from SQL injection, cross-site scripting and so on. You can trust both of these frameworks as far as security.

7. HTML Template-

Although the main feature of Django and Ruby on Rails framework is template, Django makes use of simple template language to allow developers for template creation with less programming and HTML capabilities. On the other side, Rails’ views are more complicated.

8. Web Servers-

Main web servers for Django are NGINX using WSGI, Apache, Gunicorn and Cherokee, whereas database servers for Django are SQLite, PostgreSQL, MySQL and Oracle.

Ruby on Rails web framework uses NGINX, Apache and WEBrick as prominent servers. Database servers for Rails include MySQL and PostgreSQL.

9. Community Support-

Django is an open source framework and has an open source ecosystem, which means there are a bunch of libraries and tools available which are free and paid. It has documentation which is enough to provide you a solution for issue. Django community is more than 11000 with more than 4000 ready packages for developers.

Ruby on Rails has an active community of 5000 people who have already contributed with reusable code.

When To Choose Django?

  • If you require configuration-based approach 
  • If you do not need out of the box functionality
  • You can choose Django if your team is ready to use Python 

When To Choose RoR?

  • If you have a skilled team of developers 
  • you need to develop application fast with libraries
  • should be able to iterate quick RoR minimizes code writing time and lets your team deploy faster.

Final Words-

Selecting the right framework is an important task. Django and Ruby on Rails are great frameworks having their own advantages and disadvantages. Considering above factors will surely help you to decide the best one according to project’s requirements.

You can hire dedicated Django developers of solace team, if you want to use a Python-based framework. Also if you want more functionalities for your web app, then you can go with ROR and hire ruby on rails developers. Connect with the solace team and get a free quote for a web development with Django or Ruby on rails. We will be happy to help you.


Tuesday, August 4, 2020

How Blockchain Can Transform Lottery Industry?


Lottery is popular all over the world for many years. And it still growing at an alarming rate. It’s average growth rate is above 8%, and is almost three times that of the world economy.

Many people consider the lottery as a gaming product, but it is a high volume industry which can also be called a commodity. The lottery industry keeps a 29% share of the entire global gambling revenue. With modern technologies,  this field also comes with many developments such as lottery apps, online lottery etc. But with the growth of the digital economy, the industry faces challenges like the lack of transparency and fairness, geographical restrictions and so on. One of the most common demands is transparency and fairness with advanced technologies like blockchain.

Let’s discover the issues faced by the industry.

Problems With The Traditional Lottery Industry-

1. Lack of transparency-

It is one of the biggest issues faced by traditional lottery. Because of the centralization, lottery organizers have complete control over many factors like- What will happen to about the money got from ticket sales? How to configure RNG mechanism? How to generate winnings? Where will the list go? The overall trust in lottery tickets and their decency is diminishing, which has prompted the conviction that coordinators are the most profitable organizers.

There are many cases of fraud in national lotteries that should be cleared. Nearly, 50% of the total funds gained from lottery sales are utilised for jackpots. There are very low chance of winning big prizes(1 out of 14 million wins 6 out of 49 Powerball), which is not economically favorable to participate in the lottery. 

2. Geographical restrictions-

Domestic market is small for the lottery. If a user wants to participate in global lotteries, they have some restrictions. It is limited to the country in which it is conducted.  It restricts the prize pool and does not increase the chance of winning a prize. In any case, it might appear to be coherent that less participants mean a more noteworthy possibility of winning; the traditional lottery structure isn’t the situation. 

Much of the time, no one figured out how to win a few months, prompting further draws, which sometimes lengthened the process considerably. At the same time, the jackpot ratio reduces with each subsequent draw, which is profitable for lottery organizers. In some countries, lottery winnings are taxed.

3. Old approach –

Online lotteries allows you to participate from home but they have some disadvantages. They are not popular to the community and hence reduce the jackpot. Also they have low security which leads to the financial frauds. While offering a higher prize pool, national lotteries require you to buy old-fashioned lottery tickets. Users may lost tickets which can make your chances of getting prizes tumble to zero.

How could Blockchain Lottery Platform work?

1. Sign up –

In the first step, participants need to sign up to the platform and become a part of it with the basic information like name, wallet address, email id and phone number. A successful sign up prompts you to get regular alerts and notifications about ticked openings.

2. Ticket openings and deployment of the smart contracts-

Announcement of ticket openings is carried out by admins and notification is sent to the users. They also deploy smart contracts containing  pre-characterized rules for lottery games for fairness and transparency. Smart contract verifies the information shared to pattern in the system and gives security to the data.

3. RNG with blockchain-

The RNG algorithms are also predefined and made available to anyone, which makes it inconceivable for lottery coordinators (or any other individual, if an external attack occurs to control them for their own advantage. Blockchain can solve the problem of traditional lottery fraud.

4. Tracing the history of records of transactions-

Due to blockchain blockchain, players can follow back the history to know who has won the jackpot and if the commissions and wins are paid out as defined in the smart contracts.

How blockchain can improve lottery industry?

1. Smart contracts-

A smart contract is a digital agreement between the parties wherein computers enforce terms and bring transparency to any transaction. With an online blockchain lottery set up, rules which are clear to all  parties can never be changed. As no centralized authority is there to administer the game, there will be no concerns related to winnings. The player’s funds can legitimately go into the contract without the interference of intermediaries.

2. Privacy and Accessibility-

Use of cryptocurrency for lottery is a beneficial and popular solution for casinos. It helps users to gamble anonymously without need to submit copies of documents. Cryptocurrencies can make online gambling accessible because it offers a low entry barrier to new players and enables them to avoid gambling regulations applied to fiat currency.

3. Traceability-

As all of the records are stored on the blockchain, players can have a transparent and traceable view of the saved transactions. Because of the traceability, they can reach to the roots of disputes if any occurs in the future.

Final Words-

As the lottery concept is advancing towards online lottery, using Blockchain will be the great practice. You can also know the use of blochain for business at- A Complete Guide To Choose Blockchain Platform For Business Growth.

If you are also thinking of developing a lottery app/software by using blockchain, consult with solace experts. We are here to help you through consultation and development. We have dedicated blockchain developers to help you through effective software development. Connect with solace and get a free quote for effective lottery app development with blockchain. We will be happy to help you.

Monday, August 3, 2020

Kubernetes Security Best Practices That You Must Know

Kubernetes Security Best Practices That You Must Know

Kubernetes security best practices

Kubernetes is an open-source system for automating deployment, scaling  and management of containerized applications. But these new deployments can cause attacks and exploits from attackers and insiders as traditional environments which makes kubernetes security a prime concern for all deployments. 

Nearly, 94% of organizations have encountered a genuine security issue within a year in their container environment, 69% having detected misconfigurations, 27% experienced runtime security issues and also 24% found significant vulnerabilities to remediate. Each of these issues relates to a container lifecycle phase. You can differentiate these vulnerabilities during build/deploy phase, runtime phase etc.

Kubernetes Vulnerabilities And Attack Vectors-

Attacks on Kubernetes containers running in pods can come internally by insiders or externally through the network, that includes victims of phishing attacks whose system becomes a mediator for insider attacks. Some of the examples are as follows-

1. Unauthorized connections between pods- Compromised containers can try to connect with running pods to attack. Layer 3 network controls whitelisting pod IP addresses can offer protection but attacks over trusted IP addresses can only be detected with Layer 7 network filtering.

2. Container compromise- Application misconfiguration or vulnerability empowers the attacker to get into a container to start probing for weaknesses in the network, process controls or file system. 

3. Data exfiltration from a pod- Data stealing is generally carried out by combination of techniques, which can include a reverse shell in a pod connecting to a command/control server and network tunneling to hide confidential information.

Kubernetes Security Best Practices: Infrastructure Security-

Kubernetes Security Best Practices

1. Update your Kubernetes-

Only the last three versions of Kubernetes are supported, including security patches for new vulnerabilities. Hence if severe vulnerability is discovered, and you are four versions behind, then your version will not receive a patch.   

2. Securely configure the Kubernetes API server-

Ensure that you’re disabling unauthenticated/anonymous access and using TLS encryption for connections between the kubelets and the API server. 

Kubernetes Security Best Practices: Build Phase-

Securing containers and Kubernetes begins in the build phase with securing your container images. Any missed security best practices will be essentially more costly to fix down the line – consequently the expression “shift left” which means implementing security at prior stages as images are built. Scan and secure images are the main things to secure from any known vulnerabilities.

Recommendations-

1. Use an image scanner-

Image scanner can identify vulnerabilities in your images, including by layer and tell you whether they are fixable or not. It must scan for vulnerabilities in OS packages and also third-party runtime libraries for the languages being utilized in your containerized applications.

2. Label non-fixable vulnerabilities-

Some of the time there isn’t a fix for a known vulnerability, or the vulnerability is non-critical and hence doesn’t warrant a quick fix. At such time, include them to allow list or filter the scanner output so that you don’t intrude on the development team’s workflows over non-actionable alerts.

3. Don’t include unnecessary components-

Ensure that you’ve removed debugging tools from containers in production. Tools such as Curl should not be included in images.

4. Implement defense-in-depth-

When a security issue is discovered in a container image or a running deployment that utilizes that image, ensure you have policy checks and a remediation workflow set up to recognize and update those images.

Kubernetes Security Best Practices: Deploy Phase-

From a security point of view, you first need visibility into what you’re deploying – and how. At that point you can recognize and respond to security policy violations.

What is being deployed- including data about the image being used, like components or vulnerabilities and pods.

Where it is going to be deployed- namespaces, clusters and nodes.

How it is deployed- regardless of whether it runs privileged, what other deployments it can coordinate with, the pod security context that is applied, if any

What it can access- includes volumes, secrets and also other components like host or orchestrator API

Recommendations-

1. Isolate sensitive workloads by using namespaces-

Namespaces are a main isolation boundary for Kubernetes resources. It provides a reference for network policies, access control restrictions and also other important security controls. Separating workloads into namespaces can limit the impact of mistakes or destructive actions by authorize users.

2. Use Kubernetes network policies-

Kubernetes allows every pod to contact other pods. Network segmentation policies are the key security control that can prevent parallel movement across containers for the situation that an attacker breaks in.

Kubernetes Security Best Practices: Runtime Phase-