Anne Collet
Citizens 3.0
= Software as a Service
are machines that
can be told what to do
are written instructions that
define what we want the computer to do
In order to be executable by the computer,
instructions must be passed to it in
a sequence of 0s and 1s
these 0s and 1s represent the discrete states
OFF, False, 0 Volts, no current flowing
ON, True, +Volts, the current flows
that must take the computer's core components
i.e. the transistors
once charged electronically, billions of tiny transistors...
will execute the logic we want
combined on a thin film of silicon, a semiconductor material,
to form an integrated circuit (aka microchip)
1001101001001010100
first_name = gets.chomp
vs
0. Enumerate numbers until a defined stopper ('N')
1. Start by considering 'number' is equal to 1
2. If 'number' is a multiple of 3, say Fizz
3. If 'number' is a multiple of 5, say Buzz
4. If 'number' is a multiple of both, say FizzBuzz
5. Else say the current value of 'number'
6. Increment the value of 'number' by 1
7. Repeat until the value of 'number' is equal to 'N'
http://rosettacode.org/wiki/FizzBuzz
ASSEMBLY
http://rosettacode.org/wiki/FizzBuzz
RUBY
JAVA
JAVASCRIPT
1
3
2
a desktop application is
a program that runs locally on the user's computer
e.g. Microsoft Excel 2010
needs to
be installed on
the user's computer
strict hardware
requirements
(hard disk, RAM,...)
one version
for each OS
(Windows, Mac,...)
complicated
updates
no Internet connection needed to use it
often, basic
user interfaces
a mobile application is
a program that runs on a mobile device
and is exchanging data with a remote server via Internet
needs to
be installed on
the user's mobile device
e.g. Zoho Sheet Mobile
+
- for iOS (Objective C or Swift)
- for Android (Java)
- for Windows Phone (C#)
=> 2 to 3 times the cost
of a web app !
3 very different families of
technologies / mobile OS :
a web application is
a program that runs on a remote web server
and is displayed on the user's computer's web browser
all you need is
a web browser on
the user's computer
e.g. Google Sheets
works even on users' devices with limited hardware capabilities
one single version of the app,
with continuous
development
seamless upgrade & easier maintenance
difficulty for the user to work
if bad internet connection!
more interactive, media-rich user interfaces
wired
wired
wireless
wireless
ISP = Internet Service Provider
the global system of INTERconnected computer NETworks
Vint Cerf
Bob Kahn
Vint Cerf
Bob Kahn
the global system of INTERconnected computer NETworks
the (World Wide) Web
Tim Berners-Lee
Robert Cailliau
the (World Wide) Web
accessible through a web browser
identifiable thanks to their unique URL/URI
connected together
via hyperlinks,
which allow us to surf
from one to another
a gigantic space of resources (images, HTML documents,...)
the World Wide Web is one of the many services
relying on the Internet infrastructure
http request / http response
(aka site vitrine)
http request / http response
(aka web application)
( = the front-end part )
content
+ structure
style
dynamism
+ usability
( = the back-end part )
thanks to API (application programming interfaces)
API
API
API
API
(color, size,...)
what a human likes to see
{"richestPeople":[
{"firstName":"Bill", "lastName":"Gates", "value":"81"},
{"firstName":"Carlos", "lastName":"Slim", "value":"79"},
{"firstName":"Warren", "lastName":"Buffet", "value":"72"}
]}
what a machine likes to see
more & more applications are created today
by calling the APIs of third-party web services
(Google maps, Facebook authentication,...)
can be integrated into your application
by calling and consuming their API
(application programming interface)
select the best ones
already widely tested & acclaimed
for their usability & functionality
Stripe (payment)
Olark (live chat)
MailChimp (e-mailing)
text editor
terminal
online resources
+
version control tools
ergonomic keyboard (Dvorak, Bépo,...)
" No one will steal your shitty idea "
- Adeo Ressi
As a <role>,
I want <goal/desire>
so that <benefit>
"Put the user in the center of your product/service
from the beginning"
- Boris Paillard, CEO Le Wagon
"Plus on met de techno dans une app,
plus il faut contrebalancer avec de l'humain"
- Jean-Daniel Guyot, CEO & Co-Founder Captain Train
Advantages
(-> to be proud of)
Disadvantages
(-> to start to tackle)