Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Pragmatic Way to Design Poetic Slides 🌻

Avatar for Tirth Patel Tirth Patel
April 27, 2024

Pragmatic Way to Design Poetic Slides 🌻

it's a meta talk i.e. how to write & design slides for a presentation. there are mainly 2 aspects of any talk (1) Slides (the designing) (2) Presentation (the speaking); this talk will focus more on the first one i.e. slides! It's a creative process and sky is the limit. It can take your presentation to another level. will also touch a bit on some useful presentation tips.

this talk will cover:
- need of a catchy title.
- a couple important animations of keynote (a presentation software).
- elegant ways to present source codes in the slides.
- importance of icebreakers (warm up) to start the talk.
- outro sections to wind up the talk.
- why memes and pop culture references are a nice addition.
- usage of images to demonstrate something crucial.
- using QRs for important links.
- etc...

I love writing & designing slides (prev work: https://speakerdeck.com/piedcipher), it's an art, and a topic close to my heart. I'm only a beginner myself (in terms of designing slides and presenting as speaker) but my observations, insights and tips will be valuable for new & budding speakers. I'm super excited!

Avatar for Tirth Patel

Tirth Patel

April 27, 2024
Tweet

More Decks by Tirth Patel

Other Decks in Design

Transcript

  1. pragmatic way to design poetic slides 🌻 April 27, 2024

    3.30 pm team member at Flutter Org / SDK Contributor time is relative
  2. a talk consists of • but title fi rst! •

    icebreaker (warm-up & intro)
  3. a talk consists of • but title fi rst! •

    icebreaker (warm-up & intro) • softwares & animations (tools)
  4. a talk consists of • but title fi rst! •

    icebreaker (warm-up & intro) • softwares & animations (tools) • content (pre-requisites/toolchain/setup, structured sections, presenting source codes, images, memes/pop-culture references)
  5. a talk consists of • but title fi rst! •

    icebreaker (warm-up & intro) • softwares & animations (tools) • content (pre-requisites/toolchain/setup, structured sections, presenting source codes, images, memes/pop-culture references) • winding down (resources/further reading, inspirations/thanks, social- media plug, something witty)
  6. talk is about OSS + Flutter SDK • Getting Started

    with Contributing to Flutter SDK 👌👍
  7. talk is about OSS + Flutter SDK • Getting Started

    with Contributing to Flutter SDK 👌👍 • the other side of the coin: learning the art of contributing to Flutter SDK 🤩🔥
  8. talk is about Flutter + Gemini • exploring Gemini with

    Flutter ✌ • intersection of Pixels & AI - what's possible with Flutter & Gemini ✨✨
  9. ice breaker / warm up • mic-check & house-check •

    some tale related to the topic • agenda
  10. tale • talk is about Flutter & Gemini • wordplay

    or interesting things about tech
  11. tale • talk is about Flutter & Gemini • wordplay

    or interesting things about tech • example time… 🎨
  12. speaks 1 language, but builds for all, from phones to

    desktops, answers your call. Flutter - build once run everywhere
  13. agenda • lays out high level overview • tells about

    what to expect • example time… 🎨
  14. importance of images • showcasing crucial details • easier to

    connect for viewers • carbon.now.sh for code screenshots 🎉
  15. importance of images • showcasing crucial details • easier to

    connect for viewers • carbon.now.sh for code screenshots • example time… 🎨
  16. use cases • generate text from text-only input • generate

    text from text-and-images input (multimodal)
  17. use cases • generate text from text-only input • generate

    text from text-and-images input (multimodal) • build multi-turn conversations (chat)
  18. use cases • generate text from text-only input • generate

    text from text-and-images input (multimodal) • build multi-turn conversations (chat) • use case 4
  19. showcasing source code • syntax highlighting • to the point

    • dissolve animation • square boxes with some opacity
  20. showcasing source code • syntax highlighting • to the point

    • dissolve animation • square boxes with some opacity • slide duplication
  21. import 'package:google_generative_ai/google_generative_ai.dart'; const apiKey = 'get it from https://aistudio.google.com/app/apikey'; void

    main() async { final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey); final prompt = 'how many cats are too many'; final content = [Content.text(prompt)]; final response = await model.generateContent(content); print(response.text); }
  22. import 'package:google_generative_ai/google_generative_ai.dart'; const apiKey = 'get it from https://aistudio.google.com/app/apikey'; void

    main() async { final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey); final prompt = 'how many cats are too many'; final content = [Content.text(prompt)]; final response = await model.generateContent(content); print(response.text); }
  23. import 'package:google_generative_ai/google_generative_ai.dart'; const apiKey = 'get it from https://aistudio.google.com/app/apikey'; void

    main() async { final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey); final prompt = 'how many cats are too many'; final content = [Content.text(prompt)]; final response = await model.generateContent(content); print(response.text); }
  24. import 'package:google_generative_ai/google_generative_ai.dart'; const apiKey = 'get it from https://aistudio.google.com/app/apikey'; void

    main() async { final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey); final prompt = 'how many cats are too many'; final content = [Content.text(prompt)]; final response = await model.generateContent(content); print(response.text); }
  25. import 'package:google_generative_ai/google_generative_ai.dart'; const apiKey = 'get it from https://aistudio.google.com/app/apikey'; void

    main() async { final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey); final prompt = 'how many cats are too many'; final content = [Content.text(prompt)]; final response = await model.generateContent(content); print(response.text); }
  26. import 'package:google_generative_ai/google_generative_ai.dart'; const apiKey = 'get it from https://aistudio.google.com/app/apikey'; void

    main() async { final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey); final prompt = 'how many cats are too many'; final content = [Content.text(prompt)]; final response = await model.generateContent(content); print(response.text); }
  27. import 'package:google_generative_ai/google_generative_ai.dart'; const apiKey = 'get it from https://aistudio.google.com/app/apikey'; void

    main() async { final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey); final prompt = 'how many cats are too many'; final content = [Content.text(prompt)]; final response = await model.generateContent(content); print(response.text); }
  28. import 'package:google_generative_ai/google_generative_ai.dart'; const apiKey = 'get it from https://aistudio.google.com/app/apikey'; void

    main() async { final model = GenerativeModel(model: 'gemini-pro-vision', apiKey: apiKey); final prompt = 'how many cats are too many'; final content = [Content.text(prompt)]; final response = await model.generateContent(content); print(response.text); }
  29. import 'package:google_generative_ai/google_generative_ai.dart'; const apiKey = 'get it from https://aistudio.google.com/app/apikey'; void

    main() async { final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey); final prompt = 'how many cats are too many'; final content = [Content.text(prompt)]; final response = await model.generateContent(content); print(response.text); }
  30. import 'package:google_generative_ai/google_generative_ai.dart'; const apiKey = 'get it from https://aistudio.google.com/app/apikey'; void

    main() async { final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey); final prompt = 'how many cats are too many'; final content = [Content.text(prompt)]; final response = await model.generateContent(content); print(response.text); }
  31. import 'package:google_generative_ai/google_generative_ai.dart'; const apiKey = 'get it from https://aistudio.google.com/app/apikey'; void

    main() async { final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey); final prompt = 'how many cats are too many'; final content = [Content.text(prompt)]; final response = await model.generateContent(content); print(response.text); }
  32. import 'package:google_generative_ai/google_generative_ai.dart'; const apiKey = 'get it from https://aistudio.google.com/app/apikey'; void

    main() async { final model = GenerativeModel(model: 'gemini-pro', apiKey: apiKey); final prompt = 'how many cats are too many'; final content = [Content.text(prompt)]; final response = await model.generateContent(content); print(response.text); } syntactic sugar for network calls ✨
  33. memes • movies/tv-shows ~ pop culture refs • engaging &

    relatability • avoid overuse • add good memes & avoid edgy ones ⚠
  34. bonus tips • practice practice practice; rehearsals before talk •

    speak at moderate to slow speeds & use mic 🎤 • chewing gum might help in reducing stress • keep minimal points in slides • improvise on the spot if needed • drink water in-between ⚠ • keep giving talks :)
  35. thanks to • Dhruva Shastri (@DhruvaShastri12) • Dhrumil Shah (@Dhuma1981)

    • Mahima MS (@Mahi_Amy) • Samvid Mistry (@MistrySamvid) • Bhavik Makwana (@iBhavikMakwana)