Some Valuable Tips for Mobile Application Developers Part 2

In previous part 1, we have discussed about some distinct observations made in regards to mobile app development. Now, keeping thread continue, we will discuss some other aspects of successful mobile application programming.

Design for All Ages

Unlike web, mobile devices are vary in sizes and processing power as well as have performance issues altogether different than its big sister devices on the web. For instance, small texts are unreadable for middle aged to old aged audience where our team takes help of retina display and somewhat larger fonts as defaults. Scrolling is easy on touch devices so we expand mobile layout vertically instead horizontally.

Same the way image optimization is our prime concern so low capacity mobile processors never feel performance issues and our teen age and toddler audience can enjoy various games and entertainment application in engaging ways. We know the differences in the size of fingers of our audiences so our UI elements focus first on the biggest size fingers when drawing hotspots.

It is true that our younger generation is tech-savvy and quick learner against their elders so we keep these psychological and behavioral aspects during our mobile app designing and programming. We take through research of user experiences prior to and in between the mobile development process. Thus, we assure comfort for the all age people and make app self-learning and easy to operate without losing its charms by experimenting new paradigm for new generation.

Smart Prototyping

Today our mobile apps comes with enough intricacy in features as well as functionality therefore, translating them into drawings is tough and inadequate to understand the whole picture of the app. In due course, our team is banking on latest prototyping tools that allow designing click-through prototypes from the simple hand drawings or make all prototypes on the mobile devices showing all interactivities we want to design. We know excellent wireframing techniques and tools to offer nearly accurate simulation of app for the patrons who are seated faraway places in different time zones.

Balance in Design

Our team never makes extremely simple design that looks flat and boring using bit variations in UI components while we never make too complicated design that users either can’t use or feel frustrations. Our UX professionals spending enough brainstorming over each stage of designing and programming.

Take Gradual Advancements

We offer some special things to our first time users so they find app useful and valuable. Our design also offering some more utilities for the subsequent or repeat users so they stick with app with enough attachments. Moreover, we take regular updates of the mobile app so our loyal users find it contemporary and something latest updated features and functionality. Thus, we never leave our user to see at other apps in app store and fulfil relevant needs with the same app design by us.


Some Valuable Tips for Mobile Application Developers Part 1

Mobile UI at Lujayn
Mobile UI at Lujayn

There are tons of advices floating on the web for the mobile application developers. Despite these all there are plenty of iOS and Android applications registering each day in the marketplaces, which are hard to use, sometime ugly, and many times useless at user perspectives. Today I would like to discuss instead of giving advices regarding to these above mentioned failures.

Honor Fundamental UI Assumptions of the Platform

Today as a mobile developer I have seen that many clients are approaching us for porting mostly from iOS to Android or vice verso. Some of them wish to translate their website or web application in to the mobile app and rest are seeking help to port on other platforms. However, we accept their projects happily, but our tasks becomes difficult when they insist us to replicate either same UIs or user experiences while translating them from one platform to another particularly in case of consumer apps.

It is true that corporate apps have multiple contexts and used on variety of devices therefore, some standardization is must in order to create familiarity in usage, but we can’t implement same for consumer apps where user experiences matter more than rest of expectations to achieve success. Therefore, we have to design UI elements according to the most prevalent practices on the respective platforms. For instance, menu design and menu access are altogether different in iOS than in Android where many things can be controlled by hardware buttons.

In short, our mobile developers studied design conventions regarding to the targeted platforms and niches of the apps. The most challenging part becomes the porting from web to mobile where clients want to translate each feature and functionality on the mobile and that is not possible in sense of user experiences.

Take Advantages of Platforms and Devices

I am working in a team and some of the developers have domain expertise on iOS platform while majority of programmers have Android platform experiences and rest are on Windows and other platforms. Therefore, I have made sharp observations regarding to the properties, peculiarities, and drawbacks of various mobile platforms and devices.

However, iOS has less variation in sense of OS because Apple immediately withdraws backward compatibility when a new version introduce in the market. Same the way iOS devices are not much differ in hardware features except inclusion of some advance features and functionality.

The real challenges for our team appear on Android platform where fragmentation is a rule, not exceptions. Therefore, we especially train our Android team to take advantages of the devices in terms of hardware features like camera, GPS capability, sensors support particularly from third parties. This approach win the heart of our end users hence our patrons because they have hardly idea that we can perform some additional tasks with this device or the latest version of OS of the mobile. Of course, we have to go some extra mile to teach the usage of devices and guide them for new UIs.

