While building a multifaceted and interactive web application, architects and developers are usually met with the challenge of performance, maintainability and modularity and are in constant need of a set of frameworks that can act like a backbone to their project and help them knock-out all the glitches in the process.
These frameworks provide a multitude of functions and help make it easier and more achievable for developers to create responsive, fluid and maintainable interfaces for web apps.
There has been a great surge in MV* frameworks over the past few years and the list of new and stable frameworks continues to grow each year.
The most established frameworks are Backbone.js and AngularJS, while the ones that have experienced the most growth in the last year are AngularJS, Meteor, Ember.js and Knockout.
This framework typically works by first reading the HTML page and then interpreting the custom tag attributes as a directive to connect the input and output parts of the page to a model represented by standard JS variables.
It is also worth noting that the values of these variables can be manually set within the parameters of the code or can be retrieved from JSON resources.
The rationale behind building AngularJS is the common belief that declarative programming is ideal for creating user interfaces and connecting components together, whereas imperative programming is well suited for business logics. All this innovation does not, however, rule out the flip side of the framework.
When it comes to the pain points, AngularJS is largely criticised for the complexity of the directives API. What confuses developers is the concept of ‘Transclusion’ which makes it challenging for them to understand the underlying concepts of compiling functions, pre/post linking functions and all other configuration settings for directives.
The newest addition to the flock, Ember.js, is the modular framework that is now used for creating scalable single-page applications by combining common idioms and best practices into the framework.
It is capable of inferring much of the configuration on its own and can create a controller for your resource, even when you don’t define one yourself.
However, what concerns developers is the fact that much of the content and examples in Ember.js no longer work and this confuses them when first using the framework.
Using a simplified model of even-driven programming, developers can build highly scalable web servers using callbacks to notify them when a task is complete.
The drawbacks of using Node.js is the tonnes of nested callbacks and the use of single thread. It means that, unlike pre-emptive concurrency, programmers will have to figure out how to deal with concurrency. Some issues with regard to API stability have also been reported by developers.
Another challenge with using Node.js is the newness of the framework. Not every developer is well aware of the pain points of working with a large-scale Node.js application until the language is thoroughly road tested and made error free.
Developers with an MVC programming background in Ruby, Python, Java, C# or any other object- oriented language may find Ember. js’s holistic approach a viable option for application programming.
For those who prefer to work in the non-blocking, even driven I/I paradigm, Node.js is the best.
Lastly, AngularJS’s innovative approach makes a lot of sense to developers who are working for quick prototyping projects and large-scale production applications.
So, which is your favourite framework? Do you have any points to share? Please feel free to leave your comments below and thanks for reading!
Most organizations receive chunks of information. Some come from the customer service, some from their IT department and some from their market research team. This information might be random, anything from having a person’s name to his bill details. This random sets of information can start to make sense if organizations can organize this information correctly.
Companies can do well to interlink data that are similar – to be able to strategize better and understand their customers in a better way – a thing we commonly refer to as Big data.
What are we talking about, what is BIG data?
Organizations store data under different heads. Some relate to customer details, some relate to customer mail ID, and some relate to customer needs. Every bit of data is important, but it is useless until it is organized, processed and reduced to simpler forms so to make a sense out of it.
This data can be in the form of text, images, audio, videos – anything imaginable. Most of it would not make sense individually. However, put together in a certain way, they offer useful insights that can offer a detailed knowledge about the observed aspect. Combine your customers birth date with his personal taste and you might just understand how you can help him more with your products or services.
The term BIG DATA refers to large sets of data that are enormously large to be processed by the conventional methods of sorting and thus requires a smarter system to analyze, collect, share, store and simplify.
A system needs to process this data. It is this need that brought up the development of Relational Database Management systems and Hadoop and MongoDB – two big names in the Big Data market.
Talking about Hadoop
Hadoop is a Java-based open source software, developed by the Apache Software foundation in 2011. It is designed to store and process a large amount of data sets on computer clusters.
It consists of HDFS (Hadoop distributed file system), the storage part and the MapReduce, the processing part. The HDFS splits large data blocks into the nodes of the cluster, and this received data is processed parallelly through the package code that manipulates the data so to work efficiently and carry the process.
The data is acquired from the various sources, and these data bits are then passed to a system program that allocates locations to each data bit. These data bits carry this indexed data and move forward in the line to the processing unit. Here the data is harvested and is redirected to the intended nodes that carry the data to different locations to be stored. The program is equipped with the feature to prevent data loose, and machine failure, and so multiple copies of this data is produced and stored at different locations. The data transfer takes place through some reserved protocols and lines so to ensure security and prevent data corruption.
Networks like Facebook, Yahoo, Amazon use these cluster networks for data accumulation.
MongoDB brings solution to the data management hazard
MongoDb also called the NOSQL database, is a cross-platform database management system. Released in 2009 by the MongoDB Inc, this platform has made integration of data much simpler and faster. This is a free and open source software.
This software works as the back-end for many applications. This is among the popular NOSQL database management systems and enterprises like eBay, Craigslist and Viacom use this software for their services.
It utilizes document-oriented approach for data management. This means instead of creating copies of the data and saving it in a different location; this software stores the data in minimum space and least number of documents. Related documents like salary, employee id, and expenses for an enterprise would be compiled into a single document file, and this will not only make data easily available but also easy to manage records. Multiple copies of this compilation are produced to maintain a backup. Also, the read and write operations are initially performed on the primary copies, and the secondary copies remain unaffected until the temporary commands are made permanent. Thus, it can be concluded that the secondary replicas or the document are the read-only type.
Hadoop or MongoDB: A choice too difficult to make?
Both the platforms work on contradicting approaches. Hadoop works on the concept of distributing the data and creating multiple copies while MongoDB defines its algorithm by compiling all the related data into a single document.
Hadoop is designed to function in sync with the presently existing DBMS, while MongoDB is a replacement to these traditional programs.
Hadoop is itself a compilation of several software components while MongoDB is a DBMS in itself.
Can these offer a combined solution?
The MongoDB can help organize and accumulate enormous amounts of data. But this is not it, almost every application of the Big Data Management requires this data to be processed. Now the question that arises is can Hadoop provide this service. It is a good idea to work on but practically achieving this is a difficult task.
Hadoop uses languages like Pig and Hive, which compile as the MapReduce, and using this with the MongoDB is might solve the problem, and this is because the Mongo supports the native MapReduce language.
Working on a data as a whole and bulk processing exerts an excessive load on the hardware but if the load is distributed and the processing is different networks, the transaction takes place more efficiently and quickly.
The CAP (or Bower) theorem states that ‘distributed computing cannot achieve simultaneous Consistency, Availability, and Partition Tolerance while processing data.’ According to this concept, any system can achieve two out of the three above specified goals. This means that it is not possible to solve the problem entirely using a single software.
Some statistics of the platforms using these programs
The following table provides examples of customers using MongoDB together with Hadoop to power big data applications.
Source – mongodb.com
What should you look for?
Surveys and studies state that information generation would become two fold from within the next decade. One system alone would not be capable enough to process such enormous loads. If your organization is large, you need to depend on programs like Hadoop and Mongo together to handle and process data at such a large scale.
Gone are the days when websites were developed for large screens of desktop computers or laptops. Today, everything has to be scaled down to fit smaller screens of mobile devices such as smartphones or tablets.
With Google’s mobile-friendly update for websites as released on April 21, 2015, it has now become apparent for every webmaster or blogger to apply a mobile-first strategy for website development.
Developers now focus on mobile-optimised websites that work great on mobile phones and tablets, and then scale up perfectly for larger computer or laptop screens.
Let’s take a look at what mobile first web-design means, and its importance for websites, and how to start development of mobile-friendly websites.
What Does Mobile-First Approach Mean?
The ‘mobile first’ strategy for website development involves designing an online experience first for mobile devices and then optimizing it for scaling up to desktop and laptop computers.
It does not mean designing a website that works well on desktop computers and then adjusting it to be compatible with mobile phones or tablets. The mobile-first process is to design online websites specifically for mobile customers, keeping their dynamic behaviour, context and needs in perspective.
The user interface should suit mobile devices with easily readable text and easy navigation to the different sections of the site.
Why Go Mobile-First?
The number of mobile users has increased manifold and easily outnumbers the number of people that access websites on PCs or laptops.
According to a ComScore report, mobile devices generate more than 60% of the online traffic to websites. This percentage keeps on increasing with every passing quarter, and that has fuelled the need for every business to have mobile-friendly websites.
So, if you haven’t optimised your website yet, you need to get their sites scaled up for the smaller screens.
Today, the majority of internet users access social media via tablets or mobile phones. So, a new website shared on any social media platform with friends and colleagues is more likely to be viewed first on the screens of mobile devices.
If the site is not mobile-friendly and users are unable to view it correctly the first time around, then, they are less likely to recheck the website from their desktop or laptop. It is, therefore, obvious that any new website or blog needs to be designed and developed with a mobile-first strategy.
Importance of Mobile-Friendly Websites in 2015
Now, it has become even more important to develop mobile-optimised websites because of the mobile-first update (known as mobilegeddon) from Google (in April 2015).
As per the update, any mobile-friendly website or blog has a better chance of appearing higher in Google search results on mobile devices as compared to sites that are not mobile-optimized.
Another reason for websites to move to mobile-optimised versions is the ever-growing trend of online shoppers preferring to use apps for shopping. The amount of time that is saved (by shopping on the move) along with the money saved through discount deals on the apps of famous eCommerce players has ignited the need to go mobile with websites on an immediate basis.
Any new eCommerce merchant has to ensure that the developed website is first compatible with mobile devices as the majority of the target audience will be tablet and smartphone users.
This need was further emphasised when Amazon reported around 60% online sales from mobile devices during shopping season in 2014 (source: CNET ).
Useful Tips for Mobile-First Site Development
It is necessary to have a fluid and responsive design instead of an adaptive one. This will ensure the site layout fits accurately for varied screen sizes of different mobile phones and tablets.
Another important task is to focus only on the core features and content, as mobile sites need to be developed within limited real estate.
So, unlike the screen real estate available with larger monitors and displays, web designers need to rethink their strategy while designing a mobile website from scratch. Anything that is not absolutely necessary for the mobile users can be removed from the site design to save space.
This progressive enhancement approach from content to styling to the presentation will add immense value to the mobile website.
So have you adopted the mobile-first approach for your websites already? Let us know in the comments below, and thanks for reading!
Outsourcing was considered a taboo in its early days, but slowly it is proven as one of the most significant business models.
The rosy days of the global economy are gone and so, while, lowering financial liabilities, organisations have to sustain the quality of service and employ a workforce that is economically affordable and efficiently skilled.
Many countries like China, Malaysia, Philippines, Mexico, Indonesia, and Thailand are rapidly growing as preferred destinations for global outsourcing, but India leads the race by a wide margin since the inception of outsourcing.
So, let’s see why and how India managed to remain in the spotlight.
Every business strives to be as cost effective as possible, and one of the best ways to cut down on operational costs is to reduce manpower expenses. India qualifies well on this metric and hence attracts foreign companies to invest here, as resource wages are comparatively lower as compared to other countries.
With low labour costs, immense human resources and excellent infrastructure, offshore companies can invest and expect their projects to be completed with high quality and minimum expenses within strict deadlines.
Skilled, Professional Manpower
Currently, India has about 2.75 million software developers in the national workforce. By 2018, this count will reach 5.2 million, a whopping 90% increase.
India’s software development growth-rate is attributed to half the population being under 25 years of age and current economic policies. India is a budding hub of developers and coders, promising to provide world-class services to outsourcing companies.
Apple Inc., the leading technology giant, is looking into setting up a company-owned, technology development centre in India. If this happens, Indian software development prowess will get a huge endorsement. It will be an inspiration for more companies to enter Indian shores for business.
Lack of Language Barriers
In India, English is a compulsory language at school and college levels. A large number of Indians can understand and communicate in English easily.
IT firms have recognised that communication skills of individuals and organisations should comply with international standards. The BPO industry is training its employees to improve interaction skills with offshore customers for business success with special, communications and language training.
Innovating the Business Model Itself
Traditional strategies to maintain profit margins in businesses are losing effectiveness due to soaring competition. A well-designed business model can circumvent the shortcomings of those strategies.
Development based on any traditional business model can fail to protect your margins because of globalisation and price transparency. Indian companies have realised that time spent putting together a solid business model is time well spent.
According to a report by KPMG, the Indian IT services industry is expected to rise from £5 billion in 2000, to £56 billion in 2010. After contributing significantly to India’s economy over a decade, it has been speculated that new business models will emerge to deal with a rapidly changing marketplace and customer needs.
Innovative Tools for Managing Innovative Teams
Companies are hiring highly qualified and competent people across the globe. Members of geographically diverse offshore teams are working in tandem by using online project management tools, video conferencing, and other media for real-time communication and collaboration.
A Stable Government and Attractive IT Policy
The Indian IT market currently focuses on providing low-cost solutions to the global IT sector. India’s reputation, as both a source and a destination for IT and ITES workforce, has helped it improve its relations with a number of global economies.
The stable Indian government is offering safe harbour (SH) provisions for various software development services, ITES and knowledge process outsourcing services . The government is initiating several programmes to fulfil India’s vision of good e-governance and digitalisation.
The Indian government’s call “Make in India” is already attracting lots of interest among foreign companies to invest here. It’s been predicted by aircraft manufacturer Airbus that the Indian outsourcing industry will reach £1 billion with the recent positive impetus.
Mr. R. Chandrashekhar, President, NASSCOM says, “The future looks positive as the Indian IT-BPM industry is evolving dramatically in terms of scale, complexity, and innovation. Going forward, enabling a radical transformation of key sectors in India using ICT to increase access, enhance efficiency, and enable innovation in the sector are going to be some of our priority focus areas. The rapidly accelerating trend of innovation and entrepreneurship in the ICT sector impacts several domains and provides clear indicators that the journey has begun.” [image]
Some places in India where talent is being reared, are a striking contrast to the mediocrity of their surroundings. With the astounding growth of Indian IT and ITES industry, rapidly changing economic scenario, development of SEZs, and availability of the skilled human resource, the global offshore business will grow significantly in the years to come.
Have you outsourced to India yet or plan to do so? Let us know in the comments below, and thanks for reading!
Google’s search engine algorithms are important on many counts. While all web developers know the basic SEO strategies, businesses need to be aware of how Google wants them to behave.
Mostly, the trend is of businesses look at exploring White Hat SEO, or SEO through ethics that Google approves, in a better way. The latest Google update just reinforces Google’s dominance in the search engine market. The Google Penguin update, for instance, was aimed at filtering spammy content and ensuring that quality content rank higher. Now, we see that Google has introduced the Mobilegeddon update that is rewarding websites, which are mobile friendly.
In fact, there is one interesting point that I would want to mention here. As early as 2013, Google’s Matt Cutt had stated how the company will now penalize companies with slower page loading times. Yes, Google’s plan to move in this direction was evident for some time now – it was not a matter of if but when.
What Does The Mobilegeddon Update Mean?
The Mobilegeddon update is aimed to reward businesses with sites that are mobile friendly, helping them get better rankings in search results and be featured more prominently.
The change, effective from April 21, means that you will have to design a mobile friendly site sooner than later if you want to stay in the competition. The update seems to be much more important than all Google updates till date, including Google Panda and Penguin. Those in the web developer world would know that when these two updates were introduced, the rankings of many websites changed drastically – many for the worse. Some of these sites never managed to recover. So, what does this mean if you’re a website owner?
A Mobile-Friendly Site… Is Your Site One?
A mobile friendly site has a responsive design, a dynamic service, and separate URLs. You can check out Google’s Mobile-Friendly Test page. to know how mobile friendly your site is. While not perfect, the test is an indicator of how mobile friendly Google thinks your site to be. While the parameters by Google aren’t available (Google never discloses their algorithm how they rank websites because that can lead to its misuse), but we can figure out some expected developments nonetheless. Here is a roundup of the changes you can expect from the update.
Expect each page to be assessed individually
It all probability, Google will access each page individually. This means that all your web pages need to be mobile friendly and not just one – most popular searches will probably feature mobile friendly only pages. This also means that if your website has both mobile friendly pages and desktop only pages, expect only the former pages to be promoted. However, most websites are either mobile friendly or not, so this shouldn’t be a problem.
Drop in rankings
This is obvious – if your website is not mobile friendly, expect it to drop significantly in search results.
This is a big development. Google is expected to update in real time. This means that if you do not have a mobile site ready yet – don’t worry. When you’re ready with one, expect Google to pick it up and reorganize the search engine rankings accordingly. However, do note that Google’s web crawlers do need to index your page. This can take a few days or even weeks at times – so expect delays the first time when you have your mobile site ready.
Search Results On Mobiles
Did you notice how search results differ in your mobile? For one, check out the local search results in your smart phone – they’re bound to differ from the one in your desktop. This development was a result of the Google Hummingbird update and the Mobilegeddom update is just one step further.
Why Did Google Bring Out The Update?
While we might be interested more in the changes Google brings with the update, an important factor is why Google chose to go the mobile way now. The reasons are simple – mobile growth has been phenomenal in the last few years and more people access the internet from their smartphones than their PC’s. Translate this into the fact that Google aims to enhance user experience, and rewarding mobile friendly sites was a natural option.
The development means that users can browse quickly on their smartphones and access all features of the site. A simple example would be with sites that still have Flash (yes, there still are some of them out there, though the advantages of having a Flash site is next to none). Mobile devices cannot play Flash and people accessing the site would not have been able to view the website content properly. Now, that is going to change with Google gathering search results that create the right user experience for the mobile user.
Here is a chart to survive the Mobilegeddon update.
Have you been affected yet by the Mobilegeddon update? How many of our readers do have a mobile friendly site? If not, when are you planning to have one? Or do you feel that you don’t need one, yet?