Why Facebook Has Stuck With PHP?

Facebook’s Association With PHP

 

According to the history described on the Wikipedia page for Facebook, Zuckerberg wrote the initial code for Facebook in October 2003.

Consider what other web technologies might be considered, and whether they existed in 2003:

  • Ruby existed, but no Rails yet (1.0 was introduced July 2004).

  • Java 1.4 with JSF 1.x or Spring 1.0.

  • Perl 5.8, but no Catalyst framework (it was introduced February 2005).

  • Python existed, but no Django framework (it was introduced July 2005).

  • The term Ajax for web programming was coined in 2005, but the use of asynchronous XML requests was still nonstandard, too early to be used with for broad browser compatibility.

  • C# 1.0 and .NET 1.1 (C# 2.0 was introduced June 2006).

  • JavaScript existed, but no Node.js (it was developed in 2009) and no jQuery (it was introduced August 2006).

  • Amazon EC2 was released in August 2006.

  • Heroku was founded in 2007.

  • Go first appeared publicly in 2009.

The point is that Facebook’s choice of PHP was perfectly reasonable for the time it was created.

GoodWorkLabs-Facebook-PHP

 

And Why Facebook Has Not Done Away With PHP?

 

The reason Facebook hasn’t migrated away from PHP is because Facebook’s engineers have managed to work around many of its flaws through a combination of patches at all levels of the stack and excellent internal discipline via code convention and style. The worst attributes of the language have been avoided and coding style has been rigidly enforced through a fairly tight culture of code review.  Engineering management has never had to take a strong hand here. This arose largely due to key internal technical leaders just sort of pushing everyone else along.

 

There is also a lot of industry precedent indicating that re-writing an entire codebase in another language is usually one of the worst things you can do, so at all levels there is a reluctance to do that.  The preferred strategy is to write new components in a decoupled manner using a better language of choice (C++, python, Erlang, Java, etc).

 

This is easily facilitated by Facebook’s early development of thrift, an efficient multi-language RPC framework.  This also helps avoid the worst effects of PHP: it can be totally avoided in subcomponents where the language is grossly-unsuitable.  The broad effect is that the overall codebase slowly evolves away from depending as heavily on PHP, with the components that are still in PHP being written in tightly-controlled, disciplined ways by veteran members of the staff.

 

The flavor of PHP used at Facebook, Hack, is very far removed from what we typically think of when we picture PHP. In almost every way it has been ahead of JavaScript. It had static typing, generators, async/await, tuples, anonymous functions, classes, and XHP for a long time, often years before they were available in Node. As a result the Hack codebase is very close in spirit to a modern JS application.

So, to summarize it, Facebook has internally upgraded features of PHP by using its own unique methodologies. Hack, their flavor of PHP is far better than most of the other options and hence they have stuck with it, and are likely to in the near future as well.

 

5 Reasons To Develop Your Website On Python

Why Python is best for back-end coding & websites

 

Python has been one of the most popular programming languages among developers. With access to a wide variety of frameworks and libraries, developing web applications on Python becomes easier. Also, Python has been designed keeping in mind OOP (object-oriented programming), thus making Python a perfect choice for coders.

 

5 reasons to develop your website on Python

 

In this article, we are going to talk about why it is super beneficial for you to build your company’s website on a thriving software such as Python.

 

Python Websites

 

1) Easy to Read and Quick Development

Python is an easy to read language. Unlike others, Python codes are not cramped with semi colons and curly brackets through out. It has a set of rules that guides every developer through the entire process. So in case of any interim development, any developer can pick up the code from where it was last left.

Due to this nature of easy readability, development of the code in Python is very straightforward. It is a dynamic versatile language that allows for quick deployment of projects.

 

2) Best for Integration and Data Science

Python makes a great choice for any data integration tasks. It is very versatile and has many ready-made tools, thus making it a preferred language either for automation of small tasks or integration and communication of huge data bases and asset management.

Also, Python has garnered a lot of importance in the Data Scientists. It is widely used for scientific and numeric computing and integrating large amounts of statistics data with web apps.

 

3) Highly Secure

Since Python is built with a purpose to be a simple application, the chances for vulnerability to rise in the language are less. Mostly, languages that use a lot of code are always at a risk of being manipulated. The simplicity of its code makes it a more secure platform.

 

4) Trusted by big brands

It is a very popular software development language. Most of the big brands such as Quora, Instagram, Dropbox, Reddit, NASA etc have integrated most of their workflows with Python. Due to the ease and availability of frameworks like Flask and Django, Python has become the go-to web development language that most brands are quickly adopting.

 