Small Steps towards Meeting Mobile App Developer Crunch

Today we are experiencing great demand of mobile app developers in job market as well as for freelancing work. This upsurge of mobile application programmers is not contributing by web and mobile development companies, but also small to big enterprises, which are scrappy to create their landscape on tiny devices.

Everyone Demands Experienced Mobile Programmer

No doubt, we have big pools of web developers across the globe who are kin to jump into the mobile bandwagon, but their training and most importantly opportunities are crucial factors. I have noted in every post in Elance that clients need some sort of previous experiences in their niches or ask for the live examples on the marketplaces of iOS or Android.

Perception of Web Programmers towards Mobile Development

If we digger deep, we will find a big lacunae in the approach of the web developers who are aiming to jump on mobile development platforms. They mostly perceive mobile designing or programming as a miniature of the desktop app or website. Therefore, they treat mobile application programming project as making things smaller or splitting in to the separate screens, just missing the use cases on fragmented devices.

Outsourcing and In-house Team

It is true that training of mobile developer is bit costly in terms to resources and time. For instance, iOS platform demands set of Apple devices, tools, and technologies, whereas Android has altogether different requirements despite being an opensource platform. The mind boggling things gulping Android development companies are fragmentation issues on hardware as well as OS sides.

Thus, establishing mobile team in-house is challenging task and only becomes viable when you have constant requirements on back-to-back app development or for maintenance or updates. Therefore, my advice is to hire in-house mobile developer team whenever you see the threshold in outsourcing, otherwise outsourcing is the best alternative for quality and affordability.

Investment in Training of Mobile Developers

Unlike web developer the training of mobile developers takes bit more time and good trainers. If we are going to see scenario in outsourcing companies you will find a battle field there. Since the demand of skilled mobile programmers are hitting outsourcing provider companies equally, senior developers are changing their job in order to grab fatty packages from talent hungry outsourcing companies. This creates vacuum in field of trainers or experienced developers.

At other facet of the coin, outsourcing companies can’t hike their rates due to stiff competition in the market. Thus, creating a stable and long lasting talented as well as experienced team of mobile developers is a daunting task in itself. Fortunately, attitude of academic institutions to adapt new technologies in their curriculum is morale booster for outsourcing companies.

Thus, we have fresh graduates coming with new domain expertise in their academic belt and ease the work of senior mobile developers or trainers a lot. Thus, HR managers have to check only the project type they have done during graduation and its relevancy with their vacancies.

Diversity in Domain Expertise

One more improvement is visible in job market across the world is new generation of mobile programmers are not sticking with a single domain i.e., either iOS or Android, but take all major platforms as granted to them. Apart from these, they learn essential allied skills such as graphics designing, HTML, CSS, JavaScript, jQuery, Ajax, etc. at working level so they can create highly conductive and supportive development environment in the mobile development company.

In short, modern generation of IT graduates have changed the paradigm entirely by adopting practical attitude towards diverse devices including smartphones, tablets, Google glass, smart iWatch, etc. wearable gadgets.

Be Smart While Optimizing WordPress Website-Sprites

We learned many things regarding to the various WordPress optimization techniques and their ensue at negative side in our previous posts like Be Smart While Optimizing WordPress Website-Object Caching.

Now, we need to think over other performance boosting techniques used by modern WordPress website developers in order to deliver best results in their side. Among these all techniques usage of sprites are highly favourite in web developer community. Smart developers are adding all navigational elements and most of UI elements in to sprite.

Concept of Sprite

The basic concept of sprite is to combine multiple images into one image adding pixels in one code so they load image in progressive manner and save our visitors to abandon the site waiting for full loading of different images. This speed up the process of page loading as well as boosting interactions in dynamic website with dynamic content.

Problems with Sprite

We need to be careful while adding more pixels into the sprite as mobile browsers have some limit to load heavy images or hefty pixel data at one time. Particularly, iOS and Android devices showing problems in loading with excessive sprite data. If you are going to split sprite image in to two or more fractions by calculating the dimension of the image you can load them easily, but it seems weird when they display on the mobile.

Possible Solutions

