Yeei! 😀 I got an awesome opportunity present a tech talk at Dot Net Developers Meetup in Singapore which was hosted by Microsoft. This happened to be my first ever Presentation on Xamarin, and yeah it was totally awesome. A great enthusiastic crowd and everything went pretty well.. 🙂
Thank you so much for the Organizers and Microsoft for this incredible opportunity, and I’m truly humbled by it.
There I spoke about Xamarin and Xamarin Forms, Xamarin UI Rendering process, Overriding this process through Custom Renderers, and important facts to keep in mind when implementing Custom Renderers in Xamarin Forms.
So I thought of putting out a small article on the Summary of this tech talk on my blog. 😀
Xamarin Forms Custom Renderers for the Rescue…
Here’s the slideshow I used during this talk…
Xamarin is truly a great platform. It let’s you create mobile applications using C# dot net having full Native Performance as well as Looks and Feels of each Native Platform.
As you can see in the diagram, thanks to Xamarin now we can maintain the same code base across all three mobile platforms, having the individual native UI implementation, which allows us to maintain up to about 70% percent shared codebase. So yeah its all Great.
Xamarin Forms is…
Xamarin Forms, in one single word, is awesome! Its more like the cross platform extension of Xamarin this is the component which brings to life of the concept, Write once, Run Everywhere, and not Suck allowing us to share the UI code layer among three platforms. So you no longer need to implement the UI separately for each platform.
Xamarin and Xamarin Forms ?
Some people are confused about these differentiation between Xamarin and Xamarin Forms, let me put it this way…
Xamarin Forms is more like the true cross platform extention of Xamarin. Where as Xamarin Forms provides us a unified UI Layer which has all the common UI controls (Layouts, Labels, TextBoxes, Buttons, etc…) of all three mobile platforms, with almost every single common property of those controls.
Still Confused ? Let me explain…
In your left hand side you can see the Native Xamarin architecture where you share the back-end code base, but you have to implement the UI separately for each platoform, allowing us to share upto 70-80% of code base.
Where as in Xamarin Forms you can share almost upto 100% of the code base across all three platforms with the Shared UI Layer.
A little Story about a fresh Xamarin Forms developer…
There’s this developer who started developing an application with Xamarin forms, where he’s given all the UI sketches and so on.
So he start off with default nice and simple controls in Xamarin Forms and manages to implement the basic UI design of the app. Then he slowly gets into complex UI designs implementations…
So he starts going through all the available properties in these Xamarin Forms Controls, and begins to wonder where are all the properties that he needs to be using in order to customize the app accordingly to the complex design.
So he looks up and down, here and there, wondering where did all the properties go?
Oh boy, he’s in trouble, isn’t he… He realise Xamarin Forms UI controls has limited set of properties for customization, and its very hard to do complex customization in these controls.
Any Solutions ?
Any solutions ? Well he could always go back to native development, but its late for it now, and it’ll put him through a lot of trouble for sure, having to implement in three platforms.
Now that’s where Xamarin Forms Custom Renderers comes in for the rescue, let me explain.
Xamarin Forms UI Rendering process…
Each and every UI Control in Xamarin Forms has it’s own Native Renderer which renders and maps its Properties and Behaviours to the Native Control level.
So yeah behold the Magic of Xamarin Forms, this happens accordingly to the Native Platforms. This is why we get the Native look and feel and performance with Xamarin Forms.
Take a look at the Diagram here it shows how the default texbox UI Control of Xamarin Forms, which is called “Entry” control gets rendered down to the Native level through the Renderers. Now focus down through the iOS rendering, where the Entry control gets rendered down to the native UITextField control. And on Android and Windows Phone, EditText and UserControl respectively.
Overriding this Rendering Process ?
Xamarin has allowed us to access this Rendering process, which in return allows us to Override this default process and use it for our own requirements.
So by accessing this process we can customize all kinds of properties and behaviours of the Xamarin Forms controls, in each platform according to our needs.
Xamarin Forms Custom Renderers…
So in order to access this rendering process we need to create Custom Renderers of our own by sub classing the base Renderers Xamarin provides. Thereby it allows us to access and modify the native level properties and behaviours of the Xamarin Forms Controls.
Take a look at the Diagram above, that’s how Custom Renderers gets involved in the Rendering process, where as the Xamarin Forms Entry control goes through the Custom Renderer and down to the base renderer, where we control and modify its properties and behaviours in our Custom Renderer as we need.
How to create Xamarin Forms Custom Renderers ?
Just 3 simple steps…
- First you create a Custom Control by subclassing the default Xamarin Forms Control that you need to create a Custom Renderer for.
- Second you consume that subclassed Custom Control in your Xamarin Forms application.
- Thirdly and finally, you implement the Custom Renderer in the Native levels project.
Yeah how hard could it be, just three simple steps! 😉
Here’s a Simple Custom Renderer Demo on the house…
Check out the live demo Custom Renderer I implemented during this presentation on my Github from below, https://github.com/UdaraAlwis/XFCircleCornersButtonControlDemo
Important facts to consider WHEN implementing Custom Renderers…
So here are some important facts to keep in mind when you implement Custom Renderers in Xamarin Forms, so that you get a good understanding about how to implement a custom renderer and what to keep in mind…
1. Always Export your Custom Renderers…
Whenever you create a custom renderer you need to Export it and register it, otherwise Xamarin would not recognise your Custom Renderer and it will go ahead with the default base class Renderer for your Custom Control.
2. Overriding the OnElementChanged Method…
Whenever a Custom Renderer is being execute, the first method it fires is the OnElementChanged() method.
This method gets called when the Rendering process starts for the custom control, which allows us the opportunity to to tap into the native properties and behaviours and modify them as we wish by overriding this method.
Also something to keep in mind this method consumes an important parameter, ElementChangedEventArgs which contains two important Properties.
- The OldElement property represents the Xamarin Forms level Control this renderer was attached to (previously attached to) and
- The NewElement property represents the Xamarin Forms level Control this renderer is currently attached to, its more of a reference.
So if you are using any Event Handlers in your Custom Renderer, you have to keep an eye out for these two properties in order to Subscribe and Unsubscribe accordingly to prevent memory leaks.
3. Control vs Element Property…
If you think about it, Custom Renderer is more like a middle guy, in between Xamarin Forms level Control and the Native level Control, where as it’s got hooks for both levels.
So those hooks are represented by these two important properties, Control and Element.
Element property, it holds a reference to the Xamarin.Forms control that’s being rendered, so you could use this property to access anything on the Xamarin Forms level of the custom control, such as Text, WidthRequest, HeightRequest and so on.
Control property holds a reference to the Native Control being used of the Custom Control. So using this property you can straight away add your native customisations and behaviours to the Rendering Control.
3. Overriding the whole Native Control ?
What if you want to get rid of the default Native Control associated with your Custom Renderer ? Create your own Native Control and use it for your Custom Control ?
As an example You need to have a TextBox with an underneath shadow, in iOS you can’t do this with the default native UITextView, so one way to do it is by adding another UIView along with the UITextView, where as you merge two native views together to form one View.
So for instances like that, you could use the SetNativeControl() method, and pass in your custom native view, which will get rid of the default native view and override it with your custom native view.
But you have to keep in mind something very important, hence you are flushing away the default native control, you have to handle all the Behaviours (Events) of your own Native Control manually by yourself and map it back and forth with the Xamarin Forms level.
4. Creating your own Base Renderer…
For every Xamarin Forms Control, there is a Base Renderer, that maps it to the Native Level and we use those Base Renderers all the time such as Button Renderer, Label Renderer and so on.
Now what if you wanted to create your own Base Renderer ? Let’s say you are creating a total complex Custom Control by yourself, and you need to have your own Renderer for it?
YES! it is possible, you just simply have to derive your Base Renderer from the generic ViewRenderer<?,?> where as you have to pass in your Custom Renderer type name and the associating Native Control type name for the renderer.
Well actually Xamarin doesn’t really recommend this, there some instance that you need to move towards this approach.
Let me Share some Wisdom…
Here’s something interesting I really want share with your all is that, Xamarin doesn’t really require in depth Mobile Development knowledge but it is very beneficial to have some, specially in scenarios like these Custom Renderer implementation. The more you are aware of the Native development, the more advantages for you.
So if you are planning to move towards Xamarin mobile development, I would suggest you take a little look at native development as well… Which will prepare you better for your Xamarin Mobile Development journey.
Important facts to consider BEFORE implementing Custom Renderers…
Earlier I mentioned about the facts that you need to keep in mind when you implement Custom Renderers, now let’s see what are the facts you need to focus BEFORE you decide to implement Custom Renderers in your application.
1. Think twice…
You need to think twice before you move on towards Custom Renderer implementation for your Application. Once you get familiar with Custom Renderer implementation, you get very tempted to go for custom renderers all the time even for the simplest requirement, but trust me it is not a good practice at all.
Why I say this is because, and untold truth about Custom Renderers is that, they are a little process intensive.
Therefore it’s wise to first of all explore all the possible solutions you could come up with from Xamarin Forms level it self to solve your requirement. So do not over-use Custom Renderers just because of the ease of development.
You could also try out other alternatives such as,
- Xamarin Forms Controls sub-classing and forming Custom Control (by merging multiple Controls to create a new Control).
- Xamarin Forms Effects (which is almost like Custom Renderers but simplified).
Whenever you decide to implement a Custom Renderer You need to pay attention to the reusability of it. Make sure to implement it in a way its reusable as much as possible.
When ever you implement Custom Renderers, don’t only focus on the current implementation, think ahead and implement all the possible needs in one go, without implementing custom renderers for every single need from one type of control.
Since Custom renderers are process intensive it very important to focus on reusability.
3. Mapping of Xamarin Forms -> Native Level…
Last but not least before you implement your Custom Renderer always make sure to take a look down through your Rendering Hierarchy…
Look at the available Properties and Behaviours down to the Native control and see whether it actually fulfils your requirements, in all three platforms (Android, iOS, Windows Phone). That way you will have a better idea on how to implement the Custom renderer more efficiently.
Custom Renderers plays an extremely important role in Xamarin Forms development. In my opinion it’s more like the Magic behind the whole Xamarin Forms Awesomeness.
Don’t be scared of Custom Renderer’s because they are here for your rescue.
Also finally make sure to keep in mind all the important tid bits I discussed today, so it will help you implement custom renderers more efficiently and effectively. 🙂
AAAANND THAT BROUGHT US TO THE END OF THE PRESENTATION! Hope this was helpful for anyone missed this session and keep in touch everyone! 😀
Once again Thanks for the Organisers for organising this event and Microsoft for hosting. As well as the enthusiastic crowd. 🙂
– Udara Alwis
CODENAME: [ÇøŋfuzëÐ SøurcëÇødë]
Yes I am a Developer! A Software Engineer by career!
But truth be told, I’m not the typical type of software-engineer-developer-geek ! 😛
I’m a hyper-active, overjoyed, crazy enthusiastic, energized, optimistic human being! 😉
I often go on Adventures, Hiking, Running, Cycling and Basketball, also includes Socializing and talking to People in Public…
I run a lot ! literally like a mad man, and I’m addicted to it. It makes me feel free, refreshed, de-stressed, energized, hyped up, and allows me to push myself beyond the physical limitations. Hence it keeps reminding me that nothing is impossible as long as I keep on pushing myself without giving up.
I enjoy every single moment of my life, seeing the positive perspective of everything that happens around me. And I never regret any decisions I have ever made. I like making others happy and cheering up people around me is something I enjoy a lot. 😀
Yes! obviously I’m always cheered up! 😛 that’s probably the easiest way to recognize me from any crowd lol! 😉
I do a lot of crazy random stuff! 😀
I truly enjoy helping others, teaching others new stuff, I’m not very good at teaching though, but I enjoy engaging in such activities to the fullest.
So basically whenever I’m blogging the same chemical reactions fires up in my brain which is responsible for the above, thereby almost all the time my blog articles ends up being a hyper active conversation lol! 😛
So you may find my blog articles UNPROFESSIONAL most of the time! but I DO NOT CARE! Hence blogging programming articles is something I do for fun and I enjoy it insanely. 😉 And yes this is probably going to be one of the weirdest tech-blogs you have ever seen given my unprofessional-blogging-style! lol 😉
Well I couldn’t care less as long as I share the knowledge across the articles, in a very friendly, easy to understand manner for even a high school kid could understand.
So you got any complains about the ÇøŋfuzëÐ SøurcëÇødë Blogging Style? Don’t bother complaining! 😀 As ÇøŋfuzëÐ SøurcëÇødë wouldn’t ever care! 😛
Stay Awesome fellas! 😀
Woot Woot! I’m back fellas! Yeah, it’s been a while since I have last been in this blog-sphere…
To keep it short, I was extremely busy last few months due to some awesome career related changes in my life. 😀
Probably you are wondering what’s with the “Nǐ hǎo ma!”, yeah that’s how you say hello! in Chinese and I have moved to Singapore fellas!
(PS – I’m self learning Chinese these days with the help of some colleagues here lol 😛 )
Flickr Album of some sceneries in Singapore – https://www.flickr.com/photos/confuzed-source-code/albums/72157660613627064
Yep, that’s right. Last November, I got recruited by a company in Singapore as a Xamarin Mobile Engineer, so I moved to Singapore from Sri Lanka, and settled down there. 😉
Hence I couldn’t keep in touch with my blog, but now things are completely settling down with my new life in Singapore, I have finally managed to get back on my blog-sphere.
I have been doing some really interesting and challenging work at my new company related to Xamarin, so I’m looking forward to share a lot of cool stuff with you guys in the coming weeks.
So let’s get this going fellow Awesome developers! 😀
Stay Awesome! 😀
A very well known truth is, that it is hard to find a job which we would love, or be truly satisfied with it. Nearly 60% of the work force out there are suffering from unsatisfying jobs or career experience.
I have published a post previously on, How it Feels like to be truly Satisfied and fallen in Love with your Job … But I thought I shouldn’t be so selfish to leave the other side of the scenario behind which is What if you aren’t satisfied our your job ? or hate you job ? as I, myself started off with a negative career experience and ended up here. 😉 So my advice ?
A lot of people go to work everyday being miserable and all they do is just talk about how miserable they are… but they don’t wanna do anything about it…
– Les Brown
First let that sink in…
The major reason why we have such a huge chunk of unsatisfied employees out there is precisely because of the above reason. Almost everyone only talks about how miserable they are at work or how they hate it or fed up of it, but none of them takes any actions towards it. Most probably due to the laziness or the fear of risk. But if you are not one of those people, then I suggest you keep on reading this article, 🙂 otherwise this article is no use for you…
Make it work…
If you have have a job, and you don’t feel satisfied, try to look for the positive aspects of it, all the good things, could be even teeny tiny bits. Trust me it’s worth it to focus on the tiny bit of positivity, even in the midst of whole bunch of negativity, because if you do, you might end up actually turning it upside down and begin to be satisfied with your job. 🙂
If not take the next step…
What if that’s not very practical for you ? then keep on looking for your dream job! Keep working your way up, keep improving yourself, and keep an eye out for your dream job. Don’t be ashamed of yourself, first of all identify the reason why you couldn’t get your dream job (be honest to yourself), and then work up for it. Lack of experience ? paper qualifications ? poor interview performance ? identify what went wrong, and keep improving yourself to make sure it won’t happen again. And apply for it again and again.. 😉 Yes ! Make yourself heard !
There was this one company I wanted to get in so badly right after I graduated, so I sent them my CV, but they didn’t even consider me for an interview and replied me saying I lack experience they are looking for. I was terribly disappointed about myself. But I didn’t put myself down, I just kept on working and improving myself throughout every little opportunity I got. Well guess what ?
After one and half years, that same company contacted me on LinkedIn and said they are impressed with my portfolio and how I have engaged myself with technologies, and they would like to offer me a certain job, with a much higher salary than I’m currently getting… 😉 Likewise it’s never too late for your own improvement… Keep on working towards it, and never give up ! 😀
Let go of fear and take risks… SERIOUSLY !
Just because you are unsatisfied with your current job, doesn’t mean all the other jobs would be the same, you may never know, your dream job might still be waiting for you to reach out for it…
– ÇøŋfuzëÐ SøurcëÇødë
Most of us fear that we won’t be able to get into our dream job and we would be unemployed for the rest of our lives if we leave our current job. It is not ! unless you keep on improving yourself and build your own brand ! 😉 Let go of the misery of life by wasting yourself for an unsatisfied job. There are plenty of jobs out there if you are willing work hard to achieve them, and never give up on yourself.
Take risks towards your own success, let go of your fear and never give up… 😉 Eventually you will find it, and your life will never be the same again…
Well to simply put it, as a great man once said…
Cheers everyone ! Wishing you all Success ! 🙂
Stay Awesome ! 😀
All Images are fetched via Google Search, 2015
Before I begin, I am currently working as a Software Engineer at an Europe based IT company here in Sri Lanka. And YES ! surprisingly I am truly satisfied with my Job ! 😀
But some of you might be wondering what qualifies me to define the fine line between true job satisfaction and dissatisfaction. To keep it short, I have been to the both ends, and to elaborate let me give you a little insight of my story…
So here is my Story…
I finished my degree by the age of 21, and right after that I got job offers from three famous companies in Sri Lanka after successfully passing through all their interviews. So what did I do ? like every other excited-inexperienced-smart graduate, I chose the Job offer with the highest salary and accommodation without considering my passion for innovation, creativity and new technologies as a fresh college graduate.
Everything was great and going smooth except for the job didn’t turned out to be what I was expecting, so I started to get bored of it. So after completing a considerable work period, I left the job, hoping for a different next step. Learning one of the biggest lessons of my life, when it comes to your Career, never choose money over your life’s passion… 🙂
A Little break for Life…
So for few months, I took a little break, did some freelancing, tried to start off something of my own. But mostly I guess, I just wanted to take a break and refocus on my passion. 🙂 So after two or three months, I got a new Job offer which seemed kind of interesting… 😉 So I thought of giving it a try.
A new Hope…
And I started off working, but I didn’t keep much hopes as I had for my first job, because I didn’t want to get disappointed and suffer later on. But surprisingly after few days of working, I fell in love with that job. I started to love every single day at work. It was the kind of job I have been dreaming to have, filled with innovation, new technologies, and experimentation. And whenever I got home, I couldn’t wait to go back to work the next day… 😉 My life started changing in so many ways since then, and after a long time I was feeling fulfilled about my life…
So starting from having a disappointing career experience and then ending up with a truly satisfied career experience… let me share some of my own Experience of How it Feels like to be Truly Satisfied with your Job… 😀
And Yes, I know this “satisfaction” may or may not last forever or for a long time, as nothing is permanent and everything is constantly changing in this universe by its nature, I’m really valuing and and enjoying it to the fullest while it lasts… After all, change is Inevitable ! 😉 That is Life !
So how does it really Feel ?
Now I should tell you, I have been observing and analyzing my own experience and behaviors regarding this since the beginning whereas I have been collecting facts to write this article since over 9 month. So summing up all the facts, Lemme being… 🙂
You can’t wait till you get back to work next day…
This is the first feeling you will encounter, at the end of the working day, you won’t be able wait till you get back to work on the next day. You prefer staying at office and keep on working even after office hours. Mostly you will wait till the security guards closes the office and shuts down all the light. This used to happen to me all the time, specially during the first 6 months, I was among the last few to leave office. (Later I forced myself not to wait till they close the office lol)
You may get forced to leave office being worried, thinking you couldn’t wait more longer and keep on working. And you may go home after closing the office, but still you will be impatiently waiting till the next day morning to get back to work. 😉
Weekends ? You will be counting hours till Monday!
Oh please, while your friends are waiting for the Weekends to arrive with all their #TBT #TGIF #ThankGodItsFriday and #FinallyItsFriday hashtags, you will hate it when the Weekend arrives. Yes it is true, when you are truly satisfied with your job, you won’t even think of the Weekends to arrive, in fact you wish if there were no weekend. And during your weekends, you will be literally counting hours for it to over and get back to work on Monday! While your friends be like, #IHateMondays #OhShitItsMonday, and there you would be like all pumped up for work, counting hours for the Monday to begin. The best feeling when you are truly satisfied with your Job is that, when everyone is hating their Mondays at office, you would be loving the Mondays, you would be super energetic and pumped up to begin your work. Yep I know, sounds funny… but that is what happens when you are truly satisfied with your Job ! 😉
You will be like, Thank God It’s Monday #ThankGodItsMonday #TGIM #ILoveMondays…
Simply put, you are gonna love Mondays ! Like I mentioned earlier this is one of the best feelings you would ever encounter. While everyone is hating Mondays, you would absolutely love Mondays, and you would be thanking whoever the guardian higher power you believe in.. 😉 You would be counting hours during weekends and once the Monday arrives, you would be super energetic and pumped up to begin your work while everyone is cursing their Mondays. Personally this is by far one of the best feelings I have ever encountered, because I used to hate Mondays during my previous job, but now I absolutely LOVE MONDAYS ! ❤ 😀
You wish if you could work on Weekends as well…
Yes weirdly enough, you are gonna wish if you could work on Weekends as well. There was this one time I couldn’t bear it up and I asked the manager if I could come to office on Saturdays and keep on working, where he advised me not to even think of it and go out to enjoy real life. lol (whereas later I adopted some habits and activities to do on weekends, such as going out on adventures, cycling, running and so on)
This occurs especially during the first few months of your job once you get satisfied (but later you might find some alternatives to do like I did)… When you are in love with your job, you begin to dislike weekends, and you wish if you could work on Weekends, because simply you are bored of Weekends, having nothing to do, or even if you do have things to do, you would prefer your office work more than them.. 😉 And it gets worst, if you have nothing planned to do on your Weekends, you are going to be bored to death and you will be wishing to get back to work as soon as possible.
Nine to Five routine ? Screw that ! I want more…
Like I mentioned earlier, you are gonna get hungry for your work, you just don’t want the day to end, and specially while your friends are waiting for 5PM to get out of office, you wouldn’t even care about the time. You would simply want to keep on working and you wouldn’t even notice the time moving. And yes this phenomena, I still go through it almost every single day… 😛
You wake up with so much of Energy and Motivation!
Every single morning you will be waking up with so much of Energy and Motivation to go to work, and not only related to work, but also other aspects of your life. You will be pumped up, ready to get back to work every morning when you wake up. You would be ready to go through any challenge at work, and in fact you’ll be on fire at the moment you start working in the morning. With that mentality you get an extra push to set your mind to overcome any challenge or difficulty of your life.
You feel Fulfilled, Happy about Yourself and your Life…
You begin to feel fulfilled about your Life as well as Yourself as a whole, whereas in almost every aspect of your life you begin to feel complete and calm. That feeling of fulfillment and happiness is something truly amazing and very hard to come by for anyone. 😀 We all want to feel fulfilled, about ourselves, and being able to satisfy with your job, plays a huge role in that pursuit. Happiness is something that we all seek for, and let me tell you, when you are satisfied with your Job, you feel an immense amount of happiness throughout your day, whereas Happiness comes as a part of the fulfillment. 😉 You become more optimistic towards life and everything that you go through in your daily life.
You make everyone Happy around you…
With that energy, motivation, fulfillment and happiness comes another benefit, where you begin to make everyone around you Happy ! 🙂 As you become more positive towards every aspect of your life, you begin to direct the same mindset for people around you, your parents, life partner, family, friends and so on. You are always calm and you could easily tolerate anyone around you. You become more positive and cheerful when it comes to dealing with your loved ones so in return you end up making them happy…
Your Efficiency, skyrocketing at work…
One of the best results of being truly satisfied with your job, is that you become more efficient at your workplace, whatever the work you are given, or however challenging it is, you become insanely efficient in it. That very sense of motivation , fulfillment, and happiness become the key ingredients for this amazing force. As you begin to love your work, your efficiency may sky rocket in ways that you won’t even believe. Whatever the work you have given, you would be able to finish it off way better, way quicker in ways you wouldn’t have even thought of before. Your brain gets super focused during your work, that everything becomes so easy to you, that you could easily figure out anything, given any challenge and finish off your work even before the deadlines. Not only that, the quality of your work will begin to improve unbelievably. You will be very much confident in everything you engage with your office work, because you would be doing it with passion for the joy of the job you’re doing. 😉
This effect, I have experienced very well with my work as for the last few months, I have been noticing myself being able to finish almost all the tasks way before deadlines and getting way better at the approach of the work after each and every task. 🙂 Likewise overtime you get insanely efficient with your work, when you are truly satisfied with your job… 😀
…beginning to push through your limits beyond the impossibilities !
Along with all the above incredible side-effects of being in Love with your job, you get an extra super power to push forward through your limits, beyond your own impossibilities… expanding yourself into new horizons of success. 😉 Yep that statement may seem to be a little exaggerated, but yes it is kind of true, with proof of my own experience. You begin to explore more knowledge by yourself, and expand your potential. Personally last few months I was able to easily learn so many new things knowledge related to my career which I thought I never would. 😉
You automatically adopt the ability to learn anything easy without any stress, and rapidly absorb more knowledge and experience by yourself. Therefore your job satisfaction plays a huge role in pushing you forward through life and expanding your possibilities…
Now I know the above facts/behaviors/effects/ are based on my own experience and could be easily differ from one person to another, depending on their own perspective, whereas one might have their own different ways of being satisfied with their job, with different experience. But overall I suppose most of these facts or experience are common for those who are actually satisfied or fallen in love with your jobs… 🙂
Well to simply put it, as a great man once said…
It is hard to find a job that you would love or even like it up to some extent, but if you are determined enough, it is not that that hard to find, as it all comes down to our own determination and not giving up on our dreams. 😉
Once you find it, become truly satisfied and you begin to love your job… Your life would begin to change in so many amazing ways that haven’t even thought of before… 😉
Cheers everyone ! Wishing you all Success ! 🙂
Stay Awesome ! 😀
All Images are fetched via Google Search, 2015
For me its not about Winning or Losing, Its about reaching my limits, going as far as I can go and then going farther… One of the greatest secrets of my life is, I never executed for victory against anyone else, or being better than anyone else…
I have always executed for the ultimate victory over myself, becoming the best I can be, breaking through my own impossibilities, redefining possibilities, and achieving greatness !
– ÇøŋfuzëÐ SøurcëÇødë
After almost 3 years of awesomeness with my Nokia Lumia 820, it had come to a point that I needed to buy a new smartphone. 😀 I really enjoyed my time with Lumia 820, but to be honest since last year I was kind of getting bored of it. And its started having a few hardware issues, such as random network disconnecting, and the camera photos were getting blurred and so on. 😦 So it was high time to switch after almost 3 years… 😀
Love at First Sight… 😉
This time I went for Sony, which had been my favorite Smartphone brand since long time back. I always loved their amazing design, build quality and specially awesome features. 😉 I was never a fan of enormous screen sized smartphones, which in my opinion completely ruins the definition of a mobile phone. So I was looking for a small screen sized phone, and fortunately I found out about Sony Xperia Z3 Compact which is the compact model of Xperia Z3 ! 😀
I literally fell in love with this phone since the first sight of it. So I did some in depth research about this phone before deciding I was gonna buy it.
Phobia of Precautions… 😦
And very disappointingly some users of Xperia Z3 and Z3 Compact models has complained about some ‘Self cracking screen issue‘ which got me very skeptical. I went through so many user forums, Sony forums, XDA forums regarding this issue and there were complains from a lot of people and they were saying that Sony doesn’t cover this in warranty, but however in some News report Sony had agreed that there was some defected stock has been released by accident. But all in all I somehow decided to buy this phone, as there were a lot more users who had reported saying they weren’t having such an issue, which was bit of a relief.
Final decision was taken… 😀
So I straightened up my mind, wishing for the best, I decided to buy this awesome smartphone, Sony Xperia Z3 Compact … 😉
Deciding on a Mobile Phone Shop to buy in Sri Lanka…
So when I stepped outside the house to buy this phone, I decided to buy this from a well known reputed mobile phone shop, rather than going for the lowest price from a small shop, specially because of the above ‘Self cracking screen issue‘ that some Xperia Z3C users were having. By the time I was looking for this phone it cost around Rs. 57,000 – Rs. 59,000 so obviously not much of a difference whether you buy from a small shop or a bigger shop. After visiting a few popular shops around Colombo I found out that none of the shops in Sri Lanka would cover such an issue (Self cracking screen issue) with the warranty, everyone was saying if we are able to prove that it’s a manufacturer fault, only then they would repair it. So I realized there’s no point of worrying about the warranty as every single shop here offers the same crappy warranty, I somehow bought it from Dialcom in Sri Lanka for Rs. 59,900 after a few of my friends’ recommendation. (which actually drained over half of my bank account 😛 )
So here it is, the thing of Beauty and Awesomeness…
From the moment of unpacking it, it was a thing of wonder… 😉
Such a beautiful slim and light design… with uncompromised performance.. 😀
From the moment you unlock that screen, is like entering into a whole new world of beauty.. 😀 the screen, is epical indeed with its TRILUMINOS Display and X-Reality Engine, which truly brings an amazing display…
What’s in the Box… :O
Now this is what you get with the whole box…
I never expected such a high quality headset with the phone.. 🙂 oh well, Thank you Sony ! Except for that it’s just the charger and the USB cable you get in the box.
It was a truly surprise with the performance in such a compact device, Quad-core 2.5 GHz Krait 400 Processor and GPU, Adreno 330 seems to be paying up over the expectations…
In some reviews they had mentioned the sound quality is not that good in this device, but for me with those front dual speakers, it gives an awesome experience for watching movies and videos…
One of the best things about this awesome smartphone is that it fits so perfectly in hand, specially for someone like myself having a comparably small palm.. 😛
It gives a truly premium feel of a mobile device when you hold this in your hand, durable tempered glass panels on front and back sides, along with the round comfortable edges give a real amazing feeling…
A defect or not ? 😦
So I was playing around with the phone for a while, holding it with both hands 😛 , well you know the excitement you get when you first use your new mobile phone, whereas you hold it very carefully worrying every second whether your would drop it… 😉
Anyhow after a while I realized that the Sim Card cover flap kept slowly open, every single time I close the flap it kept on popping open very slowly. The most annoying thing was it slowly pops open after 20 mins every single time I closed it.
Below is a close up picture I took for this issue…
Another side-close up of before and after 20 mins…
I was sick worried about this issue, I thought it would get fixed after sometime , but it didn’t. Then also it hit me that when I first opened the box I saw that this same flap had popped out, but I didn’t take it to much consideration as I had just opened the box and it popped out only after 20 mins. I was wondering whether this phone is also one of those defected phones that Sony had release…
Thankfully, it was fixed… 😀
So the next day I took it to Dialcom, they checked it and cleaned the cover flap with some liquid, which surprisingly fixed it. They said that this happens to most of the Xperia models when they are right out of the factory, and it’s not a big issue whereas it only occurs due to some oil liquid being contacted with the flap during the manufacturing.
So keep in mind, if you are buying this phone, when you first open up the box and any of the Sim card or SD card cover flaps are popped out open, then make sure to inform them and get the flaps cleaned up. So that you won’t go through the same burden I went through…
Oh well now it works perfectly… 🙂 Thanks Dialcom for saving me from a heart attack. But I’m still a bit skeptical whereas this is also one from the defected stock Sony has released. Therefore I will keep a careful watch and update this post.
Now that was my entire experience with before and after buying this phone… Yes ! I’m literally in love with this phone, and I gotta tell you this is one of the best smartphones I have ever experienced.
If you are like me, who doesn’t prefer bigass screen phones, then this is definitely the Smartphone you should go for… pretty sure you will not regret it.. 😉
CHEERS ! 😀
Yeeeeei ! 😀 Graduated as a BEng(Hons) Software Engineering with a blast on the stage ! 😉
that moment when they called “W.U.A. Alwis”, the next thing I know, I jumped on to the stage shouting out and while leaving the stage shouted out saying to the whole audience “Amma, I’m a Graduate !” (Mom, I’m a Graduate !) One of the best moments of my entire life… 😀
Oh well everyone was acting like robots and walking across the stage 😛 So I thought of doing something truly Human and Fun, most of all it was my moment to cherish ! 😀 hehe xD
Very well it has been an extraordinary, amazing and epic journey throughout last 4 years at APIIT Sri Lanka ! Specially my Mother who believed in me since the beginning, when I told her I needed to achieve my dream without wasting time going around like everyone else.. and my Father who supported me from the fullest in everything ! Thank you ❤ !
I honestly had the best time of my life back at APIIT, with all the crazy fun and incredible hard work… I would say I rebranded myself there.. 😀 It was a place where I was pushed to realize nothing was impossible, and recognize my hidden strengths and move forwards… Also I was truly lucky to have such an epic bunch of friends ! I really love you guys and will surely miss yol 😀 !
Finally but not least I would like to Thank all the Lecturers who guided us all the way to achieve this amazing achievement.. Thank you all ! 😀
Oh yeeeeeeeeeee xD Lalalaaaaaaaa 😀 ^_^
And the day is finally here, officially
Graduating in BENG(Hons) Software Engineering (Second Class First Division) ! xD
Reminds me of the very humble beginning of this dream, when I decided to drop off from my A/Ls Mathematics stream after 6 months of time waste…
When I decided to chase my dream, my passion for technology and innovation, that desperate need of achieving my goal…
Whereas most of my school friends got rid of me thinking that I’m a loser to skip the time waste of A/Ls and jump start my Undergraduate studies, even though they didn’t even know the meaning of what a “Degree” was back then ! 😛 (Seriously everyone thought, I was doing a computer diploma even though I tried to explain that I’m studying for a degree lol) When they were going for Tuition classes I was going for undergraduate Lectures, which I still remember most of them ignored me even in the buses ! 😀 lol
Well after all the hard work and incredible journey of over 3 years end, while my old school friends are still doing CIMA, SIM and all the typical lame courses you do when you waste your life with A/Ls, and trying to find their way… here I am,
Right after my final exams, I got recruited as
a Software Engineer by one of the top IT companies in Sri Lanka just by the age of 21, earning piles of money each month since then, and living my Dream to the fullest ! ^_^
Never underestimate the power of a passionate crazy Dreamer ! 😉
YES I DID IT ! 😀