tiistai 25. helmikuuta 2020

Video requester application!

New way to monetize content

For a long while youtubers have had problems with monetizing their work. The most common way of generating revenue is through YouTube ad revenue and company sponsorships. I came up with an application which adds another way to generate revenue. Now you can create custom YouTube videos based on audience suggestions.

Requester app

Requester is a new web application that helps youtubers to gain revenue by creating custom videos. It also allows you to request custom YouTube videos from your favorite creators.

For youtubers

Youtubers can sign in with their google account and start accepting custom video requests. You can charge whatever you want for these custom videos. This unlocks another way to gain support from your fans!

For fans

As a fan of a certain youtuber you can request custom videos from him/her. This is a great way of supporting your favorite youtube channels and creators.

Still in development..

Currently the app is still in the development phase. I am working on it by myself which means lot's of hard work. There is currently a build without monetization features, you can check it out here

I will update this blog post once i make improvements to the project. 

maanantai 24. helmikuuta 2020

Why drawing helps with coding

Developing while drawing

I always have a notebook near me while i am developing and i regularly take drawing breaks. Drawing is a great stress release and i believe it helps with coding.   

How the brains work

While i am not a psychologist i do have a rudimentary understanding of how the brain works. Whenever you perform an action, different parts of your brain get activated. For example driving a car or cooking a meal activate different parts of your brain. This process can be visualized with an FMRI scan. Coding and drawing also activate different parts of your brain.

How this ties into coding?

Common sense tells us that the more parts of your brain are active the more efficient it  is. Drawing and coding activate different parts of your brain. Since programming is largely problem solving. The more parts of your brain that are active, the more efficiently you can solve problems. Please note that i am not a psychologist and i don't have any data to back up my claims. I am simply a guy with an interest in the matter.

Weapons analogy

While you are shooting a machine gun, it's eventually gonna overheat. That's why it's important to have a secondary weapon ready. This same war mentality can applied to coding as well.

While you are solving problems the brain is also going to overheat at some point. That's when it's time to do something else. I personally like to writing a blog or drawing. It's important that the secondary activity is still bringing some kind of value. Video games are a great secondary activity as well, but be careful. They will quickly suck off all of your time.



"Dr. Jupemon" recommends

Coding is mostly about solving problems, which is very taxing for the brain. It's important to pair it up with a secondary activity that is relaxing. I recommend everyone to find some kind of secondary hobby along with coding. The activity should be something quick, relaxing and something which doesn't use the same parts of your brain as coding.

tiistai 18. helmikuuta 2020

Why i write fast and messy code

Messy doesn't mean bad

I heard an audio clip of the ruby on rails creator describing what type of coder he looks for when hiring. He was explaining how he only hires developers whose personal projects contain clean code. According to him this reveals that the coder is passionate about coding and might be a good hire. I disagree with this line of thinking,  and here are my thoughts on that subject.

Messy code in personal projects

The way i write personal projects is really fast. The most important thing should be to create a working project as fast as possible.  If one of my projects gains large amount of attraction and users, that is the time to review your code and start improving it. You have to accept the fact that most of your projects will never gain any users or attention. Therefore trying to  improve a project which nobody will use is a waste of your time. Creating a bunch of them will increase your chances of success.

Shotgun vs rifle philosophy

If you are shooting at a target with a shotgun you have a high change of hitting it. If you use a single shot rifle, the rifle shot might be more powerful  but it is much harder to hit with it.

I use the same philosophy with my personal projects. I create a bunch of small messy projects and hope that one of them is successful. If one of them proves to be popular i will start rewriting the code for it. I already made a mistake of dedicating a bunch of time for creating an e-commerce platform. That project went to nowhere, i wont be making the same mistake again.

sunnuntai 16. helmikuuta 2020

What i enjoy about react?

The questions

I have been to a few coding interviews while looking for a react job and interviewers always ask the same two questions. They all want me to explain what i like about the react framework and what technology i would like to learn. I feel like explaining my answer here.

What do you enjoy about react?

This is a question which is given at every react job interview. I have a different way of looking at it. React is simply a tool which allows me to build what i want. The interviewer often wants you to be exited about react and talk about how cool it is. To me it's like being exited about a hammer. Yeah you can build some cool stuff with it, but it's about who uses it.

