Our first sample repo for Web on GitHub

Posted on Wednesday, April 13th, 2016 by Ash Ryan
Category: Web
Tags: GitHub, Image Editor UI, Repo

Creative SDK GitHub repos for Web

Hi Web developers! On the heels of our recent announcement of sample Android app repos, we are excited to announce that we have our first sample repo using the Creative SDK for Web.

The Web Getting Started repo

The Web Getting Started repo will contain multiple samples of web apps using Creative SDK components.

The first sample shows you how to use the Creative SDK Image Editor for Web. Just follow the instructions in the readme, and you’ll have a working web app that integrates the Creative SDK Image Editor:

As shown in the slideshow above, the sample app displays an image that can be loaded into the Creative SDK Image Editor. After saving edits in the Image Editor, the results of the user edits are then shown in place of the original image.

This is a very basic example of what you might do with the Image Editor, but the code included in the repo should give you an idea about how to get started with your own integration.

Getting Started sample repos for mobile platforms

In addition to Web, we offer Getting Started sample repos for mobile platforms as well. Have a look at our sample repos for iOS and for Android on GitHub.

Head on over to GitHub to fork a repo and try out our Creative SDK sample repos.

The New & Improved Web Creative SDK

Posted on Thursday, April 7th, 2016 by Swati Teerdhala
Category: Web

We know innovation in creative technology happens across the entire industry, not just at Adobe, and we know creatives depend on many products and services to get their creative work done. It’s important to us to partner with the global developer community to help our customers work within and across these innovations as seamlessly as possible. That’s why we recently announced Adobe I/O, our one-stop-shop for technical developer documentation and tools to help unify developer access across all of Adobe’s key cloud platforms. Today, we’re excited to discuss the beta launch of a series of new web components for the Creative SDK, and share some early partners who are working with those components to enrich the creative process for our joint customers.

Today’s announcement of new web components, on the heels of the Adobe I/O portal launch, demonstrates our commitment to support truly cross-platform and cross-app workflows. Now, web developers can use these web APIs and components to connect their services to the Creative Cloud:

· The Image Editor provides an embeddable, highly customizable, basic photo editor
· The Asset Browser (beta) gives access to all Creative Cloud files and libraries. We also offer specialized photography components for getting the most out of customer’s synced Lightroom photos
· The File Upload API (beta) enables direct uploads to the Creative Cloud

Some early partners have already started working with the beta components. Soon, Creative Cloud users should be able to access their content in the web services of HipChat, a popular enterprise chat and collaboration app, Prott, an emerging prototyping tool, and Bluescape, a sophisticated collaboration workspace used by some of the largest brands in the world.

As mentioned, the Creative SDK for web also provides components that are specialized around the needs of our photography customers. The new Lightroom Photos Organizer provides a photo browsing and importing module for web apps that will make the user familiar with desktop, mobile and web Lightroom clients feel right at home. We’re excited to announce that Animoto is the first partner to integrate the Lightroom Photos Organizer, and we can’t wait to see how the video creation process for Animoto users improves with better, more sophisticated access to their Lightroom photos. Animoto users are already seeing the benefits:

“I have been using Adobe’s suite of products in my business for over a decade. And I have been using Animoto to create videos for social media and my clients for years,” said Jerry Ghionis, award-winning wedding photographer. “This partnership makes the whole process of creating professional marketing videos and slideshows with my images stored in Lightroom CC so much easier.”

We’re looking forward to bringing Creative Cloud connectivity to more of the services you use in the weeks and months to come!

These new Web SDK components are currently in beta and developers can apply for
access here. Here are some other features we have in the pipeline based on feedback that we’ve already received from our beta developers:

· Full Photoshop and Illustrator compatibility, enabling users to render and manipulate .PSD and .AI files
· Access to Adobe Stock to allow customers to select and use high quality creative assets in other services
· The ability to publish projects and works in progress to the Behance community
· Custom stickers and more filters and frames available through the image editor, synced with Creative Cloud
· Services to notify developers and users when files within Creative Cloud have changed
· Hinted Importing through the Lightroom Photos Organizer, allowing for more expressive creations from synced Lightroom collections

Let us know what you think! We want to talk to you to see how you want to use the Creative Cloud platform to help your businesses grow!

We also want your feedback – our goal is the make the best platform for developers
who want to build innovative applications for productivity and creativity and we can’t do that without your help. Tweet us with your thoughts at @CreativeSDK or get in touch with us here.

We’ve got GitHub repos

Posted on Thursday, March 24th, 2016 by Ash Ryan
Categories: Android, iOS, Web
Tags: Asset Browser UI, Client Auth, GitHub, Image Editor UI, Repo, Send To Desktop API, User Auth UI

Adobe Creative SDK repos on GitHub

When you start your Creative SDK integration, the best place to learn what the SDK can do for your app is to check out our developer guides for your platform. The guides walk you through step-by-step example integrations for each Creative SDK component, complete with code snippets and screenshots.

