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.


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. Develo...