How to form product idea

Issue #740

How to gain product ideas?

1) Scratch your own itch. If you don’t have any itch to scratch, stop here. This is awkward. Go travelling. Go exploring the world. The world always has problems and needs solution.
Image

2) Build any service, app or website. Along the way you’ll find tons of things you need that and unsolved by existing solutions, and tons of things you can improve upon.

3) Sign up for some paid newsletters to find ideas. This is the worst. This is like someone browsing through a tatoo catalog. You’re doing things for trend, for money, not for your self drive 👎

4) Most product ideas are not that hard, and require little tech skill. There are simple things that many people struggle or can’t do or learn by themselves. They need your help.

5) Read enough to build the mindset. You don’t need to listen to all podcasts, read all the books, attend all the courses to get started. You’re just procrastinating.

6) The only constant is “change”. The best time is now.

7) Does it matter if what you’re about to make has been done by someone else?

Probably not. You’re the master of your own itch, you know how to solve it your way. Every solution is unique and will be developed in different directions

8) Idea is veryvery cheap.
If someone sherlock your idea, execute it better, provider better customer support, understand the domain better. Isn’t it fair to say they deserve better success than you?

9) Is this idea worth executing?

If you ask me, my answer will be NO. Those who are super passionate about their idea will just ignore my advice and do it anyway.

Read more


Updated at 2021-01-04 06:44:45

How to deep work

Issue #738

Just found out the book Deep Work by Cal Newport and it has some interesting guidelines
Here’s a very good summary of the book

https://www.youtube.com/watch?v=gTaJhjQHcf8&ab_channel=ProductivityGame

  1. Put a boundary on distraction. Allow yourself to be distracted at predefined time and with limit

a1

  1. Develop a routine habit. Best is to focus in the early morning as there are no other requests

a2

  1. Sleep is crucial. Get enough sleep. Do a complete shutdown in the evening.

a3

Read more

My year in review 2020

Issue #715

I remember this time last year in December 2019, I spent almost every single bit of my free time on Puma because I want a Swift friendly version of fastlane that suits my need and leverages Swift 5 features.

Here’s my review of my work in year 2020.

Blogging

I started blogging on GitHub issue, starting from Issue 1 Hello world, again, now I have over 670 issues, which were generated into blog posts at my website https://onmyway133.com/

🍏 I used to use onmyway133.github.io domain, but then it feels right to have my own domain
🍎 I used to write a lot at Medium https://medium.com/@onmyway133 for many publications and my own Fantageek publication, I have got 2.3k followers with around 60k views per month
🍓 I list my most favorite articles, usually articles that I spent most time polishing here https://onmyway133.com/writing/

One of my very first articles published on Flawless iOS publication was A better way to update UICollectionView data in Swift with diff framework gets the highest traffic ever, and was rated most trending Swift article for 2018.

My one of few articles published in Medium in 2019 was How to make Auto Layout more convenient in iOS got featured in iOS Dev Weekly, and used to promote my library EasyAnchor

My big article this year is How to test push notifications in simulator and production iOS apps, which was also featured on iOS Dev Weekly, used to summary the changes in push notifications from iOS 7 to iOS 14, and to promote my push notification testing tool Push Hero

My blog at https://onmyway133.com/ has around 15k views each month. I can write proper, lengthy articles to get more views but I don’t want to. I want to write blog about solutions I have found, so that my future self can benefit from it without searching too much.

views

Open source

I have done quite a lot of open source, you can view here Open source. These have helped tons of apps, with 45k+ apps touched, and 3.4m+ downloads as stats on CocoaPods

My 4 libraries this year get inspired by SwiftUI and property wrappers

🍌 Spek leverages property wrapper to provide Spec syntax, similar to Quick, but simpler and can generate tests
🍈 Micro imitates SwiftUI State and ForEach syntax but use UICollectionView with diffable datasource, powered by my another library DeepDiff
🍑 EasySwiftUI contains many extensions and useful modifier that I use in my SwiftUI apps
🥝 FontAwesomeSwiftUI I was tired of using bitmap with dark and light variants, and I can’t use SFSymbols as I want to support macOS 10.15, so FontAwesome is a perfect choice. I couldn’t find library that has support for SwiftUI and easy to use with Swift Package Manager for iOS and macOS, so I made one

