Thursday, 19 April 2018

State of Wordpress: Elemento

Hey guys,

As you might know, Wordpress is number one CMS in the world. Because of its popularity and openness, developers around the world keep contributing to the development of Wordpress.

Year-by-year we can see the de facto way of building Wordpress website.

I have a chance to learn how to build the Wordpress website from scratch ( or almost scratch with underscore theme ). It's definitely time-consuming and quite hard for non-coders. If you do it for someone you probably want to charge it.

Another way to build Wordpress website, besides buying templates, is using site builder with Wordpress plug-in. Before I kind-of-know SiteOrigin Page Builder, but now there is the new one and it's better, it's called Elementor.

Compared to SiteOrigin Page Builder, Elementor design the website on the actual website. Not in a form of boxes like SiteOrigin Page Builder does. Therefore, we can get the final result immediately without saving and preview it. It definitely saves user's precious times.

Elementor has a great flexibility, which we can play around with its constraint and CSS. We can be more creative by changing stuff that we know about CSS.

Even the Elementor has many great things, users need also be smart to plan their website too. Know overall feel of what they want on the website can help them to design and develop a website.

So, if you haven't tried yet the Elementor plug-in, I suggest you give a try.

I have made few pages updated with Elementor like and

Till then, happy coding.

Sunday, 15 April 2018

Wireframing - Process After Process Flow Diagram & User Case

Today I would like to write about things will happen after we completed the 'process flow' and 'user case'.

As a definition, 'process flow diagram' is diagrams that show how the process of the app from the start user open the app until the user successfully made a purchase. It shows in boxes but we detail out the flow and the detail inside the boxes. On the other hand, user case is where the flow of information from multiple stakeholders. By having those diagrams make it clearer what we should do with the apps.

And as part of the business make it clear that is what our client wants in black and white. We use a tool to make the process flow diagram and use case.


After those steps, we will enter the wireframing process. As the name suggests, it's like a wire and frame. It has many flavors of doing wireframing. We use an app called Sketch to do wireframing. It's quite a high-fidelity tool for doing wireframing. Yes, it's but, for the purpose of wireframing, we will less focus on colors and the final graphics.

What we will focus are:

- What kind of information we want to display
- How is the flow of the apps in holistic view
- Menu view.
- Type of data. Detail of data will be shown.
- Images
- Layout
- Structure
- and many more.

As the next step from the planning, we cement the visual element of the project so the client can see as roughly how the apps will look like and what the functionality it will have.

So that's is an introduction about wireframing. It's quite fun to do while it's quite essential and less painful because we don't have to think so much about the final design with colors and aesthetic details.


Monday, 2 April 2018

It's April 2018. New 2nd Quarter.

Hey guys,

We have passed 3rd month of the year, enter 2nd Quarter of 2018. Hope things are pretty exciting for you guys.

I am at Cyberjaya. Busy building stuff, self, and community here. I think Cyberjaya, with its name Cyber, has much potential in nurturing Information Technology community within the place.

On the day of the month of last month, I attended local startup and developer grand meetup called 'Startup Developer 2018'. It was held in BIT (typed as BI+) Space, in CBD Perdana, in Cyberjaya.

Usually, they had that kind of events in MaGIC, Cyberjaya, but this time the changed the place.

Well, what can I say, it's a very wonderful event. It started with a speech by Zepto Express CEO, about failing and succeeding as developer and entrepreneur. I recorded his speech so maybe I will someday upload it to YouTube. His speech remarkably has important messages to fellow other entrepreneurs. The problem he discussed were: how do we split shares in a company, how to raise money, how to start a company, should we work first or jump to entrepreneurship. And also congratulate on his 4th child on that day too.

Others speeches are technicals, you may use Google to go deep.

New, and on our horizon is blockchain, cryptocurrency, comes I think blockchain is cool, ICO is cool but the way their representative talk like kind of arrogant with their solution.

I meet some of 'data nerd' on Crypto. Discuss what's ICO all that stuff. And also about working life.

Look at people on a long term. A friend jump work to other places just want to work on other kinds of tech, however, his management changed mind. He has to work on new tech that is not the tech that my friend wanted to jump into.

Yeah, good breakfast and lunch. I think CBD Perdana is a good place to have an office there. Many restaurants around there.

So for me, I am still I am, I do iReka Soft as some people might know. I specialize in mobile software, I do majorly in iOS app development for App Store and I kind of like it. On the other hands, I also serve some clients for custom development services, which is I also like. This is especially I like to hear from people want kind of mobile apps that can help their life or business better. I might not do everything today, but it does make me thinking and want to figure out how can we deliver that kind of solution in the future.

