Sunday 30 December 2018

2019

It's just a day before we going to the next year of 2019.

This year, I am truly grateful of what I achieved for this year and hopefully we can achieve more in the incoming year.

As like my previous post, I talked about evolving, and yet this year also an evolving year for me. New and deep things i went this year, React Native, ReactJS and Unity for AR. Last but not least to get more into backend development with Laravel.

Development for backend is quite tricky you know, it has to be online, 24/7 serving all the people at all the time, and there is local and staging part to handle also. Besides data handling stuff of API, there is also admin panel, which use CSS styling to make it wonderful.

Nevertheless, we will get into that no matter what. Let's do it.

Friday 21 December 2018

Evolving in Entrepreneurship

The smartphone is everywhere right, everyone got one, and to make someone use our apps it’s quite challenging as there are humungous apps out there in the sea of the app store. we strive to make the app that at least pleasurable to use, fulfill their need, fast enough to accomplish what they want in a fun way.

My journey of entrepreneurship, the thought came way back when I was in the school or university where I wanted to create my own brand for my product or services. I think about how the logo should look like, what product would like, and how awesome the future would be with our products.

When i was at the university in Japan, I took computer science for 2 years, before that it was 3 years in Malaysia, for preparation and I took electric electronic engineering. So in Japan I start using the OG iPhone 3g, so I was quite interested to build software for mobile phone for whatever reasons, I think it’s quite a revolutionary piece of tech that u bring it everywhere, so you can learn, watch utube, write some notes, read books, take awesome photo and of course play games.

Back then at the university, I learn by my self how to build the mobile app, since the tech is relatively new, i basically learn though ebook and online tutorial.

Fast forward today, i am an independant entrepreneur / or I can say a solopreneur, how ever i do attach with other corporation as part to help them in term of app planning, design and development .

The best thing about being an entrepreneur is you can choose what the thing you want to work with. the caveat is that you also have to know is there a market for that, other-wise it will be just a hobby. but mostly i would love to do something that have potential in the market, you will know it through from your intuition.

Yes, for me it has been evolving the technologies that i learn from begining to now. if i remember i was started early when i was 12, with html, wyswig, flash, action script, then php, laravel, objective-c for ios, i do focus, really focus on iphone app development for a quite sometime since im take full time job for almost 3 years after i graduate, and be able to design and develop many kinds of apps for iphone, i had been working for the banking apps, games, other clients apps.

So far there are companies that i had been working for directly or indirectly: - cimb bank, maybank, bateriku.com, ofo tech, tm r&d, terengganu government and others.

Now the key lesson i think is a very crucial part for being techno entrepreneur to  evolve.

For an independant developer like me, technologies is evolving so fast. the demand for apps is there but at the same time the competition is rising, the price become lower, the solution that needed is really need to be clarified as clear as possible, so we know what the real value we can give, what the ROI would we get from making those apps, all those stuff are things that inside the mind of me as app entrepreneur.

Demands for things for mobiles is super deep, mobile apps you think about the ecosystem that make the mobile apps a mobile app, the back-end for example, you also need to think, the design, the flow the user interface, you have to put in the account to make it works. and of course, the programming part that make all the plan into the reality and be able to ship the product to the whole entire world.

Alright, how do i could achieve those stuff, it’s alway through learning, it’s about taking time to learn new next technology things. it can be tutorial, youtube, udemy and more, attending classes, course etc etc. even as a independant company, i mean just one man show to survive, besides marketing, i would survive via this technology evolution.

I dont settle for just one tech but i keep learning new tech, eventhough it would take your time, but it will pay off in the future roadmap, long time game.

If we compare this behaviour to a bigger company, this is called the R&D. we just doing research, research, perfecting stuff, discover new things, take time to learn and experiment. this is not for all of the businesses, some would care about markering and sales more, but as a tech company who cares about the company, we strive a lot to learn and make better technologies.

Fast forward again, now, i have been doing currently on my belt are: objc, swift, ios development, javascript for react native mobile app development, reactjs, html-bootstrap, php laravel to make websystem and API (which is the thing that connect mobile app to the backend), wordpress just for making marketing website, app design & wireframe with sketch, and unity for AR (augmented reality)

I can say i have a solid foundation for ios development but at the same time exploring other exploding important tech that could bring a magnitude of revenue in the future. I dont mean that u have to jump one without a master it properly, i would say evolve when you feel confortable with current tech then because it might be something greater that you would achieve.

I think the list grow or changes as the world of tech evolve in the future. till then as a human being as tech entrepreneur learning is just a constant living to do and importantly to enjoy this journey.

Sunday 9 December 2018

Developing the Backend

As we all know backend is one of the fundamental building blocks of modern mobile apps. It's the system and database that manage the apps.

Of course, the mobile app would cache or save a part of the data locally, but the back-end is managing the whole mobile app ecosystem so that the mobile could work normally as it should.

However, the challenge of developing the backend is also challenging as developing for the front-end. Back-end usually doesn't have to deal with the user experience per se. But it has to be played well with the front-end developer to make sure the functionality is getting covered.

Developing backend properly will start from the local machine. The local machine has to be set up with a proper back-end development environment. For example git, nodejs, PHP, MySQL, and MongoDB. Of course, we also need a good code editor such Visual Studio Code and Coda 2.

We use Sketch app to do the wireframing for the system flow so that the backend know what API call back should be created.

Backend usually consists of API, a system like cron-job and admin panel.

All of them are at first developed locally so it will not affect any running server if it is already there, that might cause some chaos if it's not ready for prime time. We use git to push files to the server seamlessly without copy and overwriting files to the server via FTP as it's not so efficient. And we back-up to some repository to back-up the files in the safer place other than our local computer.

The proper way to do is like this: local -> staging -> production (live) . Where we will stage first for testing before we go push for the real customer.

On the staging when the mobile app will also doing the staging testing before graduating for live app. As we usually heard sometime staging and production is similar but not the same. As there is also need to test the live server with caution too.

The key for developing backend it's just not to make sure it's functioning but also to maintaining for the next iteration without breaking the current running backend if the service already live and running.

The proper process needs to put in place to make sure the deployment and future integration can be done without having so much downtime. It's also important to have backups for the web app as well because there is a risk of one server failure and could wipe out all the data.

Ok, that is the glimpse of developing the backend in the overall view. It's quite challenging to make sure the service is up with decent reliability.