View
1.205
Download
0
Category
Preview:
DESCRIPTION
Poweroint, Keynote and some lesser-known desktop apllications were for a long time the only choice for creating presentations. Even though there are other ways to share your experience with the public, presentations still remain the key way of delivering structured content to the audience in a short time. Recent technologies like Html5/Javascript/CSS3 and Markdown allow developers to throw away clumsy UI and start creating content that is easy to version, to merge, to restyle and to collaborate
Citation preview
Developer-FriendlyPresentations
01
About me
Name: Andrey Adamovich
Bio: Developer, coach, speaker, author
Company: Aestas/IT
E-mail: andrey@aestasit.com
Linkedin: http://www.linkedin.com/in/andreyadamovich
•••••
02
This talk is NOT about
making effective and successful presentations
improving your sales and marketing processes
PowerPoint/Keynote tips and tricks
•••
03
This talk IS about
using development-like approach to creating presentations
colloborating during presentation authoring
separating presentation content and design
•••
04
What is presentation?
05
Everyonedoes it!
06
Presentations are used for
community talks
conference speeches
training sessions
sales meetings
what not?
•••••
07
Democracy
It has been said that democracy is the worst form of government
except all the others that have been tried.
Winston Churchill“
08
Presentations
Using presentations for delivering your ideas to the audience is the
most boring way of doing that, but not many dare to use something
else.“09
Lifesaver
10
Rules11
6x6
12
10-20-30
13
Slideware
14
IsPowerPoint...
15
Good or Bad?16
PowerPoint UI
17
Keynote UI
18
OpenOffice Impress UI
19
LibreOffice Impress UI
20
Problems21
PowerPoint isa sales tool!
22
10% - 80% - 10%
23
UI is focused on
style
animations
layout
•••
24
It drives youaway from...
25
...the mostimportant
part...26
CONTENT!!!27
It's notdeveloper-friendly!
28
Single presenter
29
Do not do italone!
30
Collaborating on slides I
31
Collaborating on slides II
e-mail?
shared drive?
... not good!
•••
32
Merging is impossible
33
Solutions?34
HTML5 +CSS3 + JS
35
HTML/CSS/JS presentation frameworks I
Slidy - http://www.w3.org/Talks/Tools/Slidy2
Slideous - http://goessner.net/articles/slideous/
S5 - http://goessner.net/articles/slideous/
S9 - http://slideshow-s9.github.io/
••••
36
HTML/CSS/JS presentation frameworks II
Shower - http://shwr.me
Reveal.js - http://lab.hakim.se/reveal-js
DZSlides - http://paulrouget.com/dzslides/
Deck.js - http://imakewebthings.com/deck.js/
Impress.js - http://bartaz.github.io/impress.js
Google I/O - https://code.google.com/p/io-2012-slides/
••••••
37
Example
<section>
<h2>UI is focused on</h3>
<ul>
<li class=" fragment roll-in">style</li>
<li class=" fragment roll-in">animations</li>
</ul>
</section>
01.
02.
03.
04.
05.
06.
07.
38
Demo39
Why is itbetter?
40
It's easy tocollaborate
on41
It's mergable42
It's splittable43
It'scustomizable
44
It'spublishable
45
It'sautomatable
46
But wait...
no amazing animations
no beautiful transitions
no layout templates
can I move this text box?
••••
47
Any otherdrawbacks?
48
But HTML isstill...
49
...a mix ofcontent and
style!50
Markup isgood,..
51
Markdown isbetter!
52
Markdownsyntax
53
Headers
# This is an H1
## This is an H2
###### This is an H6
01.
02.
03.
04.
05.
54
Headers
A First Level Header
====================
A Second Level Header
---------------------
This is just a regular paragraph.
01.
02.
03.
04.
05.
06.
07.
55
Block quotes
### Header 3
> This is a block quote.
>
> This is the second paragraph in the block quote.
>
01.
02.
03.
04.
05.
06.
56
Emphasizing
Some of these words *are emphasized*.
Some of these words _are emphasized also_.
Use two asterisks for **strong emphasis**.
Or, if you prefer, __use two underscores instead__.
01.
02.
03.
04.
05.
57
Lists
* Candy.
* Gum.
* Booze.
01.
02.
03.
58
Numbered lists
1. Candy.
2. Gum.
3. Booze.
01.
02.
03.
59
Code blocks
This is a normal paragraph:
println "This is a code block.";
01.
02.
03.
60
Horizontal rules
* * *
***
*****
- - -
---------------------------------------
01.
02.
03.
04.
05.
61
Links
This is [an example](http://example.com/ "Title")
inline link.
[This link](http://example.net/) has no title
attribute.
01.
02.
03.
04.
05.
62
References
I get 10 times more traffic from [Google][1]
than from [Yahoo][2] or [MSN][3].
[1]: http://google.com/ "Google"
[2]: http://search.yahoo.com/ "Yahoo Search"
[3]: http://search.msn.com/ "MSN Search"
01.
02.
03.
04.
05.
06.
63
Images
![Alt text](/path/to/img.jpg)
![Alt text](/path/to/img.jpg "Optional title")
01.
02.
03.
64
Bring yourown device65
Markdown for slides
1st level header serves as slide separator
Horizontal rule serves as slide content and slide notes separator
••
66
Demo67
MVC I
68
MVC II
69
Anydeveloper...
70
can create aconverter!
71
Benefits
Separation of design/layout from the actual content
Let's the author first focus on content and then on styling issues
Easy to implement and embed into development process
•••
72
Pandoc
Home page: http://johnmacfarlane.net/pandoc/
If you need to convert files from one markup format into another,
pandoc is your swiss-army knife.
Pandoc can convert documents in Markdown, reStructuredText,
textile, HTML, DocBook, LaTeX, MediaWiki markup, OPML, or
Haddock markup to ...
“73
Landslide
Home page: https://github.com/adamzap/landslide
Landslide generates a slideshow using from markdown, ReST, or
textile.“74
Slideshow-S9
Home page: http://slideshow-s9.github.io/
A Ruby gem that lets you create slide shows and author slides in
plain text using a wiki-style markup language that's easy-to-write and
easy-to-read.“75
Slidery + Gradle
https://github.com/aestasit/slidery
https://github.com/aestasit/slidery-gradle
Slidery is a Java/Groovy library and Gradle plugin to support creation
of presentation slides written in Markdown format.
••
“76
Slidery usage I
task('presentation', type: Slidery) {
intputFiles fileTree("$projectDir/slides") {
include "*.md"
}
outputFile "$buildDir/presentation/slides.html"
format 'deck-js'
}
01.
02.
03.
04.
05.
06.
07.
77
What aboutthe images?
78
XML is theanswer!
79
SVG/GraphML
SVG can be used for free-form vector diagrams
GraphML can be used for diagrams with many connected elements
••
80
Inkscape
81
yEd Graph Editor
82
Summary83
Tools used
Shower
MarkdownPad 2
Slidery v0.3
Gradle v1.8
Inkscape v0.48
yEd Graph Editor v3.11.1
Git
•••••••
84
Look Ma...85
NoPowerPoint!
86
Readingmaterial
87
Book: Presentation Patterns
88
Book: HTML5 for Masterminds
89
Questions?90
Recommended