Tuesday, 14 June 2016

Rangkuman Keynote WWDC16





WWDC 2016 telah memperlihatkan versi terkini kepada 4 platform yang tersedia dari Apple; watchOS, tvOS, macOS dan iOS.

Di mulakan dengan watchOS, Apple mempercepatkan masa melancarkan aplikasi dalam peranti boleh pakai mereka. Selain itu, terdapat beberapa tema jam yang baru. Juga aplikasi terbaru 'Breathe' untuk membantu orang bernafas dengan lebih dalam. Juga pengoptimasi kepada pengguna berkerusi roda. Juga ada fungsi SOS jika ada kecemasan boleh aktifkan fungsi tersebut.

Kemudian, tvOS, sistem operasi bagi Apple TV, apa yang baharu adalah sokongan Siri kepada pembangun pihak ketiga. Dan juga 'single-sign on' untuk TV network, masih belum diadapt oleh provider tempatan.

OS X, kini dikenali sebagai macOS, pada tahun ini di beri nama timangan Sierra. Apa yang baharu adalah Siri untuk Mac, anda boleh tanya pelbagai perkara kepada komputer Mac anda, dan jawapan persoalan tersebut boleh didrag-drop kepada dokument yang sedang anda kerjakan.

Platform yang terakhir, iOS, platform yang paling banyak diperbaharui. Dimulakan dengan 'pengalaman pengguna', lock-screen, notifiction center, dan action-control kini berwajah baru, banyak mengoptimizekan penggunaan 3D touch.






Apple juga dilihat menambahbaikan dari segi pengalaman untuk app Photos. Kini gambar yang ditangkap akan dianalisa dengan pengecaman wajah, scene dan objek. Lebih menarik terdapat fitur 'Memories' yang menggunakan teknologi visi komputer untuk menyatukan detik-detik menarik kepada satu movie-clip yang anda boleh kongsikan dengan keluarga dan rakan.

Ada beberapa perkara lagi yang diupdate dalam apps Maps dan iMessage, juga app terbaru Home. Sebab saya jarang saya gunakan saya skip part tersebut. Anda boleh mengetahui lebih lanjut dalam website Apple.



Untuk para pembangun aplikasi iOS, pelbagai API baru yang diperkenalkan seperti integrasi dengan Siri, HomeKit, iMessage, maps extension dan pelbagai lagi.

Di akhir segment keynote WWDC 16, Tim Cook memperkenalkan sebuah app yang berbentuk pelajaran pengaturcaraan yang di namakan Swift Playground untuk iPad. Ia digambarkan sebagai untuk melahirkan 'the next generation of developers'.



App yang terbaik diperlihatkan dalam WWDC ini saya kira. Anda boleh belajar koding Swift dengan gembiranya dengan menggunakan iPad. Ia ditunjukan boleh belajar konsep asas dalam pengaturcaraan, tersedia dengan modul pembelajaran yang menarik.


Pembelajaran direka tanpa memerlukan pelajar menaip kod, tetapi boleh drag-and-drop dari pilihan yang disediakan untuk menyelesaikan tugasan. Ia mirip Scratch dan App Inventor.



Untuk pengguna yang sudah mahir, boleh juga menulis kod untuk Swift Playground ini dengan menggunakan keyboard iPad yang dioptimisasi untuk pengaturcaraan.




Diperlihatkan juga, app yang lebih kompleks yang boleh di jalankan menggunakan aplikasi tersebut. Dalam kes ini adalah Physics Emoji.

Apa yang menarik tentang app seperti ini adalah ia dapat menggalakan kanak-kanak bukan sahaja dapat bermain game dengan iPad tetapi juga belajar sedikit sebanyak bagaimana hendak membangunkan game. Ia memupuk minat sedikit sebanyak untuk belajar pengaturcaraan di mana masa depan banyak kerja-kerja akan di'automate'kan dengan kuasa coding.

Sekian dulu rangkuman ringkas WWDC16. Banyak lagi perkara lain yang boleh diulas lanjut, tapi app Swift Playground for iPad adalah satu yang menarik perhatian, dan ia mungkin app yang sangat penting untuk pendidikan IT, dan sains komputer.

