Tuesday, 17 July 2018

Wireframing

I cannot stress enough that for client project wireframing is important.

If don't have let's make it have it.

Because we will better to iterate the design before get into app.

Well for me we can oversee the problem and how the usability of the app.

It's okay to delay, and make the wireframe as clear as possible. Make like real app, have different states, condition, show every posible situation that the app can face.

It's better to change now than we have to fuss with the technical when getting into the production.

And most importantly we know that what we will build later on is the right thing.

We don't want to iterate much on the development, because it will cause stress and confusion, and take more time, and sometime anger.

Yeah, design it, wireframe it, know what do you want, and you should want the right thing.

Alright see you next time.

FaceClock Analogue / Pro Support iPhone X

Hey guys,

I think it's worth mentioning that FaceClock Analogue / Pro app now support iPhone X, and also render natively on all iOS devices.

It's quite important because prior to this the app only scale up from iPhone 5 resolution to accomodate iPhone 6 and iPhone 6 Plus. Well, iPhone 6 and 6 Plus was launched in 2014, and supposedly we should update it support natively, but we didn't because as clock utility app, we want to make the clock as large as possible. If we make it native resolution the clock will become small as default.

We of course can work around to make it scale up and what's not. Well the time is now, we do just that, and of course to support beautiful iPhone X screen, to make it full height. We gotta embrace it.

And it's quite stunning, and with the all iPhone in the future will become like iPhone X, it's quite right to do now.

Yeah, feel good about the app. And it's written in Objective-C for strong 8 years since the app inception.

People will always use clock right, and it's evergreen and powerful.

Try your self with FaceClock app.

Later.

Tuesday, 10 July 2018

It's 10 July, 10 Years of App Store

Hey guys, it's 10th of July today,

I am been working on my own project, step-up from FaceClock apps, still in utilitarian for iPhone app.

And it's also marked recently the birth of App Store for 10th years.

A decade of super successful Apple App Store. It doesn't show any sign of slowing down but getting a speed up with many new and updated quality apps on the store.

The market for the App Store is huge, billions of dollars. But the competition is fierce too. Mostly dominated by games category. Games category is pretty hard to get top of it, usually being conquered by rich developers that can pour big money into marketing.

Other than games segment, normal apps. It's actually ever changing. Some countries have seen the fluctuation of downloads while others have seen still looking for the best apps before they settle.

And for the development side for me, it's very different from 10 years ago. I get started well 9 years ago in 2009 when I have access to Mac at Ikuno Lab ( my university research lab name in Tokyo University of Technology ). However, for me, the language was really foreign. Objective-C from PHP or C is completely different. Hard to pick up language. And the framework is something completely different from web development with PHP that I was accustomed to before.

Not so much reference back than other that some blogs and ebook that can be downloaded.

I think the development back then was complicated and hard. But I kept learning bit-by-bit.

Nowadays, the development tools and new language Swift make it bit less painful. Although Swift keeps changing every year.

And importantly in recent years, there are more open source project and CocoaPods that helps a lot with iOS development. I think it's a boost in iOS development to make it faster and better.

On the top of that, business, they are more business model we can apply for App Store, like recent years can use the subscription for many types of apps.

Alright, that's all for me for today, I continue to develop this app. Hopefully to get into the App Store soon.

Regards,
Hijazi









Sunday, 1 July 2018

Hello July

Well it's July 2018, and it's officially the 2nd Half of 2018, and the 3rd quarter of 2018.

How were your last quarter and half doing?

So I personally think this year was a bit hard since I started learning new technologies such as React Native and Unity. And I think when you are new it's hard to get an industry-grade job. But rather to start with simple and small-scale jobs.

To get into industry-grade jobs, you may need to polish your skills until you get the mastery of able of doing much-unexcepted work that has been asked by clients.

In the other hands, I also learn self-development and business from various sources such as YouTube Channel by Dan Lok, he is very brutal in talking but straight to the point.

Afterall, I love using Sketch for designing, and love design user interface. I keep looking on Dribble or Pinterest to get more inspiration on user interface design.

I also will focus more into iOS development with more depth, I think iOS development is more competitive but also I have to be more creative to capture more attention for my apps.

OK, OK see you on the next post. Bye bye.

Tuesday, 12 June 2018

Hello June

Hey, it's already

And it's month of QS's 3-year-old birthday. How fast time goes, and she is an awesome kiddo. Many Japanese language words she can speak now, of course with Malay and English as well.

Alright, as many know this month is the month for Apple's WWDC. I was held on 4-8 of June and I think it was pretty awesome. I see the live videos as well as recorded videos with WWDC apps on iOS and also WWDC desktop app.

Many of this can learn from WWDC, either for designing, planning or developing.

I am also in the midst of finishing a Sketch design for wireframe. And I think it's becoming harder now as the system is now what I am familiar with and need some extended research to complete it hopefully I can be more focused to finished it.

On iOS 12, no new design was introduced, more into OS refinement and more humanity. Cool features for iPhone X, especially #memoji.