Would you ask a builder why they would use a hammer instead of a mallet with nails? They both share the same characteristics. Isn't the most important thing that the nails get hammered somehow. I look at react the same way. The reason i started to use react was because i needed to use some kind of framework for a project and it was the first one i tried. I don't feel any kind of emotion towards it, it's simply a tool.

What technology would you like to learn?

I feel like this question should be asked differently. The reason why you should be learning new skills is because your old abilities don't let you build what you want. I don't believe in learning for the sake of learning. I wish the interviewers would ask more questions regarding project ideas and what types of projects have you built. I always write down any ideas and carry a notebook full of them. Most of these ideas will probably never get made but maybe one day one of them develops into a million dollar idea.

The intention behind those questions

I know that the purpose of these questions is to see how familiar the applicant is with react and how he exited he is about programming in general. I wish more interviewers would ask questions about previous projects rather than what tools were used to build them. One thing which i have learned that creating projects isn't just about coding. For example marketing is a massive problem for me, i really hope that writing this blog will draw some interest to my projects as well.





tiistai 11. helmikuuta 2020

Useless coding projects and how to avoid them

A lot of developers got it wrong

Before i discovered google blogger i was actually trying to add a blogging feature to my own website. This was a foolish endevor. Every project you build should add something new to the world. There already exists tons of different blogging applications, calculators, todo apps, etc. Building an app which already exists is a waste of resources. Whenever you have an idea for a project your first objective should be to seek if it already exists. I decided to explore how to create good projects and find out why there are millions of useless coding projects.

Value mentality

When starting a new project your main objective should be to create something which holds value. Find a need that people have and fulfill it. Put yourself into the shoes of someone who would use the service that you will provide. Don't build another calculator application unless you really think that you can add a spectacular and never before seen feature for it.

Assess your current skill set

It's important to understand your current abilities. Build something which you are already familiar with and add a couple of new things. Be reasonable with your time and skills. The only reason you should ever be learning a new skill is because you want to build something with it. I don't subscribe to the theory of learning for the sake of learning

All in all

Do some soul searching in order to understand your own abilities. You should always be building something out of your strengths rather than weaknesses. Create something which holds value and for the love of god, don't build another calculator application, we have enough of them.

keskiviikko 5. helmikuuta 2020

Why this blog might become obselete

Blogs might disappear in the future

With the rise of video technology i believe traditional text media might disappear from the internet. Over the last decade we have seen massive improvements in video playback technology. Now days you can even watch high quality videos on your phone. I believe that every piece of text which can be transformed into video format will be transformed.

Big players play videos

Youtube and Twich are some of the most popular websites and they are based on video sharing. Even Instagram and Facebook are starting to see more video content. TikTok appeared out of nowhere became one of the most popular applications almost overnight. All of the above are either directly or indirectly focused on video content.

Companies begin video marketing

If you are a company it's almost necessary to have your own YouTube channel. Traditionally companies wrote blogs in order to promote their business. This marketing strategy is currently being replaced by video content. In the future text blogs might disappear completely and be replaced by video channels.

Video productions skills will be needed

In the upcoming years we will see a massive need of everything related to video production. Not everyone wants to be a be in front of the camera. But video production is a big process and needs people to shoot and edit videos too. Skills related to video production will be in high demand in the following years.

Conclusion

I recommend everyone to learn the basics of video production. Find out about the most popular video channels and see what kind of content they produce. Familiarize yourself to video production because video content is the future.


Steamer and audience interaction apps

The issue

As streaming is becoming more and more popular i have noticed one type of an app which isn't being build : applications which allow streamers to interact with their audience. The best way to build these would be to create websites and web applications which work on browsers. Although creating android or desktop applications might not be a bad idea either.

What type of applications do i mean?


Twitch is already creating games and video sharing methods which allow audience and streamer interactions. The great thing is that they don't hold a monopoly over it and anyone can build one of these apps. One example i can give is Straw poll. Streamers use it in order to create polls and get quick poll results regarding any question they may have to their audience. I believe there could be more of these kinds of applications.

How do you monetize them?

The most basic method of monetization is through advertisements. Thought this can only be profitable if there are enough users. Another way is to create premium features. A lot of mobile games implement this tactic. They create a game which can be downloaded for free but if you want access to all of the features you need to pay up. This strategy could work for websites too.

My own example

I recently created linkittv which is an example about what i am talking about. It allows streamers to watch videos suggested by their audience. If it proves to be popular among streamers, i plan on creating premium features. These premium features would be locked behind a paywall.

