James Lockman's Technical Blog

Posts tagged "DPS"

I presented a talk entitled Creating Content for Mobile Apps with Adobe Digital Publishing Solution at Adobe MAX 2015, and the recording is available here.

While the Adobe Digital Publishing Suite is a magazine platform that had many Enterprise applications, the Adobe Digital Publishing Solution (DPS 2015) is an Enterprise platform that can be used for magazines. Magazines are one of many use cases for which DPS 2015 is appropriate, and in this session, we see how to use a number of content sources in addition to InDesign to make articles for DPS 2015. These include but are not limited to Adobe Experience Manager, Adobe Muse, Adobe Dreamweaver, Adobe Captivate, Adobe FrameMaker and even Adobe Acrobat.

It is clear that content producers have more choices than ever when it comes to making, managing and deploying content to readers on tablet and mobile devices. Adobe DPS 2015 offers Enterprises a flexible, measurable and cross-platform solution for a wide range of communications use cases.

One of the great benefits of working at Adobe is that Adobe believes strongly in community involvement and volunteering. Every Adobe employee is encouraged to use their skills and passions outside of their jobs as volunteers and board members for nonprofits and other community organizations. I take this to heart as a volunteer with FIRST Robotics.

James working as a Game Announcer at the Granite State District FRC event, 2015

FIRST Robotics offers programs for elementary, middle school and high school students around the world. These programs expose students to Science, Technology, Engineering, and Mathematics (STEM) through sport-like competition. Students receive a challenge at the beginning of each competition season and then build robots to address the challenge. Depending on the age of the participants, the challenge may be to solve an important problem such as water quality or delivery of affordable health care, or it might be to play a game that requires careful planning of both robot design and gamely strategy.

The elementary school program is called Junior FIRST Lego League (Jr.FLL). In Jr.FLL, students prepare a presentation to address the challenge. As the students get older, the programs become competitive and the teams must design, build and program a robot to address the challenge.

The middle school program is called FIRST Lego League (FLL). In FLL, the robots are made of Legos and use Lego NXT or EV3 controllers. The robots always operate autonomously, and there is only one robot on each side of the playing field at a time. The robots perform tasks related to the challenge, but do not generally compete directly with another robot.

In high school, teams compete alongside other teams called Alliances to try and outscore other alliances. There are two high school programs: FIRST Tech Challenge (FTC) and FIRST Robotics Competition (FRC). In FTC and FRC, the robots operate autonomously for the first few seconds of the match, and then the students drive the robots for the remainder. There is usually a period at the end of the match, known as the “endgame,” where the rules change or an additional challenge becomes available. There is not always an endgame.

FTC uses Lego NXT robot controllers on larger robot frames, but they are transitioning to Android controllers for the next season. FTC matches consist of two robots per alliance and two alliances on the field at a time. FRC uses a National Instruments roboRIO controller and frames up to 120 lbs. FRC matches consist of three robots per alliance and two alliances on the field at a time. There is a ton of YouTube video out there; just search for FLL, FTC or FRC. I volunteer with FRC as a play-by-play announcer at competitions and occasionally as an event judge.

The FIRST app features a home screen with sections for each program.

Common to all FIRST programs is documentation. Each program has a range of program-specific documentation, including but not limited to:

Rules for each competitive season

Coach and mentor guidelines

Team notifications

Curriculum help

Change logs for all of the aforementioned documentation

Managing all of this documentation is a challenge, as the documentation changes regularly with real consequences for teams. For instance, it is common early in the competition season for game rules to change that might impact robot design. Also, teams are encouraged to ask questions about the rules, and those questions and answers are often summarized in the game documentation. Teams need to be informed in a timely manner so that they don’t proceed with designs that might not align with the game rules.

Another challenge is timing. Game rules are announced to the world at specific times on specific days. This is done through global simulcast so that no team has an advantage over another team when it comes to the game rules. Traditionally, documentation has been provided via password-protected PDFs on the FIRST web site. At the end of the simulcast, the password would be revealed and the teams could begin to read.

When we started talking about DPS with FIRST, these two challenges were topmost in our minds, and when I say “our,” I mean the Adobe team. I can’t speak for what was topmost in FIRST’s collective mind. We all believed that DPS could solve the update problem as well as the timed release of content problem very well, so we put it to the test in January of 2015 with the reveal of the 2015 FRC Game, Recycle Rush.

For FRC Kickoff, I went to a local college with most of the teams from Maine to watch the simulcast together. Many of the mentors and students had their mobile devices, and many had the FIRST app on their device ahead of time. As the game was revealed and as the password for the PDF was shown, the game manual for Recycle Rush appeared in the FIRST Game Manual app right on schedule. One of the mentors sitting next to me watched this happen. He looked at me and asked if he needed a password. I smiled and asked him to open the manual and find out. He tapped on the manual and began to read. Smiling, he looked up and said, “Wow. That was cool!”