5) Multiple benefits apart from back-end management

Python was once highly recommended for back-end developments and integrations, but as we have discussed, the language is so versatile and has so many code libraries that it can support multiple modules. With Python, websites can be highly customized in a way to boost user performance and engagement.

Python is also used for:

  • Website Development
  • Machine Learning and Data Analysis
  • Database management with Django
  • API Developments
  • Automation and Maintenance

In Conclusion

Thus, Python is the best software language to chose if your business requires a custom website to cater to customer requirements. If you need help in developing your website on Python, then just drop us a quick message with your requirements and we shall get the best minds working it.

 

[leadsquare_shortcode]

 

Why Ruby on Rails is still popular among developers

Why Ruby On Rails Is Still Preferred?

 

The same reasons why it was a worthy framework in 2004. The more things change, the more they stay the same. While we’ve seen a lot a progress in the JavaScript world, we’ve also seen a regression to the complexity-laden world that Rails offered refuge from in the early days.

The core premise of Rails remains in many ways as controversial today as it was when it premiered. That by formalizing conventions, eliminating valueless choices, and offering a full-stack framework that provides great defaults for anyone who wants to create a complete application, we can make dramatic strides of productivity.

Ruby-on-Rails

Rails has an incredibly ambitious mission. In the full-stack goal lies a pursuit to deal with just about every piece of code needed to connect databases and no-sql stores to a business domain model written in Ruby to a set of controllers that expose that model via REST and then, yes, finally to HTML. But that last step is a small minority of the code and focus of Rails.

So if you think that client-side depends on  MVC, React, Angular, or whatever is The Future, then you’re still squarely in the target audience for using Rails. Because the bits you use to design your HTML/JavaScript-based UI still needs to connect to a back-end domain model that saves stuff to the databases, computes things, enqueues jobs for later processing, sends out emails, triggers push notifications, and all the other stuff that real apps need to do.

What makes Rails still a force to reckon with:

 

Stability & Consistency

Rails has been around for over a decade, and while it sees commit activity on a daily basis, most updates are incremental and non-breaking. This means Rails developers have the security of knowing their knowledge will remain applicable and their apps will not suddenly be running on abandoned dependencies. For new developers, it’s a safe bet, which is more than can be said for many web frameworks.

Knowledgeable Community

WordPress is undisputed in its position as the most-used “framework” for building a new website. One of the pitfalls of immense popularity and ease of use is the tendency to attract inexperienced developers. While there are plenty of poorly developed Rails apps and gems, there’s a higher-than-average quality-level across Ruby-based tools.

When you need help, the expertise of the community is important, too. Take a look through questions tagged Ruby or Ruby on Rails on Stack Overflow, and you’ll quickly get a sense of the depth of knowledge there.

Enjoyment

Rails follows in the footsteps of Ruby by valuing the enjoyment of the developer. It shows in features that go out of their way to behave the way that you would intuitively expect, even when it violates soft rule of programming.

 

The cherry is that you get to use Ruby, which, even in a world that has rediscovered the benefits of functional programming and immutability, remains the most extraordinarily beautiful and luxurious language you will ever encounter. Just look at some code. 

We dare you not to fall in love.

 

5 Cool Websites developed on Ruby on Rails

Top Websites built on Ruby on Rails Technology

Ruby is an active, object-oriented programming language. Rails is a web application for framework development and Ruby is the language written in it. Now that we are clearly informed about the basics, let’s take a look at some of the amazing projects developed on it, shall we?

 

1.     Airbnb

Shocked? Me too. If you are an avid traveler, you will be familiar with this company. Airbnb is a platform for people to easily find accommodation in a location they are visiting. Now, these aren’t hotels but rather houses and apartments offered by the owners or agencies. Airbnb was founded 9 years ago when three guys went from renting mattresses to owning a $10 billion company.

airbnb

 

Airbnb has been relying on Rails since 2008 (when it first started). Last year they improved their large-scale payment systems and as a result managed to have systems that have strong transactional integrity, a robust audit trail and very predictable failure behavior.

 

 

2.     Hulu

Hulu is a successful online platform showcasing movies and TV shows legally and for free- well initially at least. Some like to call it Netflix’s slightly less popular sister but what makes Hulu different from its huge competitor Netflix, is that Hulu receives its content much faster. The trade-off here is that Netflix has a wider range of content but for those who wish to keep up with the latest shows and movies, Hulu is the perfect choice.

