SlideShare a Scribd company logo
CopyrightCopyright ©© 2007 Mohammad2007 Mohammad AnasAnas RamadanRamadan
All rights reservedAll rights reserved
PrinciplePrinciple--Driven SoftwareDriven Software
Is Software Customer Always Right?Is Software Customer Always Right?
InstructorInstructor
Dr.Dr. AsimAsim ElEl--SheikhSheikh
Presented byPresented by
Mohammad Anas RamadanMohammad Anas Ramadan
The Arab Academy of Banking an Financial SciencesThe Arab Academy of Banking an Financial Sciences
CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan
All rights reservedAll rights reserved
IntroductionIntroduction
●● An overviewAn overview
●● A Commercial PerspectiveA Commercial Perspective
Microsoft WindowsMicrosoft Windows
WindowsWindows--based Applicationsbased Applications
●● An Open PerspectiveAn Open Perspective
ExamplesExamples
●● ConclusionConclusion
●● ReferencesReferences
CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan
All rights reservedAll rights reserved
Some features that I have so far chosenSome features that I have so far chosen
not to implementnot to implement are:are:
private messagingprivate messaging
file attachmentsfile attachments
PollsPolls
linking to offlinking to off--site avatarssite avatars
……
““I probablyI probably won't be working onwon't be working on
themthem::
Tabbed multiple document interfaceTabbed multiple document interface
Split document viewSplit document view
…”…”
ScopeScope
““I wanted a package thatI wanted a package that
was fast.was fast.
had a simple layouthad a simple layout…”…”
●●The original Notepad shipped withThe original Notepad shipped with
Windows is probably the handiestWindows is probably the handiest
program of all times, small, fast,program of all times, small, fast,
without frills!without frills!
●●Notepad2 tries to follow thisNotepad2 tries to follow this
principleprinciple, it's a small, fast and free, it's a small, fast and free……
PrinciplePrinciple
PunBBPunBBNotepad2Notepad2
CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan
All rights reservedAll rights reserved
The Commercial PerspectiveThe Commercial Perspective
●● Can we claim that Microsoft's applications areCan we claim that Microsoft's applications are
principleprinciple--driven, rather than userdriven, rather than user--satisfactionsatisfaction
driven?driven?
●● Commercial software, just like any commercialCommercial software, just like any commercial
products, are customerproducts, are customer--satisfactionsatisfaction--driven. Anddriven. And
that's what happening in all commercialthat's what happening in all commercial
WindowsWindows--based applications, but not in Windowsbased applications, but not in Windows
itself.itself.
●● Why?Why?
CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan
All rights reservedAll rights reserved
The Commercial PerspectiveThe Commercial Perspective cont.cont.
●● Because Windows is meant to be anBecause Windows is meant to be an
infrastructure for these applications, andinfrastructure for these applications, and
any functional improvements in thisany functional improvements in this
infrastructure can hurt hostedinfrastructure can hurt hosted--software'ssoftware's
functional role, and thus, their competitivefunctional role, and thus, their competitive
existence in market! So? there's no seriousexistence in market! So? there's no serious
chance for functional integration inchance for functional integration in
Windows.Windows.
●● And that's why Notepad is still like this!And that's why Notepad is still like this!
CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan
All rights reservedAll rights reserved
WindowsWindows
PrinciplePrinciple--driven softwaredriven software
Works as aWorks as a Limited InfrastructureLimited Infrastructure forfor
software hosted on it.software hosted on it.
●● Microsoft can't add everything in Windows:Microsoft can't add everything in Windows:
Windows Media Player & EUWindows Media Player & EU
AntivirusAntivirus
CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan
All rights reservedAll rights reserved
The Open PerspectiveThe Open Perspective
●● A sophisticated software designer canA sophisticated software designer can
provide far more than what user couldprovide far more than what user could
imagine. He or she can offer him or herimagine. He or she can offer him or her
capabilities and functions user wouldn'tcapabilities and functions user wouldn't
imagine before.imagine before.
●● It comes from:It comes from:
Tacit RequirementsTacit Requirements
CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan
All rights reservedAll rights reserved
ExampleExample--1:1: BiDiBiDi
●● As an example, I wouldn't imagine that it could be possibleAs an example, I wouldn't imagine that it could be possible
to show a bidirectional text in one plaintext file, so I didn'tto show a bidirectional text in one plaintext file, so I didn't
even ask myself if there's a solution for it or not! But when Ieven ask myself if there's a solution for it or not! But when I
saw it for the first time in a real software, which wassaw it for the first time in a real software, which was GEditGEdit,,
I was very grateful to open source community for theirI was very grateful to open source community for their
unexpected help and solution!unexpected help and solution!
CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan
All rights reservedAll rights reserved
ExampleExample--2: Find toolbar2: Find toolbar
●● Another example was the approach of showingAnother example was the approach of showing
(Find) function in Adobe Acrobat 7.0 and(Find) function in Adobe Acrobat 7.0 and FireFoxFireFox..
CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan
All rights reservedAll rights reserved
The Open PerspectiveThe Open Perspective cont.cont.
●● So, unlike commercial software, that areSo, unlike commercial software, that are
necessarily user'snecessarily user's--satisfactionsatisfaction--driven,driven,
●● Open source software are principleOpen source software are principle--driven.driven.
CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan
All rights reservedAll rights reserved
Open SystemsOpen Systems
PrinciplePrinciple--driven softwaredriven software
●● Whatever the principles listed by theWhatever the principles listed by the
software developer, Itsoftware developer, It’’s, at the end of thes, at the end of the
day, about:day, about:
Realizing TheRealizing The Functional ScopeFunctional Scope of theof the
software as a component has to integratesoftware as a component has to integrate
with other components inwith other components in
an open communityan open community
CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan
All rights reservedAll rights reserved
ConclusionConclusion
FOSMFOSM -- Freedom/Objective Software MatrixFreedom/Objective Software Matrix
--Function raceFunction raceWindowsWindows--basedbased
ApplicationsApplications
Well identifiedWell identified
componentscomponents
--Free/Open SourceFree/Open Source
SoftwareSoftware
An infrastructureAn infrastructure--Microsoft WindowsMicrosoft Windows
PrinciplePrinciple--drivendrivenUserUser--satisfactionsatisfaction--drivendriven
CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan
All rights reservedAll rights reserved
ReferencesReferences
●● PunBBPunBB
http://www.punbb.org/about.phphttp://www.punbb.org/about.php
●● Notepad2Notepad2
http://www.floshttp://www.flos--freeware.ch/np2faq.htmlfreeware.ch/np2faq.html
●● Arabian LinuxArabian Linux
http://distrowatch.com/table.php?distribution=arabianhttp://distrowatch.com/table.php?distribution=arabian
CopyrightCopyright ©© 2007 Mohammad2007 Mohammad AnasAnas RamadanRamadan
All rights reservedAll rights reserved
TThanks forhanks for LListeningistening!!

