When it comes to monetizing your apps, either your consumer pays or the advertiser. A consumer can increase your revenue by including paid downloads, in-app purchases, merchandising or subscriptions. Banners, cross-promotion, and offer walls are involved when an advertiser pays. Either way, it is always going to be a fine line that requires some experimentation. If it’s your first app, charges must be based mainly on how users engage with the app. For example, if people use your app just a few times, an ad-supported model probably doesn’t make sense. In that case, use an adaptive monetization strategy per user, depending on user “maturity”(by using analytical tools). Thinking critically about logical places and transition times for advertising will not cause the user to ignore the ad. But, whenever advertising makes sure you are not compromising on user experience. Opting for ingenious strategy instead of a monotonous one will divert more users and also convert freemium users to premium leading to a substantial increase in the revenue.
1. Create a database now –
Start-ups need to create a database of the target audience. Thus, they can reach out to them on launch or for a marketing campaign. Collect emails from your website by requesting site visitors to drop in their email id or asking them to subscribe for updates. A test invite for beta testers can also help to collect ids. Social media sites fan page can be other ways to reach out to your target users.
2. Watch your ratings and reviews –
While it’s important to pay attention to user ratings, don’t let a minor percentage of people who complain about your app influence it. If you change things based solely on that number you may actually lose your satisfied majority of customers.
3. App Analytics –
After you launch the app in the market, it should be your utmost priority to check the customer engagement with the app. By analyzing the app, you can measure the value of acquired users and hence improve the engagement, retention, and monetization.
An app is most likely to be a monetary success if it passes the 4-5-4 test which follows that if a user can realistically be expected to use it at least 4 times a day, for at least 5 minutes per use, and will keep the app for at least 4 months.
a. Flurry helps to understand the consumer’s interaction
d. Kontagent is the only one which covers the K-factor
4. Turning Consumers To Brand Ambassadors –
a. Reward influencers
A small number of fans are responsible for a substantial percentage of your traffic. These are your influencers and should be recognized and rewarded for every time they talk about your brand on any of the social networking sites.
b. Turn usage into a game
People love to compete, and they love to win. That competitive, gaming instinct can drive consumers to share your content and bring lots of new folks back to you.
c. Provide incentives
Every customer wants to feel special, and one way to make them feel special is to give them something exclusive. Bonus levels and reward points will act beneficial in this strategy.
d. Let them co-create value
Giving fans the ability to choose which version of a product should be offered, or to vote for the discounts or special offers they want to receive, helps ensure they’ll share it.
Conclusion – I am pretty sure you got the basic gist of how powerful an app can be. You can easily monetize your app and get rich :p. Moreover, by marketing and distributing your app, you can create relation and connection with a pool of customers. To know more about monetizing your app or want to hire top Marketing and Sales personnel contact RemotePanda.
In today’s lesson, we will create a view which has a transparent section(s). This view can be used in many ways, you can use it as an overlay to other views or in any other way. The idea for this demo is to create a view, which has transparent areas which are in different shapes. By combining many areas together you can give a beautiful look to a view. For e.g. you can see the following image.
In the above image, you can see the background has a beautiful photo of coconut trees & above that we have a layer of custom view. BTW I captured that beautiful photo from my phone. In the custom view, I have used rectangles & circles. One rectangle & one circle set as transparent so it can get the above look it has. You can create your own shapes for transparent areas. You can see the full source code at Github repo TrasparentSectionCard.
Now let’s see the code for the same custom view.
For this custom view I have extended View class & in its onDraw() method I am creating my own Bitmap & setting it on view’s canvas. The bitmap is created in bitmapDraw() method, which actually has all the important drawing part. To draw the view we need the parameters like width & height of the view, center & radius of the circle to be created, top margin, color etc. For this demo, I have calculated all these parameters in method defaultAttributes(). Which actually takes the parent’s width & heightas a base & then calculate other parameters accordingly. For these parameters, I have also created custom attributes. You can use these attributes to pass the values in layout XML or can set dynamically as well. For creating custom attributes one has to create attrs.xml, following is mine.
You can use these attributes in layout XML like below.
These attribute’s values are extracted in method init(). You can check that, but for this demo, I have used defaultAttributes() method.
Now, let’s look at the important drawing part, which is bitmapDraw()method.
It creates a Bitmap by provided width & height values (for this demo the values are calculated in defaultAttributes() method). It occupies a rectangular area with a specified width & height. Next, the important one is to set the erase color to the created bitmap, which actually fills the bitmap’s pixels with the specified color. Then the bitmap object is used for creating a Canvas. This canvas will be used for drawing actual shapes. First, we are filling it with color & then a paint object is created, which is actually used for drawing shapes. In shapes, first, we are drawing a circle on the canvas, which is set as transparent by using.
Then we draw a transparent rectangle using the same paint object. Now, in the same paint object, we are setting color, stroke & Xfermode to draw solid circle shape. Once the bitmap canvas is drawn, we return the created Bitmap object. This bitmap object is used in onDraw() method & drawn on the main View’s canvas. I have also created an interface, which tells when the view’s layout is done. Its callback method notifies the user (Activity) when the view is actually drawn. You can use this for your own use cases, in my cases I needed width & height of the custom view, so the onLayout() method notifies me then I get width & height values.
This tutorial gives you an idea to create a view with transparent sections. You can create any shape with any size for such views. You can tell your ideas & implementations in the comments.
I hope you learned something useful from here. You can check the full source code at Github repo TrasparentSectionCard.
Just before I start, I want you to check the following shapes.
Many times in your app you deal with images, you might be showing in a list or on a profile page or anywhere else. Normally the image is in rectangular shape only. But what if you apply these shapes to a profile picture. That will definitely make your view look good. For examples check the following picture.
There are many libraries available to give shapes to your images. For example, the above pic is taken from the library CustomShapeImageView. But what if I have to take it one step further & apply these shapes on a video. Wouldn’t that be more exciting? To crop a video in any shape, it can be done in many ways for e.g. you can mask a VideoView with shape(.xml) resource. You can create shapes & apply over your VideoView. But in my method I am not using any default VideoView, instead, I want to create a custom view that can be used to play a video on it. So let’s start with my approach. As mentioned I will be creating a custom view, for that, I am extending SurfaceView class.
Here is the code.
As you can see I have extended the class SurfaceView class with all the required constructors. Now that we have created a surface, it’s time to draw on it, for that I am overriding dispatchDraw() method of SurfaceView.
In the above method, I have used a flag inOtherShape for checking whether we need a different shape or not. If set it uses clipPath() method which uses a Path object shapePath, which actually clips the canvas to give a specified shape. Now let’s move to other methods cropCircle(), cropOval(), cropRect() & setOtherShape(). You can see the crop methods actually initializing the shapePath object & adding shapes like circle, oval & rectangle to the path. These methods take coordinates, radius or width & height parameters for positioning & size of the shape. The last method setOtherShape() actually updates the flag & uses invalidate(), which actually means redraw the view & in result calls dispatchDraw() method. The dispatchDraw() again checks the flag & clips the canvas in set path. Now we are done with our surface. It’s time to use it & play our video on it. Following is the layout file, which uses the VideoSurfaceView & some buttons for different shapes. You can find the full source code here.
Now, let’s create an activity VideoCropActivity.
In above activity, you can see I have inflated all the required views & initialized the MediaPlayer object player, which is created by video file placed under raw resource. You can see from VideoSurfaceView object I am getting a SurfaceHolder & adding a callback on that, which makes me implement the following three methods.
Whenever the surfaceCreated() callback method is called, I take that surfaceHolder object set on player object as display & then starts the player by start() method. By doing just this much you will be able to play the video on your custom VideoSurfaceView & also you can use methods cropCircle(), cropOval(), cropRect() & setOtherShape() to give shapes to video. Although you have done enough to crop a video in a specified shape. But there may be one issue in that, the videos full or cropped may not maintain the aspect ratio of your video. The video may look creepy, which of course you don’t want. To solve that issue other parameters are used.
fullLayoutWidth & fullLayoutHeight, these will be the dimensions of the video in full size, which will maintain the aspect ratio of the video. To maintain the aspect ratio on the device of any size, I first get the width & height of the device’s screen, which is screenWidth & screenHeight respectively. I am using the following method to calculate the width & height which will maintain the aspect ratio of the video.
In this method, I pass the MediaPlayer object, width & height for which you want to calculate the dimensions which will maintain the aspect ratio. Initially, I used this method for full screen & calculates the fullLayoutWidth & fullLayoutHeight. Once calculated, I call setVideoLayout() method, by passing values FULL, fullLayoutWidth & fullLayoutHeight. The method resets the LayoutParams of VideoSurfaceView object along with the shape parameters. It checks Shape enum, calls the crop shape method accordingly & setOtherShape() to draw view in a specified shape. The following methods calls the setVideoLayout() method but with different shapes & parameters. Here I am using screenWidth & screenHeight for creating shapes, you can pass your own values there.
You can change any parameters like center coordinates & radius for circle shape or left, top positions for other shapes.
In my case, the results look like below images.
You can also update the VideoSurfaceView class to create more shapes. You can find the full source code at VideoInShape. I hope you like this & you learned something useful from here.
Recently I did a short video on how to bring your AWS billing down by more than 80%, which went quite viral on the internet achieving thousands of impressions within a day. It made me realize that there are many founders/CXOs who face this issue of the high bill on AWS or any similar cloud platform. This post is a further extension on the points I mentioned in the video and provides additional ways on how you can save money on AWS.
01. Selecting the appropriate size for the AWS server –
It is crucial for every organization to choose the correct size of the server. At the initial stage of your startup, it is advised to start with a small server. Apart from that setting up auto-scaling really helps. Auto-scaling option continuously scales the servers dynamically based on the traffic. This means that your server will scale up and down automatically based on the traffic on your website, so you don’t need to pay for a big dedicated server. So definitely it helps to reduce your AWS billing.
02. Using S3 + CloudFront instead of EC2 –
Many people use EC2 servers for hosting their website. If you use static or dynamic website go for the S3 + CloudFront option instead of EC2 as it is more scalable and more secure as well as it costs less. Instead of paying for the dedicated EC2 server you can go for the cheaper S3 + CloudFront option so it can save your AWS cost.
03. Terminate development and QA environment when not required –
A simple trick to reduce the cost is to turn-off the development and QA environment on weekends and holidays when no one is using them. You can easily setup Lambda function which triggers the turning on and off of the servers. Just by applying this you can save up to 50% of the cost whenever you are not using it. We also apply this facility to many of our clients. When our working hours are done, and on weekends when no one is using the service, the servers shut down automatically, so it leads to AWS cost optimization.
04. Use AWS Reserved Instances –
Another great thing about AWS is that it offers the ability to reserve instances. Suppose you scored a great project whose duration is going to be around one year and you know what all instances you will need from the AWS. in this case, you can reserve the required instances with AWS. All you need to do is tell Amazon that you will require these instances for one year and Amazon brings down the cost for those instances, so it leads to control on AWS cost.
05. Using the complete AWS features optimally –
Have you heard of SSL certificate? An SSL Certificate is essentially a digital certificate that authenticates the identity of a website and encrypts information sent to the server using SSL technology so it gives assistance in AWS cost optimization and helps to reduce AWS billing. Many of our clients buy SSL certificate from GoDaddy or any other providers, they have to pay a considerable amount for it, but AWS on the other side provides SSL certificate for free if you set it up correctly. So with AWS, you don’t have to worry about buying an SSL certificate, moreover at the time of renewal and again setting it up AWS takes care of it all.
I am sure that by applying these best practices you can also save a few extra bucks just like we did. Also, feel free to DM me if you want to discuss or want me to look into your AWS instance, I’d be more than happy to help. I can be reached on firstname.lastname@example.org
Times are changing, and how freelancers connect with clients is no exception. In the past few years, freelancing has greatly increased in popularity as millennials try whatever they can to avoid a traditional 9–5 job. The way people work worldwide is transitioning from working locally in offices to remote work.
Using a freelancing platform is an excellent option for anybody looking to earn some extra cash, embrace the freedom of freelancing, or to develop their professional skills on their own time.
Freelance platforms have altered the way professionals and companies operate. In fact, in the US alone 43% workforce is already spending some time working remotely. As the digital nomad lifestyle grows in popularity, freelancing platforms are opening doors for new and existing professionals to find more work online.
As trends like the digital nomad lifestyle grow in popularity, Freelance platforms are without a doubt proving beneficial for both enterprise and individuals.
Implementing freelancers into your companies team is a great way to reduce overhead costs, boosts productivity, and open up a greater pool of talent to choose from. Studies show that freelancers and remote workers are more productive than in-house employees. Moreover, hiring freelancers provides companies with the freedom to hire different workers as needed, and can part ways with freelancers without any mess.
Freelancing platforms can be leveraged to produce incredible effects for both businesses and individuals. But the crucial question is — How does someone begin freelancing? Well, to start off you will need a freelancing platform which you can register and connect with the clients on.
However, due to the abundance of both freelancers and freelancing websites in the market, it becomes challenging to choose which one is best suited for you. You can always choose the large platforms, but do these websites actually provide the services which you are looking for? Here we will introduce you to some unconventional freelance websites that offer unique and distinctive features. To save you some serious time, we’ve compared and scrutinized different platforms and present our top 5 websites with stand-out features to fit your custom needs.
Founded in 2003 by Gautam Godhwani, Anil Godhwani, and Peter Weck, SimplyHired is both an employment website and an online recruitment advertising network. Back in 2006, Recruit Holdings Co. Ltd acquired SimplyHired, stating that its webpage would continue to operate as a job search destination, but would additionally serve as a publishing partner for Indeed.com. With the availability of a wider range of talent and clients, SimplyHired is perfect for everyone from programmers to construction workers.
What makes SimplyHired stand out?
A) Diverse Resource Pool – It’s difficult to beat SimplyHired when it comes to the pool of resources at their disposal. From personal care to technology and construction, to administration, SimplyHired has jobs for any professional. The site lists jobs from over 24 countries in 12 languages
B) Finding Talent Made Easy – SimplyHired is a platform populated by experts from various domains. The platform focuses on enhancing experience and usability for clients. In order to simplify the search for talent, the platform offers a tailored way to search for freelancers based on job title, skill, and company. Additionally, users can also perform a location-based search if they are looking for freelancers in a specific location.
C) Salary Estimator – Are you a novice freelancer just starting out in the freelancing world? Then you probably have one question on your mind–How much would I make? Will I be scammed or underpaid just because I am new?
Founded in 1998 in Pittsburgh and acquired by eMoonlighter.com, Guru.com has over 3 Million members worldwide and 1 Million completed jobs. It is a platform designed to connect and associate employers with a talented pool of freelancers from all around the world. Moreover, to make the transactions between parties easy, Guru also facilitates communication between the two parties. The Guru Work Room lets you efficiently manage all your work in one convenient place.
Guru is perfect for freelancers, looking for good pay jobs in designing, writing, IT, marketing, administration, and related fields.
What makes Guru stand out?
A) Showcase Your Work – Guru that lets you showcase your past work experience and provides you with access to new jobs every day. Being able to show your past experience to employers can allow employers to make the right decision (choosing you!).
B) Payments Made Safe – With Guru, you can set up how and when payments will be made on your job. There are 4 arrangements to fit any job:
Pay by Milestones
Pay by Task
Pay by the Hour
Pay Using Recurring Payments
But what really fascinating about Guru is SafePay. It doesn’t matter which arrangement you choose, SafePay gives you a simple and secure solution for payments. Always focused on convenience, Guru offers a way to automate your payments. And, in case of any dispute which cannot be resolved by words alone, Guru has Dispute Resolution Service dedicated to solving problems between clients and freelancers.
C) Simplified Onboarding and Job Posting – Guru is focused on providing a relaxed and hassle-free onboarding and job posting experience. By leveraging above-the-fold content, Guru empowers employers to quickly post a job for free. However, while creating a job post is free, Guru offers a way to boost your job posting by paying additional money for increased exposure. The advertised posts are featured on top of the search results.
Founded in 2007 by Xenios Thrasyvoulou and Simos Kitiris, the company is headquartered in London. PeoplePerHour is a freelancing marketplace mostly aimed at bringing together people searching for services in writing, web development, designing, social media, business development, etc. PeoplePerHour empowers professionals around the world to take on work that they love doing.
You can easily score both online as well as on-site freelancing gigs on PeoplePerHour.
What makes PeoplePerHour Stand out?
A) Management and Collaboration – With PeoplePerHour you can say goodbye to the struggles of managing a project. The dashboard allows users to monitor the information they need to get the job done, along with the necessary management tools to make your workflow easier. PeoplePerHour gives you a clearly marked inbox of tasks, structured threads for communication, and simple organized invoicing.
B) Secure Money Protection – Unlike conventional freelancing platforms, PeoplePerHour has an intuitive payment system that holds payments in an escrow account until work is marked complete by both parties. Additionally, employers using the marketplace are required to provide down payments at the beginning of the projects to ensure payment is given.
In order to safeguard users, PeoplePerHour has an Anti-Fraud Protection system. They monitor every transaction and use their customer support specialists to help solve issues swiftly and fairly.
C) Pre-defined Job Posting Template – PeoplePerHour has a template to describe the work needed for the project. The website has an artificial intelligence system in place that does most of the heavy lifting — matching and contacts with the best freelancers for the job.
TaskRabbit is extremely unique in its primary purpose. The platform aims to revolutionize how we handle our daily errands. Founded in 2008 by Leah Busque, the company has received $37.7 million in funding to date. Originally launched as RunMyErrand, in April 2010 Busque renamed it to TaskRabbit. In September 2017, IKEA Group announced it would acquire TaskRabbit, but would continue to operate independently. IKEA launched a furniture assembly service from TaskRabbit in March 2018. TaskRabbit is a freelance platform curated to help businesses and individuals with their day-to-day tasks. From minor repairs and housekeeping to furniture assembly and delivery services, this same-day service freelance platform provides solutions no other platform can offer. It has over 140,000 vetted taskers that are proficient in their specific tasks.
What makes TaskRabbit stand out?
A) Effortless Transactions – TaskRabbit offers a companion mobile app which allows clients to choose the right tasker from mobile devices. Users can choose from a variety of home services and provide details about the services required – TaskRabbit does its magic and connects clients with taskers.
Select from a list of qualified and vetted Taskers for the job. Choose Taskers by their hourly rate, and start chatting with them right in the app.
When tasks are complete, payment is sent seamlessly and securely through the app.
B) Vetted Resources – What is one thing that you need the most from any freelancer? Quality! “Quality over Quantity” is TaskRabbit’s motto. It doesn’t matter if a freelance platform has millions of freelancers, what really matters is the quality of the workers. Through TaskRabbit, you get talent that is thoroughly vetted and undergone a rigorous background and identity check prior to working on the platform.
C) TaskRabbit’s Happiness Pledge – Trust and safety are TaskRabbit’s top priorities. While all Taskers undergo extensive background and identity checks, it is still risky to grant access to your property to a stranger. To secure and safeguard clients, TaskRabbit covers up to $1 Million in property damage.
Founded in early 2017 and launched at Startup Grind Global Event by Ayush Jain, RemotePanda is the pragmatic, prudent and organized way to outsource your needs. With RemotePanda’s concierge service it means you have someone to take care of your needs right from recruitment to hiring and throughout the project. This freelance platform set the KPIs for the work and builds accountability within the process for the remote worker. With RemotePanda, employers can enjoy the taste of managed remote teams with a success facilitator to oversee that all KPI’s are met.
What makes RemotePanda stand out?
A) Managed Remote Teams – There are multiple platforms which offer freelancers and remote workers, which really makes RemotePanda unique is the fact that they provide managed remote teams and freelancers. What this actually means is that when you hire a freelancer from the marketplace, you get an additional layer of management that oversees the operation and productivity of the freelancer, reducing the burden of management and allowing you to activate their full talent. Another thing to note, freelancers working on RemotePanda are extensively vetted and interviewed thoroughly prior to being allowed on the platform.
B) Success Facilitator and Quality Oversight – To ensure that users can leverage the full vigor of resources, RemotePanda assigns a Success Manager to every project. From effective communication to resolving disputes, the success manager takes care of the little things so you can focus on results. Success managers make sure that all KPIs set at the beginning of the project are met.
C) ESCROW Billing System – When a user hires talent from RemotePanda they are provided with a seven day trial period where the employer can test the waters and check if the hired individual is the right match for their project.
Moreover, to ensure the safety of clients, RemotePanda adheres to an escrow billing system. This means that all funds are held on the platform until the completion of the project. If for some reason you are not satisfied with the work you receive, the issue is resolved fairly and quickly by the success manager.
Freelancers and clients have dozens of options to choose from, each with their own strengths and weaknesses. It is based on your needs and requirements which you will choose the right fit for you. This list contains options to seriously consider checking, although the only way to know is to try them yourself.
RemotePanda is a personalized platform for companies to hire remote talent and get the quality work delivered from our city Pune. All talents associated with us are close network connections. When we connect them with you, we make sure to manage their quality, their growth, the legalities and also the delivery of work. The idea is to make remote work successful for you.