Besides, for all my libraries EasyStash, EasyAnchor, EasyTheme, EasyClosure, … I have now support Swift Package Manager, which is nicer to integrate. Thank you CocoaPods for all these years.

There are now 1.6k people following me on GitHub, that means a lot, meaning somehow my work is useful

Lately, I open source awesome-swiftui which I curate all SwiftUI resources, articles and libraries that I find useful for my apps

❤️ One day, I got sponsor from my dear friend Chris for my GitHub open source. Chris is my open source idol who ignited my desire for open source. No one loves open source more than Chris

Apps

I started making some apps late last year, first I published them on Gumroad, but it didn’t feel right, and then I published all my apps on AppStore. I like sandboxed apps from AppStore because they limit what the apps can do.

Apps without Twitter account and landing page seem off, so in May I started revamping my websites, and I wrote my apps page firstly with pure HTML and CSS, then I rewrote in React, because I like React and Javascript.

Notably, early 2020 I made Push Hero, PastePal then I made a complete overhaul lately with more features, thanks to all the feedback. I also took the time to revamp landing pages a lot, you can check landing pages for Push Hero for example because I have a white label solution

Learn how I did white label landing page using React

I have a lot of ideas, but very little time.

Learning

Coding can be done, but design is never finished. When making apps, I feel like I’m not certain at some design decisions and no matter how I landed with some designs, I didn’t feel happy. Then I took some design courses and books.

Below is my tweet that I share some design resources that I found useful

Listening

I used to listen to tech podcasts, then I was bored. Discussions like whether to use MVVM vs MVC, SwiftUI vs Catalyst, Swift vs Objective don’t interest me anymore.

If you ask me for choices, my default answer will be NO. Those who are super passionate about their idea will just ignore my advice and do it anyway.

Then I listen to indie and product development podcasts, it was inspiring. Once I got the mindset, they also became boring.
Now I listen to mostly books on Storytel, some books about habit and making time really make my days.

Tweet

I came back to Twitter early this year after quitting it for a while because I got enough of all negative and nonsense political debates. But then I found that I can decide who I can follow and what content I want to view. Then I started organizing List, making my own Chrome extensions to automate things and control what I want to view. I have followed quite many indie developers and great product people, I’ve learnt a lot. The downside is I’m overwhelmingly inspired, I can’t sleep.

I try to tweet more about what I’ve learned, sharing articles that I have written. For example here I share about how to gain product idea

WWDC Together

Notable this year is the website I make WWDC Together as a place for developers like us to hangout and watch videos together. Each video acts like its own chat room, you can also create private chatroom. My colleagues use this and we watched WWDC together with coke and pizza, it was a lot of fun.

I had the idea like 2 weeks before WWDC, so I had to make it quick. Working with React is fun to me, it is like playing video game.

I was lucky to be asked by John to write a guest post Behind the scenes of WWDC Together with Khoa Pham on his website.

It was also mentioned by Paul in his WWDC wrap up WWDC20: Wrap up and recommended talks

One area that absolutely flourished this year was community organization. Sites like https://wwdcwatch.party and https://wwdctogether.com took a huge amount of work to organize, but meant that people had the chance to have some interaction – had the chance to actually chat about WWDC and share their excitement. I’m really grateful to Michie, Khoa, and other community organizers for making this happen.

I also got to share about in in a well known Norwegian tech website orske WWDC Together lar oss se på Apples konferanse sammen

Speaking

In 2019, I made several meetup talks, and one pre conf talk for Mobile Era conf

In 2020, I’m lucky to be invited to talk in some events

🍅 WWDC Watch Party

I’m happy to be invited by Michie to talk along side with John and Łukasz, whom I really admire for their awesome open source contribution, to talk about how to start and contribute to open source

🥦 Bitrise webminar

I shared my thoughts about my favorites at WWDC and the future ahead

🍇 Contributing.today

During Hacktoberfest 2020, I was contacted by my friend Maxim to share about open source

Work

I’m happy to continue another awesome year at Shortcut and DNB, where I have awesome and super nice colleagues. I ‘ve made lots of friends who I can talk with, who invited me to play badminton, tennis, football, swimming, hiking. Why didn’t we meet earlier?

I was lucky to attend a workshop hosted by John Sundell at work, I learned a lot

Life

Thanks for a memorable year, despite all the lockdown. And remember, balance work and life. You don’t need to be super rich to be happy. Having lots of money in the bank while living alone is not fun at all.