tiistai 4. helmikuuta 2020

Programmers and designs

Software design and war

I think designers and programmers are at war, designers want to implement all kinds of fancy features to the project but they might not know how hard or easy they are to implement. I came up with a little analogy to better explain my opinion on this. 

Software design... Software design never changes

War strategies are an important part of fighting. Successful assaults are often well planned and executed. But the plans can only get you so far, there are some things that weren't or couldn't be accounted while developing a strategy. That's why it's often best to improvise. And the improvisation is best done by the soldiers who are executing the mission. 

The same mindset should be adopted by software developer teams. No matter how much the designing you do, the true nature of the projects is revealed once it's being built. Programmers should always voice their opinions if they think that implementing another design might be easier and faster.

Designs should be a living and changing plan, and those changes are best made by the programmers who are developing the project.

maanantai 3. helmikuuta 2020

Landing and working a tech job

My job hunting philosophy

I recently had a eureka moment while searching for a tech job. I have been thinking about job hunting the wrong way. Let me share how my thinking has shifted.

You should bring value to the company

Many people like to overcomplicate the job hunting process. The only thing you should be thinking is can i bring value to the company. See what kind of projects they have done and ask yourself : could i have helped building these projects. If the answer is yes then you should apply for a job. It's all about bringing value to the company, they pay you set amount of salary but you will generate more money to the company than they pay you.

It's about what you can make

While searching for jobs it's always important to be as clear as possible about your abilities. Let's say a company is looking to recreate their website UI by using react. If you don't know what that sentence means then don't apply for the job. However if you have experience in building an UI with Angular, then definitely apply. It's all about what you can create, not about the tools you use.

Be a partner not an employee

The most important thing is to stop thinking yourself as an employee, and start thinking yourself as an company partner. If you think yourself as an employee, it will cause you to only play the part of an employee, someone who simply execute commands given by your superiors. But by thinking yourself as an partner will cause you to think more critically about your every task. Partners will always think : "how can i generate more value for the company" which should always be the point of your job.

Always be compensated

Let's say you are a developer but you have an idea to start a blog for the company. The marketing people really like that idea but tell you to not work on it during work hours and aren't willing to compensate anything for writing it. DON'T DO IT
You should always be compensated for the value you bring to the table. If the company hires you to work for 8 hours, then you should spend eight hours a day creating and thinking about how to create value for the company.

Company and partner relationship

Company and your relation ship works best while you are both contributing equal amount to the relationship. I took some pointers from Professor Scott Steiner and came up with my own math formula : 50% + 50% = 100% 

Superhero team analogy

While working for a company you should view yourself as Ironman
working for the Avengers. If  you leave your position or get let go do you cease being a superhero? of course not, your abilities and skills still exist and you can go work in another superhero team. 

Just don't join justice league unless you enjoy being part of bad superhero movies! 

The point i am trying to make is that getting fired or leaving a job shouldn't be that big of a deal, you should be always learning skills which are in high demand.


sunnuntai 2. helmikuuta 2020

Website design

Web Design fundamentals

Creating your own web apps and websites has become easier than ever because of the amount of free tutorials there exists online. However, one thing which i haven't seen often is the importance of website design. I have gathered some of the main fundamentals you should be aware of while designing websites.


Color theory

First thing to do is to pick your primary colors for the website. Those two or three colors should be used every time you create a button, site background, image, etc. 
Using too many colors simply doesn't look visually appealing. It's also important to pick colors which go well together.
For example :green and red are often used together to signify errors and successes. You should also be aware of the psychological effects of colors. The most common example of this is how green is used to describe success and red is used for failure and errors. I recommend looking at colors which Bootstrap has put in their buttons, it can serve as a good starting point.

Mobile first

While designing websites it's important to start with the mobile design. You can always scale your components up, but if you start designing your websites with a large desktop screen, you won't be able to scale it down. Starting with the mobile view also allows you to decide the most important elements of your site, because it simply cannot hold a lot of elements due to it's size.

Steal the design

Whenever i am creating a new web application i search online for apps with similar functionalities. This research allows me to 'borrow' ideas that they have come up with and use them in my own projects. While i was building an application that has similar functionalities as GitHub, i simply looked at the layout which GitHub profiles had and recreated it to serve my own purposes.

In conclusion...


Those were some of the most important things which i came up with. I hope they can be useful during your journey in becoming a web developer!