macOS, will have dark mode. And the other cool thing for macOS, soon developer be able to write apps based on iOS apps. Technically we can use UIKit to build macOS app, which we can share with iOS app.

That is it for now, see you later.



Tuesday, 29 May 2018

AR Training

Hello guys,

So I recently join an workshop with my fellow friends at Arleta as a instructor for AR app development with Unity and Vuforia.

I have experience doing Unity with Vuforia to test out the Augmented Reality. I have deployed on my iPhone as well to test it out on device and work out wonderfully.

However the challenge was, I didn't have a modules at first, but with the help from previous Arleta team member, there was an old module that teach Frog Lifecycle. So base on that, I take the idea from Jigspace as an Augmented Reality platform for learning. What it's shine is using AR to conveying educational contents one-by-one by pressing next button.

Fast forward, the team and I did it. We had taught what it should to be taught in 2 days. And after that students have to build their own content and present. And the presentations by students were not bad at all. Many can use the core concept of AR. Moreover, there is excellent students who make use that with more solid AR idea, using 2D plan, and using AR to make it to 3D plan. How cool is that.

Yeah, I am satisfied with the modules we created. But it's specially created for educators and not neccessarily can code.

So maybe next time I can teach you how to make AR app with Unity and Vuforia.

Regards,
Hijazi

Tuesday, 15 May 2018

PRU14, QS and AR

Salam guys,

So hari ni saya nak tulis in BM, Bahasa Melayu. Semperna PRU14 ni, rakyat Malaysia, umumnya, amat bergembira dengan pembaharuan Malaysia #MalaysiaBaru. Ya, tuan-tuan, kita sememangnya amat bertuah di bumi bertuah ini tetapi jika ditadbir oleh orang lebih berwibawa pastinya lebih bertuah tanah tumpah darah kita ini. Betul ke betul?

Marilah kita berganding bahu untuk mebina diri, keluarga, bangsa, agama dan neraga yang lebih gemilang, cermerlang dan terbilang. Kita sama-sama mainkan peranan dengan apa kelebihan yang kita miliki. Kita semua ada kelebihan masing-masing, asah ia, jadikan ia sebagai satu kekuatan dan seterusnya menjadi unfair advantage kita untuk menempuh masa-masa sekarang dan akan datang. Kalau belum jumpa lagi tu, cari lagi bro.

QS, sedar tak sedar dah nak masuk 3 tahun, QS tu nama singkatan anak saya. Dan kebetulan juga saya ada iReka Soft Enterprise pun dah masuk 3 tahun bulan ini. Pergh, sedar tak sedar kan, tapi perjalan ia amat menyeronokan, walaupun ada yang kurang best, tapi best lagi banyak dan saya amat bersyukur. Terima kasih semua.

QS, ni nampaknya dah pandai bersembang-sembang, umur nak masuk 3 tahun kan, pandai sebut pelbagai jenis perkataan, ada Melayu, ada English ada juga bahasa Jepun, tak lupa juga pandai baca doa dalam bahasa Arab. Kiranya multi-lingual juga dia. Hebat-hebat. Sebutan perkataan yang disebutkan makin lama makin jelas. Dan, pada umur lebih kurang ini juga dia sememangnya waktu 'membelajar' perkataan baru, dan banyak bertanya-tanya 'itu apa', 'apa tu', 'what is that?', sebagai parent kita lah yang banyak sebut perkataan-perkataan baru dan ajar dia. 'Oooo <perkataan baru tu>...'.. :) Memang best lah kan kalau kita ajar anak kita macam-macam dan dia pick-up. Macam saya banyakan cakap perkataan baru dalam bahasa Jepun, dan disebut ulang-ulang. Lama-lama dia boleh ingat. Mungkin awalnya dia 'blur' apa maksudnya, tapi bila diulang-ulang pada sesuatu konteks, budak akan memahami dari masa ke semasa.

Itu lah dia kisah QS, dalam ReactNative pun ada QS ni, tapi maksud dia 'query string'. Maksud lain pun ada juga 'quality control'.

Alrite, lets go to another topic, AR. AR ni saya ada belajar course ARKit, tapi sekarang ni tak da satu pun app AR yang nak di publishkan, dah belajar dah pun tapi kurang idea untuk dipublishkan. Devices pun ada, tapi rezeki untuk buat benda ni belum ada. On the other hands, ada rakan saya yang berjuang-juangan nak buat AR, nak buat tools untuk orang ramai publish AR. Pening kepala dia, tapi tu lah benda-benda baru ni susah untuk dibangunkan sendiri.

Jadi sebagai orang yang agak suka belajar benda baru ni mungkin nak medalami sedikit sebanyak tentang dunia Unity dengan teknologi AR. Mungkin ada hasilnyakan.

Teknologi ReactNative telah dipelajari 2 bulan nak masuk 3 bulan, walaupun pada awalnya agak stress sedikit tapi dengan bantuan 'logistic' kita, saya dapat tunjuk ajar dari rakan-rakan lain. Juga, sebagai rasa untuk menyumbangkan tenaga untuk mengajar orang-orang disekeliling kita tentang ReactNative juga.