Another year is coming to an end. When looking back, do you miss the time you didn’t spend with your friends and family, or do you miss the time you didn’t get to do your work?

May your code continue to compile 🙏

Updated at 2021-01-01 23:25:50

What define a good developer

Issue #683

I always find myself asking this question “What define a good developer?”
I ‘ve asked many people and the answers vary, they ‘re all correct in certain aspects

Good programmer is someone who has a solid knowledge of the “how-to” both in theory and in practices. Understanding customer requirements clearly and having a vision to fulfill it through dedication and execution !

Good programmer is one who has in depth knowledge of one particular major and wide understanding of many thing else

Algorithm (actually this was my definition)

But I think I find the answer now, it is responsibility

The single most important trait of a professional programmer is personal responsibility. Professional programmers take responsibility for their career, their estimates, their schedule commitments, their mistakes, and their work- manship. A professional programmer does not pass that responsibility off on others.

  • If you are a professional, then you are responsible for your own career
  • Professionals take responsibility for the code they write
  • Professionals are team players
  • Professionals do not tolerate big bug lists
  • Professionals do not make a mess

In fact, if we want to be successful, we need to be responsible for our work and our life.

Ref


Updated at 2020-10-16 18:01:04

Ikigai

Issue #79

I really like the concept of Ikigai

Ikigai (生き甲斐, pronounced [ikiɡai]) is a Japanese concept that means “a reason for being.” It is similar to the French phrase Raison d’être. Everyone, according to Japanese culture, has an ikigai. Finding it requires a deep and often lengthy search of self. Such a search is important to the cultural belief that discovering one’s ikigai brings satisfaction and meaning to life.[1]

The term ikigai compounds two Japanese words: iki (wikt:生き) meaning “life; alive” and kai (甲斐) “(an) effect; (a) result; (a) fruit; (a) worth; (a) use; (a) benefit; (no, little) avail” (sequentially voiced as gai) “a reason for living [being alive]; a meaning for [to] life; what [something that] makes life worth living; a raison d’etre”.[3]

About college degree

Read more

Ad Hominem

Issue #76

I use Twitter a lot, mostly to follow people I like. They tweet cool things about tech and life. I learned a lot.

Please don’t show me the evil sides of the world ~ Michael Learn To Rock - How Many Hours

But there’s also bad side of the story. I see many retweets of people saying bad things about others, mostly in form of Ad Hominem

Attacking the person making the argument, rather than the argument itself, when the attack on the person is completely irrelevant to the argument the person is making.

From Ad Hominem on c2.com

An argumentum ad hominem is any kind of argument that criticizes an idea by pointing something out about the people who hold the idea rather than directly addressing the merits of the idea. ‘’Ad hominem’’ is Latin for “directed toward the man (as opposed to the issue at hand)”. An alternative expression is “playing the man and not the ball”.

Most of these people have the Twitter verified badge. They complain that they have so many followers while they themselves follow hundreds of thousands. They say bad things about others’ hair style and appearance while actively supporting equality. They argue who owns the original gif. They follow one person just to be the first to insult them.

The blue verified badge on Twitter lets people know that an account of public interest is authentic.

Blowing out someone else’s candle doesn’t make yours shine any brighter ~ Anonymous

The only thing I can do is I don't like this tweet 😞

Disingenuousness

Issue #31

I’m very happy to be on open source movement, and it ‘ll be great to hear about what people have achieved

And @merowing_ also mentioned in Writing Xcode plugin in Swift

Attribution

Writing this was much simpler because I was able to look at other people plugins, mostly those related to console, without them being open sourcing it would be more work to figure this stuff out with hopper.

Open source helps us move forward, learn and share together

The dark side of the Force

Luke: Is the dark side stronger?

Yoda: No, no, no. Quicker, easier, more seductive.

It’s a pain to see plagiarism around

Open source softwares are in fact intellectual properties, and the authors should get acknowledgement for the work that they do.

It’s not fair to take the credit of other’s work and not giving any attribution

By its nature, open source software has a unique relationship with intellectual property rights

One thing that’s not up for debate in most circles is that it’s dishonest and disingenuous to take someone else’s project, modify it slightly, and call it your own.

Further, regardless of whether or not a project crosses that line, it must (by the terms of most open source licenses) acknowledge the original work/author.

And the reaction