A text push notice about a Game update.

The next test came a week later when the first updates were to be published. The manuals are made in InDesign, so the team at FIRST was able to make the adjustments and publish those changes from InDesign. Once published, teams needed to know that the changes were available, so FIRST used the built-in DPS push notification service. I and my team all received the notices on our iPads and our iPhones, and swiping or tapping the notice took us right to the updated content.

As we moved through the competition season, I watched how teams used the manuals. Many teams had it on their phones as well as their tablets, as they frequently returned to the manual to confirm design choices. Later, as the season progressed, they were looking carefully at the conditions which might lead to penalties. Even through the District Championship event, with teams having competed in two or more precursor events, teams still made frequent use of the manuals.

The design of the manual is as important as the content, and FIRST produced a clean, readable, and highly functional tool to help teams play the game and ultimately to be better competitors. Kudos to the FIRST documentation team, who produce manuals for all of the FIRST games.

I’m headed to the FIRST Championships in St. Louis, Missouri this week to volunteer some more and to see all of the FIRST programs draw to a close for the 2014-2015 season. It has been a pleasure and a delight to help bring the manuals on DPS to fruition and then to see the positive reaction and real world usage of the tool. I’m looking forward to helping the manuals evolve as the 2015-2016 season gets underway.

Customers who want to leverage DPS Entitlement have had to build or buy a solution that usually but not always runs on a Apache with PHP/MySQL. The Adobe DPS Developer portal has several examples, including a great starter kit. Customers have been asking, though, how to use the user management built in to AEM to manage entitlement.

In addition, DPS apps often have custom Libraries and Storefronts, which are basically HTML portals that interact with the DPS app and the DPS Services to provide a customized experience in the app. Customers also will build or buy custom Library/Storefront solutions based on the DPS Library APIs.

My lab at Summit, presented with my good friend Herman Lee of Ensemble Systems, shows how to use AEM to both manage DPS entitlement and to create and manage custom Library/Storefront code. AEM is an excellent design surface for this, with its flexible component architecture and its ability to integrate with Enterprise Identity management solutions. The session is “L709 – Implement an Adobe Digital Publishing Suite storefront in Experience Manager” and it takes place on Tuesday Afternoon at 1:30 to 3:30 Utah time. If you’re going to Summit, sign up today for my lab and learn how to get even more value out of your AEM and DPS investments. You’ll need to login to the Summit site in order to register.

I often encounter questions about how Agencies and their Enterprise customers should collaborate on DPS projects. While not hard to do, there are definitely nuances to how Agencies and Enterprises interact when it comes to building apps in general, and DPS apps in particular. I’d like to outline a few scenarios and provide some best practices along the way.

First, let’s set a few expectations. There are cases when the Agency is doing all of the work for their Enterprise customer, and this will include the Agency owning the Apple Developer account, the Adobe DPS account, and all of the creative. This article is not intended to shed any light on that scenario. Instead, we’ll look at the following cases:

The Enterprise owns the Apple Developer Account and the DPS Account but the Agency supplies the creative

The Enterprise owns the Apple Developer Account and the Agency owns the DPS Account and supplies the creative

The Enterprise owns the DPS account and the Agency owns the Apple Developer Account and the creative

Enterprise owns it all

This scenario is very common for DPS customers who build internal apps for Enterprise distribution through Mobile Device Management (MDM) solutions. It also applies for brands who build branded customer-facing apps that they distribute using app marketplaces such as iTunes. Public apps will not only bear the Enterprise brand, but they will also appear as being published by the Enterprise.

In this case, the Enterprise has several options when it comes to using the creative content that the Agency will supply. The preferred workflow is for the Enterprise to extend an AdobeID to its Agency or Agencies that can be used by the Agency when they are making folios for the Enterprise. Typically, the AdobeID might be related to a brand or a project, and would not be specific to the Agency. For instance, if ABC company had XYZ brand, and Agency Q was providing creative for their DPS projects, then ABC might make an AdobeID called XYZ_DPS_agency@ABCCompany.com. The alternative is for the Agency to use its own AdobeIDs for content creation, and then they would share the folios with XYZ_DPS@ABCCompany.com for publishing to DPS. In either scenario, the Enterprise controls whether to publish the folios to its app.