** Sumber dari Apple WWDC 2016 keynote 'live stream' pada awal pagi 1:00 am, 14 Jun 2016 (waktu Malaysia).  **

Saturday, 11 June 2016

How to become a Good Programmer ?

A good programmer is not a word that can find its definition in the dictionary. Good programming skills are essential to success and in discovering the joys of programming. As seen with many successful programmers over the past, here are some points that can be followed by those who are in pursuit of a successful career in programming.

1. Work on Basics

As it is true for any industry and any job, the conceptual understanding is the key to success. Unless one has a strong conceptual foundation, he/she can never be a good programmer. The core conceptual understanding helps you in designing and implementing the best solutions in the best possible way. If still you feel a gap in core computer science and your programming language specific concepts, it’s never too late to go back and review the basics.


2. You learn more by helping others
Most of us have a common tendency of turning our heads towards forums or groups only when we need help. And again a clear separation between the good programmer and rest that the former’s visit these places more often to help others. This makes them learn more then they learn to get their problem solved by someone else. Within a team as well, help others to solve their problems. Believe me, understanding others’ problem in their context, investigating on that and providing solutions; will leave you much more learned than before.


3. Write simple, understandable but logical code
As in almost every aspect of life, the formula of ‘Keep it simple and short’ works in programming as well. Write more logical code and avoid complexity. Sometimes people do write complex code just to prove their capability to write such codes. My experience says that simple but logical codes always works well, resulted in fewer issues and are more extendable. I remember an excellent quote
4. Spend more time in analyzing the problem, you’ll need less time to fix it
Spend more time in understanding and analyzing the problem and designing solutions for it. You will find the rest of the things quite easily doable. Designing not always mean using modeling languages and tools, it can be as simple as looking at the sky and thinking the solution in your mind. Those who have habits of pressing keyboard (for coding) the moment get the problem, usually ended us something different than the requirement.
5. Be the first to analyze and review your code
Although a bit difficult, but try to break your own code before others can and with the time you will learn to write close-to-bug-free code. Always do a close and unbiased review of your code. Also never hesitate to take others view on your code. Working with good programmers and taking their feedbacks will surely help you become a good programmer.
6. Don’t dismay yourself by looking at changing technology world
Over these periods in IT industry, I met with many people who are either disappointed by their work or even left it to search new job saying they want to learn and work in latest technologies. I don’t see any problem with this aspiration but the very first incorrect word is the ‘latest technologies’. What we are hearing every day and mean here is new tools, APIs, frameworks and others means coming up everyday to make the programming easier and quicker.
This anyway will continue in the technology world. But what needs to be understood is that the core and basic technologies change with much lesser pace than frameworks, tools and APIs around it.
This is like the sea where the surface water moves very rapidly but the deep water is relatively calm and concentrated and most of the aqua lives survive here. So, feel yourself in that deep water and close to core technologies. For e. g. in Java enterprise world, lots of web frameworks exist and new ones coming every other week. But the core concepts of request based client-server communication, MVS pattern, filters/servlets/JSP, resource bundling, XML parsing etc remains same.

So spend more time in learning these core concepts rather than worrying about ever changing frameworks and tools around it. Believe me, with the foundation of core concepts, you will always find easier to learn new frameworks, tools, and APIs.
7. Don’t work for longer time
Many times software programmers implement work around solutions (may be because of lack of time, lack of problem understanding or lack of technology experience). But over the period these work around solutions always resulted in corrupting the code, making it less extendible and maintainable and a lot of wastage of time later on. Always prefer to implement when you know the in-out of the solution. I understand that it becomes unavoidable in some circumstances, but it’s like, one should speak the truth always but you tell lie in some circumstances.
8. Read documentation
One of the essential habits of a good programmer is that they read lots of documentation. May it be specifications, JSR, API documents, tutorials etc. Reading documents helps you creating that essential foundation based on which you program in best of the way.
9. Learn from others code as well
I interacted with some excellent programmers who actually have Java source project inside their IDE all the time and read/refer that in daily work. They do it not only to fulfill their appetite of knowing the basics but also to learn ways of writing good programs. Reading and referring reliable and known open source code or your senior’s code, can also help you making your programming better.
Your comparison of yourself with others will only result in the evolution of negative feelings and un-healthy competition. Everyone has got his or her strengths and weaknesses. It is more important that we understand ours and work on it. I have seen many times that so called ‘fundoo-programmers’ (fundamentally strong programmer) also make silly mistakes. So, analyze yourself, list down your areas of improvement and work on it. Programming is a real fun, enjoy it.

