Category: Technology
Ok, so we’re all very well acquainted with our friend, the web browser. It has helped us with so many things in life, answered so many of our questions (well, technically it is Google, but nevertheless), and kept us entertained. It simply became a huge part of our lives. And how?
Through its well-built web applications. Our web browsing experience is influenced a great deal by these two factors, the web application and the web browser. And over the years, we have seen a hell lot of improvements in our browsing. The kind of browsing experience we have now is not something we imagined a few years back. To explain how it has changed, let’s take a quick look at how web apps used to be in the past.
While growing up
Ever since the introduction of the web, browsing worked something like this; when you type in the address for a web page, the browser requests for the page, say for example “Fingent.com”, which causes a server somewhere on the internet to find and create an HTML page and send it back to the browser. Back then, browsers weren’t all that powerful and HTML pages were basically just static and independent documents, so this set up in the back end worked well. Later on, Javascript (the programming language) came to be used, which allowed web pages to be more dynamic. Even then, web pages used nothing more than image slideshows and date picker widgets.
After several years of technological advancements in computing, the web and the web browser have evolved so much that, it has become a platform for fully featured and rich applications. With the introduction of HTML5 standards, put together with fast JavaScript runtimes, developers have been able to create richer apps that used to be possible only with native platforms.
Single page apps
Much later on, developers started building full-fledged applications on the browser using JavaScript and its advanced capabilities. Single page apps (like Gmail for example), were able to react or respond immediately to user actions without having to go to the server to bring up a new page. Such applications used libraries like Backbone.js, Ember.js, and Angular.js, all of which come under the client-side Model View Controller (MVC) architecture model.
In this case, the mass of the application logic (like views, controllers, templates etc.) lies in the client side and communicates with an API for data. The server, which may be in any language like, Ruby or Python, handles the creation and serving of an initial bleak HTML page. Javascript was the basic and traditional language of the web browser, and computations were directly performed on the user’s machine. This was called “client-side processing”.
Such apps were actually very good for the user as all they needed was the initial loading time. Once that was done, then navigation between the pages would become pretty easy and smooth without refreshing the page and it even supported offline browsing if everything was done right. Even for the developer, such apps were perfect, as there was a clear cut division between client and the server and there was not much sharing of logic required between the two (which are often in different programming languages), which facilitated the smooth workflow.
However, there were a few flaws in this perfect approach for web applications:
Trouble for the spiders
An application that works only on the client side is not capable of serving the web spiders or web crawlers. Web spiders are automated programs or scripts that run to search the web in an automated and systematic manner. The process is called web spidering. A lot of search engines and even sites use this process as a way to provide up-to-date data. What they basically do is request the server for a page and interpret the results. If however the result is a blank page or an undefined page, then it is of no use. Now, as such apps cannot support web spidering, their SEO (Search Engine Optimization) will be poor or not up to the mark by default.
Slow applications
If the application is requested for by the user, and if the server is unable to provide the full HTML page and hence waits for the JavaScript on the client-side to do so, then it causes a delay in loading the page by a few seconds, which could actually cause huge losses. There are several statistics that prove how drastically sales get affected as a result of a slow web application. Need I say more.
Apart from these, there were several other minor limitations like for example, as there was a clear distinction between the client and server sides, there were chances for duplication of application logic and data, such as formatting of date and the like. Such things were more problematic in case of huge and complex applications.
THE SOLUTION
With all the above-mentioned limitations, there was a need to find a solution that surpassed these issues and yet maintained the efficiency and smoothness of client-side application logic. Thus emerged Isomorphic web applications developed using React.js.
A word about React.js first – It is basically an open source JavaScript library used for creating user interfaces for web applications. It intends to overcome the issues in developing single page applications and is maintained by Facebook, Instagram and similar communities of individual developers.
An Isomorphic application is one that can run on both the client side as well as the server side. The code for an isomorphic application can be used or shared by the front end and the back end. A major difference in such applications that make them much better than other applications is the way they process requests. An initial request made by the web browser is processed by the server and all other subsequent requests are processed by the client side.
Now there are a number of benefits associated with Isomorphic applications due to which they are rising in popularity and becoming a huge hit among developers as well as users. Let’s take a look at some of these benefits:
- Speedy– Isomorphic apps are faster to provide HTML content, as the request is not always handled by the server-side. Only the initial ones reach the server whereas subsequent requests are handled by the client-side. This makes browsing faster and more efficient. Moreover, as opposed to common Single Page Applications, where the first request is used majorly for loading the application and then further steps to gather the required data, Isomorphic apps have fast first page processing and even faster further processing.
- Versatile – New devices, as well as old devices, can browse Isomorphic apps, as they return HTML which is compatible with every device, irrespective of features. Single Page Applications returned tags that contained JavaScript which proved to be a problem with older devices.
- SEO Friendly – Isomorphic apps are supportive of web crawling and hence contribute to better SEO. And from 2014, Google can crawl JavaScript applications as well.
- Less Code – As the code is shared between the client side and the server side, there is much less code required as against Single Page applications. This makes it a lot easier to develop as well.
Another major factor is the fact that Isomorphic apps can be easily maintained. As there is no need for duplication of application logic between the front end and the back end, it makes handling of even complex applications much easier.
A lot of these benefits make Isomorphic apps very popular among developers, as they all point in one direction – that is, making development easier. They also give the expected results, and that put together with less coding, makes it a favorite among developers.
As for the users, speed and efficiency are the essential drivers. If you have an application that loads fast and gives excellent features, what more do you need?
The future
Node.js seems to be becoming mainstream with most organizations around the globe. This means that it is slowly becoming inevitable that web apps share code between the front end and the back end. Isomorphic JavaScript is essentially an array that may start with simple sharing of templates and then go on to even handle an entire application’s logic. Applications that live on the traditional back end can also use Isomorphic JavaScript by creating sensible APIs and making it exist along with Node.js. Thus, “Isomorphism” is slowly but surely taking over browsing and soon, there will be a time when not a single advanced web app exists, that does not make use of some JavaScript running on the server.
Tiny flaws
Just like any application, there happens to be a little flaw with Isomorphic apps as well. It’s just that debugging is a bit of a problem for such apps. There is probably a need to use separate debuggers for the server side and client side of the application. Like for example, for the server side, a node.js debugger would be sufficient while for the client side, maybe the web browser’s debugger would do. It depends on the kind of application as well.
Another possible difficulty could be in managing the settings on both sides. For example, the setting for the server side such as API keys and for the client side like the hostname of resources used such as CouchDB, could vary according to the production environments and it could be quite a task managing them.
Conclusion
Just like any other application, Isomorphic applications have their own share of advantages and disadvantages. In spite of the minor flaws, these apps are definitely increasing in popularity with each passing year because of its ease in development and speed. It is an exciting technology that comes with the option of various isomorphic libraries available, that can be chosen according to the scenario. What do you think about Isomorphic applications? Share with us in the comments below.
Stay up to date on what's new
Featured Blogs
Stay up to date on
what's new
Talk To Our Experts
What is the first thing that comes to your mind on hearing the term, Virtual Reality? Do you get images of Neo and Morpheus strolling about in “The Matrix” or is it that of Johnny Quest with his father fighting it out in their “other world”. Either way, you are about in the right track. To think that these were characters created as part of the fantasy world in the past.
Virtual reality is a concept that is fast becoming common and popular these days. It opens a whole new range of exciting opportunities with it as well, especially in the world of gaming. Leading techs are already in the game, with their much-anticipated products such as Facebook’s Oculus Rift, Microsoft’s HoloLens, Sony’s Project Morpheus and a comparatively low-cost entry into this field, the Google Cardboard.
A lot of these devices are already being used in a number of industries across the world, as virtual reality is one of the most versatile technologies ever to be innovated in the recent past. To know what the hype is all about, let’s take a detour to find out what virtual reality is.
What is virtual reality
Virtual Reality is basically a concept in which computer technology is used for creating a simulated three-dimensional world. One in which the user can manipulate, maneuver and explore stuff while experiencing a feeling of actually being in that world. Nowadays, it is also known as Virtual Environment. Though there are different theories and opinions on what exactly comprises a virtual reality experience, the basic constituents are:
- three-dimensional, life-size images from the user’s point of view
- the power to monitor the user’s movements and change the images and features in the virtual display to reflect the changes in perspective
There are several devices and applications these days that have been created solely to achieve these goals.
A peek into how it works
The user feels a sense of “immersion” on being in a virtual reality environment. Immersion refers to a feeling of being inside or part of a particular world. Once the user starts interacting with the environment, he gets into state of “Telepresence”. Telepresence is a combination of the sense of immersion and interaction with the environment.
A proper Virtual Reality environment will actually make one feel detached from the real world or real surroundings and get you to focus only on your existence in the virtual environment. Computer Scientist Jonathan Steuer says, “Telepresence is the extent to which one feels present in the mediated environment, rather than in the immediate physical environment.”
Devices are designed by the developers with the help of technology to create these feelings among the users and provide rich virtual reality experiences.
The future
The two main custodians of larger-than-life experiences – the gaming industry and the film industry are the pioneers in using virtual reality for business. They are likely to take virtual reality to new heights and set the pace for other industries as well.
For example, the 700 billion dollars worth glamour industry in the United States, Hollywood uses virtual reality to make amazing movies. Nokia’s new Camera Ozo, is likely to become a huge hit in this regard. With the ability to capture audio and video in 360 degrees, Ozo has been reported to give the most amazing experience with surround sound and images. Users actually felt the voices in their surroundings and were able to turn around and see the characters talking.
There are a number of other companies also looking to invade the film industry like Samsung.
The gaming industry too has a fairly large amount of loyal followers who are highly enthusiastic and encouraging about new innovations. For example, Rebellion, the leading game makers are looking to launch a virtual reality integrated version of their old 1980s classic Battlezone. There are also other companies yet to set their feet into this huge wonder.
Tourism is also another industry which is starting to make use of virtual reality with the South-African tourism being the pioneers. Their shark diving experience is something that is likely to become the next big thing leveraging virtual reality.
From the looks of it, this is already starting to be a revolution which is not going to stop with the present day. Into the future, maybe we’ll have people watching pyramids being built in the early days of Egypt or maybe how the Empire State building was set up in America or watch a play in the original Globe theatre. Books could also be made into jaw-dropping movies or even games with virtual reality supported cameras. We have tons of talented developers waiting, with all the skills to ideate, conceptualize and produce amazing worlds for us to explore and experience. All we need to do is wait for it.
Stay up to date on what's new
Featured Blogs
Stay up to date on
what's new
Talk To Our Experts
As the reign of mobile applications and mobile devices continue, we, as part of this revolutionary trend, have to keep ourselves updated about everything latest in the mobile world, don’t we? Of course we do. We also have to be aware of everything we need to in this regard. I’m talking about mobile applications and their making. Continuing my endeavour to make you guys acquainted about the many processes and resources that go into making a mobile application, here I’m going to give you some more information on mobile application testing.
In one of my previous articles, A winning mobile testing strategy: The Way to Go, I had explained the various steps involved in the process of testing and the article, and Mobile Application Testing: Challenges and the Solution had the major challenges faced by testers.
Now, for those of you who read through the testing process, in case you are wondering “what other kinds of testing are there?”….
Here is a list of the most commonly used kinds of mobile application testing. Do keep in mind that all of these tests are conducted to perfect different aspects of an application. Hence, ideally a combination of some of these would probably be the best way to go.
- Functionality testing – This is actually the most basic kind of testing for any application, as it ensures that the basic functions of the app work as intended. As is the case with any user interface based application, mobile applications work on the basis of several human interactions as well. All of these functions need to be tested for their accuracy. Considering the challenges faced by testers, like the wide range of mobile devices for example, functionality testing is usually a time-consuming and intensive process if it is done manually. However, there are various automation tools available in the market for functional testing as well.
- Usability testing – This is conducted in order to ensure that the mobile app is easy to use and provides a good user experience to the customers. It basically tests the app from three angles:
Satisfactory user experience – The user acceptability level or comfort level of the application and also others affected by its use.
Effectiveness – The level of benefits achieved through the app in comparison to the level of resources expended for it.
Efficiency – The accuracy of the application in terms of its ability to achieve specific goals in specific environments. - Performance testing – This covers testing of performance of the application from the client side, server side as well as network. The client side will focus more on things like, responsiveness of the application, user interface elements etc. It also involves testing with different types of data connections, WIFI, levels of battery consumption etc. There are again a number of tools available to carry out testing in these areas.
- Compatibility testing – This is conducted to see whether the application works as intended in different devices, Operating systems and their different versions, browsers and screen sizes.
- Security testing – This is carried out to test whether the application is capable of storing and protecting information.
- Memory testing – This is important to ensure that the application maintains optimum memory usage throughout its life. Mobile devices usually tend to have very limited memory and the operating systems also have a tendency to stop applications that use too much memory, which might lead to problems with user experience.
- Regression testing – This is done in order to bring to light any bugs or errors that may exist in already built modules of a project after making changes such as improvements, enhancements or configuration changes and the like.
There are also other kinds of testing, like services testing, user interfaces testing, operational testing etc. which are also done in some cases depending on the kind of mobile application. Apart from that, the most commonly used tests are listed above. As a general rule, functional testing is often conducted first followed by performance testing and the rest. Like i said before, not all of these tests might always be conducted in order. It all depends on the application. The basic point is that testing is a huge and significant part of mobile application development, and at no cost can this be avoided.
Stay up to date on what's new
Featured Blogs
Stay up to date on
what's new
Talk To Our Experts
We’ve all had a thousand stories to tell about our clients, haven’t we? From the “oh-so-understanding” perfect clients to the most adamant perfectionists, each client gives us a unique experience to talk about or even learn from, sometimes. Now, how often do we think about the client’s perspective of things; like, what kind of stories would they have to share about us – the designers, or maybe are already discussing now?
Yes, they do that too. This is the part where you can probably think of the times you’ve lost your temper trying to convince the client about something, or the times you’ve messed up things, just because you needed an extended deadline to finish something perfectly.
Its OK. We’ve all been there. Just like clients, designers too have their own unique characteristics and ways of dealing with things.
However, there are some who may be too eager to finish the project, have a million doubts at every stage of the project, and some may know just what clicks, hey, perfectionists exist among designers too. From a client’s point of view, some of these kinds of designers are ones that they should probably keep away from.
So, this is for the clients. Here we list 5 types of designers who can do no good for you or your project. Make sure you steer clear of these people and as for the designers, make sure you don’t fall into any of these categories.
- The “Mr. Know-it-all” frauds – These kinds of designers are the ones that think that they know everything about everything. They will probably portray themselves as experts in their field and get you to believe that they are the most experienced designers (which they could be, in terms of years of experience alone) and how they are the best for the job. But later on, you will probably realize that your project looks like the latest collection of the free design templates available online and that there is absolutely nothing worth the money you just paid them. They probably think of themselves to be right all the time and others wrong, so they tend to avoid anyone else’s ideas. What’s more, they might just disappear with the money, once the project is delivered to you, and never be heard of again. Try telling him an opinion of yours. If he smilingly rejects it or turns it around to make it his own, then this is probably it.
- The “perfectionists” – These are the ones that spend hours at length trying to perfect a tiny little aspect of the project and finally end up not being able to deliver the project on time. They might have the most organized way of doing things and often cannot stand the thought of something being out of place. Even though the project might be the epitome of perfect, you probably won’t get it when you want it. Also, they might tend to ignore a lot of instructions because it’s just not their way of doing things and they might not even pay attention to any other ideas because they are just not perfect. Maybe you can try giving him a trial work for which you have a proper deadline and also have a clear idea of the time needed to complete and see if he can do it with full perfection. If he can, then you can go ahead and hire him, but if not don’t hire even if his so far is perfect.
- The “multi-taskers” – These kinds of designers often take up a number of projects to work on simultaneously and have no priorities set. They will probably also have a couple of ongoing freelance and personal projects too at the same time. As a result, they have absolutely no track of time and hence no track of due dates. The quality of their work on all of these projects also gets affected because they are focusing on numerous projects at the same time. In the end, you will probably be left with a completely off the schedule and substandard quality product, plus a whole lot of wasted time, effort, and money. Try getting a clear picture of the kind of work he already has on his plate before you hire a designer.
- The “clever foxes” – These are the ones that keep you updated on the advances of the project and keep telling you their bright ideas, which you probably might have nodded along with, because you thought your designer is the best. By the end, you will probably find yourself nodding yes to including something that they made you believe, the project cannot do without and end up spending twice the cost that you had planned and taking twice as much time as what you had initially planned for your project. If you hear a “Your project is almost done, but…..” then you probably have chosen the wrong designer.
- The “copy machines” – These kinds of designers often search the web for inspiration and new ideas, and finally end up literally stealing the design styles that they’ve browsed through. You don’t want your project website looking just like another one, do you? You certainly don’t want to be accused of copying the design of another website, right? Then you should probably stay away from these unoriginal copiers. They often have a history of similar looking websites and designs to their credit, so if you do your research before signing up with a designer, you can probably spot this one out pretty easily.
There are many other kinds of designers out there who have their own unique traits, like for example, ones who finish off projects ahead of the deadline, but with substandard quality, ones who are the opposite, that is extremely lazy and keep putting off deadlines and ones who like to work alone. The truth is that all kinds of designers have their negatives and positives. The real challenge is to find the one that is best for your project and how will you get there? Research, research and more research.
What other kinds of designers have you come across in your professional life that you think you should avoid? Share with us in the comments below.
Stay up to date on what's new
Featured Blogs
Stay up to date on
what's new
Talk To Our Experts
Developers and Testers: Two people from two different planets working together to deliver a quality product to an “Alien”! Funny isn’t it?! The story is more or less the same in every software firm. A developer works hard to develop a product, which he handles with so much care and gentleness; a tester works hard to break this code handling it in the worst possible cases and scenarios to test its defects, resistance power, and strength.
So, when a developer finally hands over his much-nurtured sprint to the merciless team of testers, ready to execute the ‘out of the box’ testing, this is what happens:
o User Interface element alignment? Off!
o Inputting special characters instead of string? Unknown result!
o Putting 01 for a range from 1-10? Crash!
o Entering a date in the past? Crash!
o Working with special characters in names like, Neil ’O? Nope!
And there they silently demolish the code….
Sandpapers scrape and scratch, but to create polished surfaces!
So, there is this formidable wall between developers and testers most of the time, which stops them from having a sustained smooth association. There are many reasons attributed to this silent difference in opinions. For instance, developers are often seen to possess parental attachment to the stuff they create. It’s more like; “I know my kid, he wouldn’t do that”, when the reality is, the kid actually did just that! It might sound silly, but a good programmer should learn to be more objective and accept the fact that they have to do terrible things to their code. Because, if they don’t, others will!
Another problem is, developers have little or no idea how their code is going to be handled at the other end of the boundary wall, and thus they aren’t ready for the million bugs that testers backfire at them. Being in the developing environment, which usually revolves around positive scenarios of how to make things work efficiently, they often lack the ability to switch to ‘what can go wrong’ mind state.
Programmers are pros at breaking down complex scenarios into small programmable chunks; ‘The Computers’! – What can be a better example to support that statement! Can you imagine, the computers do all their work with just 0 & 1, the binary numbers and some operations on these, like OR, AND, NOR, NAND, NOT, XOR and XNOR! On the other hand, testers are experts in finding complex scenarios, where they can probably uncover a glitch to break the system!
Thus, the million justifications, silent cursing, and muted murmurs before finally reaching “The end product”! Though these are the situations, the product keeps gaining value from the combined efforts of programmers and testers. And that is how self-resistant codes are born; after all, testers care for their end product, you see! And it’s for developers to realize how their application can flunk in million ways, any time!
Developers with Testers- the perfect wedding!
Though organizations often make efforts to improve the communication between developers and testers, this is often not enough. If only their thoughts cross these barriers and start thinking somewhat within the same boundaries, can we expect super conflict-free Apps! (Pun intended)
It’s always a good idea for programmers to sit through some training/seminars that test engineers attend. A Developer who has attended such seminars is found to avoid making silly (yet common) errors and is often more vigilant. Moreover, a programmer’s awareness of testing tools, methods and processes goes a long way in enabling smooth and fast testing practices. He learns to stand in tester’s shoes while writing codes, to understand what in his code can probably be a tester’s target, what changes he makes will give testers a tough time and what makes it easy, thus making the entire process productive. For instance, any coder might not find it an issue to change a button label from, say, “Clear” to Reset”, but a developer who has sat through the testers’ seminar/ training can probably understand why this silly button label change affects the testing and how it can be frustrating to his colleagues in Testing.
The developer can thus create applications keeping in mind the worst cases that his code can go through, or gets tested in. He will eventually learn to make discipline around testing (or breaking) his own creation- his own code, which indeed makes him a better programmer. So an out of the box thinking is always good! Also, testers need to understand that everything changes with time, and so are the cases with software development too. It doesn’t make sense to change/ rebuild the code every time there’s a change, but the efficient solution is to encourage programmers to make wise changes in their code than to frequently change it.
One team- One goal
In hybrid agile development environment like ours, we handpick Engineers from departments, to form a dedicated team working together throughout the lifecycle of a particular project, with the single goal- the final release! I say ‘Engineers’ and not testers, designers or Business Analysts (BAs), because everyone in this team is a developer, and contributes to the development. This ensures that there are no separate groups (like developing group, testing group, BA, etc.) coming into play at various stages of developing a product, but a single team dedicated to every phase of the product development- from day 1, Sprint 0 to the Release of the End Product! This practice guarantees that the resources and their time are fully and efficiently utilized at every phase.
For instance, with the beginning of a new project, from day one, that is, the initial product backlog creation stage, you have a team in place, consisting of testers, QA experts, developers, UI designers, DBAs and analysts gathering at every SCRUM meetings, to discuss and contribute to everything they may not be directly involved in. Even before the development of the product starts, that is, at the programming estimation phase, testers start writing test cases, estimations etc. for features that will be developed, BAs do the requirement analysis and stuff, Developers plan and decide on features, and so on. At each SCRUM meeting, the team determines how it shall accomplish the work that needs to be done. This way, not only everyone has tasks throughout the sprint, but also knows and understands the roles, responsibilities, hard work and effort taken by each member. Thus, they learn to respect, understand and get on well together to work as a REAL POWERFUL TEAM!
Ultimately, we know the entire team has one single goal- “A Quality product”! It’s just that the developers and testers take entirely different paths to get there, just as in the much-admired Love stories!
Stay up to date on what's new
Featured Blogs
Stay up to date on
what's new
Talk To Our Experts
Several statistics prove that almost 75% of website users judge the efficiency and credibility of a company by its website design. That pretty much shows how important it is for a company to have a well-designed website. They are undoubtedly one of the main factors in improving business. However, it is also one of the most overlooked aspects of a business. Managers and Chief Executive Officers (CEOs), often do not spend much time on their company’s website. Even though they realize how important it is for their business, all they do is simply hand over the job to the designers and forget about it.
What people seldom notice is that there are a lot of misconceptions around how websites are built these days. Some of these can even cost the company their relation with designers when the final design is a mess and doesn’t attract people. In turn, the company might just lose its prospective clients.
Here are 5 of the most common misconceptions that companies should probably watch out while designing their website. And if you are a designer, these points will definitely teach you what not to do while working on your new project.
- ‘Fancy is better’ – Most often client companies feel that their newly designed website is not good enough, or not worth their money when their designers submit a minimalistic design. The truth is that minimalism is actually the “in thing”. White spaces in websites are often considered to be the signs of a poorly designed website, but the fact is that users find such websites more appealing and beautiful. It is as a matter of fact, quite OK to have white spaces in a website as long as everything necessary has been included. Instead of including extravagant icons and elements, designers need to focus more on making websites simple and perceptive. Moreover, simple designs contribute to a lesser load time, which adds to the effectiveness, as most people tend to leave a web page if it does not load in 4 to 5 seconds.
- ‘What the client likes is what the users will like’ – Most website designers, finalize on the design by taking into consideration the client’s preferences. However, what they like might not always seem appealing to the actual website users. Again, if the company finds a particular design not good enough, then the website as a whole is said to be of bad quality. This too is not good practice, because of the same reason – what the company likes might not be what the users like, and vice versa. Companies need to hire designers that do thorough market research and trust them in providing effective designs.
- ‘Content just needs to have the keywords and can be recycled easily’ – The content of a website is supposed to have the right keywords. True. But these keywords shouldn’t be stuffed into the content for the sake of Search Engine Optimization (SEO). The content should be relevant, reliable, engaging and original. It should also contain the keywords. Also, most designers think it is ok to use already existing content, from the same website. That again is something that affects the credibility of a business. Whether it is from the same company’s website or from some other website, recycled content makes the users bored and also affects the search engine ranking.
- ‘Mobile websites are not necessary’ – A lot of designers focus only on, or more on the desktop version of a website. This practice is no longer a wise move, especially today, when the world seems to be under the reign of smartphones. People need to focus on building mobile responsive websites instead, and make it possible for the users to access the site from anywhere in the world, regardless of the device. Several surveys show that over half of the website users are less likely to become customers of a company that doesn’t have a mobile site or if they have a poorly designed mobile site.
- Bigger logos are better’ – Logos are meant to add brand value and help customers identify unique brands. They are not meant to fill web pages. Adding huge logos to a website, in the hope of being able to grab attention, is a big mistake. It is important to properly design the size of the various elements in a web page in order to make it appealing to users. Having the essential elements in a bigger font and the rest in a slightly smaller font is probably a good way to go.
A good website design is one that will not only be useful and attractive for the users but also conforms to SEO specifications. It will have relevant and original content and shall appear seamless on any mobile device. Companies need to hire designers who know all these and are well aware of the future trends in website design as well.
What other strange website design misconceptions have caught hold of your associates? Let us know in the comments below.
Stay up to date on what's new
Featured Blogs
Stay up to date on
what's new
Talk To Our Experts
Mobile Application testing can be quite a daunting task sometimes, what with the number of mobile devices being used these days and also the various operating systems. You need to achieve maximum accuracy and efficiency out of an application, and you need to ensure that through testing. Hence, the testing process can definitely be said to be the most essential and critical part of mobile application development. You need to have a perfectly thought out testing process and be extremely careful and particular about each step in it. Previously, we had discussed the various challenges involved in testing on our blog Mobile Application Testing: Challenges and the Solution.
Let us now see the different steps that need to be followed for a winning mobile testing strategy:
A winning mobile application testing strategy
To state an example, one of our clients in the retail sector, needed an application for carrying out their operations. Here are the steps that we followed in testing and delivering a perfect solution for them;
- Identification of the types of testing – The application was one that needed to work on a range of devices, like tablets and notes and was handled by a number of agents. Hence, the testing process had to be quite diverse. We decided to carry out a combination of manual testing, automation testing and also testing on the cloud.
- Selection of mobile devices – This involves two basic decisions: selecting the gadget or device model, and whether to use an emulator, a simulation device or other such devices. In our case, we decided to use a simulation device, called Device Anywhere. You can select from a range of devices like MobiReady, ResponsivePX, ScreenFly etc. The choice can be made based on the costs involved and the scope of the application.
- Manual and Automation testing – We normally use the SCRUM process of project development and testing. Hence, we used this approach here too, with sprints lasting up to two weeks. After the completion of two weeks, a particular logically completed module was given to the testing team or Quality Assurance team to run the tests. This was where regression proved to be kind of difficult, as every two weeks, with the delivery of a new module to the testing team, they also had to make sure that the previously tested modules were still functioning as intended. For this purpose, we used a set of automated tasks that could run smoothly and used it on each of the built modules, which helped in saving a good amount of time. And for tracking defects we also used JIRA.
Quality Assurance Support – As required by the SCRUM system of project development, the development team constantly provided the necessary support to the QA team throughout the process of testing. This contributed a huge deal in timely delivery of the project.
Beta testing – This is where the application gets tested on real world users, real devices, an actual network connection and a wider geographic area. This is conducted for the purpose of user acceptance testing, that is, to see whether the app is accepted by actual users. We used a set of field agents for this, and had them go through every part of the application to ensure that every single bug was fixed and that it had all the necessary features and functionality. - Cloud testing – The cloud provides a web-based environment in which we can test, deploy and manage mobile applications. There are many advantages associated with cloud-based testing, like reduced costs setting up real-world test conditions, elimination of unstable test conditions, wider scalability, and real-time results. For our application, we carried out cloud-based testing as well to ensure accuracy.
- Performance testing – This is where the functionalities and the performance of the application is tested. This involves testing the responsiveness, the stability, the features, and the resource usage of the application and its comparison with set standards. For our application, these tests were thoroughly carried out for each completed module.
- Device testing – After all the previous tests, the application was tested in multiple versions of the Operating System required. This was to ensure proper functioning of the app even in the older versions. The Device Anywhere simulation tool was used for this purpose again.
- Test summary – At the end of the process, a test summary was created which had the details of all the important information received from the testing, like the performance details of the testing equipments used, quality of the testing process steps, statistics derived in various stages etc. It also includes details about the kinds of testing conducted and the duration of time required to complete the process. This report is also helpful in analyzing whether the testing equipments meet the performance standards and whether they are fit for further use.
These steps helped us deliver an efficient mobile application to our client and solved the problems in their business.
An ideal testing strategy will have all the above-mentioned steps, as we believe that ‘thorough testing’ means testing the application in all possible scenarios and conditions. This strategy has always helped us achieve excellence in all projects that we deliver.
Stay up to date on what's new
Featured Blogs
Stay up to date on
what's new
Talk To Our Experts
When customers get more and more digitally advanced, what else can retailers do, but go over the top to get savvier and stay ahead in the race towards serving them better? Most retailers these days are struggling to maintain their faces with new technologies and marketing programs in the digital side of things. If you thought, a little bit of social media marketing would do the trick, then you might be wrong. True, social media does play a huge role in spicing up your digital marketing spree, but is that enough?
The answer to that, would perhaps, have been ‘yes’, maybe a few years ago. But with advancements in technology as well as the minds of the people today, who seem to be in an endless search for convenience and speed, the answer is definitely ‘no’. So, what exactly is the deal with this digital marketing and the people-the consumers, and what does it take to stay in the ‘present’?
Consumers have started to expect more from their vendors and retailers are bound to live up to this expectation. Let’s see, for example, how digital marketing has changed in retail to stay relevant and eye-candy for its customers:
‘Personalizing’ at its peak
One of the most effective and influential techniques of digital marketing is personalizing. And by that, I don’t just mean sending out personal emails to your customers, or adding their first names in the emails you send out. The in-thing now, is of course iBeacons; the latest Bluetooth LE technology used in malls and retail stores to send out personalized offers and messages in real-time. But that is when your customers are in your store. What can you do to get personal outside of your store?
The depth of the word ‘personalizing’ is starting to take new forms these days. And one of those forms is facial recognition technology. According to a recent report published by Transparency Market Research, the global facial recognition market is expected to reach almost US $2.67 billion by 2022. That is how big it is getting. Retailers can use this technology to gather information about customers, their buying habits, purchasing power etc. and then use that for marketing purposes like, presenting them with special and unique offers and deals.
Facebook, the social media channel, has been using this technology for the past few years for the purpose of identifying and categorizing pictures, and this data is being shared among other retail and social media sites, which enables them to target ads to users. Facebook also uses information from other retail sites by scanning their cookies and displays ads to users accordingly.
However, privacy concerns regarding this technology are still being discussed and how much acceptable it is going to get among the consumers, still remains unclear.
From wearable to digital assistants
This is for companies that use mobile marketing for leveraging their marketing programs. You need to really keep up with the latest advancements in mobile technology if you want to make your marketing effective. A “mobile-first strategy” is what a lot of retail brands adopt these days. This is according to Aaron Shapiro, CEO of New York based digital agency Huge. Shapiro feels that voice-activated technology, digital assistants and wearable technology are all set to change the way customers interact with their favorite brands, especially now that most of them use mobile devices rather than desktop computers and laptops. About voice-activated marketing Shapiro says, “ In cases where the screens are going to be tiny or non-existent, voice is going to be the way that we communicate.” It means brands will have to come up with ways for their customers to communicate with them in a voice context.
Shapiro also feels that mobile technology is definitely going to evolve into wearable as well.
Display advertising: Metrics better than click-through-rate
Click-through-rates are actually, most often, thought of as the best measure of display advertisements’ effectiveness. However, there are several limitations to this particular approach. It ignores factors like brand awareness and educating prospects. According to Sean Callahan, Marketing Director, Bizo, there are several other metrics that marketers can use to measure the effectiveness of their display ads. Some of them are:
Brand recall – where in, you can carry out an online brand study to see the differences in the awareness of your brand among the people who have seen your ads and among the ones who haven’t.
Branded search – where in, you can measure the lift in the number of searches for your brand, while your online ad campaign is running.
Likewise, there are a number of other such metrics that you can use to measure the performance of your ad campaigns.
All of these digital marketing techniques and tips are already being used by a number of retailers and are well on their way towards revolutionizing the retail industry as a whole. In a matter of few years, what we provide for our customers now, will probably seem outdated or maybe even absolutely ineffective. Like i said, if you have to stay in the game till the end, you have got to play it like it has to be played.
Stay up to date on what's new
Featured Blogs
Stay up to date on
what's new
Talk To Our Experts
What had so far been a hot topic of debate over the past few years has now bloomed into a new trending concept for some, and a way of life for some others. The concept of course, had been doing the rounds for quite some, until finally being accepted and practiced. Now, it has become worthy of being considered as a growing trend, and being assessed and evaluated in terms of future prospects. I’m talking about the so-called “sharing economy”, that benefits the users or the consumers, the service providers as well as the intermediates. According to a recent report by PwC, the global size of the sharing economy in five key sectors was approximately US $15 billion in 2014 and it is expected to reach US$ 335 billion by 2025. It definitely seems like it’s on its way towards becoming a common thing for people.
Robert Vaughn, an economist at PwC said, “ The sharing economy is a result of long-term mega trends colliding together, driven mainly by advances in technology, resource scarcity, and social change.” Couldn’t have put it better.
The two most used or most popular (of late), representatives of this particular concept are Uber and AirBnb. Their success is not just a passing fad or a fantasy. They mean business and a new form of business at that. Now, what is it that help these companies achieve more than their other counterparts?
A simple explanation could very well be the fact that sharing, makes everyone’s lives easier. Both AirBnb and Uber revolve around this fundamental fact, of sharing and rational living. It basically helps everyone involved. They have gone as far as influencing the minds of more and more people to use and enjoy something without having to own it. Whether it is by sharing rides like as in Uber or renting something for extra income as in AirBnb, people have accepted them as a way of life.
What do they teach us?
Let’s take the case of Uber for the sake of arriving at an “economic rationale”. As rightly put by Julio Alonso, “ with two assets without any technology, it is difficult to seize prey; free time individuals who are not professional drivers and their private vehicles.” This holds good in case of a number of other assets as well and for the same reason, AirBnb and Uber have paved the way towards more such rational sharing of idle assets such as garages, commercial buildings, offices and even industrial plants. This could be applied to even a retail store, where it could be rented for a few hours. This means that the trend is fast growing in diversity as well with new kinds of industries and platforms pitching in.
Both these companies have taught us how even with tiny bits of inefficiencies initially, or with tiny gaps while implementing technology, a whole new business model can be created and transformed with very little costs involved. An already existing or rather obsolete concept was given shape and wings to fly in a little time and with little resources. It shows how to make use of scarce resources and put them together to make a brand new idea. One that has the potential to bring about an industrial revolution I would say. Funny, how we always learnt throughout our academic lives about rational usage of scarce resources and everything, and how long it took us to finally arrive at a solution. It was like the solution was always in plain sight, waiting for us to see it.
This is just the beginning of sharing economy. AirBnb and Uber can probably be said to be the pioneers in this regard and they have laid quite a strong base for us to build on and follow their paths. Hopefully, in the future, we’ll see more of shared spaces and assets and yet, people living in harmony and peace.
Stay up to date on what's new
Featured Blogs
Stay up to date on
what's new
Talk To Our Experts
If you are like me, you would have fantasized: ‘IoT would bring my reign, treat me like a Prince and put me in a world of sheer convenience’. Oh wait, does the monarchical system feel a bit too old or overstated? Ok, let’s fast forward to the ‘Democracy’, where you at least thought, the IoT will let you be like Richie Rich, “the poor little rich boy” with a ‘Dollar’matian dog, who had nearly everything automated around him.
No wonder, because with IoT, – “Everything that can be automated will be automated”- said Robert Cannon, Internet law and Policy Expert.
Internet of Things– the new buzz is certainly the next big thing you are going to witness, whether you are its fan or critic! In a nutshell, Internet of things, also called Internet of Everything (IoT) is a network into which the everyday things in our life (like phones, car, laptop, tea machine, alarms and anything with an ‘on & off’ switch to internet) are connected for machine to machine communication within themselves to accomplish tasks. After an era of connecting places and people, the Internet of Future is all geared up to connect every object/thing in our day to day life. It took a decade to deploy the first billion internet-connected sensors, a billion more sensors were deployed in the year 2013 alone, and now we are on our way to a trillion connected devices, very soon we’ll see everything connected to this network.
As it has been at every point of this development, with a lot of conveniences and possibilities come the open chances to insecurity, vulnerability, and privacy breach. And with IoT, these aren’t the regular “my remote knows my email password” type of issues, but are going to be more severe vulnerabilities. Trust me, you ain’t seen nothing if you thought Viruses, Trojans, rogue security software or phishing attacks were serious security issues, because your total security in future- whether you use or don’t use computers/internet, is under the nose tip of: THE INTERNET OF THINGS!!!
While making life convenient and comfortable, the availability, use and exchange of private data during the courses of providing various IoT services/applications will also generate severe security/ privacy issues. More and more private information will be fed into machines and when these machines go online, there stands a possibility for hackers too to access these. “We have created a whole new playground for attackers to dream up things to do — whether it is nuisance, whether it is theft or whether it is violence”, says Jeff Greene, senior policy counsel at Symantec, and co-chair of the NSTAC task force.
…There you see Richie’s fancy Mansion slowly fading and evolving into Mario’s dreaded Sky Island 18 hole challenge…
Let’s see how the IoT will challenge its adopters,
Top security challenges that IoT would encounter:
- Too many points of breach: In IoT, every device and sensors would represent a potential risk. How confident can companies be about their huge number of devices connected in IoT, their ability to preserve the confidentiality and integrity of Data? Researchers at Eurecom technology institute, France, downloaded 32000 firmware images from potential IoT device manufacturers and found 38 new vulnerabilities in more than 693 images that were extended to over 123 products. These vulnerabilities included poor encryption or loopholes to unauthorized access and affected nearly 140K devices in the Internet.
- Unlawful Surveillance: The various objects connected to the IoT via internet connecting modules in it, like toys, cars, keys or home appliances can be potential threat of illegal surveillances. For instance, Federal Trade Commission (FTC) had to file a complaint against the wireless camera production company, TRENDnet Inc. in 2013, as the videos recorded by nearly 700 of their cameras were hacked and put up with insecure internet links. This was due to the lack of proper security guidelines for the wireless cameras. Similar issues can happen in IoT where a lot of personal things used every day can compromise your privacy or security to criminals who can access even more information through your compromised/less secure things in the network. Economist reports that 60% of the surveyed business leaders think that security and privacy issues will hamper uptake of IoT by customers.
- The integrity and reliability of data collected: IoT will bring data from all sort of sensors connected in its network to corporate systems. Organizations can’t be sure whether all these data are secure, compromised or interfered with.
- All sort of personal data up there in the network and you expect privacy? With all sort of data collected from our daily lives, IoT will help us make smarter decisions and bring smarter solutions. But, what if the data collected by different devices get compromised at any point? Criminals will be able to actively intrude in private lives of people. A similar breach happened recently with a Japanese automated toilet, where Trustwave Holdings Inc’s consultant, Daniel Crowley hacked it, and was able to play music or make it flush randomly.
Nevertheless, the impact of such smart connected devices is expected to be in trillions annually, which lured the eyes of many, who argued that proper regulations and policies can very well apply brakes to such malpractices with IoT. Enterprise IT managers, policy makers, and other smart guarding brains have shielded us from challenges arising with every innovative technology, with the help of even better technology and policies to lessen such risks. If consumers, developers and providers clearly understand the security issues associated with the different modules, providing best IoT solutions with security and privacy factors kept intact wouldn’t be an unattainable goal, though it will be tricky.
Stay up to date on what's new
Featured Blogs
Stay up to date on
what's new