Alright, folks, I burn the midnight oil do some study on Illustrator, watch some unheard Steve Jobs video when he was in NextStep, giving a speech at MIT. Many can learn from him, really. What he said is a reality today. Truly was a great visionary.

See you on next post.
Hijazi, @hijz
iReka Soft

Saturday, 24 March 2018

What I have learned with React Native in 1 Month

Hello again, so this post about what have I learned with React Native within 1 month.

1. I Always Thought RN is the Future but don't know How to Start. 

I am a long time iOS app developer. I studied iOS since I was in university, back then, I learned by myself, with book. I realized that the process was super slow. But I managed to published a simple quiz app on the App Store, then I work on a local company on pursue to develop more iOS apps and related technologies.

Fast forward, I learned stuff related like Laravel, Android, and UI/UX design with Sketch and Illustrator. I learn little Ionic, and now should I jump into React Native. With the help of community, I jumped in. It's was not easy when I learn it casually. I searched for the complete video tutorials. And write and listen to it completely.

I finally can grasp the essense of RN. It felt so good too.

Well another think is I think RN is good for client work. And to help people to develop apps for iOS and Android without developer too much hassle to maintain it.

2. Redux is Hard

The paradigm is different. With iOS I learn MVC, singleton, notifications, app delegate and so on.

With RN I got Redux. Not only that, there is redux-thunk, redux-persist, lodash. All that JavaScript libraries goodness.

3. Expo is Slow

I tried expo and not suitable with my workflow. Plus it's seems limited for any other library. And not customizable as it doesn't provide iOS projects.

4. Firebase First

Being a developer, and develop just RN can take so much time, so I decide to move fast with Firebase. It helps me to develop apps that need server faster. If the project is large, so then I should code with connecting with custom server.

5. React Navigation

This is the way to go for developing apps.

6. Native Base

I haven't touched so much on this, but to make app looks good enough, use this kind of libraries.

7. Icons Images 

I didn't notice that to put an local image can be so much pain. And using vector library you have to use link. React-native 'your libs' link. What it does is to add appropriate stuff into Xcode or Android Studio project to make it compatible.

8. JavaScript 

I have to jump into learning JavaScript more deeply especially to understand the nitty gritty about React Native itself with JavaScript. You know about state and props.

9. Yarn All away around

I just dismiss the npm for yarn. I found out using yarn better, and had no issue so far.

10. It's Not that Easy

To be working with something new and foreign. Things usually don't come right at first. It can be stressful, feeling not knowing so much. So having community support is good to get the motivation and keep moving.

11. Visual Studio Code Helps

Microsoft creates this cool editor called 'Code', which is an code editor that can add cool plugin that helps you write RN better and less pain and less stress. Try it to believe it.


I love the outcome of what I do with programming. I know it's hard to do with programming and all little words that one of my friends called it 'cacing' (worms). Haha, it's can be hurt or can inspire you that all the codes you make is not everyone can write. The ones that have brainpower can do. Actually it's hard to do coding when you are not well, when you are stressed. So the sanity is required to write code.

RN is pretty delicate and i urge to learn from master so that you can be less stressful and can do more with less time. Really, I am keep learning because I am just learn it for just 1 month only.


Hey guys,

Hijazi in the house, so today I have a thought about L in LUCK which is 'logistics'.

I learned about LUCK in a class with Azizan Osman in IMKK a few years ago.

Well, logistics is, your environment, your surrounding. And as for an indie entrepreneur or solopreneur, to be on your self can be very hard. Surely can, but for the long run it will be tiring and will tear your motivation. In that case, we have to be in the right surroundings, good groupings. We have to choose wisely.

I love to be an entrepreneur, I love to make my own decision, to live how do I want. I am able to navigate the journey I think can give impact to myself.

I create apps, many ideas come from myself or others to solve my own problems, and I enjoy the creation of creating ones.

On my position of being a developer, iOS, it's not good enough to stay in a silo. That's why being in a company is good too, you are surrounded by like-minded people. Well if you are solopreneur, chances you will work alone, with less human interaction, I heard this from Twitter. This guy said it's kind of depression with all work and no interaction, true story. I am lucky enough to have family that I always can talk and play with (my daughter).

But in work sense, being professional can be sometimes really boring especially when you are alone. Business is about helping others. So to be relevant, and keep relevant, I ongoing to join like-minded people of having interest in this technologies. iOS, Android, UI/UX, Laravel and React Native.