More Related Content

Similar to Principle - Driven Software

Good Design is Good Business: Business Design with RSA and SA
Good Design is Good Business: Business Design with RSA and SAGood Design is Good Business: Business Design with RSA and SA
Good Design is Good Business: Business Design with RSA and SA
Roger Snook
 
Linux vs. Windows
Linux vs. WindowsLinux vs. Windows
Linux vs. Windows
Anas R.
 
GPSTEC316_GPS-Image Management Best Practices for Amazon WorkSpaces
GPSTEC316_GPS-Image Management Best Practices for Amazon WorkSpacesGPSTEC316_GPS-Image Management Best Practices for Amazon WorkSpaces
GPSTEC316_GPS-Image Management Best Practices for Amazon WorkSpaces
Amazon Web Services
 
Android's security architecture
Android's security architectureAndroid's security architecture
Android's security architecture
Ofer Rivlin, CISSP
 
CAJ-008 Robin Goldsmith
CAJ-008 Robin GoldsmithCAJ-008 Robin Goldsmith
CAJ-008 Robin Goldsmith
Coaching Agile Journeys
 
Ria Event Lisbon Jan 2010
Ria Event Lisbon Jan 2010Ria Event Lisbon Jan 2010
Ria Event Lisbon Jan 2010
joaogoncalves
 