Source: TechNotification.



Friday, 10 June 2016

Teknologi Digital sebagai Saluran Pemasaran


Dewasa ini, teknologi digital bukan lagi benda asing dalam kehidupan seharian masakini. Whatsapp, Facebook, Telegram, Twitter, hashtag, apps dan pelbagai lagi sudah menjadi buah mulut masyarakat. Malahan, ahli perniagaan masakini juga cenderung untuk menggunakan teknologi trending tersebut untuk tujuan pemasaran secara talian. Selain dari teknologi yang trending, ada juga teknologi dalam talian sepanjang zaman (evergreen gitu) yang tak harus dilupakan seperti emel dan SMS marketing. Berikut adalah beberapa inti-pati teknologi digital sebagai saluran pemasaran untuk perniagaan anda.

1. Laman Web dan Blog

Laman web adalah media yang utama untuk sesebuah perniagaan dalam alam maya. Website yang menggunakan domain antarabangsa ".com" atau ".net", mahupun domain tempatan seperti ".com.my", ".my" dapat mengekpreskan kewujudan perniagaan itu secara berkaliber. 

Sesebuah laman web tersebut tidak perlulah mempunyai teknologi atau animasi yang tercanggih, pada hemat saya lebih baik laman web yang kemas dan sedap mata memandang. Selain itu, kandungannya sentiasa di-update dengan maklumat-maklumat yang terkini.

Selain itu, fungsi terhebat laman web adalah e-commerce, di mana pelayar boleh membeli belah secara langsung di dalam talian. Ada pelbagai jenis enjin ecommerce yang boleh digunakan untuk menjual secara dalam talian antaranya WooCommerce, OpenCart, Magento, Shoppify dan lain-lain.

Acap-kali kita buka website, pasti ada pautan blog di-dalamnya. Ya, blog merupakan salah satu elemen dalam website tersebut yang boleh dikatakan agak penting. Dengan adanya blog, pelawat laman web boleh tahu bila tarikh akhir blog itu dikemaskini. Jika sudah bersawang, tentu pelawat bertanya-tanya adakah perniagaan tuan empunya blog masih hidup atau hidup di alam lain.


2. Emel Marketing

Emel marketing adalah teknik pemasaran otai-otai yang masih lagi terbukti berkesan hingga hari ini. Manakan tidak, orang ramai masih lagi menggunakan emel dan menyemak email sekurang-kurangnya seminggu sekali. 

Emel marketing dengan menggunakan khidmat emel blaster memudahkan urusan penghantaran emel secara lambakan. Antara perkhidmatan yang popular adalah aweber, getresponse, mailchimp, sendgrid dan pelbagai lagi.

3. SMS Marketing

Percaya atau tidak SMS marketing masih ada bisanya. Kalau Whatsapp atau email boleh di-block tapi SMS tidak. Jadikan SMS sebagai senjata marketing anda dengan menyimpan database nombor telefon prospek dan pelanggan. 

Ada caranya untuk dapatkan nombor telefon pelanggan ni, contohnya membership atau peraduan.

4. Facebook Page / Facebook Messenger

Facebook Page ini boleh kata wajib untuk perniagaan dari skala 0 ke 10. Mana tak nya, percuma sahaja. Manfaatkanlah teknologi yang disediakan oleh Mark Zuckerberg ini. Ingat, ingat, ingat, ini adalah laman sosial jadi perlu dalam mood 'bersosial' untuk tanya-tanya khabar. Kalau nak beli apa-apa ajak mereka ke 'rumah' atau website kitalah. 

Di Facebook Page boleh tulis status terkini perniagaan anda, muat naik gambar atau video aktiviti perniagaan anda dan boleh juga nak jual-jual di laman sosial ini.