But sometimes you just want to see top-to-bottom working code.

If that’s the case for you, go have a look at our GitHub repos for iOS, Android, and Web. These Getting Started repos contain multiple apps that accompany the developer guides on our portal.

For example, if you’re looking to integrate the Asset Browser UI component on Android, see the example app in our Android GitHub repo. The code in this app mirrors what is covered in our Asset Browser UI guide.

Our current developer guide and GitHub repo offerings

We offer GitHub repos and companion developer guides for iOS, Android, and Web.

The lineup will naturally change over time. You can check the latest developer guides on our developer portal, and the latest repos on our GitHub org.

We hope the example GitHub repos make it easy for you to get up and running with the Creative SDK.

Head on over to GitHub to fork a repo and try out our Creative SDK example apps.

Monitoring a Scaling Infrastructure at Aviary

Posted on Thursday, April 16th, 2015 by Swati Teerdhala
Category: Web

This article was originally posted on the Aviary Blog.

Serving photo editing effects, frames, and stickers, as well as photo editing tools to millions of users around the globe requires an infrastructure that can grow as demand grows, and a tightly integrated platform to monitor it. At Aviary, we leverage both Amazon’s large suite of tools as well as a number of third-party and custom products to ensure all our environments are operating at peak performance as well as to catch potential issues before they affect our end-users.

NAGIOS

At the core of our infrastructure monitoring platform is the well-known tool, Nagios.We run Nagios with a custom frontend known as Opsview, which provides a clean user interface for the management of hundreds of hosts, as well as an API which we use in our autoscaling environments. At its most basic level, Nagios is an infrastructure monitoring platform which can be endlessly configured to perform checks on various aspects of the infrastructure. At Aviary, a majority of these checks are performed against Amazon EC2 hosts and include disk and memory usage, CPU load, network traffic, and, in the case of hosts serving web pages, page response time. We have assorted other checks in place that test other infrastructure components such as the availability of S3 buckets, expiration dates for certificates, and DNS.

AN AUTOSCALING CHALLENGE

While Nagios is a very configurable system, it does not include native support for adding new EC2 hosts automatically. This was a major issue for us, as more than half of our infrastructure scales up and down with new hosts as the systems’ usage patterns change. Additionally, we could not use some plugins developed to auto-add hosts, because our public IP address ranges are never predictable with autoscaling (VPCs could provide a useful solution here, but also introduces other complexities). After looking into multiple Nagios competitors specifically designed “for the cloud,” we still could not find a match for the stability and feature-set provided by Nagios, and instead began looking into ways to adapt it for auto scaling.

Continue reading

Migration from EC2 Classic to VPC

Posted on Tuesday, March 24th, 2015 by Swati Teerdhala
Category: Web

by: Matt Fuller

In October of 2014, Aviary was officially acquired by Adobe to help power the mobile and web Creative SDK. On Aviary’s engineering team, the acquisition gave us the time to review our current infrastructure and make any needed changes. After a few months of planning and migrating, we’ve finally moved our existing Amazon Web Services EC2-Classic infrastructure to a more secure, and more organized, Virtual Private Cloud architecture. Over the last several years, our existing infrastructure had grown from just a few web servers to a much more complex environment of load balancers, auto-scaling groups, and almost every AWS service imaginable. During this time, new projects were added with increasing speed and regularity, resulting in a very severe management headache. The need to redesign our infrastructure from the ground up became apparent and so we started planning to do so, incorporating organizational, deployment, and security improvements from the start.

For readers who are not intimately familiar with Amazon Web Services, here is a quick glossary of terms to bring you up to speed. Those who have worked with the service before can skip to the next section.

  • AWS: Amazon Web Services – a provider of cloud-based infrastructure including servers and many other services that allow organizations to perform computing operations in the cloud.
  • EC2-Classic: The traditional model of provisioning cloud-based servers whereby each instance is given a public IP address and is available directly via any internet connected device.
  • VPC: Virtual Private Cloud – An AWS product allowing for a virtualized network to be created with private addressing, thus making the servers launched within it hidden to the outside world unless specific routes are created.
  • ELB: Elastic Load Balancer – An AWS product designed to gracefully distribute traffic across multiple backend servers.
  • IAM: Identity and Access Management – AWS’s security product through which specific rights and permissions can be granted to users and resources.
  • RDS: Relational Database Service – an AWS technology allowing for relational databases to be provisioned on top of hardware designed for that purpose.
  • S3: Simple Storage Service – AWS’s storage service.
  • ACL: Access Control List – a security mechanism which allows specific IP address ranges to be given access to given ports in a network.

 

A Fresh Start

One of the biggest advantages of starting from scratch is that you can fix all of the annoyances and mistakes discovered previously. In planning the new design for our environment, we focused on a few key areas:

  • Versioned Infrastructure as Code
  • Network Design Improvements
  • Security

I’ll visit each of these topics in this post, explaining how the changes we made improved our workflow, as well as some issues we ran into. Continue reading