Peruse and the Art of Comic Book Distribution
Total Page:16
File Type:pdf, Size:1020Kb
default Peruse And The Art of Comic Book Distribution Dan Leinir Turthra Jensen September 3, 2016 Peruse — Dan Leinir Turthra Jensen Next up... default 1 Introductions Your Host Peruse Open Collaboration Services 2 Our Technologies Attica KNewStuff 3 Code Time for Samples 4 The End Not The End Peruse — Dan Leinir Turthra Jensen Your Host default Dan Leinir Turthra Jensen MSc in Software Construction, specialised in Game and Engine Programming Member of KDE community since 2002 Calligra and Gluon team member Employee of Blue Systems Peruse — Dan Leinir Turthra Jensen Your Host default Dan Leinir Turthra Jensen MSc in Software Construction, specialised in Game and Engine Programming Member of KDE community since 2002 Calligra and Gluon team member Employee of Blue Systems Peruse — Dan Leinir Turthra Jensen Peruse default Dedicated comic book reader Reads Comic Book Archive (cbr, cbz, etc) How to get them? (no free stores etc) Send people to torrent sites and usenet? (no, obviously not) Peruse — Dan Leinir Turthra Jensen Peruse default Dedicated comic book reader Reads Comic Book Archive (cbr, cbz, etc) How to get them? (no free stores etc) Send people to torrent sites and usenet? (no, obviously not) Peruse — Dan Leinir Turthra Jensen Peruse default Dedicated comic book reader Reads Comic Book Archive (cbr, cbz, etc) How to get them? (no free stores etc) Send people to torrent sites and usenet? (no, obviously not) Peruse — Dan Leinir Turthra Jensen Peruse default Dedicated comic book reader Reads Comic Book Archive (cbr, cbz, etc) How to get them? (no free stores etc) Send people to torrent sites and usenet? (no, obviously not) Peruse — Dan Leinir Turthra Jensen Open Collaboration Services default Been around for many years You all know it Everybody loves to hate it It’s still here And the main implementation is now (becoming) a KDE project Peruse — Dan Leinir Turthra Jensen Open Collaboration Services default Been around for many years You all know it Everybody loves to hate it It’s still here And the main implementation is now (becoming) a KDE project Peruse — Dan Leinir Turthra Jensen Open Collaboration Services default Been around for many years You all know it Everybody loves to hate it It’s still here And the main implementation is now (becoming) a KDE project Peruse — Dan Leinir Turthra Jensen Open Collaboration Services default Been around for many years You all know it Everybody loves to hate it It’s still here And the main implementation is now (becoming) a KDE project Peruse — Dan Leinir Turthra Jensen Open Collaboration Services default Been around for many years You all know it Everybody loves to hate it It’s still here And the main implementation is now (becoming) a KDE project Peruse — Dan Leinir Turthra Jensen Next up... default 1 Introductions Your Host Peruse Open Collaboration Services 2 Our Technologies Attica KNewStuff 3 Code Time for Samples 4 The End Not The End Peruse — Dan Leinir Turthra Jensen Attica default Tier 1 Qt style asynchronous API designed to access OCS directly Fully featured (official C++ test bed for OCS features) Quite heavy to work with (fine for big and intricate, not so great for “simple” things) Peruse — Dan Leinir Turthra Jensen KNewStuff Now default Tier 3 Qt Widget based components for adding support for remote content (includes update functionality, ratings etc) Exposes Button, DownloadDialog, UploadDialog, DownloadManager, Entry and KMoreTools Pretty heavy on dependencies (KIO, TextWidgets, WidgetAddons, XmlGui... aka The WorldTM) Great for KDE applications Peruse — Dan Leinir Turthra Jensen KNewStuff Now default Tier 3 Qt Widget based components for adding support for remote content (includes update functionality, ratings etc) Exposes Button, DownloadDialog, UploadDialog, DownloadManager, Entry and KMoreTools Pretty heavy on dependencies (KIO, TextWidgets, WidgetAddons, XmlGui... aka The WorldTM) Great for KDE applications Peruse — Dan Leinir Turthra Jensen KNewStuff Now default Tier 3 Qt Widget based components for adding support for remote content (includes update functionality, ratings etc) Exposes Button, DownloadDialog, UploadDialog, DownloadManager, Entry and KMoreTools Pretty heavy on dependencies (KIO, TextWidgets, WidgetAddons, XmlGui... aka The WorldTM) Great for KDE applications Peruse — Dan Leinir Turthra Jensen KNewStuff Now default Tier 3 Qt Widget based components for adding support for remote content (includes update functionality, ratings etc) Exposes Button, DownloadDialog, UploadDialog, DownloadManager, Entry and KMoreTools Pretty heavy on dependencies (KIO, TextWidgets, WidgetAddons, XmlGui... aka The WorldTM) Great for KDE applications ...not so much for others Peruse — Dan Leinir Turthra Jensen KNewStuff Now default Tier 3 Qt Widget based components for adding support for remote content (includes update functionality, ratings etc) Exposes Button, DownloadDialog, UploadDialog, DownloadManager, Entry and KMoreTools Pretty heavy on dependencies (KIO, TextWidgets, WidgetAddons, XmlGui... aka The WorldTM) Great for KDE applications ...not so much for others ...and KDE applications looking at places that aren’t Linux Peruse — Dan Leinir Turthra Jensen KNewStuff Next default Existing Tier 3 framework- KNewStuff (the QWidget based UI) Binary Compatibility promise Some beautfication, but generally all stays the same New Tier 2 frameworks- KNewStuffCore (can’t be tier 1, still depends on e.g. Attica and KArchive) KNewStuffQuick (depending only on KNewStuffCore) Peruse — Dan Leinir Turthra Jensen KNewStuff Next default Existing Tier 3 framework- KNewStuff (the QWidget based UI) Binary Compatibility promise Some beautfication, but generally all stays the same New Tier 2 frameworks- KNewStuffCore (can’t be tier 1, still depends on e.g. Attica and KArchive) KNewStuffQuick (depending only on KNewStuffCore) Peruse — Dan Leinir Turthra Jensen KNewStuff Next default Existing Tier 3 framework- KNewStuff (the QWidget based UI) Binary Compatibility promise Some beautfication, but generally all stays the same New Tier 2 frameworks- KNewStuffCore (can’t be tier 1, still depends on e.g. Attica and KArchive) KNewStuffQuick (depending only on KNewStuffCore) Peruse — Dan Leinir Turthra Jensen KNewStuff Next default Existing Tier 3 framework- KNewStuff (the QWidget based UI) Binary Compatibility promise Some beautfication, but generally all stays the same New Tier 2 frameworks- KNewStuffCore (can’t be tier 1, still depends on e.g. Attica and KArchive) KNewStuffQuick (depending only on KNewStuffCore) Peruse — Dan Leinir Turthra Jensen KNewStuff Next default Existing Tier 3 framework- KNewStuff (the QWidget based UI) Binary Compatibility promise Some beautfication, but generally all stays the same New Tier 2 frameworks- KNewStuffCore (can’t be tier 1, still depends on e.g. Attica and KArchive) KNewStuffQuick (depending only on KNewStuffCore) Peruse — Dan Leinir Turthra Jensen KNewStuffCore default Exposes much previously unexposed functionality, including but not limited to the following (see also api docs): KNS3::ItemsModel- Core model for display and interaction KNS3::EntryInternal- The data container the model hands back KNS3::Engine- The central control point (install, uninstall through this) KNS3::Cache- The cache of installed items (for offlineness) Peruse — Dan Leinir Turthra Jensen KNewStuffQuick default Qt Quick based API Either use the simple list based components (like KNS3::Button) Or use the API directly, for more power import org.kde.newstuff 1.0 as NewStuff Peruse — Dan Leinir Turthra Jensen KNewStuffQuick default Qt Quick based API Either use the simple list based components (like KNS3::Button) Or use the API directly, for more power Peruse — Dan Leinir Turthra Jensen KNewStuffQuick default Qt Quick based API Either use the simple list based components (like KNS3::Button) Or use the API directly, for more power Peruse — Dan Leinir Turthra Jensen Next up... default 1 Introductions Your Host Peruse Open Collaboration Services 2 Our Technologies Attica KNewStuff 3 Code Time for Samples 4 The End Not The End Peruse — Dan Leinir Turthra Jensen What’ve we got? default Attica- Intricate/powerful/complex, tightly bound to OCS KNewStuffCore- Less tightly bound to OCS, still intricate/powerful/complex KNewStuff- Old style pure C++ API, very simple, straightforward KNewStuffQuick- New Qt Quick style API, either very simple components, or exposing KNSCore to Qt Quick Peruse — Dan Leinir Turthra Jensen What’ve we got? default Attica- Intricate/powerful/complex, tightly bound to OCS KNewStuffCore- Less tightly bound to OCS, still intricate/powerful/complex KNewStuff- Old style pure C++ API, very simple, straightforward KNewStuffQuick- New Qt Quick style API, either very simple components, or exposing KNSCore to Qt Quick Peruse — Dan Leinir Turthra Jensen What’ve we got? default Attica- Intricate/powerful/complex, tightly bound to OCS KNewStuffCore- Less tightly bound to OCS, still intricate/powerful/complex KNewStuff- Old style pure C++ API, very simple, straightforward KNewStuffQuick- New Qt Quick style API, either very simple components, or exposing KNSCore to Qt Quick Peruse — Dan Leinir Turthra Jensen What’ve we got? default Attica- Intricate/powerful/complex, tightly bound to OCS KNewStuffCore- Less tightly bound to OCS, still intricate/powerful/complex KNewStuff- Old style pure C++ API, very simple, straightforward KNewStuffQuick- New Qt Quick style API, either very simple components, or exposing KNSCore to Qt Quick Peruse — Dan Leinir Turthra Jensen What’ve we got? default Attica-