SlideShare a Scribd company logo
Building the Joomla! Platform
Joomla! Day China, Shanghai - 2 June 2012
Andrew Eddie
/libraries/joomla
Motivation
To build other cool things




   Command line applications   Web applications
           Task schedulers     Web services
                Data miners    Games
To be inclusive




                  Quality




        CMS                 Platform
To align with Joomla’s mission




Our mission is to provide a flexible platform for digital
publishing and collaboration.
                                                    www.joomla.org
Instantiation
Github
Charge to 300. Clear!




                        Lines of code
Integrated quality control
Fast track, slow track
Inspiration
Engagement - stop thinking like a CMS

                content management systems




                      indirect (HTML)
                             vs
                       direct (JSON)




                information delivery systems
The glue in the app economy



                                 Social
        Device                  Network




                     Business
                      Data
Bridging the social network gap




The current state of social networks is similar to if you
couldn't call people on competing cell networks.
That'd be some lock-in.
                                          Sean McArthur, Mozilla Corporation
Potential energy

• Time to get back with and ahead of    • Army of people who know how to
  the curve                               build extensions and web sites


• Building app’s that improve quality


• Build app’s to make app’ building
  easier


• Build API’s to consume other API’s
  (a hunger to own that space)
Connect
Mailing list




               https://groups.google.com/forum/#!forum/joomla-dev-platform
Developer documentation
Examples

• https://github.com/joomla/joomla-platform-examples


• https://github.com/eddieajau/jc-bach (simple CLI)


• https://github.com/eddieajau/jc-dvorak (custom platform)


• https://github.com/eddieajau/jc-kodaly (CLI that runs CMS plugins)
谢谢

More Related Content

Similar to Building the Joomla Platform

Internet World 2012
Internet World 2012Internet World 2012
Internet World 2012
Webnodes
 
Inaugural address manjusha - Indicthreads cloud computing conference 2011
Inaugural address manjusha -  Indicthreads cloud computing conference 2011Inaugural address manjusha -  Indicthreads cloud computing conference 2011
Inaugural address manjusha - Indicthreads cloud computing conference 2011
IndicThreads
 
Web 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes PresentationWeb 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes Presentation
Jamie Thingelstad
 
The Middleware technology that connects the enterprise
The Middleware technology that connects the enterpriseThe Middleware technology that connects the enterprise
The Middleware technology that connects the enterprise
Kasun Indrasiri
 
Scalable Social Architectures by Biren Gandhi
Scalable Social Architectures by Biren GandhiScalable Social Architectures by Biren Gandhi
Scalable Social Architectures by Biren Gandhi
Biren Gandhi
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
webscale
 
Building Cross Platform Mobile Web Apps
Building Cross Platform Mobile Web AppsBuilding Cross Platform Mobile Web Apps
Building Cross Platform Mobile Web Apps
James Pearce
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applications
James Pearce
 
The value of structured data
The value of structured dataThe value of structured data
The value of structured data
Webnodes
 
The value of structured data.
The value of structured data.The value of structured data.
The value of structured data.
Ole Gulbrandsen
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1James Pearce
 
Building cross platform mobile web apps
Building cross platform mobile web appsBuilding cross platform mobile web apps
Building cross platform mobile web appsJames Pearce
 
Makersbay Nex-Gen Software Development Overview
Makersbay Nex-Gen Software Development OverviewMakersbay Nex-Gen Software Development Overview
Makersbay Nex-Gen Software Development Overviewslodha
 
Openkapow At Mashup Camp 5
Openkapow At Mashup Camp 5Openkapow At Mashup Camp 5
Openkapow At Mashup Camp 5
Andreas Krohn
 
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Kai Wähner
 
Why apis
Why apisWhy apis
Why apis
javier ramirez
 
12 web 2 advanced
12 web 2 advanced12 web 2 advanced
12 web 2 advancedWesley Shu
 
2015 06-wso2 coneu-closingkeynote-asanka
2015 06-wso2 coneu-closingkeynote-asanka2015 06-wso2 coneu-closingkeynote-asanka
2015 06-wso2 coneu-closingkeynote-asanka
Asanka Abeysinghe
 

Similar to Building the Joomla Platform (20)

Internet World 2012
Internet World 2012Internet World 2012
Internet World 2012
 
Inaugural address manjusha - Indicthreads cloud computing conference 2011
Inaugural address manjusha -  Indicthreads cloud computing conference 2011Inaugural address manjusha -  Indicthreads cloud computing conference 2011
Inaugural address manjusha - Indicthreads cloud computing conference 2011
 
Web 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes PresentationWeb 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes Presentation
 