XPages is Workflow's new best friend
XPages is Workflow's new best friendXPages is Workflow's new best friend
XPages is Workflow's new best friend
Stephan H. Wissel
 
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialLotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialRyan Baxter
 
Automate testing with behat, selenium, phantom js and nightwatch.js (5)
Automate testing with behat, selenium, phantom js and nightwatch.js (5)Automate testing with behat, selenium, phantom js and nightwatch.js (5)
Automate testing with behat, selenium, phantom js and nightwatch.js (5)
Faichi Solutions
 
My Personal DevOps Journey: From Pipelines to Platforms
My Personal DevOps Journey: From Pipelines to PlatformsMy Personal DevOps Journey: From Pipelines to Platforms
My Personal DevOps Journey: From Pipelines to Platforms
VMware Tanzu
 
OpenOffice, Open Business
OpenOffice, Open BusinessOpenOffice, Open Business
OpenOffice, Open Business
imacat .
 
Performance and Memory Tuning - Part I - Transcript.pdf
Performance and Memory Tuning - Part I - Transcript.pdfPerformance and Memory Tuning - Part I - Transcript.pdf
Performance and Memory Tuning - Part I - Transcript.pdf
ShaiAlmog1
 
IW13 Keynote, Wolfram Jost—Innovations for the Digital Enterprise: The Digita...
IW13 Keynote, Wolfram Jost—Innovations for the Digital Enterprise: The Digita...IW13 Keynote, Wolfram Jost—Innovations for the Digital Enterprise: The Digita...
IW13 Keynote, Wolfram Jost—Innovations for the Digital Enterprise: The Digita...
Software AG
 
Max flash based code quality is there a canary in your coal mine-
Max  flash based code quality  is there a canary in your coal mine-Max  flash based code quality  is there a canary in your coal mine-
Max flash based code quality is there a canary in your coal mine-
Xavier Agnetti
 
Business management application
Business management applicationBusiness management application
Business management application
Pritam Tirpude
 
SE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERINGSE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERING
Abrar ali
 
A Holistic View on SAP Security Why Securing Production Systems Is Not Enough
 	A Holistic View on SAP Security Why Securing Production Systems Is Not Enough 	A Holistic View on SAP Security Why Securing Production Systems Is Not Enough
A Holistic View on SAP Security Why Securing Production Systems Is Not Enough
Onapsis Inc.
 
Online gas booking project in java
Online gas booking project in javaOnline gas booking project in java
Online gas booking project in java
s4al_com
 
SAP Systems in the Cloud (Oct 2010)
SAP Systems in the Cloud (Oct 2010)SAP Systems in the Cloud (Oct 2010)
SAP Systems in the Cloud (Oct 2010)
Frank Stienhans
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)
Ivo Jansch
 

Similar to Principle - Driven Software (20)

Good Design is Good Business: Business Design with RSA and SA
Good Design is Good Business: Business Design with RSA and SAGood Design is Good Business: Business Design with RSA and SA
Good Design is Good Business: Business Design with RSA and SA
 
Linux vs. Windows
Linux vs. WindowsLinux vs. Windows
Linux vs. Windows
 
GPSTEC316_GPS-Image Management Best Practices for Amazon WorkSpaces
GPSTEC316_GPS-Image Management Best Practices for Amazon WorkSpacesGPSTEC316_GPS-Image Management Best Practices for Amazon WorkSpaces
GPSTEC316_GPS-Image Management Best Practices for Amazon WorkSpaces
 
Android's security architecture
Android's security architectureAndroid's security architecture
Android's security architecture
 
CAJ-008 Robin Goldsmith
CAJ-008 Robin GoldsmithCAJ-008 Robin Goldsmith
CAJ-008 Robin Goldsmith
 
