Posts
How should your app be updated for Android 13 given the changes to permissions?Android Development
How should your app be updated for Android 13 given the changes to permissions?Android Development
The Android 13 version was just released. Because your audience will progressively switch to this new version, you as an app developer must support newer versions. Yes, it takes longer to adjust to new versions than it does for IOS, but you still need to do it.
Changes with the new version come in 3 categories:
-
New Features and APIs.The overview of the new functionality and APIs can be found here. These modifications consist of brand-new APIs and functionality that were not present in earlier iterations. The Per-app language choices are the new feature that I loved the most. Users can now choose a language other than the system language for an app thanks to this functionality.
-
Behaviour changes in all apps. The details about those adjustments are available here. No matter if your app targets API level 33 or not, these changes apply to all apps. You must test your app on Android 13 and make the necessary adjustments to make it suitable.
-
Behavior changes Apps targeting Android 13 or higher. These changes can be found here. Only apps that target API level 33 or higher are impacted by these changes. You must make the necessary adjustments in order to work with Android 13.
In Android 13, there are some changes that are worth checking which could affect your app. These are mostly changes in permission behaviors.
NEARBY_DEVICES Permission
Starting with Android 13, you will need to use NEARBY_DEVICES permission
for some Wi-Fi-related use cases. Previously, ACCESS_FINE_LOCATION permission
was used.
New Permissions for Media
Three new permission is introduced with Android 13: READ_MEDIA_IMAGES
, READ_MEDIA_IMAGES
, READ_MEDIA_VIDEO
, and READ_MEDIA_AUDIO
.Use one of these new permissions if you were reading files using READ_EXTERNAL_STORAGE
. All is well if an Android 13 user has already granted this permission. If not, the request for READ_EXTERNAL_STORAGE permission
will be disregarded. This indicates that for this section, your app needs to be modified.
In our program, we used READ_EXTERNAL_STORAGE
to select images. For picture selection, we had to support READ_MEDIA_IMAGES
. I'll now describe how you can accomplish this.
Firstly, you need to update compile and target api level to 33. Now you could access the new APIs :)
compile: 33,
target : 33
Secondly, you need to put READ_MEDIA_IMAGES permission
to AndroidManifest
file.
Lastly, you need to programatically ask for READ_EXTERNAL_STORAGE permission for API level lower than 33 and ask for READ_MEDIA_IMAGES permission for API level equal or higher than 33.
private val readImagePermission = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) Manifest.permission.READ_MEDIA_IMAGES else Manifest.permission.READ_EXTERNAL_STORAGE
if(ContextCompat.checkSelfPermission(this, readImagePermission) == PackageManager.PERMISSION_GRANTED){
//permission granted
} else {
//permission not granted
}
Thats it, now your app is supporting this new permission! Hope this tutorial helped you in migrating to the new permissions. Please provide a clap if you liked this post.
How to write E-mail for SalesSales
How to write E-mail for SalesSales
An email is a powerful tool for sales professionals. It provides a direct and efficient way to reach potential customers and pitch your product or service. However, writing an effective sales email can be challenging. In this blog post, we'll provide tips and best practices for writing compelling sales emails that will help you close deals and increase revenue.
Start with a strong subject line
The subject line is the first thing your recipient will see, and it will determine whether they open or delete your email. Make sure your subject line is attention-grabbing and relevant to your recipient. Avoid using spammy or clickbait-like subject lines that can make your email look unprofessional or even dishonest.
Personalize your email
Personalization is the key to making your email stand out and connect with your recipient. Address them by their first name and use any relevant information you have about them or their company to tailor your message to their needs and interests.
Keep it short and sweet
People are busy and have limited attention spans, so make sure your email is concise and to the point. Focus on the key benefits of your product or service and how it can help your recipient. Avoid long introductions or irrelevant information that might distract or bore your recipient.
Use clear and compelling calls to action
Your email should have a clear call to action that tells your recipient what to do next. Whether it's scheduling a demo, signing up for a trial, or simply responding to your email, make sure your call to action is easy to understand and compelling enough to motivate your recipient to take action.
Proofread and test your email
Before you hit send, be sure to proofread your email for any typos or grammatical errors. You can also test your email by sending it to a colleague or friend to get their feedback. Make sure your email looks good on different devices and email clients and that all links and attachments work properly.
Follow and track your results
If you don't hear back from your recipient, don't give up. Follow up with polite and friendly reminders, and be sure to track your results to see which emails are working and which aren't. You can use tools like email tracking or analytics to measure your open and click-through rates and adjust your strategy accordingly.
In conclusion, writing an effective sales email requires careful planning, personalization, and attention to detail. By following these tips and best practices, you can increase your chances of closing deals and generating revenue for your business. Always remember to be polite, respectful, and focused on your recipient's needs and interests, and you'll be well on your way to sales success.
How to create artisan command in Laravel with arguments supportLaravel
How to create artisan command in Laravel with arguments supportLaravel
Create your own Command
In Laravel you can write your own customized command. Generally, commands will be stored in app\Console\Commands
.
Generate Command
You can generate a command using the default Laravel artisan command :
php artisan make:command AppointmentReminder
Understanding Command
There is main 2 parts in the console command.
- Signature property
- Handle() method
$signature is the command name where you can specify the command name. if you are giving the name "send:reminder" then you have to fire the full command as follows.
php artisan send:reminder
Defining Arguments
You can define optional and required arguments into curly braces as follow.
protected $signature = 'send:reminder {appointmentID}';
// For the Optional argument you have to define ? in last
'mail:send {appointmentID?}'
Fetching Arguments
After executing the command if the argument is passed you have to fetch it. for that, you can use the default function as follow.
public function handle(): void
{
$appointmentID = $this->argument('appointmeentID');
}
You can use Options in the same manner as we did for the arguments.
Executing Commands from code
Route::post('/send-reminders', function (string $user) {
Artisan::call('send:reminder', [
'appointmentID' => 123
]);
// ...
});
The Role of Graphic Design in Social Media MarketingDesign
The Role of Graphic Design in Social Media MarketingDesign
Graphic design is an essential part of social media marketing. As the number of users continues to grow, businesses are realizing the potential of social media as a marketing tool. Social media platforms like Facebook, Twitter, Instagram, and LinkedIn provide businesses with an opportunity to reach their target audience, build brand awareness, and drive sales. One of the key components of social media marketing is graphic design. In this blog post, we'll discuss the role of graphic design in social media marketing.
Creates Visual Appeal
Social media is a visual medium, and effective graphic design can help you create visually appealing content that captures your audience's attention. Making your content stand out is crucial because there are millions of posts shared every day. Well-designed graphics can help you achieve this by using colours, typography, and images that create a cohesive visual language. Users are more likely to interact with aesthetically appealing content, therefore visual appeal is important.
Boosts Engagement
Compared to text-only material, visual content has a greater engagement rate. According to studies, posts with photos get 650% more interaction than posts that are just text. Additionally, social media algorithms give greater engagement content a higher priority, so postings with good design have a higher chance of being seen by more people. Your audience will stop scrolling and get engaged with your material if you use effective graphic design to produce visually appealing pieces that grab their attention.
Enhances User Experience
Social media users have short attention spans, and you have just a few seconds to capture their attention. Effective graphic design can help you communicate your message quickly and clearly, making your audience's experience more enjoyable. A well-designed product image can quickly convey to your audience the features and advantages of a new product you're marketing. Infographics use visuals to communicate complex information in a way that is easy to understand. Moreover, effective design can help you create a seamless experience across different social media platforms, making it easier for your audience to interact with your content.
Provides a Competitive Edge
To compete in the crowded field of social media, you must set yourself apart from the competition. If your competitors are using generic stock images, you can use custom illustrations or photographs to communicate your brand's personality and values. Moreover, effective design can help you create a consistent brand experience, making it easier for your audience to recognize and engage with your brand.
Builds Trust
Effective graphic design can help you build trust with your audience. A professional-looking graphic can make your brand appear more trustworthy and credible. On the other hand, poorly designed graphics can make your brand appear unprofessional and untrustworthy. If your audience trusts your brand, they're more likely to engage with your content, make purchases, and recommend your brand to others.
What is Test Plan? – A Complete GuideTesting
What is Test Plan? – A Complete GuideTesting
A test plan often lists the requirements, risks, test cases, testing environments, business and quality objectives, test timelines, and other things.
What is Test Plan?
The strategy, goals, timetable, estimation, deliverables, and resources needed to carry out testing on a software product are all described in detail in a test plan. The test plan aids in estimating the amount of work required to verify the application’s quality. The test manager carefully monitors and controls every aspect of the test plan to ensure that software testing activities are carried out according to a defined methodology.
Types of Test Plans
- Master Test Plan
- Phase Test Plan
- Testing Type-Specific Test Plans
Master Test Plan
A test plan with many tiers of testing is called a master test plan. It has an entire test plan.
Phase Test Plan
One sort of test plan that addresses each element of the testing technique is a phase test plan. For instance, a list of test cases, a list of tools, etc.
Specific Test Plan
A specific test plan for major testing types like security testing, load testing, and performance testing, among others that is, a particular non-functional testing-specific test plan.
What is the Importance of a Test Plan?
There are numerous advantages to creating a test plan document, including assisting customers, business managers, and developers outside the test team in comprehending the specifics of testing.
Our thinking is guided by the Test Plan. It is like a set of rules that must be followed.
The Test Plan contains important details like test estimation, test scope, and test strategy so that it can be reviewed by the Management Team and used again for other projects.
How to write a Test Plan?
For the management team, the critical task is to make a test plan. Below steps are as follows:
1. Analyse the product
Testing the product without any knowledge is next to impossible. One should learn about the product before testing it. You should look around the website and read the documentation for the product. You can learn how to use the website and all of its features by reading the product documentation. If you’re not sure about anything, you could talk to a customer, a developer, or a designer to learn more.
2. Develop a Test Strategy
In software testing, developing a Test Plan begins with developing a Test Strategy. A high-level document known as a Test Strategy is typically created by the Test Manager. This document explains:
The testing effort and costs are determined by the project’s testing objectives and methods. The below steps should be followed:
A. Define the Scope of Testing
Precise customer requirements, a project budget, product specifications, and the talents and skills of your test team are all necessary for determining the scope.
B. Identify the Testing Type
A typical test procedure with an anticipated outcome is referred to as a Testing Type.
Each type of testing is designed to find a particular kind of product bug. However, the objective of all testing types is the same: “Early detection of all defects before releasing the product to the customer.”
C. Document Risk & Issues
Risk is an uncertain future event that has a chance of happening and the potential to lose money. When the risk occurs, it becomes the “problem.”
D. Create Test Logistics
The Test Manager should respond to the following questions in Test Logistics:
- Who will examine it?
Although the tester’s precise names may not be known, the type of tester can be identified.
- When will the test take place?
Development activities must be matched to test activities.
3. Define the Test Objective
The overall objective and level of achievement of the test execution are the Test Objectives. The testing aims to uncover as many software flaws as possible; before releasing the software under test, make sure it doesn’t have any bugs.
The following two steps should be taken to define the test objectives:
- List all software features (that might need to be tested.
- Using the aforementioned characteristics, define the test’s objective or target.
4. Define Test Criteria
A standard or rule that a test procedure or test judgment can be based on is called Test Criteria. Two types of test criteria are:-
Suspension Criteria: Describe the essential suspension requirements for a test. The active test cycle will be suspended until the suspension criteria are resolved, if they are met during testing.
Exit Criteria: It defines the criteria for a test phase’s successful completion. Before moving on to the subsequent development phase, the exit criteria—the intended test results—are required. Example: All critical test cases must pass 95% of the time.
5. Resource Planning
A resource plan is a comprehensive list of all the resources necessary to complete a project task. The number of resources (employees, equipment, and materials) required to complete a project can be determined with the assistance of resource planning, which is an important part of the test planning process. As a result, the Test Manager can accurately estimate the project’s schedule and budget.
6. Plan Test Environment
A set of software and hardware on which the testing team will run test cases is called a testing environment. Real business and user environments, in addition to physical environments like servers and front-end running environments, make up the test environment.
7. Schedule & Estimation
A common term in project management is “making a schedule.” The Test Manager can use Test Planning as a tool for monitoring project progress and controlling cost overruns by creating a solid schedule.
Deadline for employee and project: The schedule is affected by working days, the project’s deadline, and the availability of resources.
Estimating the project: The Test Manager is aware of the project’s completion time based on the estimate So that he can make the right schedule for the project.
Project Threat: Because the Test Manager is aware of the risk, he or she can add sufficient additional time to the project schedule to address it.
8. Test Deliverables
A list of all the documents, tools, and other parts that need to be made and kept up to support the testing effort is called a Test Deliverable.
After the testing cycles have ended, test deliverables are provided.
Defect Report, Installation/Test Procedures Guidelines, Release Notes, and Test Reports.
5 Proven Strategies for Boosting Your Sales PerformanceSales
5 Proven Strategies for Boosting Your Sales PerformanceSales
As a sales professional, it's important to constantly strive for improvement in order to reach your goals and achieve success. Here are 5 proven strategies for boosting your sales performance:
Set specific, achievable goals
It's important to have clear and specific goals in place in order to stay motivated and focused. Make sure your goals are achievable and can be measured, such as a certain number of sales calls or meetings per week.
Utilize a sales process
Having a structured sales process can help you stay organized and increase your chances of closing deals. This could include identifying potential customers, setting appointments, presenting your product or service, and following up with prospects.
Build relationships
Building strong relationships with your customers is key to successful sales. Take the time to get to know your customers and understand their needs and concerns. This will help you tailor your sales pitch and show that you truly care about helping them.
Stay up-to-date
In order to stay competitive and relevant, it's important to continuously educate yourself on your industry and product or service offerings. This could include attending industry events, reading industry publications, and staying in touch with changes in your market.
Track and analyze your performance
Regularly tracking and analyzing your sales performance can help you identify strengths and weaknesses and make adjustments as needed. Use tools such as sales analytics software or a simple spreadsheet to track your progress and identify areas for improvement.
By implementing these strategies, you can boost your sales performance and increase your chances of success in the industry. Remember to stay focused, stay organized, and always strive for improvement in order to reach your goals.
Design Ethics and Responsibility: The Importance of Making Right Choices in DesignDesign
Design Ethics and Responsibility: The Importance of Making Right Choices in DesignDesign
As graphic designers, we have a unique opportunity to shape the way people perceive information and the world around them. With this power comes the responsibility to create designs that are not only visually appealing, but also ethical, responsible, and respectful. In this blog, we'll explore the various aspects of design ethics and responsibility, and how designers can make informed decisions that positively impact both the client and the end-users.
Fairness
Designers have a responsibility to create designs that are fair and impartial, avoiding discrimination and stereotypes. This means avoiding designs that perpetuate negative or harmful stereotypes or beliefs about gender, race, religion, culture, or any other group.
Accuracy
It is the responsibility of designers to ensure that the information they present in their designs is accurate and up-to-date. This includes checking the sources of information and avoiding the spread of false or misleading information.
Respect
Designers must show respect for all individuals, communities, and cultures. This includes avoiding designs that use offensive language, images, or symbols. Designers must also respect the privacy of individuals and the confidentiality of sensitive information.
Transparency
Designers have a responsibility to be transparent about the methods they use to create designs. This includes using ethical methods of research, data collection, and information sharing, and avoiding the use of manipulative techniques that deceive or mislead the end-users.
Cultural Sensitivity
When creating designs that cross cultural boundaries, it's important for designers to be culturally sensitive and aware of the cultural context in which their designs will be viewed. This means avoiding designs that may be misinterpreted or offensive in different cultures.
Social Responsibility
Designers have a responsibility to consider the impact their designs may have on society. This includes avoiding designs that promote violence, drugs, or other harmful activities, and creating designs that positively impact the community and the environment.
In conclusion, design ethics and responsibility are essential components of graphic design. Designers have a unique opportunity to shape the way people perceive information and the world around them, and it is their responsibility to make informed decisions that positively impact both the client and the end-users. By following the principles of fairness, accuracy, respect, transparency, cultural sensitivity, and social responsibility, designers can ensure that their designs are not only visually appealing but also ethically responsible.
Laravel Jobs - How Jobs works in Laravel?Laravel
Laravel Jobs - How Jobs works in Laravel?Laravel
Out of 100 only 30/40 people know about Laravel jobs and how its works or where we can use it.
When there is a need to use it specifically or the senior team asked that "You have to use Laravel Jobs", generally then people come to the web and search :
- "How Laravel Jobs works ?" Or "Laravel Jobs works in Local Environment?"
In this tutorial, we are going to understand the basic functionality of jobs and their usage in simple words without any complex examples.
What is a Job?
Jobs generally contain a portion of code that runs in the background without blocking any other code.
You first need to create a job and you can write a portion of code into it.
Then you have to dispatch that job.
How Job works?
Let's say we want to send emails to 100 users. In general, terms what we do is: Execute a loop over each user and send emails one by one.
That will definitely take time and we also have to wait for the response.
Overcome that issue by using jobs.
First, we need to create a job that accepts 10 users and sends emails.
Now we will execute a loop over 100 users, so basically we have to dispatch the job 10 times.
So basically 10 times jobs will be dispatched and immediately we will get a response, as jobs run in the background without waiting for any response.
Hope its more clear now.