Previously I joined MY CocoaHeads community, it's an awesome iOS developer community. Usually held in KL area. I joined when it's usually held in Mindvalley, Bangsar. It's so important to mingle with local developers because they share things that happen in their companies. I am not in any company so you can't tell how valuable this kind of sharing right.

Life keeps going, and eventually, in Cyberjaya, there is also tech community called DevCon. Here is more diversified, there is a long list of techs enthusiast here. Mobile development is one of them. DevCon organized 3 big events so far, I had the chance to taught iOS app development. But recently, the number of iOS participant has been declining. Hmm, why iOS developer not so many? In the business sense, this is not even a good thing right. So I ask latest cross-platform React Native solution to take lead.

The result was the receptions was better than iOS, but on the other side Android reception as usual super large as usual. Next time around, no more Android but React Native for iOS and Android.

I will take lead for that. I actually seriously learn React Native for about a month now. The paradigm of real native and React Native is different. I take some time to understand it. I still need to refer to previously written project to write a new one. Especially on Redux topic.

I will write what I have learned during 1 month of learning React Native. And will present on next meetup.

Alrite, for summary, L, logistics is the key element to drive your self forward towards living your dream. You cannot live in a silo, find good people, find good community to join, be participative and live well.

Alrite, that from me. See you on next post on what I learn with React Native.

Thursday, 8 March 2018

User Journey Diagram & Use Case Flow

Hello gang,

This is Hijazi. I will write on user journey diagram and the use case diagram.

On app or system development industry. Development skill is important to make sure that we can make things materialized or workable. Not just on paper. But now we have to put our capabilities on paper. We know we can do it, but we have to step backward to oversee what we will make.

By planning ahead we can see the birds-eye-view of how everything working together. We can plan what classes that we need before we go into UI details.

Another thing is the use case diagram. We cover the most important aspect of the software when it's used with multiple roles. This will show what's each role will do, what system will keep and what it will notify another parties and so on.

From that, we can list down what kind of technologies we will use on this project.

OK guys. If you ever have question shout out at twitter @hijz alrite. I will continue to write next time.


Sunday, 4 March 2018

ReactNative II

Hey guys,

It's me again Hijazi from iReka.

I would like to further talking about React Native. I have been studying since last 2 weeks in-depth.

ReactNative (RN) is pretty damn different paradigm than developing with native development with Xcode or Android Studio.

RN is based on ReactJS, a JavaScript library for web development, open sourced by Facebook.

RN was open sourced in 2015, at first only iOS, then support Android later that year.

The development wise is pretty hacky, have many gotchas, inconsistence, some devs I heard fed up with it. It's pretty immature in some case.

Yet on the positive side, it's pretty cool and awesome tech that can support both iOS and Android with same code base. Of course with little modification for each platforms.

So, it's not straight forward, the resource is not many, and can be confusing.

There are ways to make the app proper with some libraries like react-navigation, react-native-router-flux and also react-redux.

Redux concept is quite new for me. Hmm. How to say. It's a state management throughout the app. It has store, actions, reducers and states.

Let me give a little brief about redux. One app has a store which is an overall container of the engine. There are reducers with action's type and payload. Reducers has the functions return the result. There is action for prepare to sending to reducers, it store the action and payloads. Store will 'dispatch' the action into the reducer to generate new 'state'.

Well, Redux is kind of different way of thinking the flow inside app. And using Redux, is make the app one directional. It's actually easy understand when doing. Just read the stuff might does not make sense so much.

OK, hopefully i can do some screencasting on how redux or RN works. But for now I will learn more about RN through out this year.

Till, then. Take Care.

Saturday, 24 February 2018


Hey guys.. I am back again, so recently I learnt thoroughly about ReactNative in-depth.

I think eventhough it's look hacky but it's pretty awesome tool to develop apps crossplatform.

In order to use React Native properly we have to know some cruicial dependancies libraries to make the app more proper or funcitonal like common apps out there.

In short, I like it. Mostly because of one code base we can deploy on iOS and Android platform.

But to master it, debug it, it has steep learning curve. No proper tools available yet. Need command line to run it. But hey, that what web development looks like. So for web developer who like to jump-in to app development, maybe you may find it's familiar.

On the other hand, with React or other tools, it's easy to make sloppy app, but having a great one is a hurdle and hard.

OK, if you like to know more about React Native please let me know, if I can talk more or make a screencast.

Till then,

Tuesday, 13 February 2018


Hey guys, or just myself, or future's self, or any software developer like me.