Ria Event Lisbon Jan 2010
Ria Event Lisbon Jan 2010Ria Event Lisbon Jan 2010
Ria Event Lisbon Jan 2010
 
XPages is Workflow's new best friend
XPages is Workflow's new best friendXPages is Workflow's new best friend
XPages is Workflow's new best friend
 
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialLotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
 
Automate testing with behat, selenium, phantom js and nightwatch.js (5)
Automate testing with behat, selenium, phantom js and nightwatch.js (5)Automate testing with behat, selenium, phantom js and nightwatch.js (5)
Automate testing with behat, selenium, phantom js and nightwatch.js (5)
 
My Personal DevOps Journey: From Pipelines to Platforms
My Personal DevOps Journey: From Pipelines to PlatformsMy Personal DevOps Journey: From Pipelines to Platforms
My Personal DevOps Journey: From Pipelines to Platforms
 
OpenOffice, Open Business
OpenOffice, Open BusinessOpenOffice, Open Business
OpenOffice, Open Business
 
Performance and Memory Tuning - Part I - Transcript.pdf
Performance and Memory Tuning - Part I - Transcript.pdfPerformance and Memory Tuning - Part I - Transcript.pdf
Performance and Memory Tuning - Part I - Transcript.pdf
 
IW13 Keynote, Wolfram Jost—Innovations for the Digital Enterprise: The Digita...
IW13 Keynote, Wolfram Jost—Innovations for the Digital Enterprise: The Digita...IW13 Keynote, Wolfram Jost—Innovations for the Digital Enterprise: The Digita...
IW13 Keynote, Wolfram Jost—Innovations for the Digital Enterprise: The Digita...
 
Max flash based code quality is there a canary in your coal mine-
Max  flash based code quality  is there a canary in your coal mine-Max  flash based code quality  is there a canary in your coal mine-
Max flash based code quality is there a canary in your coal mine-
 
Business management application
Business management applicationBusiness management application
Business management application
 
SE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERINGSE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERING
 
A Holistic View on SAP Security Why Securing Production Systems Is Not Enough
 	A Holistic View on SAP Security Why Securing Production Systems Is Not Enough 	A Holistic View on SAP Security Why Securing Production Systems Is Not Enough
A Holistic View on SAP Security Why Securing Production Systems Is Not Enough
 
Online gas booking project in java
Online gas booking project in javaOnline gas booking project in java
Online gas booking project in java
 
SAP Systems in the Cloud (Oct 2010)
SAP Systems in the Cloud (Oct 2010)SAP Systems in the Cloud (Oct 2010)
SAP Systems in the Cloud (Oct 2010)
 
Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)Enterprise PHP (php|works 2008)
Enterprise PHP (php|works 2008)
 

More from Anas R.

Databased Software Engineering
Databased Software EngineeringDatabased Software Engineering
Databased Software Engineering
Anas R.
 
Icon Standardization for Web Applications
Icon Standardization for Web ApplicationsIcon Standardization for Web Applications
Icon Standardization for Web Applications
Anas R.
 
بين المصادر المفتوحة والبرمجيات المغلقة
 بين المصادر المفتوحة والبرمجيات المغلقة بين المصادر المفتوحة والبرمجيات المغلقة
بين المصادر المفتوحة والبرمجيات المغلقة
Anas R.
 
النمذجة الأولية Software Prototyping
النمذجة الأولية Software Prototypingالنمذجة الأولية Software Prototyping
النمذجة الأولية Software Prototyping
Anas R.
 
Database File System
Database File SystemDatabase File System
Database File System
Anas R.
 
GNU Dictionaries: The License and The Collaboration System
GNU Dictionaries: The License and The Collaboration SystemGNU Dictionaries: The License and The Collaboration System
GNU Dictionaries: The License and The Collaboration System
Anas R.
 

More from Anas R. (6)

Databased Software Engineering
Databased Software EngineeringDatabased Software Engineering
Databased Software Engineering
 