The Middleware technology that connects the enterprise
The Middleware technology that connects the enterpriseThe Middleware technology that connects the enterprise
The Middleware technology that connects the enterprise
 
Scalable Social Architectures by Biren Gandhi
Scalable Social Architectures by Biren GandhiScalable Social Architectures by Biren Gandhi
Scalable Social Architectures by Biren Gandhi
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Building Cross Platform Mobile Web Apps
Building Cross Platform Mobile Web AppsBuilding Cross Platform Mobile Web Apps
Building Cross Platform Mobile Web Apps
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applications
 
The value of structured data
The value of structured dataThe value of structured data
The value of structured data
 
The value of structured data.
The value of structured data.The value of structured data.
The value of structured data.
 
HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1HTML5 and the dawn of rich mobile web applications pt 1
HTML5 and the dawn of rich mobile web applications pt 1
 
Building cross platform mobile web apps
Building cross platform mobile web appsBuilding cross platform mobile web apps
Building cross platform mobile web apps
 
Makersbay Nex-Gen Software Development Overview
Makersbay Nex-Gen Software Development OverviewMakersbay Nex-Gen Software Development Overview
Makersbay Nex-Gen Software Development Overview
 
Mobile Mashups
Mobile MashupsMobile Mashups
Mobile Mashups
 
Openkapow At Mashup Camp 5
Openkapow At Mashup Camp 5Openkapow At Mashup Camp 5
Openkapow At Mashup Camp 5
 
RavenDB overview
RavenDB overviewRavenDB overview
RavenDB overview
 
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
Enterprise Integration Patterns Revisited (again) for the Era of Big Data, In...
 
Why apis
Why apisWhy apis
Why apis
 
12 web 2 advanced
12 web 2 advanced12 web 2 advanced
12 web 2 advanced
 
2015 06-wso2 coneu-closingkeynote-asanka
2015 06-wso2 coneu-closingkeynote-asanka2015 06-wso2 coneu-closingkeynote-asanka
2015 06-wso2 coneu-closingkeynote-asanka
 

Recently uploaded

Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 

Recently uploaded (20)

Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 

Building the Joomla Platform