Thus, the ultimate solution of this problem is to limit the size of image by calculating them using a tool devised by William Malone for Safari browsers. This way you will able to devise new images with different sprite and will save yourself from adjusting CSS code that a big sprite is using in order to split the big image.

Other Techniques

Other WordPress website optimization techniques include the usage of CSS and JavaScript Minification where we have to remove the non-essential characters such as colons, semi-colons, new lines, etc. from the CSS and JavaScript code. This way we can reduce the file size and hence they improve the speed and overall performance. In order to make code more compact many plugins are out in the market.

The problem arises with these plugin usage when they act aggressively and start rearranging CSS selectors or grouping the properties in weird ways. This ultimately breaks the logic of the document code and resulting into unpredictable behaviour of the web page or entire WordPress website.

Therefore, I would like to advice my WordPress developer fellow to avoid such aggressive minification plugins at all and use online FreeFormatter services.

Gzip is an another speed boosting services where you will find all code and components downloading in zip file manner compressed in certain ways. Latest browser can unzip or decompress these Gzip components and reduce load on bandwidth and time in loading. Unfortunately, Gzip demands mod-deflate installed on server and many hosting services are not equipped with it.

Be Smart While Optimizing WordPress Website-Object Caching

In my previous post Be Smart While Optimizing WordPress Website-Reverse Proxies I have discussed important issues regarding to WordPress website performance optimization techniques and tools when we apply reverse proxies. I have torched problems may arise with reverse proxies implementations.

Now, keeping the threads continue I am going to explain the role of object caching or Memcached in modern website performance where hefty database is norm in e-commerce category websites in particular.

Role of Object Caching in WordPress Website Performance

Generally websites with heavy traffic or e-commerce websites are experiencing plenty of request to its database in form of various queries. Therefore, MySQL mechanism is becoming constantly engaging in accomplishments of such queries each time the requests have made. This poses extra load to the server and bandwidth in bonus.

Smart WordPress web developers have analysed the interaction between server-clients and with databases in particular and found out that most of the queries are repeating in nature. Therefore, they have devised object caching mechanism or Memcached system that takes help of RAM at server to store this queries and their output in form of cache and serve that directly when the requests have made instead exploring database each time from the scratch.

Things Go Wrong with Object Caching or Memcached

In most of the cases this Memcached is working beautifully and serving its purposes, but in some odd cases it behaves in weird ways. For instance, in case of badly coded WordPress plugins, which are tending to store huge amount of data like big images. Now, trouble begins because Memcached can store limited data on RAM so it tends to delete the previously stored data in order to store new incoming images. Unfortunately, this process couldn’t finish due to oversize image data and previous data has been deleting in due course.

This way Memcached found empty and adding another service to empting and filling the cache that slow down the processors or RAM and clients instead getting rapid response ending up with slow performance. However, this is not desirable at any cost and we have to either disable the services of that badly coded plugins or Memcached itself.

In short, we have to take smart decisions while optimizing WordPress websites using modern techniques like Memcached and run system survey beforehand to find the possible bottlenecks.

Be Smart While Optimizing WordPress Website-Reverse Proxies

Today we are hard pressed to perform best while website performance is in question while negotiating with clients. Ever shortening waiting period among the new generation of visitors and fragmented devices on the hardware and software fronts making task much daunting, if not impossible.

WordPress Optimization

Among these all, website loading is a primary criterion and dealing effectively with it is a guarantee of success to grab next projects for a WordPress website developer. However, WordPress is designed to offer best performance in this regard, but some other techniques of WordPress optimization for performance are heavily used by modern web developer community. Therefore, I have decided to dive in deep and know all facets of WordPress website optimization techniques in this post.

Smart Implementation of Reverse Proxies

The role of reverse proxies is to stand in between the visitors and server. Fundamentally, when a request for a web page is made by a visitors it triggers some actions on the server and server execute calls to the database to deliver output in form of static and dynamic resources to visualize the page, mostly in form of HTML.

Mechanism of Reverse Proxies

These resources from the database are shipping to the client device and downloading process takes place. Unfortunately, this process is repeating with each request. Thus, server has to work hard frequently or constantly to generate HTML output of the web page or entire website. Here one mechanism plays vital role to avoid repeated output generation process on the server and that is reverse proxy. In fact reverse proxy is caching the output or results generated during the first request. It then delivers these cached results on next requests and saved time and computing resources of server to generate repeated output for the same requests.