So I went indie since 2013. I quit from a local software development company which I had been working for almost 3 years since 2010. I worked one month after I got back from Tokyo University of Technology in Computer Science. You get the math. By the way, I made app called 'Calc Drill' before I enter the company. So I learned iOS (iPhone OS) since year 4 in the university. I think I made so little progress by learning by myself back-then. Yet still have some progress, like having the 'Calc Drill' app.

I would say that during my work at the company I learnt a lot man. There are geniuses behind the company. It's only you to seek out and ask questions.

I think by having a client, it's really pushed the team to work your ass off. It can be from scale 4 to 10. Sometime it's easy, sometime it's so headache and can hurt you. But you gotta still do it.

But, however, when you are indie, like me, you may divide your work to i. your own product and ii. servicing.

i, your own product, which something that it's up to you to do it, it's your execution, your idea, or emulate someone's idea, your advantage, your liabilities to make it hot, your assets, your time and so on. It's your craft, your baby, it's special. You shall care about it. You learn from it. You make it proper business, which give you financial benefit for you to sustain. Get feedback from your customer, and try to improve your products better.

ii. you work for someone else on your expertise to gain financial benefit. And personal growth and satisfaction, being respected of your work. Follow the stakeholders lead to solve their problems. Sometime they are blurry with software, you need to advise them yea. It give some synergy to work, working with team make your keep update with latest technology trends.

I would like to do some pro and cons, but maybe next time. It would be a long discussion. But in summary, it's important to have both, but you decide what it's the ratio. Like now maybe I am with i:70% ii:30%.

It's been a wonderful journey, and I would say that this is possible because of the audience, app users, iPhone users, Apple Watch users who interested with my or our products. People love the product, use it, having benefit from it, and we provide premium as business model. We help people with their device.

I will keep make new things, I have desire to be more, I must to achieve more. Apple users are like a billion worldwide, which is, 1_000_000_000_000. Good iPhone users maybe like 50 millions. Shall I make your day better guys with my products. Yeah, I will work ass off for that.

ps: May be I should write in Japanese sometime. (時々日本語で書きたいなと思います)

iReka Soft

Wednesday, 7 February 2018

MY PrayerTimes App for iOS, watchOS and tvOS

Alhamdulillah, I have released MY PrayerTimes app for iOS, watchOS and tvOS.

It's has some good feedback from family and friends when I shared it on my social network. It's quite heartwarming.

Overall the app is simple yet, has a crucial functionality which is can stay offline and the widget can be used all year around without having to sync with main app.

Now, because some other friend has done things like this, they asked how do I implement to get the data. My answer is to crawl the JAKIM website and export it as CSV file then loaded into the app.

And we have some trouble with the data. It's not consistent. And some are missing. By having the CSV files, I do again checked all the data to see the coherency of the data. Since it's format that is not UNIX type I can discern any oddities.

Other thing to use is the spare iPhone to manipulate the time. It's crucial to check on that particular date and time in the future to test the code is it right or not.

Recent problem after I released the app, I realize the some Zohor time can have 11:XX am time. So it's like a hybrid mode. For this, I made a special checking for Zohor if it's hour is 11 then I don't plus 12 hour. As normal, this app assume the data, is in 12hr, if not it will fix from 24hr to 12hr upon putting into the memory.

Also for tvOS I have change the background highlight color so it will be more visible on current time.

OK thanks for writing this. See you on the next post.

Tuesday, 6 February 2018

Feb Updates, Nightstand, FaceClock Calendar and New MY PrayerTimes App

Hey, let revisit what happening to the world of iReka Soft with App Store. Currently on Apple App Store.

I have updated Nightstand app, it was due 2 years since it's first released. It some so-so in-app purchase, so why not to update it for iPhone X, and importantly to upgrade the mechanism for the alarm. I used UserNotification framework which released for iOS 10, to replace the old mechanism of sending local notifications. I think that is loads of codes to support the app as a alarm clock.

It's because the old API lacks of knowing what are the pending notifications and how to handle it properly. And it's a struggle to write for it, it took longest time to code and test. But still I made mistake / bugs on that. It was not working well, as I heard from reviews.

Another thing is the FaceClock Calendar. It's especially for iPhone X. iPhone X has new aspect ratio, and the app has a grid system that detect the aspect ratio and will arrange according to a specific rules. Well, when I boot up the app for natively run iPhone X, the clocks and calendar did not appear because there is not stated rules for 4x8 or 8x4 grid. Well I have to added it to make them reappear. Well, that was the story of FC Calendar. I think it's a pretty cool app. But the settings menu is quite boring.