Editor's Notes

  1. \n
  2. If you’ve never noticed it before, the Joomla Platform is mostly the part of the code that lives under the /libraries/joomla folder. This is the engine that makes the CMS work.\n
  3. What was the motivation for separating the Platform for the CMS. Couldn’t everything just be done under the CMS?\n
  4. There is more to life than writing features for a CMS, and not everything application you need to write fits into the CMS paradigm anyway. One of the first additions to the Platform was a dedicated command line application class. You could make these with CMS code, but you had to work around all the CMS idiosyncrasies. That simple class forms the basis for long running services like daemons and task schedulers. On the other hand you have the ability to make light weight web applications for niche projects. This obviously leads to the ability to design rich web services that could be used to drive any industry from e-commerce to massively multi-player games.\n\nMore importantly, the same API that developers have used to build extensions can be used to build features into these other types of applications. You don’t have to learn a second framework to build non-CMS tools. This gives the developer more return when they invest in the “Joomla Way”. As a result, it also provides the Joomla project the ability to attract a new class of developers that may or may not be interested in dealing with all of the structure that is required to release the CMS.\n\nGraphics from http://www.oxygen-icons.org\n
  5. One of the major drivers for separating the Platform from the CMS was to allow development to be more inclusive. A major blocker to developers that wanted to innovate with Joomla was that contributions were accepted only if they were useful for the CMS. However, with the Platform being separate, it was possible to look at ideas on their general merit while still maintaining high quality standards. For example, the package in the Platform to interface with Github would probably never have been accepted into the CMS, but it makes perfect sense to be included in Platform.\n\nAdditionally, a separate platform could be released more frequently than \n\nGraphics from http://www.vistaico.com\n
  6. Last but not least, the mission of the Joomla project was, at the time, crafted with specifically with a vision for Joomla to be much more than just a CMS. \n
  7. What changed and what was the effect? \n
  8. A critical change was made in how the project dealt with the Platform. The source tree was moved off Subversion at JoomlaCode and onto git hosted at github.com. It was the best decision we made because git allows for easier branching and merging (no more patch files) and the administration features on github made reviewing and accepting contributions much easier.\n\nSource: https://github.com/joomla/joomla-platform/commits/staging\n
  9. So how did this change impact the Platform itself. The graph shows the code volume of the Platform over the last 3 years. For much of the period leading up to the release of Joomla 1.6 in January 2011, the core platform code was essentially constant (most of the work concentrated on features in extensions). Work on the separated Platform began in February of 2011 (point D) and you can see the effect immediately - positive and to the right. The heart of Joomla had received a long overdue jolt to give it new life. The part of Joomla’s mission to expand beyond the CMS shell was finally coming to fruition.\n\nSource: http://www.ohloh.net/p/joomla-platform/analyses/latest\n
  10. Github also allowed us to create some useful tools to help review contributions (if you are unfamiliar with how this is done, contributions are made by what we call “pull requests”). It’s still a work-in-progress but an automated pull tester allows us to see if any pull request passes our code style checks and all of the unit tests.\n\nSource: http://developer.joomla.org/pulls/\n
  11. More recently, we came to the realisation that some things needed to be changed but at a rate faster than downstream consumers like the CMS could cope with. The Platform also contained a lot of code that was only used in and useful for the CMS. So we devised what we call the “legacy” tree in the Platform. This was a tree that contains code that has been flagged to be only useful for the CMS and will be dropped from the Platform altogether. It also contains older versions of API that have since been upgraded but have caused backward compatibility issues. An example of this is the recent changes to the MVC architecture. The new MVC classes and interfaces would have caused breaking changes in the CMS so we moved all the old MVC classes into the legacy tree. \n\nApplications like the CMS can then load the Platform in legacy mode so that it remains compatible with tens of millions of web sites in production, as well as the many thousands of custom extensions available for Joomla. However, newer applications built solely on the Platform, can ignore the legacy tree and use the newer, cleaner API to develop solutions for their projects.\n
  12. \n
  13. Since Joomla, and Mambo before it, were originally conceived, the world has changed - dramatically. The browser is no longer king and expecting people to engage with your organisation or your business through the web site is competing with the explosion of mobile devices as well smart tv’s and gaming consoles. 50% of Netflix’s 23 million subscribers use their game consoles for live streaming (http://www.statisticbrain.com/netflix-statistics). Having a CMS-only or website-only mindset is like running a pizza delivery service without a phone, expecting people to come to the store to place an order.\n\nNot only that, but people are interacting with their social networks (Facebook, Four Square, and so on).\n\nNow, this is not to say that you can’t or shouldn’t have a web site; but what you should do is consider a web site as just another device or medium that allows you to connect with your customer, whoever that might be. It’s just another device and the point is to be flexible enough to engage your customer whether they are on a smart TV, mobile device or a game console. But consider that the web site only has value if people actually visit it.\n\nSo we need to stop thinking about just content management systems and turn our attention to information delivery systems.\n\nGraphics from http://paulirish.com/2010/high-res-browser-icons/, http://mediadesign.deviantart.com, http://www.iconshock.com and http://hadezign.com\n
  14. So Joomla as a Platform does something that Joomla as a CMS can’t do by itself. It can serve as the glue or the mortar between the bricks between a company’s or organisation’s internal data and the end user experience linked through their social network. And that glue will most likely come in the form of a web services API and this is what drives the app economy that is currently exploding.\n\nIf you expose your business data as a public web service, and that’s something that’s very easy to consume from devices.\n\nGraphics from http://barrymieny.deviantart.com/, \n
  15. Another area where Joomla can bridge the gap is when considering all of the different social networks that are available - all doing similar kinds of things but generally with a difference focus or end goal. Not only can you build your own API with the Joomla Platform, but you can also use it to consume other API’s like those provided by the social networks, or anything else for that matter.\n\nGraphics from http://www.yootheme.com/icons\n
  16. The Joomla Platform has a huge amount of potential, stored energy that is just waiting to be released. These are just some thoughts on where that can be released.\n\nIn the ‘nuke’ era, everyone saw Joomla as something that was pretty, easy and simple. We need to make the Joomla Platform the same for web services.\n\nWith the Platform we can build tools that improve our code quality (sniffers and tests), deployment tools and security scanning. What we can do in the Platform virtually without restraint also bubbles downstream to the CMS and makes the entire Joomla ecosystem better. We can also build tools and applications that made writing applications themselves easier and quicker.\n\nJoomla as a Platform can have a hunger to own the space of being able to consume other API’s (Facebook, Twitter, Linked In, Github). While we can still do the large, monolithic projects of old, it’s far more important to be aiming for that glue-in-the-middle.\n\nFinally, we have an army of people who are experienced in building web sites and extensions. It’s not to hard to imagine what would happen if we directed some of the energy into building an army of people that knew how to build platform applications.\n
  17. \n
  18. Source: https://groups.google.com/forum/#!forum/joomla-dev-platform\n
  19. Source: http://developer.joomla.org/platform-manual.html\n
  20. \n
  21. Thank you!\n