hulu

At a recent conference, Hulu’s ex development manager explained how Rails greatly benefitted their company- “The ideals of Rails – convention over configuration, Don’t Repeat Yourself (whenever possible, reuse as much code as possible rather than duplicating similar code in multiple places), test first, and agile – are quickly becoming pervasive throughout software development” he said.

It’s Rails that provides Hulu with a large and enticing library full of content along with easy navigation on various platforms.

 

 

3.     SoundCloud

SoundCloud is the world’s leading platform for users to create and share their music everywhere with everyone. This makes it easy for anyone to record and self-promote their music on various social networks and blogs.

soundcloud

 

With $60 million in recent funding, SoundCloud is all set to become a key competitor against paid platforms such as iTunes and Google Play.

 

 

4.     Groupon
 
Groupon, now a global pioneer of offering great discount deals in the local commerce business, initially founded in 2008, has shown tremendous growth.

groupon

 

With RoR, the developers got the site up and running with the advantage of easily adding new features. The company’s front-end began to thrive with this implementation.

 

 

5.     GitHub

If you are a programmer or a developer then you are bound to know about this amazing platform. The social networking hub for software developers allows them to store previous versions of their projects (lines of codes and all) to allow them to revisit the entire code and make changes to release new versions and updates. With GitHub, developers can work together to make the changes and upload the latest version of their projects in the most efficient manner. And networking with likeminded people is of course, a plus!

github
Built entirely on RoR, GitHub allows programmers to create a brand-new project based off pre-existing projects by forking, make changes to existing projects so they can be recognized by the original developers and lastly, access changelogs so everyone is informed in the loop.
Ending Remarks

These projects demonstrate tremendous caliber and creativity on varying levels. It is evident how Ruby on Rails has allowed them to kick start their venture and support it in becoming a popular resource used by millions. And who knows, perhaps you will build the next Airbnb or Hulu of our generation.

If you are looking for professional Ruby on Rails developers for your websites, then just leave us a quick message with your requirements below

[leadsquare_shortcode]

 

5 famous websites built on Joomla

 

Why use Joomla for Website Development

Joomla is one of the best open source content management system (CMS) and helps to easily manage and edit all your website content. One of the main advantages of using a CMS is that no specific technical knowledge is required to manage it. Àlso, Joomla is a very popular open source CMS with growing developer community.

Some of the industries for which Joomla websites perform well are:

1. E-commerce websites

2.  Government websites

3. Education websites

4. Online magazine or news portals

5. Corporate websites and portals

Joomla allows you to customize your website designs as per your needs and has templates, menu systems that enable the development of user friendly websites. Also, Joomla is SEO friendly ans allows you to use search friendly URLs, meta tags and links. It allows for an easy Google analytics integration to track the progress of your website.

5 famous websites that are built on Joomla

Joomla is an excellent choice if you want to develop e-commerce or any content heavy websites. The below brands have trusted Joomla for their website developments.

1) e-Bay

The American multi-national e-commerce corporation e-Bay uses Joomla to launch a community portal as part of its internal analytics platform. Joomla CMS supports e-Bay’s initiative of community sharing and expansion among its employees. All active collaboration in terms of content creation, discussions, sharing of documents will be part of the community analytics that e-Bay’s employees will be able to access. It also allows other extensions and integrations to ensure a smooth flow of content delivery on the e-commerce site.

 

ebay chooses joomla

 

2) GE Transportation

GE is the second largest company in the world and you will be surprised to find out that GE uses Joomla to launch its GE Transportation website. With Joomla, GE and its employees get all the necessary tools to interact and engage in creating interactive websites and content for their customers.

 

GE chooses joomla

 

3) Harvard University – The Graduate School of Arts and Science.

Harvard University is the oldest institution of higher education in the United States of America. The Graduate school website which is a sub website of the main the university site, is built on Joomla with a customized template. All website content such as news announcements, pictures of the school, event listings and exhibitions etc are being easily displayed and rendered on this website with the help of Joomla.

harvard university uses joomla

 

4) Holiday Inn

Holiday Inn is one of the largest hotel chains in the world. With hundreds of guests flocking in and out of their hotels, Holiday Inn uses Joomla to manage and maintain all their customer reservations and bookings. With multi-site manager feature of Joomla, Holiday Inn can centrally manage  and run all the individual sites from a single installation.

Holiday Inn developed on Joomla

 

5) MT V Greece