In the case of the app, if there is a custom Library or Storefront, then the Agency can provide the code to the Enterprise as a .zip archive, which the Enterprise will include in App Builder when they make their app. The Enterprise, usually through their IT department, will control the Apple Developer certificates and mobileprovision files, and the Enterprise will also not need to share access to iTunes Connect or their Enterprise Mobile Device Management (MDM) portal. As a result, the Agency will provide the look and feel of the app, but IT will do the actual building. An alternative to this scenario would be that the Enterprise creates an AdobeID with the App Builder role and shares it with the Agency. The Agency can then create an app and sign it with their own Apple certificate and mobileprovision file. This allows the Agency to test the full functionality of the app without being able to publish an app on behalf of the Enterprise, since they would not have access to the Enterprise’s Apple Developer account. When the app had cleared review, the Enterprise would then log in to the App Builder with the same or another AdobeID with App Builder role and update the app with the Enterprise’s Apple certificates and mobileprovision files.

Enterprise has the Apple Developer relationship and the Agency has the DPS account

This arrangement is common for Enterprises who make apps but are unfamiliar with DPS or are interested in testing some apps as part of an evaluation. Also, it is common for a digital Agency who makes apps on behalf of their customers to use DPS to meet a specific campaign need for their client when speed market and a rich user experience is important. Any apps published under this arrangement will have the Enterprise branding and will appear to be published by the Enterprise in app marketplaces. The Agency would need a specific DPS license in order to use their DPS account for publishing on behalf of their client, so the Agency should contact their DPS Account Executive to determine if they have a license that supports this scenario.

In this case, the Agency will be making all of the content using their Adobe DPS account. They would use their own AdobeID which is associated with their Adobe DPS account for content, and their own AdobeID for accessing App Builder. The Agency would share folios with an AdobeID that the Enterprise controlled so that the Enterprise could review content using Adobe Content Viewer. The Agency would test the app using their own Apple Developer certificates and mobileprovision files, and then bring a device to the Enterprise or enroll an Enterprise device in their Apple Developer pool so that they could send developer apps to the Enterprise for testing.Once approved, the Enterprise would need to sign the app with their own Apple Developer certificates and mobileprovision, and then distribute it via Enterprise MDM or iTunes.

There are three app building methods that have been most widely used. The first is for the Enterprise to create a set of .p12 certificates and mobileprovision files for the app and transmit them to the Agency for use in App Builder, and it is the lesser of the methods that Enterprises use today. The next, more popular method, is for the Agency to provide App Builder access to the Enterprise through an Agency AdobeID they build for the Enterprise. Following our previous example, the Agency would make an AdobeID called XYZ_DPS_appbuilder@Q.com and share the password with the Enterprise. The Enterprise IT department would then use App Builder to sign the app with their own Apple Developer certificates and mobileprovision files, and ultimately distribute using iTunes or MDM. The third method, and most popular, is for the Agency to create an app using their own Apple Developer certificates and mobileprovision files, and then the Enterprise would simple re-sign the app with their own Apple Developer certificates and mobileprovision files.

Enterprise has the DPS Account and the Agency owns the Apple Developer relationship

This is a scenario used by many Enterprise customers who want to make branded apps for distribution through iTunes. They often want to do market testing or produce short-lived campaign pieces they need to get to market very quickly. In this model, the Enterprise would own the DPS account, but they would likely be using the Agency for creative. In the same manner as our first scenario, the Enterprise would either make and share an AdobeID with the Agency, or the Agency would create content using their own DPS account and share it with the Enterprise. Review and approval would be like the first scenario as well. Things get different in the App Builder stage.

Since the Agency has the Apple Developer relationship, only the Agency will be able to build apps unless they create and share Apple Developer certificates and mobileprovision files with the Enterprise. They would also need to enroll an Enterprise device in their Apple Developer pool to enable developer apps to be reviewed at the Enterprise. If they are unwilling to share certificates and mobileprovision files with the Enterprise, then they will need to enroll an Enterprise device in their developer pool so that they can send a developer app to the Enterprise for review. Once approved, the Agency would then publish the app under their own account using iTunes Connect. This is the same end result as when the Agency owns the DPS account and the Apple Developer relationship, which we did not discuss in detail here.

No matter how you slice it, it comes up DPS!

Each of these three scenarios has its nuances, and business rules will decide which scenario is appropriate for a specific Enterprise/Agency relationship. Regardless of how the Enterprise and the Agency collaborate, it is possible to use DPS to make apps and to get them to the appropriate distribution channel.

Many of my DPS customers want to incorporate note taking into their DPS apps. Over the years, there have been several examples posted to DevNet, including one by me back in 2013. One of the challenges with that solution was that it requires the designer to make multiple copies of the underlying HTML file in order to support placing the note taking overlay on more than one page in an article. I have gone back and revised that code to make it work with a single HTML file that supports any number of pages in an article. You can read about the new technique here.

The new system has CSS styling to help match it to your brand. In addition, I’ve added a button to email a specific note as well as the whole set of notes. I’ve also been working on extending the system to include thumbnail images of the specific pages in the email. I’ve got a little more work to do on that before I’m ready to share it, but keep your eyes here (and on DevNet) for a follow-up article about embedding images in email messages from DPS.