Problems Arise Due to Reverse Proxies

At first glance, reverse proxies are looking great as they speed up the loading process and decreasing the computing load on the server, but they also create sever problems if implemented wrong. For instance, in WordPress website we have to implemented additional tweaks to clear the cache correctly as WordPress isn’t natively supporting the reverse proxies at all. This taking cache and clearing cache mechanism demands smart technical implementations.

Technicality of Reverse Proxies

Let’s dig it deeper in technical terms. WordPress has some default hooks (events) in its core that shoot the order to clear the cache made by reverse proxies on the server. These events comprise of major tasks such as doing WordPress updates, adding post, adding comment, deleting post and comments, etc. Thus, whenever these major events taking place reverser proxies updating the cache and reflect the latest changes on the web.
Now, real problems arise when something happens outside these core events that can triggers the purging of cache because it don’t reflect those changes immediately and your WordPress website users have to rely on previously taken cached copies of the web pages.

When Problems Arise Due to Reverse Proxies

During WordPress Core Updates: technically, WordPress puts website in maintenance mode when updates of core (version) taking place. Now if reverse proxies are caching copies during maintenance mode they will come with error reports or stand still in maintenance mode and don’t let users to perform any action until the new cache happens and live pages are serving. Now, how will you tell reverse proxies that your website is in maintenance mode so please don’t cache the copy!
During WordPress Plugin Updates
: during plugin update WordPress generally delete the entire folder of that plugin and add new one with new files. This means plugin and its relevant features as well as functionality are stop or halted temporary and resume again when update of plugin finishing. Now, what if reverse proxies taking cache during inactive state of that plugin and visitors want to use those features or functions on your website? How do you tell reverse proxies that half for some time please as our plugin updates are taking place!

Planning A Well Optimized Mobile E-Commerce Website Part 1

Today we are living in device agnostic era where multi-screen is a norm in industry and it is further becoming complicated with invention of innovative devices with mobility. However, web is a primary carrier and its accessibility is ubiquitous on all such devices without any doubt.

Therefore, to have a website or application based on the web is must have requirements for any business to survive in their fierce competitions. The days have gone when we restricted up to desktop users in mind when our clients approaches us for website development of web application development for our businesses.

Today we web designers and web programmers are facing unprecedented challenges in assumption of our website users, their use cases, and most importantly their behaviour regarding to various factors of our modern life and purchasing. Therefore, in this short series I would like to address what to do when we are going to optimize mobile e-commerce website or app integrated with web services.

Location and Time Periods of Mobile E-Commerce Website Users and Usage

First of all, we will think the locations of the usage of our mobile specific or responsive online storefront. Just imagine the life style of our modern users in urban, semi-urban, rural areas so you will find the most possible locations categories of your mobile e-commerce website and perfect clues for their use cases.

Morning surfing

E-commerce web site surfing begins from the morning, but not in early morning, as our most of users get time to surf the web when they heading towards their workplaces and get some sigh during their commuting. This morning time is mostly devoted to the smartphones as they are very handy device during you are on the go.

Therefore, we can say that our users may be stay in the queue at bus, train, etc. stations. They may be in between the way and either standing or seating during their journey. Sometime morning breakfast table also occupy the moments spending on the web and the same is true for bath or toilet for highly busy executives, but not all.

Working Hours Surfing During Daytime

During working hours on the offices or shops, we think about the large desktops or laptops in many cases to access our e-commerce websites and most of purchasing taking place during this longer period. Therefore, we can’t eliminate big sister devices at all from the our targeted device though we are following mobile first approaches. Here mobiles are now overcoming the desktops or laptops as our modern users are sticking with mobiles or tablets even in their workspace.

If we think deeper, we can see the mix usage of devices during the pick time of working days as our users use mobiles during their lunch or launch breaks, tea-breaks, and breaks during meetings. At this time, colleague or friends are influencing the purchasing rate and decisions so this one is highly typical e-commerce surfing period when we are thinking of mobile e-commerce website optimization.

Evening or Night Surfing

After retuning or during returning from the work our mobile e-commerce visitors use tablets in large numbers to access our e-commerce store. Reasons are varying, but tablets are offering comfortable gestures during seating in common room and watching TV or enjoying company with family members. Many access our online store during commuting in bus, car, or train. Thus, this one is peak period for tablet users and substantial amount of shopping taking place during late evening to early night period.