While, I was working on one of the Android App, I needed a layout which offers overlay layer and provides a semi-transparent effect to view controls beneath it. In addition to the look & feel, I was also looking for a smooth transition effect to bring overlay in the view. It should also offer responsive touch to slide it out. The requirement seems to be very simple and my hunt began to implement such control. While I could able to locate many references for transition effect, none of them were perfect and had some flaws in it. The major flaw, I noticed with the implementation was that – Once an overlay view is displayed, sliding it to the right, will sometimes cause controls beneath it receiving events and yielding weird results. The rationale behind it was simple, the usage of setOnTouchListener doesn’t provide enough control over the touch lifecycle of a control and hence the touch event was getting leaked to the controls, visible one layer below.
Back in June 2015, when I left my job and thought of going for my dream, I tumbled across many ideas. As a continuation of “Selfie-social” post, I am sharing one more idea that I had – Building Ride sharing app for corporate employees. There are many ride sharing Apps are available in the market, but most of them are focused on general people coming together and planning for ride. Based on my personal experience, I always felt that the hubs where many professionals come together to work, have to go through lot of pain while commuting. Though most of them prefer to have personal vehicle, many still depend on the Public transport, taxi, trains etc. Before getting into the details about my thoughts, lets see what problems I want to put forward.
Laying on bed, eyes shut but not sleeping, a mind at peace and on the verge of building a chain of words. May be he is a poet and working on his next creation. Somewhere else, a guy was seating on the bank and there was no one around, except nature, birds chirping, sweet sound of dry leaves. The river is so calm that he finally feels relaxed. He can’t hold his thoughts and want to write a story. Hmm after all he is story writer. Not so far, another guy seating in a closed meeting room, leaning back on chair with eyes closed, thinking about software system. He wants to bring a change, he wants to really think through. His brain is solving puzzles and a stack of ideas are just building up.
Android has been on my radar for a long time, but I could never proceed with simple hello world program and few basic stuffs. From last couple of months, I have been working with both Hybrid and Native application development for Android. The experience has been enriching as I have explored lot of things in Android App Development. There are still few areas (testing, automation, profiling, game development etc.) that yet to be discovered. While developing one of the functionality, I came across a strange problem. The need was to extract an icon of any installed app and store it. Later the extracted icons must be displayed in GridView for user actions. I started using following code, to extract and save the icon
Drawable appIcon = packageManager.getApplicationIcon("com.xyz.mobile.app");
BitmapDrawable bitmapIcon = (BitmapDrawable)appIcon;
FileOutputStream fosIcon = context.openFileOutput(packageName + ".png", Context.MODE_PRIVATE);
bitmapIcon.getBitmap().compress(Bitmap.CompressFormat.PNG, 100, fosIcon);
//flush stream... close stream...
Be it a party, get together or a small meetup, people like to treasure the moments and share it over social media. Got a new dress or a gadget, visiting places or done something unusual, people like to take snaps and share it with the world.
Technology has eased many things, taking snaps is just one click away and sharing it can be done within flash of seconds. With the rise of social networking, there are now many options available to connect with the people at distant location and share memories.
Looking at the pictures, most of the people have questions like where was the picture taken? what a person is wearing or where is it available? what is the price of the gadget or the jewelry being displayed in picture? People usually prefer to post their queries as comments or sometimes may contact a person in the picture, if possible. While all this may help to retrieve the information, it is not either available quickly or sometimes remain private. Additionally, the social networking sites have to broadcast advertisements heavily to ensure the inflow of money. Sometimes the ads are not targeted to appropriate user and more prominently it annoys the viewing experience. Most of the users also seems to be demanding that the content displayed to them should be ad-free. There is also a move to have OS level ad blocking programs which prevents Mobile Apps from displaying Ads.
Whatever you want, be it in any corner of the world, the web has made it possible to order, to see it from anywhere. Every seller, brand, manufacturer have their presence over the web and are eager to market their product to the entire world. The online shopping portals are bringing wide variety of choices to consumers and promoting competition among sellers. This raises demand for ready to go market Shopping web frameworks which can be quickly setup and help businesses to go online. Nevertheless there are hosted solutions like Shopify, Bigcommerce etc., some will prefer to have a customised versions. Broadleaf is one of the ready made solution which can be customized as per the needs and deployed on either your own premise or on cloud. While few days back, I was trying to deploy it in Openshift, I came across various challenges which might be of help to others.
Due to time constraints, many people are not able to launch their personal blogs or websites. But most of them still want to have a personalized email address. The reasons could be to avoid general spam on public domain email addresses OR a dedicated email address for official reasons etc. While these reasons are valid for individuals, it might also happen that small organization having team of 5-10 people dealing in business, may still need 8-10 email accounts (the number can increase, just keep reading the article). Going for full fledge hosting plans or buying dedicated email addresses is still a costly affair. Some of the email providers charge somewhere in between $30-$40 per year, per user for dedicated email addresses. So is there an option, which is viable for smaller teams and doesn’t cost much? How about just paying for domain name registration and the email boxes are available free of cost? No need to pay for every email account for smaller teams? Rich interface to access emails online and provides decent storage space?
Cloud has become most integral part of most of the enterprises and many businesses are banking on the services provided by Cloud Service providers. The delegation of managing infrastructure to experts and focusing on the core business, definitely seems to be right choice. This trend mandates every developer to get acquainted with Cloud enabled systems and understand how it actually works. Luckily, there are many Cloud Service Providers, who are providing trial packages that range from 1 year long subscription, or servers nodes that wake/sleep for a duration or ready to go services without worrying about underlying OS and managing virtual machines. While various carriers are providing trial based services, interestingly one of the carrier is providing non-expiring cloud subscription for free and its definitely worth exploring for hobbyists and learners.
Email integration has been painful exercise, with the need to install SMTP server and using right set of libraries to send email. Moreover the follow up with administrators to enable specific ports for application and if you are small company, maintaining your own SMTP server is really frustrating. The fight with spam and a need to respond instantaneously to customer queries, may end up eating most of your crucial time. While experimenting with quite a few email services, I came across Mailgun. An easy to use HTTP service to send/receive emails.
The prerequisites to integrate Mailgun, requires
- Having your own domain.
- Verification stage which requires adding MX, CNAME and TXT entries.
- Use ready to get started APIs available on Mailgun site.
Eclipse is strong IDE and preferred choice for coding many languages. I have been using it for Java, JEE, PHP and recently started C, C++ using Eclipse. The strong plugin ecosystem has always proved of great help to get many things done at faster rate and in convenient way. Besides using Eclipse as IDE, I have also ventured into developing Plugins/Features/Product and you may notice few of my articles describing same. Few years back, I came across tools like Maqetta and online screen editors and off recently my encounter with Wix and Weebly made me think as how these technologies can be made available inside Eclipse. It was obvious that using SWT browser control, its quite easy to plug the tools described above. But to me, that’s mere hack and not delivering true Eclipse Plugin experience (experience similar to what Flash Builder provides with native component panels and clean editor area to design screens).
This lead to venturing into an undiscovered area of my technical experience but due to some reasons, I left the exploration mid way. Till that time, I had got fair understanding of SWT Browser and Browser Functions. Also I did cross ventured into embedded chromium but didn’t explore it any further and got occupied with my daily routines. Few weeks back, while playing with Wix, the long time sleeping dragon just woke up and hinted me to dig again as what options are available to deliver true experience of HTML editor inside Eclipse.