The Office 365 for IT Pros story began in August 2014, when I started to write about Office 365 while on vacation in the South of France. Microsoft Press had published my Exchange 2013 book in September 2013, and I wanted a new book project. Seeing that I had used Business Productivity Online Services (BPOS) and then Office 365 after its launch on June 28, 2011, it seemed like a good subject to tackle. However, the problem with Office 365 was that everything changed all the time (that aspect continues to this day). The rapidity of change is the reason why traditional book publishing models just don’t work for cloud services.
In any case, the range of topics that needed coverage to create a credible book meant that more authors were needed, so I signed up Michael Van Horenbeeck and Paul Cunningham, with Jeff Guillet as the Technical Editor. We launched the new project in December 2014.
Office 365 for Exchange Professionals
By April 2015, we had the book in reasonable shape. We approached Microsoft to ask whether they’d like to launch the book at their new Ignite conference in Chicago the following month. Microsoft agreed, and also agreed to publish some paper copies of the book. That was quite a project because a professional editor had to transfer our Word documents into Adobe Indesign to create the PostScript files for a printer. But it all worked and 500 copies of “Office 365 for Exchange Professionals” appeared at Ignite. You can see Michael holding a copy of the printed book in Figure 1.
Figure 1: Celebrating the launch of Office 365 for Exchange Professionals complete with a printed copy at Microsoft Ignite 2015
The printed version of the first edition was about 550 pages. We have dabbled at printing other editions, but once the book got to around 900 pages, the exercise proved just too difficult. In any case, a printed book goes out of date as soon as the ink hits the paper, and the whole point of doing an eBook is to avoid that problem.
Second Edition in Vegas
Figure 2: Cover of the Second Edition
We always knew that we needed to update the book but had not figured out how best to do it in quite the best way. The IT/DEV Connections conference in Las Vegas in September 2015 seemed like a good target, so we launched the second edition (Figure 3) there with the help of Binary Tree, who paid for a nice party, and gave away copies of the book on USB sticks signed by the writing team.
Figure 3: The writing team launches the second edition in Las Vegas
Third and Fourth Editions (2017 and 2018)
Our third edition appeared at Ignite 2016. By now, we had sorted the update process and were able to ship updates as we needed. But Office 365 was changing and the initial focus on moving email to the cloud had passed. People wanted to do more with Office 365 than email and we needed to change the focus and content of the book.
This brought us to the fourth edition, released on June 1, 2017. We renamed the book to be “Office 365 for IT Pros” to reflect the new focus on the breadth and depth of the service and included coverage of many new topics. We welcomed a new technical editor in Vasil Michev too, and began to enjoy the unique experience of his probing questions about arcane but important details that we had never considered before.
The 4th edition lasted 13 months and received 51 updates in that time. Some 315 separate chapter updates were applied. It was a crazy release schedule, but it was needed because of kind of changes that happened inside Office 365 during this period. Teams previewed in November 2016 and reached General Availability in March 2017. We also had to deal with Planner, Stream, StaffHub, big changes in Azure Information Protection, and so on. In any case, the fast cadence of change forced a pace that we kept up with, but it was hard work at times.
Fifth and Sixth Editions (2019 and 2020)
The fifth edition appeared in July 2018. Paul and Michael stepped down from the original writing team and we welcomed some new talented writers to cover aspects like SharePoint Online and the Power Platform. At the same time, we moved to a monthly release cadence and have used this approach ever since. Due to the size the book had grown to, we moved some older content into the companion volume.
Figure 3: Cover of the Fifth Edition (2018)
The sixth edition arrived in July 2019. Paul Robichaux took responsibility for more chapters. Office 365 was now used by over 200 million monthly active users and Teams occupied an increasing amount of our attention.
Seventh Edition (2021)
We published the seventh edition in July 2020. Brian Reid, responsible for coverage of mail flow in the fifth and sixth editions, was replaced by Brian Desmond, who also took responsibility for identities and authentication. Seeing that Brian had written a very well-respected Active Directory book, the new gig to cover Azure AD is right up his street.
At this point we’re still using Office 365 for the name. Microsoft is steadily changing its branding to apply Microsoft 365 to many different aspects of its cloud services, but not so far to the core services of Exchange Online, SharePoint Online, OneDrive for Business, Azure AD, Teams, Planner, Stream, and Power Platform which form the core of our content.
The current book spans over 1,250 pages and some 620,000 words. We still update it every month. Most updates span three-quarters or more of the 24 content chapters. We are never short of something to update.
Eighth Edition (2022)
The eighth edition was published in July 2021. Christina Wheeler joined the writing team to take over our Power Platform coverage after Gustavo Velez stepped down. We also welcomed Gareth Gudger to the team to take on the task of looking after the mail flow chapter. After removing a bunch of nearly obsolete content, we got the book down to 1,200 pages (now growing again). There’s so much stuff to talk about when discussing Office 365 and the wider Microsoft 365 ecosystem!
Ninth Edition (2023)
Ninth edition cover
The ninth edition was published in July 2022. Ben Lee took over the Teams Calling and Devices chapter from Ståle Hansen. We restructured the book to make the flow better. We also rewrote every Azure AD PowerShell example to embrace the Microsoft Graph (PowerShell SDK or Graph API requests). Office 365 kept on changing, and we keep on writing!
Learning Since 2015
Since 2015, we have learned an awful lot about publishing an eBook and maintaining quality in a world where details change on an ongoing basis. We also learned an incredible amount about Office 365 and Microsoft 365. There’s nothing like having to write about technology to reinforce your knowledge about how it works, its strengths and weaknesses, and how to deploy and manage different features.
We rely on our subscribers to support the project. Without a steady stream of income none of the writers could afford to spend the research and investigation time necessary to produce quality text. We appreciate each and every subscriber.
Our story continues. The writing team still has the energy and drive to process hundreds of product changes and announcements annually. We investigate, understand, debate, test, and eventually write about Office 365 and publish acompletely updated book every month. It’s been quite a journey.
{"id":null,"mode":"button","open_style":"in_modal","currency_code":"EUR","currency_symbol":"\u20ac","currency_type":"decimal","blank_flag_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/blank.gif","flag_sprite_url":"https:\/\/office365itpros.com\/wp-content\/plugins\/tip-jar-wp\/\/assets\/images\/flags\/flags.png","default_amount":100,"top_media_type":"featured_image","featured_image_url":"https:\/\/office365itpros.com\/wp-content\/uploads\/2022\/11\/cover-141x200.jpg","featured_embed":"","header_media":null,"file_download_attachment_data":null,"recurring_options_enabled":true,"recurring_options":{"never":{"selected":true,"after_output":"One time only"},"weekly":{"selected":false,"after_output":"Every week"},"monthly":{"selected":false,"after_output":"Every month"},"yearly":{"selected":false,"after_output":"Every year"}},"strings":{"current_user_email":"","current_user_name":"","link_text":"Virtual Tip Jar","complete_payment_button_error_text":"Check info and try again","payment_verb":"Pay","payment_request_label":"Office 365 for IT Pros","form_has_an_error":"Please check and fix the errors above","general_server_error":"Something isn't working right at the moment. Please try again.","form_title":"Office 365 for IT Pros","form_subtitle":null,"currency_search_text":"Country or Currency here","other_payment_option":"Other payment option","manage_payments_button_text":"Manage your payments","thank_you_message":"Thank you for supporting the work of Office 365 for IT Pros!","payment_confirmation_title":"Office 365 for IT Pros","receipt_title":"Your Receipt","print_receipt":"Print Receipt","email_receipt":"Email Receipt","email_receipt_sending":"Sending receipt...","email_receipt_success":"Email receipt successfully sent","email_receipt_failed":"Email receipt failed to send. Please try again.","receipt_payee":"Paid to","receipt_statement_descriptor":"This will show up on your statement as","receipt_date":"Date","receipt_transaction_id":"Transaction ID","receipt_transaction_amount":"Amount","refund_payer":"Refund from","login":"Log in to manage your payments","manage_payments":"Manage Payments","transactions_title":"Your Transactions","transaction_title":"Transaction Receipt","transaction_period":"Plan Period","arrangements_title":"Your Plans","arrangement_title":"Manage Plan","arrangement_details":"Plan Details","arrangement_id_title":"Plan ID","arrangement_payment_method_title":"Payment Method","arrangement_amount_title":"Plan Amount","arrangement_renewal_title":"Next renewal date","arrangement_action_cancel":"Cancel Plan","arrangement_action_cant_cancel":"Cancelling is currently not available.","arrangement_action_cancel_double":"Are you sure you'd like to cancel?","arrangement_cancelling":"Cancelling Plan...","arrangement_cancelled":"Plan Cancelled","arrangement_failed_to_cancel":"Failed to cancel plan","back_to_plans":"\u2190 Back to Plans","update_payment_method_verb":"Update","sca_auth_description":"Your have a pending renewal payment which requires authorization.","sca_auth_verb":"Authorize renewal payment","sca_authing_verb":"Authorizing payment","sca_authed_verb":"Payment successfully authorized!","sca_auth_failed":"Unable to authorize! Please try again.","login_button_text":"Log in","login_form_has_an_error":"Please check and fix the errors above","uppercase_search":"Search","lowercase_search":"search","uppercase_page":"Page","lowercase_page":"page","uppercase_items":"Items","lowercase_items":"items","uppercase_per":"Per","lowercase_per":"per","uppercase_of":"Of","lowercase_of":"of","back":"Back to plans","zip_code_placeholder":"Zip\/Postal Code","download_file_button_text":"Download File","input_field_instructions":{"tip_amount":{"placeholder_text":"How much would you like to tip?","initial":{"instruction_type":"normal","instruction_message":"How much would you like to tip? Choose any currency."},"empty":{"instruction_type":"error","instruction_message":"How much would you like to tip? Choose any currency."},"invalid_curency":{"instruction_type":"error","instruction_message":"Please choose a valid currency."}},"recurring":{"placeholder_text":"Recurring","initial":{"instruction_type":"normal","instruction_message":"How often would you like to give this?"},"success":{"instruction_type":"success","instruction_message":"How often would you like to give this?"},"empty":{"instruction_type":"error","instruction_message":"How often would you like to give this?"}},"name":{"placeholder_text":"Name on Credit Card","initial":{"instruction_type":"normal","instruction_message":"Enter the name on your card."},"success":{"instruction_type":"success","instruction_message":"Enter the name on your card."},"empty":{"instruction_type":"error","instruction_message":"Please enter the name on your card."}},"privacy_policy":{"terms_title":"Terms and conditions","terms_body":null,"terms_show_text":"View Terms","terms_hide_text":"Hide Terms","initial":{"instruction_type":"normal","instruction_message":"I agree to the terms."},"unchecked":{"instruction_type":"error","instruction_message":"Please agree to the terms."},"checked":{"instruction_type":"success","instruction_message":"I agree to the terms."}},"email":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email address"},"success":{"instruction_type":"success","instruction_message":"Enter your email address"},"blank":{"instruction_type":"error","instruction_message":"Enter your email address"},"not_an_email_address":{"instruction_type":"error","instruction_message":"Make sure you have entered a valid email address"}},"note_with_tip":{"placeholder_text":"Your note here...","initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"empty":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"not_empty_initial":{"instruction_type":"normal","instruction_message":"Attach a note to your tip (optional)"},"saving":{"instruction_type":"normal","instruction_message":"Saving note..."},"success":{"instruction_type":"success","instruction_message":"Note successfully saved!"},"error":{"instruction_type":"error","instruction_message":"Unable to save note note at this time. Please try again."}},"email_for_login_code":{"placeholder_text":"Your email address","initial":{"instruction_type":"normal","instruction_message":"Enter your email to log in."},"success":{"instruction_type":"success","instruction_message":"Enter your email to log in."},"blank":{"instruction_type":"error","instruction_message":"Enter your email to log in."},"empty":{"instruction_type":"error","instruction_message":"Enter your email to log in."}},"login_code":{"initial":{"instruction_type":"normal","instruction_message":"Check your email and enter the login code."},"success":{"instruction_type":"success","instruction_message":"Check your email and enter the login code."},"blank":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."},"empty":{"instruction_type":"error","instruction_message":"Check your email and enter the login code."}},"stripe_all_in_one":{"initial":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"empty":{"instruction_type":"error","instruction_message":"Enter your credit card details here."},"success":{"instruction_type":"normal","instruction_message":"Enter your credit card details here."},"invalid_number":{"instruction_type":"error","instruction_message":"The card number is not a valid credit card number."},"invalid_expiry_month":{"instruction_type":"error","instruction_message":"The card's expiration month is invalid."},"invalid_expiry_year":{"instruction_type":"error","instruction_message":"The card's expiration year is invalid."},"invalid_cvc":{"instruction_type":"error","instruction_message":"The card's security code is invalid."},"incorrect_number":{"instruction_type":"error","instruction_message":"The card number is incorrect."},"incomplete_number":{"instruction_type":"error","instruction_message":"The card number is incomplete."},"incomplete_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incomplete."},"incomplete_expiry":{"instruction_type":"error","instruction_message":"The card's expiration date is incomplete."},"incomplete_zip":{"instruction_type":"error","instruction_message":"The card's zip code is incomplete."},"expired_card":{"instruction_type":"error","instruction_message":"The card has expired."},"incorrect_cvc":{"instruction_type":"error","instruction_message":"The card's security code is incorrect."},"incorrect_zip":{"instruction_type":"error","instruction_message":"The card's zip code failed validation."},"invalid_expiry_year_past":{"instruction_type":"error","instruction_message":"The card's expiration year is in the past"},"card_declined":{"instruction_type":"error","instruction_message":"The card was declined."},"missing":{"instruction_type":"error","instruction_message":"There is no card on a customer that is being charged."},"processing_error":{"instruction_type":"error","instruction_message":"An error occurred while processing the card."},"invalid_request_error":{"instruction_type":"error","instruction_message":"Unable to process this payment, please try again or use alternative method."},"invalid_sofort_country":{"instruction_type":"error","instruction_message":"The billing country is not accepted by SOFORT. Please try another country."}}}},"fetched_oembed_html":false}