Kalau berminat boleh join meet-up kami di MaGIC, Cyberjaya.

Monday, 7 May 2018

Why Business Owner to Make Mobile Apps

Hello everyone, it's already May in 2018, hopefully, you enjoy your time.

Today, I would like to share something about trending in our society. We are living in the smartphone generation believe it or not. Now everyone has one, or more maybe, but people are very sticking with their smartphones. Well in that sense we understand that how much important smartphone plays roles in our life.

Because of that, as a business owner, don't you think that mostly your customers are like them. Yes, it's.  With the right UIUX for your smartphone apps, making apps for your customer is a crucial path to succeed in having a mobile app. Not every app are created equal, the one with the best ingredient will win.

Let we zoom out a little bit, smartphone users are categorized into iOS and Android territories. About 84% of Android and 14% are on iOS in the world. iOS is powering the iPhones are the high-end segments, because the price of iPhone is relatively high. Especially the super high-end iPhone X, it's cost more than RM5000 a piece. And the other side, Android, also has the high-end segment, but it also sells mid and low-end segment. The cheapest one maybe you can get for RM300.

We understand that the duopoly of iOS and Android has segmented customer but both are important segments.

Now, why, and how it differs from another digital medium like a website and social media. We will go one by one.

When a customer Google something on the internet, and they find a website that is a quality customer. It's good because it's there because when they want to find them. However it's still lacking giving the latest information when they want to, and a customer will have a little issue to open the website easily.

Social media, it's the place where people want to pull more followers. It's a great place to obtain new customers. People usually will post great contents and sometimes pay for an advert. Well, that's good, you will engaging users and customers from social media. But when the followers are more than 50,000, owners have another issue where their reach is only about 3% of overall followers. Therefore, their messages to the customers sometimes not reached as intended. Well, this is the time the social make money by requiring owners to pay for more reach. At the same time, reportedly, customers from social media are needing more attention, thus as a customer, the quality is lower and leads to lower sales.

Okay, now we are into mobile apps. Really why?

First of all, mobile apps are fore loyal customers. Raving fan. They are waiting for your contents. This is the place we want to gather fans. Therefore owner can do more engagement with their raving fans. Compared to social media, the cost is more effective and possibly can increase the number of sales because of the better quality of customers.

Now apps are pretty powerful, why it is?

1. TREND: nowadays like stated before, we can not live without the smartphone, we are dying to connect on Whatsapp, Facebook and etc. We understand those apps are super-good, by making a super good app can also attract user into using other business apps that have the right ingredient for engaging customers.

Push notifications can help to reach your potential customers. The cost of push notification is almost zero, for those who subscribe for push notification. You may send unlimited push notifications for your raving customer, so they will never be missed your next content.

2. BRANDING: why not having your brand into your customer smartphone, they will remember you and will use you a lot when they find the app is easy to use, make their life easier, effective, fast, less buggy and works wonderfully.

3. SYSTEMIZE: you will have more system into your business. From online purchasing, events management, bookings etc. Everything is more systemize with mobile apps, the customer can sign-up we can make a profile of customers, the business owner can have more insights about their customers.

Alright, that are the key points why a business owner should have mobile apps. It's definitely not for all, but if you are in business growing category, definitely the quality mobile apps developer can help you to grow your business with the right mobile apps strategy.

And at iReka Soft we are striving to build quality apps, and more versatile, cross-platform with latest technologies like React Native so that the mobile apps maintainance can be lessen but the quality is great.

Thanks for reading and will see you on the next post.

Bye







Sunday, 29 April 2018

DevCon 4 : ReactNative

Hello readers,

Yesterday, 28 April 2018, iReka Soft has taught Beginning React Native Development with Expo to around 80 people at MaGIC.

I was a tremendous experience to such of crowds. Previously, I taught iOS development classes, 2 classes, it were about 10 and below participant. Now, I had 80 something and using Maker Lab to occupy such bigger audience.

The content for the React Native development is suitable for many ranges of people. What they have to do is to bring their own laptop and mobile phones. They just need to install specified software then they are ready to go for development.

It's quite a good experience to teach for such crowd and also the success rate it's about more than 70% percent be able to run the program.

Thanks to DevCon and associates, MaGIC for the venue. And it was a free class. So it's a fun and free way to give back to the community.

Regards,
Hijazi

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 irekasoft.com/expense and irekasoft.com/faceclock-pro.

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 draw.io to make the process flow diagram and use case.

WIREFRAMING

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.

Regards,
Hijazi







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 Coin.me. 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.

Conclusion.

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.





L in LUCK

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.

Cheerios.




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





Saturday, 24 February 2018

ReactNative

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,
Hijazi


Tuesday, 13 February 2018

Indie

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. (時々日本語で書きたいなと思います)

Hijazi,
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.

Regards,
Hijazi

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 :)


Wireframing

I cannot stress enough that for client project wireframing is important. If don't have let's make it have it. Because we will be...