Terkini ada fungsi 'live' dimana seseorang boleh buat hebahan secara langsung tentang detik hidup atau promosi yang dijalankan.

5. Instagram 

Instagram menjadi kegilaan pengguna smartphone. Asal ada gambar best je pasti nak upload. Begitu juga peniaga, offline atau online, asal ada benda yang syok (sendiri atau tidak) je mesti nak share. Tapi itulah realiti mobiliti hari ini. Boleh kata trend sama ada artis atau rakyat maheran untuk berkongsi gambar, follow sana sini, like suka hati.

Kepada peniagaan dalam Instagram ini, perniagaan yang sesuai adalah perniagaan yang ada elemen estatik yang boleh menarik minat pengguna untuk follow dan like banyak-banyak. 

6. Twitter

Twitter ni yang memperkenalkan kepenggunaan 'hashtag' #sukasangatkanguna. Hashtag ni digunakan untuk tagging sesuatu event atau topik yang ingin diperbincangkan. Sekarang semua benda boleh dihashtagkan. Selain dari Twitter, sekarang Facebook dan Instagram juga boleh menggunakan fitur hashtag.

Twitter ni cara paling santai untuk menyebar sesuatu maklumat secara ringkas. Dan diperhatikan Twitter banyak digunakan oleh media massa seperti radio dan TV untuk mendapakan feedback tentang sesuatu perkara dengan menggunakan hashtag tertentu. 

7. Whatsapp / Telegram

Boleh dikatakan medium komunikasi zaman terkini, menggantikan penggunaan SMS secara total yang digunapakai dengan smartphone moden. 

Medium komunikasi untuk pelbagai keperluan, dari close sale hinggalah memberikan maklum balas terhadap produk.

8. YouTube

Kepada yang pandai buat cover lagu atau melawak macam Mat Lutfi, ini lah tempat anda untuk menojolkan bakat anda ke persada online. Dengan menjadi selebriti YouTube, dengan mudah brand anda akan dikenali ramai dan pelbagai produk ingin menjadikan mereka sebagai jurucakap mereka.

9. Web / Mobile Apps (online services)

Aplikasi online seperti mudah.my, ibilik, Airbnb, carlist.my dan pelbagai lagi adalah platform yang hebat untuk usahawan meletakan barangan atau perkhidmatan yang bersesuaian. Hal ini kerana, aplikasi web/ mobile tersebut mempunyai ribuan pengguna yang mencari-cari barangan yang ideal. Jadi kebarangkalian untuk dijumpai oleh mereka yang mencari agak tinggi, jadi cubalah untuk daftar list kan agar barangan / perkhidmatan anda dijumpai juga.

10. Mobile Apps 

Kalau jenama besar biasa mesti sudah ada mobile apps. Kalau belum tu mesti ada agency tengah bagi proposal. Jadi mobile apps ni sebenarnya agak mahal, tetapi demand nya cukup hebat. Tengok berapa ramai yang guna smartphone. Jadi brand-brand sederhana ke besar mesti nak brand mereka di dalam kocek pelanggan mereka.

Mobile apps ini fungsi asasnya macam website, cuma dia boleh function offline. Pelbagai maklumat tentang perniagaan ada di sini. 

Jadi apa kelebihan sangat ada mobile apps? 'Uber-ify'. Anda boleh mengetahui status perkhidmatan perniagaan tersebut, dan menempah barang yang terdekat. Anda juga tahu berapa minit barang itu akan sampai. Anda juga boleh bayar serta merta. 

Konklusi

Tak kira apa medium digital yang digunakan, ingatlah semuanya sama penting. Namun kena lagi ingat tentang apa mesej yang hendak disampaikan kepada pelanggan.

Tak tahu atau takut nak cuba channel mana nak pakai. Habaq mai kat whatsapp I. +60163373081 atau emel hijazi@irekasoft.com atau mujur terus ke halaman sesawang iRekaSoft.com.



Post diinspirasi dari page rakan developer di halaman blog DesaKretiv

Moving Out in Cyberjaya

I have been busy for weeks for moving out phase. I am moving out from terrace to a condo house also in Cyberjaya. So there is so much help...