<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>SaaS – IMG.LY Blog</title><description>Posts tagged SaaS on the IMG.LY blog.</description><link>https://img.ly/blog/tag/saas/</link><language>en-us</language><image><url>https://img.ly/apple-touch-icon.png</url><title>SaaS – IMG.LY Blog</title><link>https://img.ly/blog/tag/saas/</link></image><atom:link href="https://img.ly/blog/tag/saas/rss.xml" rel="self" type="application/rss+xml"/><generator>Astro</generator><lastBuildDate>Fri, 19 Jun 2026 11:26:07 GMT</lastBuildDate><ttl>60</ttl><item><title>Building the Creative Engine of the Digital World</title><link>https://img.ly/blog/building-the-creative-engine-of-the-world/</link><guid isPermaLink="true">https://img.ly/blog/building-the-creative-engine-of-the-world/</guid><description>With UBQ we are creating a platform for creative editing. We double down on our core belief that design can benefit a lot from technological advancements.</description><pubDate>Wed, 22 Apr 2020 12:42:48 GMT</pubDate><content:encoded>&lt;p&gt;Since releasing our first &lt;a href=&quot;https://img.ly/products/photo-sdk/&quot;&gt;Software Development Kit (&lt;strong&gt;SDK&lt;/strong&gt;) for photo editing&lt;/a&gt; in 2015, it quickly found its way into the hands of thousands of application developers. The demand allowed us to ramp up our efforts to expand our SDK to cover more platforms, add features and launch &lt;a href=&quot;https://img.ly/products/video-sdk/&quot;&gt;VideoEditor SDK&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At the same time, two very important things happened to us.&lt;/p&gt;
&lt;p&gt;First of all, we got experienced in building rendering engines, while learning in-depth about the requirements of processing photos for professional and semi-professional use-cases, on every platform. Our team leveled up big time, to a degree where we are confident there aren’t many teams with such a domain-specific expertise.&lt;/p&gt;
&lt;p&gt;Secondly, we gained critical insights into the visual creation process across many different industries, ranging from print services, social networks to marketing tools. In these processes, photo editing is only one part of the creative flow. There are topics like layouting, animation, generative design and many more, which go beyond the mere editing of an image, but are still essential to the business case.&lt;/p&gt;
&lt;p&gt;Our vision is to fill the obvious gap, providing a holistic solution that allows users to map entire creative flows into a tool. By leveraging our technology our customers will become a lot faster and more competitive in their markets.&lt;/p&gt;
&lt;p&gt;Six months ago, we decided to build the foundation for this vision and kicked off the development of &lt;strong&gt;UBQ,&lt;/strong&gt; an engine empowering a new generation of tools for creativity.&lt;/p&gt;
&lt;p&gt;It’s time to shed some light on our &lt;strong&gt;creative engine&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&quot;what-is-a-creative-engine&quot;&gt;What is a Creative Engine?&lt;/h2&gt;
&lt;p&gt;Before we go forward, let’s establish what we mean by a &lt;strong&gt;creative engine&lt;/strong&gt;. In general, an engine is a platform that allows developers to create tools that support creators to perform specific tasks such as editing photos, creating visual appealing posters, or social media posts. From our perspective, a creative engine will ease the development of design tools for various niches and as such it must be easily adaptable for different usage and user requirements.&lt;/p&gt;
&lt;p&gt;To ensure that we don’t have to reinvent the wheel for each creative tool, a creative engine provides building blocks especially targeted to creative output. Some examples for these are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;High-quality image adjustment, editing, filtering, and manipulation.&lt;/li&gt;
&lt;li&gt;Automated layouting of design elements on a canvas.&lt;/li&gt;
&lt;li&gt;High-quality text rendering and layout algorithms.&lt;/li&gt;
&lt;li&gt;Support for various industry-standard assets, image, and video formats.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;However, these are only some of the basic features – there are far more advanced things that a creative engine can provide.&lt;/p&gt;
&lt;p&gt;On the one hand, this may include scripting tools to ease the generation of generative art or automation for tedious design tasks via automated image segmentation.&lt;/p&gt;
&lt;p&gt;On the other hand, there are also tools that not only help the individual creator but ease the cooperation and collaboration between multiple creators and editors. The details may vary, but it can be as simple as defining formats to exchange assets and designs between creators or even allow the simultaneous editing of their creation.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;introducing-the-ubq-creative-engine&quot;&gt;Introducing the UBQ Creative Engine&lt;/h2&gt;
&lt;p&gt;With &lt;strong&gt;UBQ&lt;/strong&gt; we strive to lay the groundwork for modern visual and communication design.&lt;/p&gt;
&lt;p&gt;Believing that these days, a good design tool has to be there for you every step of the way – it has to be &lt;strong&gt;ub&lt;/strong&gt;i&lt;strong&gt;q&lt;/strong&gt;uitous**.** Let us explain what this means for us.&lt;/p&gt;
&lt;h3 id=&quot;usable-on-any-platform&quot;&gt;Usable on any Platform&lt;/h3&gt;
&lt;p&gt;In this sense, we want it to be easily accessible to everyone, and as such the &lt;strong&gt;UBQ&lt;/strong&gt; stands for its availability across multiple platforms. It is conceptionally &lt;strong&gt;web-&lt;/strong&gt; and &lt;strong&gt;mobile-first&lt;/strong&gt; but is also available for classic operating systems such as macOS, Linux, and Windows, while being easily portable across &lt;strong&gt;various platforms&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id=&quot;unified-rendering-generative-and-inference-engine&quot;&gt;Unified Rendering, Generative, and Inference Engine&lt;/h3&gt;
&lt;p&gt;While our previous products focused on processing a single image or video, our scope is greatly extended with &lt;strong&gt;UBQ&lt;/strong&gt;. Besides being able to process multiple images, with effects such as filters, adjustments, and so forth, in &lt;strong&gt;UBQ&lt;/strong&gt; we generalized images to a concept we call &lt;strong&gt;Design Blocks&lt;/strong&gt;. As such, static images are not the only source of data. It can be anything, even code that generates the visual input. In turn allowing that generative patterns and complex generative art is processed directly in the engine.&lt;/p&gt;
&lt;p&gt;We put a lot of work in the last years into modern tools for automation to help creators get rid of time-consuming tasks such as image segmentation, color adjustments, and many others. Our foundation for this stems from modern machine learning and neural network advancements. As such &lt;strong&gt;UBQ&lt;/strong&gt; supports executing neural networks and inferring information. Thus basically allowing any neural network to be part of a design generalized in what we call &lt;strong&gt;Compute Blocks*&lt;/strong&gt;.*&lt;/p&gt;
&lt;h3 id=&quot;collaboration--interact-in-realtime-with-other-creators&quot;&gt;Collaboration – Interact in Realtime with other Creators&lt;/h3&gt;
&lt;p&gt;The cooperation and collaboration between multiple creators are dear to our hearts. Therefore, we believe that creation is not only the effort of an individual but of many.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;UBQ&lt;/strong&gt; will enable multiple &lt;strong&gt;creators&lt;/strong&gt; to &lt;strong&gt;work together&lt;/strong&gt;. Thus, allowing a design team to work together, share thoughts and assets instantly. Consequently, this constributes in accelerating their workflows and enriching their creative process.&lt;/p&gt;
&lt;p&gt;All that is reinforced due to the &lt;strong&gt;multiplayer&lt;/strong&gt; approach to design as well as &lt;strong&gt;reusable design elements&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Creators shall be enabled to work together &lt;strong&gt;locally as well as&lt;/strong&gt; &lt;strong&gt;remotely&lt;/strong&gt; and &lt;strong&gt;interact on the same design at the same time&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id=&quot;cooperation--ease-exchange-of-designs-with-your-peers&quot;&gt;Cooperation – Ease Exchange of Designs with your Peers&lt;/h3&gt;
&lt;p&gt;Besides the collaborative aspect, &lt;strong&gt;UBQ&lt;/strong&gt; is built around the interaction of creators and non-designers – which we refer to as editors.&lt;/p&gt;
&lt;p&gt;Editors will be enabled to take existing designs and adapt it to their needs, by either just giving instant feedback to the creators, changing color palettes to fit the needs of their corporate design guidelines or changing images and text passages to make a design appealing to their audience.&lt;/p&gt;
&lt;h3 id=&quot;design-blocks--smart-and-reusable-design-element&quot;&gt;Design Blocks – Smart and Reusable Design Element&lt;/h3&gt;
&lt;p&gt;Another important design decision is the ability to exchange and reuse design elements between several projects. Therefore, &lt;strong&gt;UBQ&lt;/strong&gt;s foundation is built around the concept of &lt;strong&gt;smart design elements&lt;/strong&gt; that we call &lt;strong&gt;blocks&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Blocks&lt;/strong&gt; are reusable design elements that encapsulate complex and tedious design tasks.&lt;/p&gt;
&lt;p&gt;They currently come in two flavors, &lt;strong&gt;Design and Compute Blocks&lt;/strong&gt; ranging from simple predefined image adjustments settings to automated image segmentation as well as predefined adaptable design elements.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;A Design Block example showcasing automatic adaptable text layouts.&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; sizes=&quot;(min-width: 5313px) 5313px, 100vw&quot; data-astro-image=&quot;constrained&quot; data-astro-image-pos=&quot;center&quot; width=&quot;5313&quot; height=&quot;3230&quot; src=&quot;https://img.ly/_astro/2004_img.ly_Engine_Blogpost_Visual_Designblock--1-_Z1bm8Xz.webp&quot; srcset=&quot;/_astro/2004_img.ly_Engine_Blogpost_Visual_Designblock--1-_2vz9rw.webp 640w, /_astro/2004_img.ly_Engine_Blogpost_Visual_Designblock--1-_1yLjN5.webp 750w, /_astro/2004_img.ly_Engine_Blogpost_Visual_Designblock--1-_1Ph6gR.webp 828w, /_astro/2004_img.ly_Engine_Blogpost_Visual_Designblock--1-_ZHWM9r.webp 1080w, /_astro/2004_img.ly_Engine_Blogpost_Visual_Designblock--1-_ZIwRrj.webp 1280w, /_astro/2004_img.ly_Engine_Blogpost_Visual_Designblock--1-_ZNRVRT.webp 1668w, /_astro/2004_img.ly_Engine_Blogpost_Visual_Designblock--1-_1YYsBS.webp 2048w, /_astro/2004_img.ly_Engine_Blogpost_Visual_Designblock--1-_Ze5EA7.webp 2560w, /_astro/2004_img.ly_Engine_Blogpost_Visual_Designblock--1-_Z1bm8Xz.webp 5313w&quot;&gt;&lt;/p&gt;
&lt;p&gt;From our point of view, creators should not have to spend their time with the recreation of preexisting designs. They should not have to watch tutorials just to get to the same output as someone else before. In &lt;strong&gt;UBQ&lt;/strong&gt;, these design blocks are the core foundation for building adaptable and interchangeable designs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Design blocks&lt;/strong&gt; respond to the available space, adapting their content accordingly and may include complex logical rules or just a combination of assets. &lt;strong&gt;UBQ&lt;/strong&gt; has all batteries included, providing a rich library of predefined blocks. By design, blocks can easily be built from a combination of other blocks or by using a scripting language similar to processing or p5.js to allow even generative and parametric design.&lt;/p&gt;
&lt;h3 id=&quot;final-words&quot;&gt;Final Words&lt;/h3&gt;
&lt;p&gt;As of April 2020, we are working on the &lt;strong&gt;UBQ&lt;/strong&gt; creative engine for almost half a year now incorporating knowledge from 5+ years developing our SDKs.&lt;/p&gt;
&lt;p&gt;We believe we can make an impact on how designs and design-tools are created, adapted and distributed. We are interested in your feedback and open to discussions, also we are looking for people who want to get involved as team members, early adopters or just want to play with it. Expect some demos during the end of summer showcasing what the &lt;strong&gt;UBQ&lt;/strong&gt; engine is capable of.&lt;/p&gt;
&lt;p&gt;Soon, we will get back to you with more exciting news.&lt;/p&gt;
&lt;p&gt;Stay tuned!&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;were-hiring&quot;&gt;We’re hiring!&lt;/h3&gt;
&lt;p&gt;Oh, and by the way, we’re hiring a Senior Frontend Developer at img.ly to reinforce our team and help shaping the frontend of our new design tool. Check out the job &lt;a href=&quot;https://img.ly/company/careers/#job-openings&quot;&gt;here&lt;/a&gt; and drop us a line, if you are interested.&lt;/p&gt;</content:encoded><dc:creator>Daniel</dc:creator><dc:creator>Eray</dc:creator><media:content url="https://blog.img.ly/2020/04/2004_img.ly_Engine_Blogpost_Visual_Header--1-.png" medium="image"/><category>Design</category><category>Tech</category><category>Software Development</category><category>SaaS</category><category>How-To</category><category>Company</category></item><item><title>Build or Buy?</title><link>https://img.ly/blog/build-or-buy-f09785ce1138/</link><guid isPermaLink="true">https://img.ly/blog/build-or-buy-f09785ce1138/</guid><description>We all know the deal; thoughts about new products bounce around in our heads and sometimes those thoughts yield ideas we want to pursue. Once that happens we start putting ourselves into action by building a prototype, ideally on the shortest path possible.</description><pubDate>Thu, 02 Nov 2017 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;For many years, we at &lt;a href=&quot;https://img.ly&quot;&gt;IMG.LY&lt;/a&gt; and our partners at &lt;a href=&quot;https://9elements.com&quot;&gt;9elements&lt;/a&gt; have been developing various applications for customers and ourselves. Often, we had to decide whether to build everything from scratch or to consider third party components. Sounds familiar?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;As developers, makers and tinkerers we often tend to build everything ourselves.&lt;/strong&gt; It seems to be in our nature and part of who we are. Truth be told, this is the point where we often got irrational.&lt;/p&gt;
&lt;p&gt;Taking a good look at modern application development, we quickly realize that everything is getting more complex in a tremendous pace. While it was feasible to develop apps without any third party libraries back then, it has become more or less of a standard to employ third party libraries or tools that solve certain problems for us. Nowadays, there are a lot of features that are must haves and simply expected to be in your product.&lt;/p&gt;
&lt;p&gt;Thus, we are more aware than ever when it comes to the decision whether to build or buy.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;decisions&quot;&gt;&lt;strong&gt;Decisions&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Most often, our resources are not endless. With limited time, money, and labour power we always struggle to make the decision whether to build a certain component of our software ourselves or buy it from a third-party.&lt;/p&gt;
&lt;p&gt;But why do we struggle? Are we sure we can do it better than everybody else? Are we not trusting the third-party? Do we just think it is cheaper to do it ourselves? Or, do we just underestimate the amount of work that is required to build that one component?&lt;/p&gt;
&lt;p&gt;Most certainly we know that software, even a small app, can be a complex beast that is comprised out of a lot of components. Even more surely, our idea or product should stand out of the masses. So, should we really spend too much time building a component or rather focus on getting things done efficiently? How do we set the priorities?&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&quot;priorities&quot;&gt;&lt;strong&gt;Priorities&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Probably, we want to focus on the things that set our product apart from all others, may it be a singular specific feature or a novel combination of already existing ones.&lt;/p&gt;
&lt;p&gt;Surely, most of us will never consider writing their own relational database like PostgreSQL. But, what about features such as payment, authentication or a content management system?&lt;/p&gt;
&lt;p&gt;Speaking from experience, most of us won’t even think about implementing payment themselves and eventually, we will use a popular SaaS such as &lt;a href=&quot;https://stripe.com&quot;&gt;Stripe&lt;/a&gt;. But, what about authentication? Would we build that ourselves?&lt;/p&gt;
&lt;p&gt;Thinking about all the details that you need to account for when building an authentication system, it becomes obvious that more is needed than just providing a simple registration with username and password. Depending on the software we are developing, people might expect to be able to login with their social logins via e.g. &lt;a href=&quot;https://facebook.com&quot;&gt;Facebook&lt;/a&gt; or &lt;a href=&quot;https://github.com&quot;&gt;GitHub&lt;/a&gt;. Also, we would need to provide a way to reset passwords, send emails on registration and so on. Over time, the list of requirements will grow and we will be forced to spend our precious resources on it, whether we want it or not.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;So, why not just let someone else do the job for you and solve all these problems?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Don’t we trust services like &lt;a href=&quot;https://auth0.com&quot;&gt;Auth0&lt;/a&gt; to solve all these problems for us, or what is the reason we build those things ourselves? Evidently, if our product &lt;em&gt;is&lt;/em&gt; an authentication system we &lt;em&gt;should&lt;/em&gt; build it ourselves. But, let’s be honest, most of the time it is just something we &lt;em&gt;need&lt;/em&gt; for our product and nothing we care about deeply.&lt;/p&gt;
&lt;p&gt;Unfortunately, we know that everything comes at a price. In case of Auth0, the login data may not be any more in our possession. However, are we sure that it is really bad? We tell ourselves that we can protect our data in a way that no one else would have access, no data would be leaked and so on. At least, that is what we would be thinking, right? But, are we sure that we can protect the data better than the service whose one and only task is to care about exactly that? And what about backups? Do we really want to put our resources into creating and checking that our data is properly backed up and restorable in case of a server failure? Probably we won’t and in many cases it would be a good idea to let someone do the job who does it on a day to day basis. Being completely honest with ourselves, we realized that:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;By zeroing in on one specific problem, we can build better and more advanced tools than we could by trying to solve multiple problems at once.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We experienced first hand how much time and effort is required to tackle one specific problem when we needed a photo editing solution as part of one of our projects. In that particular case, we needed to go down the rabbit hole and build it ourselves. Back then, we didn’t have any other option as there was no component available that we could have used.&lt;/p&gt;
&lt;p&gt;Was it a good idea? Probably not for the project but while building the components we realized that others could benefit from our learnings. This is basically why we started building and advancing our &lt;a href=&quot;https://img.ly/products/photo-sdk/&quot;&gt;PhotoEditor SDK&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Apart from the previous mentioned pros and cons about building and buying, there is also another important factor: These services cost money and most of us will look at the pricing and believe it may be too expensive. Especially, if you have to take out your credit card and start a subscription that may feel like slowly draining your bank account. Even more so if you’re a small business or startup and every additional expense poses a threat to your project as a whole. However, this is the time to really weigh your options.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Time is Money&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We always hear and rephrase the good old &lt;em&gt;time is money&lt;/em&gt; slogan. And this is true in many ways. Even if we don’t care much about the cost of our own time, we would still have to invest it to build said feature and by that might delay the whole product. Do we really want to spend that time and delay our whole product?&lt;/p&gt;
&lt;p&gt;Ok, assuming we don’t do it ourselves and we have a team of developers and parallelize our efforts, we still need to pay for it with, and let’s be honest … money.&lt;/p&gt;
&lt;p&gt;According to &lt;a href=&quot;https://www.payscale.com/research/DE/Job=Software_Developer/Salary&quot;&gt;PayScale&lt;/a&gt; the average salary of a software developer is around 45k€ in Germany. Considering that we work around 220 days per year, each day would at least cost us approximately 200€, but to be fair it will surely be more. Depending on the software component you are considering to build or the SaaS we consider to use, we most surely would get a lot more for our 200€ than what we could build in one day. And, if we are honest, 200€ are definitely not enough to develop any feature that requires more than just a few lines of code.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&quot;final-words&quot;&gt;&lt;strong&gt;Final words&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Summing it up, we should definitely not just buy every component from a third party or subscribe to every SaaS, but we should weigh carefully in which cases we really have to build it ourselves or when buying is the better option.&lt;/p&gt;
&lt;p&gt;The whole point is that whether you buy some of your components or build everything yourself really doesn’t matter as long as it’s the smartest decision for your business. And if you automatically shy away from solutions that cost you something and decide to build it yourself no matter what, that decision might cost you a whole lot more.&lt;/p&gt;
&lt;p&gt;The good thing is, that there is a trend that third parties tend to focus on more granular problems, which allows us to make the distinct decision whether to build or buy a specific component of our application.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Thanks for reading! To stay in the loop, subscribe to our &lt;a href=&quot;https://photoeditorsdk.us13.list-manage.com/subscribe?u=dc9f652839dbb620d14d6d28d&amp;#x26;id=04a306e4b2&quot;&gt;Newsletter&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;</content:encoded><dc:creator>Daniel</dc:creator><media:content url="https://blog.img.ly/2020/04/image-4.jpeg" medium="image"/><category>Developer Tools</category><category>Developer</category><category>Product Management</category><category>SaaS</category><category>Framework</category><category>Learning</category></item></channel></rss>