Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)

342 views

Published on

One month I was a web designer, the next I co-owned an existing tech media company. php[architect] is a boutique publishing brand that is well known in the PHP developer world. When our newly-minted four person company was asked to take over the brand (because the founder wanted to move on), we jumped at the opportunity. We took over a monthly magazine, tech books, training and two national conferences. As the sole designer in a band of developers, I was the most concerned. After several months, we worked out a content workflow (that ended in both digital and print) that made it possible for just four people to run a thriving boutique media company. This is how we did it.

Published in: Design
  • Be the first to comment

I Can Magazine- and YOU CAN, TOO! (A Case Study of a Boutique Designer)

  1. 1. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-191 I Can Magazine— And YOU CAN, TOO! (a Case Study of a Boutique Publisher) Kevin Bruce musketeers.me,LLC
  2. 2. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-192 Who am I? Kevin Bruce •  Designer (Print & Web) •  PHP Developer •  Community Advocate •  Business Cofounder
  3. 3. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-193 musketeers.me (a short history)
  4. 4. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-194 “PSST! Hey, buddy! Want a media company?”
  5. 5. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-195 php|architect •  Geared towards PHP developers •  monthly magazine •  online and onsite training •  online summits •  2 national conferences •  a library of over 20 tech books
  6. 6. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-196 The Magazine •  Started in December 2001 •  In print until 2009, where it went to digital-only •  Up to 2500 subscribers PHPA AUG 09.indd 1 8/22/09 3:22:06 PM
  7. 7. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-197 a Helpful Editor Beth Tucker Long •  Developer •  Community Leader •  Editor •  Writer
  8. 8. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-198 Processes SVN Article in Ceres Article in Ceres command-line tool binds issues to subscribers accounts on phparch.com | Author (various) Editing (Beth) Layout (Kevin) PDF, ePub and mobi files pushed to site from SVN Proofing Rounds Proofing Rounds All proofing and file exchange are managed with the help of Subversion Imported into InDesign command-line tool used to export epub & mobi |
  9. 9. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-199 •  A special inhouse markup. •  Authors wrotebooks and articles in it. •  A commandline program exported it into epub and mobi ebook formats. •  Imported into inDesign with a custom plugin. Ceres =t=Chapter Title=t= Some Text Here, in **bold**, //italics//, //**italic bold**//, **//bold italic//**, //’’monospaceCode()’’//. ‘’monospaceCode()’’. =1=A sub-header=1= - A list - list item 2 {{figure figure1.jpg}} {{sidebar something More stuff here }} <code php> <?php echo “Hello World”; ?> </code> <code sql> SELECT “Hello World” as greeting; </code> <code xml> <?xml version=”1.0” encoding=”UTF-8” ?> <hello><world /></hello> </code> <code html> <!DOCTYPE html> <html> <head><title>Hello World</title></head> <body><p>Hello World</p></body> </html> </code> <code javascript> alert(new String(“Hello World”)); </code>
  10. 10. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1910 •  http://wikipedia.org/ wiki/Markdown •  An open standard simple format that is slowly getting embraced by the digital publishing community. Markdown Markdown Syntax - Headings • One or more # • Provide document structure # Heading 1 ## Heading 2 ### Heading 3 #### Heading 4 ##### Heading 5 <h1>Heading 1</h1> <h2>Heading 2</h2> <h3>Heading 3</h3> <h4>Heading 4</h4> <h5>Heading 5</h5> Markdown Syntax - Text Blocks • Paragraphs are separated by a new line. • Block Quotes begin with a >. I should have used lorem ipsum here as an example of text > And here is another paragraph I should have used lorem ipsum here as an example of text And here is another paragraph Markdown Syntax - Formatting *italic* _italic_ **bold**__bold__ ‘monospace‘ italic italic bold bold monospace Markdown Syntax - Unordered Lists • Bullets can be +, -, * • Nested lists are indented by 4 spaces. - One * Sub One - Two - Three
  11. 11. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1911 Converts markup in one format to another From •  Markdown •  HTML •  LaText, and more To •  PDF •  Latex, •  ePub and more... PanDoc Pandoc Read the Instructions for Installing Pandoc on Windows, Mac OS X, Linux, BSD http://pandoc.org/
  12. 12. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1912 command-line tool binds issues to subscribers accounts on phparch.com | PDF, ePub and mobi files pushed to site from SVN Updated Process SVN 12 | March 2015 www.phparch.com 12 | March 2015 www.phparch.com Today, many programmers focus on their application, not their database. They think about code—after all, most of what they do is solving programming problems, not database problems. Dry! Theoretical lectures on relational database theory have little bearing on modern-day web applications—or so many seem to think! FEATURE Practical Database Design David Berube DisplayInfo() Related URLs: • Boyce–Codd normal form - http://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form 20 | March 2015 www.phparch.com Consolidating Doctrine Migrations Patrick Schwisow Doctrine Migrations are a great way to manage changes in your database structure, but over time migration files can pile up and turn into an unmaintainable mess. Migration usage is well-documented, but developers are left to their own devices when it comes to long-term maintenance. This article outlines a process for cleaning up the mess and starting fresh with a new base migration with minimal impact on existing database instances. FEATURE DisplayInfo() Requirements: • PHP: 5.3.3+ • Doctrine ORM: 2.0+ - http://www.doctrine-project.org/projects/orm.html • Doctrine Migrations - http://www.doctrine-project.org/projects/migrations.html Other Software: • MySQL / PgSQL / Oracle / Sqlite • DoctrineMigrationsBundle - https://github.com/doctrine/DoctrineMigrationsBundle Related URLs: • The Art of Doctrine Migrations (presentation by Ryan Weaver) - http://www.slideshare.net/weaverryan/the-art-of-doctrine-migrations 4 | March 2015 www.phparch.com Database Versioning with Liquibase I think it’s safe to say that database versioning is a subject that every software developer in the industry will have to deal with sooner or later. Most development teams have found a way to deal with schema changes using a tool they either found or built themselves, which most of the time simply executes all patch files (or ‘deltas’) that were added since the last time they ran the tool. This works, and some tools even have some extra-fancy features like rolling back revisions or tagging certain versions. Database Versioning with Liquibase Harrie Verveer FEATURE So people kind of know how to deal with it, but when version numbers collide or conflicts on a database schema level need to be resolved (especially when merging branches), things get nasty. We now suddenly have to manually fix our own broken database to a state where it makes sense again, and we have to open the patch files ourselves and see how we can combine them into something that works for everybody else, taking into account that some of our users, colleagues, or environments might already be on a different version number. We have to manually fix it, and it feels dirty for some reason. So a while ago, I decided I was going to solve this problem. We did database versioning for our projects. It kind of worked most of the time, but the manual intervention that was required every once in a while made it feel like a hack. I decided to go and investigate what solutions were out there because surely, there must be some sort of magical tool that solves all of our problems once and for all, right? And if not, I was sure we could look into the problem and build this magical tool ourselves! So I took my knapsack and my battle axe +8STR +4DEX, and I went on a quest—the quest to find the silver bullet solution for database versioning. Article in Markdown Article in Markdown PANDOC used to export edited articles to epub and mobi formats Author (various) Editing (Oscar) Layout (Kevin) Pandoc Proofing Rounds Proofing Rounds All proofing and file exchange are managed with the help of Subversion Imported into InDesign
  13. 13. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1913 •  August 2013, LSI approached us with a pilot journal program. •  They use their existing book print system for magazines and journals. •  Program is print on demand with direct shipping. Print is dead. Long live Print!
  14. 14. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1914 •  LSI printed php|architect’s old books. We had changed to CreateSpace for printing any new books under musketeers. •  After much research, we had come to the conclusion that print was just too risky to try to bring back because no one was doing POD for journals.. Back Up (a brief history)
  15. 15. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1915 Some adjustments needed to be made for going to print. 1. Styles (colors) updated for CMYK 2. Font license checks (meaning I finally get to clean out any old fonts still hanging around). 3. Considerations for bleeds 4. Facing pages and spreads. Rerigging
  16. 16. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1916 •  Gloss vs Matte Cover •  Interior Pages were thin •  A difference with standard magazines was the interior was matte and a bit faded. The First Test
  17. 17. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1917 •  Well received •  Many old subscribers that remembered print immediately signed up. •  A few “old guard” balked at the $149/year rate but most changed their minds as soon as they had it in their hands. Rollout
  18. 18. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1918 Revised Process Flow SVN 12 | March 2015 www.phparch.com 12 | March 2015 www.phparch.com Today, many programmers focus on their application, not their database. They think about code—after all, most of what they do is solving programming problems, not database problems. Dry! Theoretical lectures on relational database theory have little bearing on modern-day web applications—or so many seem to think! FEATURE Practical Database Design David Berube DisplayInfo() Related URLs: • Boyce–Codd normal form - http://en.wikipedia.org/wiki/Boyce%E2%80%93Codd_normal_form 20 | March 2015 www.phparch.com Consolidating Doctrine Migrations Patrick Schwisow Doctrine Migrations are a great way to manage changes in your database structure, but over time migration files can pile up and turn into an unmaintainable mess. Migration usage is well-documented, but developers are left to their own devices when it comes to long-term maintenance. This article outlines a process for cleaning up the mess and starting fresh with a new base migration with minimal impact on existing database instances. FEATURE DisplayInfo() Requirements: • PHP: 5.3.3+ • Doctrine ORM: 2.0+ - http://www.doctrine-project.org/projects/orm.html • Doctrine Migrations - http://www.doctrine-project.org/projects/migrations.html Other Software: • MySQL / PgSQL / Oracle / Sqlite • DoctrineMigrationsBundle - https://github.com/doctrine/DoctrineMigrationsBundle Related URLs: • The Art of Doctrine Migrations (presentation by Ryan Weaver) - http://www.slideshare.net/weaverryan/the-art-of-doctrine-migrations 4 | March 2015 www.phparch.com Database Versioning with Liquibase I think it’s safe to say that database versioning is a subject that every software developer in the industry will have to deal with sooner or later. Most development teams have found a way to deal with schema changes using a tool they either found or built themselves, which most of the time simply executes all patch files (or ‘deltas’) that were added since the last time they ran the tool. This works, and some tools even have some extra-fancy features like rolling back revisions or tagging certain versions. Database Versioning with Liquibase Harrie Verveer FEATURE So people kind of know how to deal with it, but when version numbers collide or conflicts on a database schema level need to be resolved (especially when merging branches), things get nasty. We now suddenly have to manually fix our own broken database to a state where it makes sense again, and we have to open the patch files ourselves and see how we can combine them into something that works for everybody else, taking into account that some of our users, colleagues, or environments might already be on a different version number. We have to manually fix it, and it feels dirty for some reason. So a while ago, I decided I was going to solve this problem. We did database versioning for our projects. It kind of worked most of the time, but the manual intervention that was required every once in a while made it feel like a hack. I decided to go and investigate what solutions were out there because surely, there must be some sort of magical tool that solves all of our problems once and for all, right? And if not, I was sure we could look into the problem and build this magical tool ourselves! So I took my knapsack and my battle axe +8STR +4DEX, and I went on a quest—the quest to find the silver bullet solution for database versioning. Article in Markdown Article in Markdown lightningsource.com Issue prints and ships to individual addresses uploaded to LSI PANDOC used to export edited articles to epub and mobi formats command-line tool binds issues to subscribers accounts on phparch.com | Author (various) Editing (Oscar) Layout (Kevin) Pandoc Designer loads print files on LSI’s site PDF, ePub and mobi files pushed to site from SVNProofing Rounds Proofing Rounds All proofing and file exchange are managed with the help of Subversion Imported into InDesign
  19. 19. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1919 •  LSI now has a UK print facility to enable faster and cheaper shipping to europe. We have a seperate upload account at LSI’s site for uploading files to print at that facility. This also allowed us to lower international subscription price! •  We have decided on giving a year’s subcription to attendees of php[tek] and php[world].. Updates
  20. 20. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1920 1. Demand stays flat •  Cultivate advertisers where we can to suppliment low subscription numbers •  Stay with POD 2. Demand increases •  Use a higher end printer that requires minimums •  Go to a model where we use more advertisers, cheaper subscription 3. Demand Dwindles... Future of Print
  21. 21. Musketeers.me AIGA Blue Ridge Essentials • 2015-03-1921 Thank You Kevin Bruce •  kevin@musketeers.me •  kevinbruce.com •  @kevinbruce •  www.phparch.com

×