Icon Standardization for Web Applications
Icon Standardization for Web ApplicationsIcon Standardization for Web Applications
Icon Standardization for Web Applications
 
بين المصادر المفتوحة والبرمجيات المغلقة
 بين المصادر المفتوحة والبرمجيات المغلقة بين المصادر المفتوحة والبرمجيات المغلقة
بين المصادر المفتوحة والبرمجيات المغلقة
 
النمذجة الأولية Software Prototyping
النمذجة الأولية Software Prototypingالنمذجة الأولية Software Prototyping
النمذجة الأولية Software Prototyping
 
Database File System
Database File SystemDatabase File System
Database File System
 
GNU Dictionaries: The License and The Collaboration System
GNU Dictionaries: The License and The Collaboration SystemGNU Dictionaries: The License and The Collaboration System
GNU Dictionaries: The License and The Collaboration System
 

Recently uploaded

Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Natan Silnitsky
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 

Recently uploaded (20)

Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 

Principle - Driven Software

  • 1. CopyrightCopyright ©© 2007 Mohammad2007 Mohammad AnasAnas RamadanRamadan All rights reservedAll rights reserved PrinciplePrinciple--Driven SoftwareDriven Software Is Software Customer Always Right?Is Software Customer Always Right? InstructorInstructor Dr.Dr. AsimAsim ElEl--SheikhSheikh Presented byPresented by Mohammad Anas RamadanMohammad Anas Ramadan The Arab Academy of Banking an Financial SciencesThe Arab Academy of Banking an Financial Sciences
  • 2. CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan All rights reservedAll rights reserved IntroductionIntroduction ●● An overviewAn overview ●● A Commercial PerspectiveA Commercial Perspective Microsoft WindowsMicrosoft Windows WindowsWindows--based Applicationsbased Applications ●● An Open PerspectiveAn Open Perspective ExamplesExamples ●● ConclusionConclusion ●● ReferencesReferences
  • 3. CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan All rights reservedAll rights reserved Some features that I have so far chosenSome features that I have so far chosen not to implementnot to implement are:are: private messagingprivate messaging file attachmentsfile attachments PollsPolls linking to offlinking to off--site avatarssite avatars …… ““I probablyI probably won't be working onwon't be working on themthem:: Tabbed multiple document interfaceTabbed multiple document interface Split document viewSplit document view …”…” ScopeScope ““I wanted a package thatI wanted a package that was fast.was fast. had a simple layouthad a simple layout…”…” ●●The original Notepad shipped withThe original Notepad shipped with Windows is probably the handiestWindows is probably the handiest program of all times, small, fast,program of all times, small, fast, without frills!without frills! ●●Notepad2 tries to follow thisNotepad2 tries to follow this principleprinciple, it's a small, fast and free, it's a small, fast and free…… PrinciplePrinciple PunBBPunBBNotepad2Notepad2
  • 4. CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan All rights reservedAll rights reserved The Commercial PerspectiveThe Commercial Perspective ●● Can we claim that Microsoft's applications areCan we claim that Microsoft's applications are principleprinciple--driven, rather than userdriven, rather than user--satisfactionsatisfaction driven?driven? ●● Commercial software, just like any commercialCommercial software, just like any commercial products, are customerproducts, are customer--satisfactionsatisfaction--driven. Anddriven. And that's what happening in all commercialthat's what happening in all commercial WindowsWindows--based applications, but not in Windowsbased applications, but not in Windows itself.itself. ●● Why?Why?
  • 5. CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan All rights reservedAll rights reserved The Commercial PerspectiveThe Commercial Perspective cont.cont. ●● Because Windows is meant to be anBecause Windows is meant to be an infrastructure for these applications, andinfrastructure for these applications, and any functional improvements in thisany functional improvements in this infrastructure can hurt hostedinfrastructure can hurt hosted--software'ssoftware's functional role, and thus, their competitivefunctional role, and thus, their competitive existence in market! So? there's no seriousexistence in market! So? there's no serious chance for functional integration inchance for functional integration in Windows.Windows. ●● And that's why Notepad is still like this!And that's why Notepad is still like this!
  • 6. CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan All rights reservedAll rights reserved WindowsWindows PrinciplePrinciple--driven softwaredriven software Works as aWorks as a Limited InfrastructureLimited Infrastructure forfor software hosted on it.software hosted on it. ●● Microsoft can't add everything in Windows:Microsoft can't add everything in Windows: Windows Media Player & EUWindows Media Player & EU AntivirusAntivirus
  • 7. CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan All rights reservedAll rights reserved The Open PerspectiveThe Open Perspective ●● A sophisticated software designer canA sophisticated software designer can provide far more than what user couldprovide far more than what user could imagine. He or she can offer him or herimagine. He or she can offer him or her capabilities and functions user wouldn'tcapabilities and functions user wouldn't imagine before.imagine before. ●● It comes from:It comes from: Tacit RequirementsTacit Requirements
  • 8. CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan All rights reservedAll rights reserved ExampleExample--1:1: BiDiBiDi ●● As an example, I wouldn't imagine that it could be possibleAs an example, I wouldn't imagine that it could be possible to show a bidirectional text in one plaintext file, so I didn'tto show a bidirectional text in one plaintext file, so I didn't even ask myself if there's a solution for it or not! But when Ieven ask myself if there's a solution for it or not! But when I saw it for the first time in a real software, which wassaw it for the first time in a real software, which was GEditGEdit,, I was very grateful to open source community for theirI was very grateful to open source community for their unexpected help and solution!unexpected help and solution!
  • 9. CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan All rights reservedAll rights reserved ExampleExample--2: Find toolbar2: Find toolbar ●● Another example was the approach of showingAnother example was the approach of showing (Find) function in Adobe Acrobat 7.0 and(Find) function in Adobe Acrobat 7.0 and FireFoxFireFox..
  • 10. CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan All rights reservedAll rights reserved The Open PerspectiveThe Open Perspective cont.cont. ●● So, unlike commercial software, that areSo, unlike commercial software, that are necessarily user'snecessarily user's--satisfactionsatisfaction--driven,driven, ●● Open source software are principleOpen source software are principle--driven.driven.
  • 11. CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan All rights reservedAll rights reserved Open SystemsOpen Systems PrinciplePrinciple--driven softwaredriven software ●● Whatever the principles listed by theWhatever the principles listed by the software developer, Itsoftware developer, It’’s, at the end of thes, at the end of the day, about:day, about: Realizing TheRealizing The Functional ScopeFunctional Scope of theof the software as a component has to integratesoftware as a component has to integrate with other components inwith other components in an open communityan open community
  • 12. CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan All rights reservedAll rights reserved ConclusionConclusion FOSMFOSM -- Freedom/Objective Software MatrixFreedom/Objective Software Matrix --Function raceFunction raceWindowsWindows--basedbased ApplicationsApplications Well identifiedWell identified componentscomponents --Free/Open SourceFree/Open Source SoftwareSoftware An infrastructureAn infrastructure--Microsoft WindowsMicrosoft Windows PrinciplePrinciple--drivendrivenUserUser--satisfactionsatisfaction--drivendriven
  • 13. CopyrightCopyright ©© 2007 Mohammad Anas Ramadan2007 Mohammad Anas Ramadan All rights reservedAll rights reserved ReferencesReferences ●● PunBBPunBB http://www.punbb.org/about.phphttp://www.punbb.org/about.php ●● Notepad2Notepad2 http://www.floshttp://www.flos--freeware.ch/np2faq.htmlfreeware.ch/np2faq.html ●● Arabian LinuxArabian Linux http://distrowatch.com/table.php?distribution=arabianhttp://distrowatch.com/table.php?distribution=arabian
  • 14. CopyrightCopyright ©© 2007 Mohammad2007 Mohammad AnasAnas RamadanRamadan All rights reservedAll rights reserved TThanks forhanks for LListeningistening!!