This is the greek version of the very popular music television channel MTV. This music website is built on Joomla which helps to categorize the content into menus, modules, popular shows, as well as articles. The content on the website is well organized and one can easily find the music information that they are looking for in a matter of minutes. This superior content management is possible only with Joomla.

 

mtv greece developed on joomla

In Conclusion

We just looked at some of the top brands who have trusted Joomla to showcase their websites. If your business is also very content rich and requires a clean display of information, then Joomla could be a great solution to develop your website.

Read out to us for your requirements on Joomla Development.

[leadsquare_shortcode]

 

 

GoodWorkLabs successfully awaits the launch of iRAP’s Android App – a FedEx Initiative

GoodWorkLabs developed an Android Tablet App for iRAP

We have some really awesome news to share!

Few months ago, we started working on a very meaningful project with iRAP to develop a system of Star Rating for schools based on the road safety standards. We have successfully completed the development of this Android Application and are super excited about its launch in October!

The purpose of this app was to create a safe environment for children and enhance road safety around schools. This project has been funded by FedEx Cares, the charitable outreach leg of the logistics giant – FedEx.

Android Tablet App for children

More about Star Rating Android Tablet App for iRAP

The app will deliver a quick and easy measurement of road safety risk for children’s journeys to school. This will support the identification of unsafe routes that can be considered subject to further investigation by the local road authority. The process of rating will depend on various surveys along with pictures that will describe the safety of the roads around a particular school. Each school will be given a rating between 1 to 5, where 5 is the safest and 1 means the most unsafe. Based on these ratings, government officials will be able to improve and enhance the road safety measures.

Launch of Star Rating For Schools App in London

GoodWorkLabs has been the development partner for iRap and over the past few months, we have made rapid progress in developing the android tablet app for data collection, and its partner website. The Star Rating For Schools is all set to be launched at ‘Every Journey, Every Child’ international conference in London in October.

In a few days’ time, road safety experts from 15 countries around the world will get together at FedEx’s headquarters in Memphis, USA for a two week capacity building program. The delegates will test the beta model of the app which will help in delivering safer journeys to school for children worldwide.

 

GoodWorkLabs – The core technology partner for iRAP

GoodWorkLabs is proud to be associated with the noble cause of allowing every child in the world access to a safe road to the school. The amount of lives that will be saved and impacted is huge and we have ensured that our design and development team understand the same.

We are eagerly looking forward to the release of the application that is set to change the way we look at Children’s safety standards!

Robot thinking close up

Facebook Shuts Down AI Bots

Facebook Engineers Pull The Plug On AI Bots

 

As the world’s most powerful computer systems begin to embrace artificial intelligence in earnest, using smart algorithms to increase efficiency and and speed, the potential damage that a “rogue” AI could cause continues to grow. Many in the tech community have theorized how an artificial mind could turn against its creators, and Facebook just got an interesting lesson in how such a scenario might unfold. Facebook engineers were forced to pull the plug on one of the company’s AI systems after its bots began communicating with each other in a completely new language which humans simply couldn’t decipher.

Goodworklabs-Ai-Bots-FAcebook

Facebook developers were attempting to get the two “chatbots” to barter a trade with one another utilizing hats, balls, and books of varying values, according to the Independent. The two bots quickly resorted to speaking a variation of English between one another that seemed largely incomprehensible to the developers but was seemingly understood clearly by the two bots.

The AI bots, which were originally programmed to use plain English to communicate with one another, were found to be speaking what appeared to be gibberish. Sentences like “I can can I I everything else” and “Balls have zero to me to me to me to me to me to me to me to me to,” were being sent back and forth by the AI, and while humans have absolutely no idea what it means, the bots fully understood each other. Without being able to understand how or why the bots were communicating, Facebook had no choice but to shut down the system.

FAcebook-AI-Bot-Wallpaper

The very obvious danger here is that computer which can communicate with each other using their own language are not only impossible to understand but much more difficult to control. In this case, the bots were not bound by plain language and seemingly developed a more efficient way of communicating with each other, deciding for themselves what was best.

It’s both impressive and scary.

7 Things To Know Before Building An Android App

Creating The Perfect Android App For Beginners

 

Building an Android app comes down to two major skills/languages: Java and Android. Java is the language used in Android, but the Android part encompasses learning XML for the design of the app, learning the concepts of Android, and using the concepts logically with Java.

Once you learn Java and XML; XML is really easy to get used to, and you should learn the language as you program your app rather than learning it beforehand like you would with Java. You need to learn how to connect these two using Android principles.