And, and another exciting thing for this month is, I submitted a new app for the App Store. It's call codename 'My Waktu Solat'. It's a prayer time for Malaysia from locations that available from JAKIM. I think maybe this is the first app that I wish to produce for mobile. So it was so long delay, with technical constraint and also soul constraints. I maybe don't have clue how to finish the app. Recently I just had a call on how to have a final look.

This is what the problem, I was not sure how to do the final UI. I can play around with UI but did not realize how to finalize it. Since it's a personal project, I may delay it as soon I get the call. So finally I seems to get the call to finish it. And today I submitted to the App Store. Just wait few days to get approved.

I want to talk bit more about 'My Waktu Solat', the final name will be different, but similar. I make it works on iOS for iPhone and iPad, it also has Today Widget which is cool. On top of that it support Apple Watch. And additionally it has Apple TV app. So by far this is most complete suite of apps for Apple for this title. Even-though the app is simple but wide in term of devices.

OK lets wait for few days to get notified whether the app get approve or not.

Peace out.

Tuesday, 30 January 2018

Engineering Difficulties

Hey. It's me Hijazi, from iReka Soft. I just want to write something when I do project, I often face difficulties in software development. And, it's stressful, time consuming, blurred, some dizzyness and sometime become negative like giving up.

I actually face some here, I am updating the 'Nightstand' app. I think I published 2 years ago, but I decide to update for iPhone X, and update with recent API, which is UserNotifications. I wanted to replace the old implementation to the recent API as it's more flexible and predictable.

Back to the title, I am facing difficulties, well I am not want to tell what about is it, but how do I gonna handle it.

I will take more time on those problems. Research it, testing it, write code just for testing this and that to make it work as expected.

If I have difficulties when I with a team, it's quite hard when you being requested for another thing, changing stuff. Well, on this particular time, things can be more stressful, because you are in the time to fix stuff that are not working properly, and being asked to do more other thing, well, this is a disguise cost, if it does not complex at first but quite complex on implementation. It can be trap sometime. So be careful guys.

OK, so I am gonna be debugging this app while enjoying watching YouTube.


Monday, 1 January 2018

Welcome 2018!

Hello 2018. Well we have just entered a brand new year - 2018. And it's just like what we have expected, in about 12 months coming we will enter 2019 :)

As business person, it's important to reflect and set better goal for this year and of course to target for more, not to resting our laurels. Like bicycle we cannot stop to cycle otherwise it will fall.

Firstly, I am really grateful with what I have right now. Family, businesses, friends, assets, knowledge, skills, health, mind, network and many other little things.

Next it is to propel the works and make it valuable. Because I am in the international / global business, I am aware that the players and competitor are around the world. It's super competitive business and definitely not going to be easy. People are not in this area are kind of not understand, how as businessman has to withstand the challenge.

Despite all the challenge, we, I still have fun, balancing the hard work with enjoyment, relaxation while doing good work.

# A Lifestyle Device 

Well this is not an overstatement but as a reminder for me that the smartphone is something that people own it to improve their lifestyle in essence.

Smartphone basically trumps normal laptops in sales. Smartphone especially from Apple are quite expensive. And when people bought a 'expensive' smartphone, they will think many times to buy a laptop. Many people will happy just only using smartphone. Well it's a market for normal user want to have more with their smartphone.

# Trends. Character. Maturity of the Mobile Software

Mobile software is super big. In term of usability, features, share-bility, user experience, in general it's getting better and better. Big companies jump in, indies also come in, me included, into bringing best apps to the market.

Trends on software nowadays is providing software as service - or SaaS. Simply put as a subsciption to your software by monthly or yearly. On app store perspective here i can say, well i make an app that i sell out outright for $1 forever, I can make more money by charging $1 / year. So I make more money every year people are keep subscribing on it. However to create a software that people willing to subscribe is a challenge. There is a way to do that.

Another thing to mention is characteristic of the app. Some app can be funny or have animal-related theme like Bear or Yak. I am not sure why but it seems to easier to pick up by Apple. I can do some experiment on that as well. Fire-up some illustrator.

# Motivation

Motivation is motive + action. This part it's bit scary but we will through it somehow.

OK, now just let expect 2018 to be a great year. Here now I am still Apple huge customer. I bought many last year latest products. And this year Apple definitely launch yet new products like new iPhone, iPad, Macbook, Apple Watch etc. It's a testament that they are keep improving even-though we thought their products already the best. They keep do the RND and produce even better product. For me it's something that I am learning from them and I do that.

OK, have a awesome year of 2018, I love you all, keep smiling :)

State of Wordpress: Elemento

Hey guys, As you might know, Wordpress is number one CMS in the world. Because of its popularity and openness, developers around the world...