It’s always sad to see blatant plagiarism, and I think it really hurts the community more than the author itself. It gives people a good reason to keep the sources private.

Being nice

I often hear people say that

It is easier to find good developer than developer with good attitude

Github also states that

We understand and agree that copying others’ work without permission goes against the spirit of the open source community

Do the right things

Is it MIT ‘s fault? Definitely no

False choice. Giving up freedom does not lead to more security, just less freedom.

Takeaways

  • Don’t take things personally
  • It’s hard to be perfect, but we can learn to do the right things
  • We may do the wrong things, but don’t worry, there ‘ll be help via Issues and Pull Requests

What you don't know is what you haven't learned

Issue #14

Some of my sayings that I like 😉

Mine

  • There are so many many many things to learn
  • The opportunities are endless
  • Everybody has access to the internet. Everybody has nearly the same chances. Your future is yours to decide
  • A dream is not a dream anymore when you don’t have time for it
  • Being single means free time. Being coupled means memorable time
  • You learn less with the happy path
  • I don’t like to be at the centre, nor being abandoned
  • Even sense of humour can be trained
  • Youth is your strength. Take advantage of it
  • Easy to please. Hard to impress
  • Don’t show me the evil sides of the world
  • Please don’t confuse peace vs boredom
  • What matters is your passion, not your ability
  • The ones that are likely to fail are the ones having the fewest friends. And the ones that have the fewest friends are the ones having the most boring life
  • Life is like a marathon. People run. Some are lucky enough to have support. Some are even luckier, they already crossed the finish line when they were born. Running, however, has its own fun
  • Life is predestined. But you can of course change it
  • Losers are easily the most hot tempered. It is the consequence, not the cause
  • What if there is no inheritance. Will that make everybody the same?
  • Some people become Norwegian when they were born. Others have to apply for the citizenship https://www.udi.no/en/word-definitions/norwegian-by-birth/
  • Every deck has a chance to win, as long as you believe in the heart of the cards
  • Life is a game. People play on different difficulty levels. “But mine is much harder”, said everybody
  • What you don’t know is what you haven’t learned

Others

  • I don’t know the key to success. But the key to failure is trying to please everybody ~ Bill Cosby

Law of Jante

Issue #9

The other day I was watching Inside Sweden’s Silicon Valley, and he mentions Law of Jante

It is pretty much this

  • You’re not to think you are anything special.
  • You’re not to think you are as good as we are.
  • You’re not to think you are smarter than we are.
  • You’re not to convince yourself that you are better than we are.
  • You’re not to think you know more than we do.
  • You’re not to think you are more important than we are.
  • You’re not to think you are good at anything.
  • You’re not to laugh at us.
  • You’re not to think anyone cares about you.
  • You’re not to think you can teach us anything.

This is controversial, there are many discussions about this

Putting on your black hat, it sounds negative. Putting on your yellow hat, it sounds positive
But what I learn about it is the team work. No one lives alone, everyone lives among the others. It is about to be humble and learn collaboration

Advices to students

Issue #8

Some say these are from the book Dumbing Down America of Charles Sykes, some say they are from Bill Gates ‘s speech to high school students. I don’t know the origin, but they are cool enough, so I tend to share it again and again

  • Life is not fair. Get used to it ⭐️
  • The world won’t care about your self-esteem. The world will expect you to accomplish something BEFORE you feel good about yourself
  • You will NOT make 40 thousand dollars a year right out of high school. You won’t be a vice president with car phone, until you earn both.
  • If you think your teacher is tough, wait till you get a boss. He doesn’t have tenure.
  • If you mess up, it’s not your parents’ fault, so don’t whine about your mistakes, learn from them.
  • Your school may have done away with winners and losers, but life may not. In some schools they have abolished failing grades and they’ll give you as many times as you want to get the right answer. This doesn’t bear the slightest resemblance to ANYTHING in real life.
  • Life is not divided into semesters. You don’t get summers off and very few employers are interested in helping you find yourself. Do that on your own time.
  • Television is NOT real life. In real life people actually have to leave the coffee shop and go to jobs.
  • Be nice to nerds. Chances are you’ll end up working for one.
  • Before you were born your parents weren’t as boring as they are now. They got that way paying your bills, cleaning up your room and listening to you tell them how idealistic you are. And by the way, before you save the rain forest from the blood-sucking parasites of your parents’ generation, try delousing the closet in your bedroom ⭐️

Reference