Android-app-7 things-to-know-goodworklabs

Now for a total beginner, we recommend YouTube tutorials to get the basic idea of how to install Eclipse (the Integrated Development Environment, or IDE, for Java) and the Java Development Kit (JDK). It also helps to get the basic idea of syntax behind Java concepts, such as for loops and if statements.

Here is an example: Click to watch video 

But from then on, after you have learned the very basics, we HIGHLY recommend ditching the YouTube tutorials in favor of a book or a lecture series. YouTube tutorials very often do NOT give intuition behind important concepts.

Keep these following things in mind as you venture on your journey of building a successful Android App.

7 things to know before building your first Android App:

 

1. You need to learn Java, there is no way around it. Knowledge will only help you through the process of building an app.

2. Android part encompasses learning XML for the app design, understanding concepts of Android and using said concepts programmatically with Java.

3. Beginners should probably use an IDE. It is really useful and lets you experiment.

4. Building your first app is time-consuming: it won’t happen overnight. This is not a project for those looking for a shortcut to success.

5. When stuck on a problem which will inevitably happen, turn to Stack Overflow. Utilize Google, and have no shame in asking assistance from the experts.

6. Before hitting the market and start developing an application you should conduct a proper market research. Analyzing the market thoroughly will give you insights about your competitors, their strategy, their strengths and weakness too. This information will prove to be useful as you can avoid repeating the mistakes your competitors made.

7. Defining your target audience is very important as the audience plays a huge impact on the development of your mobile application. All these questions such as who will be using this app, and how is it going to help them, should be answered well before hand.

 

Best Of Luck.

Vishwas Mudagal at GMASA Bangalore 2017

This year GMASA showcased a platform for app developers, marketers and managers along with executives from the most dynamic, future-oriented and innovative companies around the globe. The CEO of GoodWorkLabs, Vishwas Mudagal,  gave a keynote speech and shared his experiences in challenges faced by start-ups in 2017  during a panel discussion at this event.

624Y7492

IMG_0803

IMG_0799

This year’s global mobile app event was held in the beautiful city of Bangalore for a two-day summit.

What’s the deal with Appcelerator Titanium?

Appcelerator’s Titanium is an open-source development platform that allows developers to create native applications for both mobile and desktop use. What’s better? Titanium allows developers to code in JavaScript, HTML and CSS.

 

Appcelerator-Titanium-Development

 

Currently 285,663,256 devices are running apps built by this magnificent solution for developing mobile applications!

As with every software, there are both benefits and drawbacks associated with this platform.

 

Pros

  • Rapid Prototyping

With flexibility in its DNA, Appcelerator’s Titanium immensely speeds-up application development with just a few lines of code in a few hours. It is important to note that this would usually require more attention and a few days. Whether you opt for native or cross-platform toolkits, Titanium is always an open option to develop a prototype to evaluate the user’s interaction with the UI, given its rapid development.

 

  • JavaScript

With Titanium, JavaScript, a language well known by hundreds of thousands of developers, encourages more individuals coming from a web development background to easily transition to mobile app development. Over and above, Titanium shows off its combination of flexibility and structure–a fundamental characteristic of prototype-based scripting languages.

 

  • Cross-platform

This obviously does not operate like how the well-known Java slogan goes: “write once, run on iOS and Android”, it’s slightly different. It is necessary to setup the development of one of the two platforms and then implement the required measures to make the app also run on the other one. The advantage here is given to you- the developer does not have to learn two languages and can reach a very high level of code reusability.

 

Cons

  • Limitations in flexibility

Programs are interpreted “cross-compiled” by the vendor and as such incur a startup and runtime cost.

 

  • Errors

Errors are usually not detected until runtime. Now, most developers know this can be a risky investment in a software that doesn’t give real-time feedback.

  • There have been reports of unforeseen memory starvation issues. The SDK makes it quite easy to cram features into an app, but these features do not necessarily play nice with each other as far as memory is concerned.
  • Even though you as a developer may initially expect to write for one platform, it is imperative that you conduct tests on all platforms.

 

As with everything that we use, there come advantages and disadvantages, but it is important to understand that these should be evaluated on a case-by-case basis. This is because the size and complexity of the project predicts the number of bugs and limitations one could encounter when choosing to develop on this platform.

 

Titanium is however, an excellent tool for rapid prototyping to present a mock-up, within a few hours, into a prototype in order to evaluate consumer interests or conduct usability tests- or whatever floats your boat!

 

 

Ready to start building your next technology project?