• Shadow the Hedgehog is Venom now
    www.polygon.com
    Shadow the Hedgehog will draw upon the powers of black goo in Sonic X Shadow Generations, which includes a new story campaign that will turn the dark hedgehog into, for all intents and purposes, the Venom of the Sonic-verse.Segas new trailer for the Shadow side of Sonic X Shadow Generations shows off the gun-toting hedgehogs new Doom Powers. These include Doom Spike, which lets Shadow fire a quintet of burning goo projectiles; Doom Wing, which lets Shadow soar through the skies; and Doom Surf, which summons a manta ray composed of black goo on which Shadow can surf. With Doom Morph, Shadow can tap into his inner squid kid to slide and swing around with a clutch of tentacles.Ostensibly, Shadow the Hedgehogs arch-nemesis Black Doom is the ultimate threat in his Sonic X Shadow Generations story. But as Tuesdays new trailer reveals, Shadow will also face Metal Overlord in battle Metal Overlord being the final form of Metal Sonic, who can also transform into Metal Madness. Appropriately, Shadows new trailer is bursting with blistering metal guitar riffs.Sonic X Shadow Generations will be released on Oct. 25 the same day well get another massive dose of an edgy antihero possessed by powerful dark slime. Venom: The Last Dance hits movie theaters that Friday, making the double feature basically the Barbenheimer of black goo. On that day, well see Shadow the Hedgehog ride a black goo manta ray and Eddie Brock ride a black goo horse. Such sticky serendipity!If Sega had you at Metal Overlord, Sonic X Shadow Generations will be released for Nintendo Switch, PlayStation 4, PlayStation 5, Windows PC, Xbox One, and Xbox Series X on Oct. 25. And if you have an affection for both Sonic and Shadow the Hedgehog, plus $249.99 burning a hole in your pocket, you can also now pre-order the Sonic X Shadow Generations collectors edition. It is extravagant and pure Dreamcast fan bait.Available for pre-order through Limited Run, the Sonic X Shadow Generations collectors edition includes the following items:Standard Edition for PC OR Physical Day One Edition of Sonic X Shadow Generations for Nintendo Switch, PS4, PS5, Xbox Series XPhysical Day One Edition includesSonic Adventure SkinGerald Robotniks JournalReversible CoverSonic & Shadow Dreamcast StatueSwitch or Blu-ray SteelbookDeluxe Art BookOriginal Soundtrack CDChao Mini FigurinesSonic, Shadow, and Classic Sonic Shoes KeychainCommemorative Dreamcast Jewel CaseCollectors BoxIndividually Numbered Certificate of Authenticity
    0 Kommentare ·0 Anteile ·205 Ansichten
  • Black Myth: Wukong makes record-breaking debut on Steam
    www.polygon.com
    Just hours after its debut, Black Myth: Wukong is already breaking records on Steam. Black Myth: Wukong is currently the top-played game on Steam with a peak of 2,151,942 concurrent players at the time of writing. That puts developer Game Sciences retelling of Journey to the West in the second slot for the highest concurrent player counts ever on Steam, following only PUBG: Battlegrounds, which peaked at 3,257,248 in January 2018.Black Myth: Wukong has surpassed Elden Ring, Dota 2, Cyberpunk 2077, Counter-Strike 2, and Palworld all of which hold formidable concurrent player records. Black Myth: Wukong is also available on PlayStation 5 and Windows PC via the Epic Games Store and Chinese platform WeGame; the record on Steam does not account for players on those platforms. WeGame reportedly has around 80 million players per month, according to an FAQ page for developers. Steam had 132 million monthly active users in 2021.GameDiscoverCo founder and analyst Simon Carless estimates that at around 5 a.m. ET, 88.1% of the concurrent players were based in China, with 3% from the United States, 1.6% from Hong Kong, and 1% from Japan. That breakdown is likely to shift as the United States playerbase wakes up and logs on. Bloomberg reported Tuesday that Black Myth: Wukong generated a level of buzz the [Chinese] gaming industry hasnt seen in years, with the game holding the top spot for trending topics on Chinese social media site Weibo.Black Myth: Wukong is based on the classic Chinese novel Journey to the West, and players take on the role of Sun Wukong, the Destined One, throughout the role-playing game. Though it was released on Aug. 20 for PlayStation 5 and Windows PC, an Xbox Series X release is expected at a later date. Aside from its massive player base, Black Myth: Wukong has reviewed well, with an early score of 82 on review aggregator Metacritic. In our review, Polygon called the game an epic saga thats both confounding and spectacular to behold. However, its release has not been without controversy: Publisher Hero Games (acting on behalf of Game Science as a co-publisher on the game) sent out a strange missive to some game streamers, asking them not to discuss the Chinese video game industry or feminist propaganda during their streams.
    0 Kommentare ·0 Anteile ·213 Ansichten
  • Atari announces the 7800 Plus console coming this winter
    www.polygon.com
    Its not often that I get to write about a console thats as old as I am, but here we are. Atari has just announced a renewed version of its 7800 home console from 1986. Dubbed the 7800 Plus, the new console will launch later this winter but is already available to pre-order from Atari for $129.99. The 7800 Plus is a scaled-down version of the original hardware equipped with an HDMI connection and has the ability to play first and third-party cartridges for the Atari 2600 and 7800. Additionally, youll have the option to play your games in their original 4:3 aspect ration, or upscale them to widescreen format.While emulators and other options for playing retro Atari games exist, playing the games on their original hardware remains the definitive way to experience many of these classic titles.Along with its new console, Atari also announced a pair of new wireless controllers. The CX40 Plus wireless Joystick and CX78 Plus Wireless gamepad are loving recreations of the original hardware as they shipped with the Atari 2600 and 7800. Both of the new controllers are compatible with either the Atari 2600 Plus (released last year) or the new 7800 Plus consoles but can also be hooked up to your PC by using the included USB-C adapter theyre even compatible with an original 2600 or 7800 if you have one lying around. Both peripherals are available from Atari now and cost $34.99.In addition to all of this new hardware, Atari is also producing a bunch of new game cartridges to use with your new consoles. The new games will be available for $29.99 each, and will launch alongside the 7800 Plus later this year. Each cartridge provides an original take on a classic title for Atari consoles and comes packaged with printed manual. Weve provided a full list of the new titles below along with their compatible consoles.New cartridges for Atari 2600 Plus or 7800 PlusCaverns of MarsEpyx Game Collection (Summer Games, Winter Games, California Games)M Network Collection (Armor Ambush, Astroblast, Frogs and Flies, Star Strike)RealSports Collection (Realsports Baseball, Football, Volleyball, Soccer, Tennis, and Basketball)New cartridges for Atari 7800 PlusAsteroids DeluxeBounty Bob Strikes BackBentley Bears Crystal Quest (homebrewed sequel to Crystal Castles and comes included with the Atari 7800 Plus)Bezerk 7800FrenzySpace Duel
    0 Kommentare ·0 Anteile ·211 Ansichten
  • Regexes Got Good: The History And Future Of Regular Expressions In JavaScript
    smashingmagazine.com
    Modern JavaScript regular expressions have come a long way compared to what you might be familiar with. Regexes can be an amazing tool for searching and replacing text, but they have a longstanding reputation (perhaps outdated, as Ill show) for being difficult to write and understand.This is especially true in JavaScript-land, where regexes languished for many years, comparatively underpowered compared to their more modern counterparts in PCRE, Perl, .NET, Java, Ruby, C++, and Python. Those days are over.In this article, Ill recount the history of improvements to JavaScript regexes (spoiler: ES2018 and ES2024 changed the game), show examples of modern regex features in action, introduce you to a lightweight JavaScript library that makes JavaScript stand alongside or surpass other modern regex flavors, and end with a preview of active proposals that will continue to improve regexes in future versions of JavaScript (with some of them already working in your browser today).The History of Regular Expressions in JavaScriptECMAScript 3, standardized in 1999, introduced Perl-inspired regular expressions to the JavaScript language. Although it got enough things right to make regexes pretty useful (and mostly compatible with other Perl-inspired flavors), there were some big omissions, even then. And while JavaScript waited 10 years for its next standardized version with ES5, other programming languages and regex implementations added useful new features that made their regexes more powerful and readable.But that was then.Did you know that nearly every new version of JavaScript has made at least minor improvements to regular expressions?Lets take a look at them.Dont worry if its hard to understand what some of the following features mean well look more closely at several of the key features afterward.ES5 (2009) fixed unintuitive behavior by creating a new object every time regex literals are evaluated and allowed regex literals to use unescaped forward slashes within character classes (/[/]/).ES6/ES2015 added two new regex flags: y (sticky), which made it easier to use regexes in parsers, and u (unicode), which added several significant Unicode-related improvements along with strict errors. It also added the RegExp.prototype.flags getter, support for subclassing RegExp, and the ability to copy a regex while changing its flags.ES2018 was the edition that finally made JavaScript regexes pretty good. It added the s (dotAll) flag, lookbehind, named capture, and Unicode properties (via \p{...} and \P{...}, which require ES6s flag u). All of these are extremely useful features, as well see.ES2020 added the string method matchAll, which well also see more of shortly.ES2022 added flag d (hasIndices), which provides start and end indices for matched substrings.And finally, ES2024 added flag v (unicodeSets) as an upgrade to ES6s flag u. The v flag adds a set of multicharacter properties of strings to \p{...}, multicharacter elements within character classes via \p{...} and \q{...}, nested character classes, set subtraction [A--B] and intersection [A&&B], and different escaping rules within character classes. It also fixed case-insensitive matching for Unicode properties within negated sets [^...].As for whether you can safely use these features in your code today, the answer is yes! The latest of these features, flag v, is supported in Node.js 20 and 2023-era browsers. The rest are supported in 2021-era browsers or earlier.Each edition from ES2019 to ES2023 also added additional Unicode properties that can be used via \p{...} and \P{...}. And to be a completionist, ES2021 added string method replaceAll although, when given a regex, the only difference from ES3s replace is that it throws if not using flag g.Aside: What Makes a Regex Flavor Good?With all of these changes, how do JavaScript regular expressions now stack up against other flavors? There are multiple ways to think about this, but here are a few key aspects:Performance.This is an important aspect but probably not the main one since mature regex implementations are generally pretty fast. JavaScript is strong on regex performance (at least considering V8s Irregexp engine, used by Node.js, Chromium-based browsers, and even Firefox; and JavaScriptCore, used by Safari), but it uses a backtracking engine that is missing any syntax for backtracking control a major limitation that makes ReDoS vulnerability more common.Support for advanced features that handle common or important use cases.Here, JavaScript stepped up its game with ES2018 and ES2024. JavaScript is now best in class for some features like lookbehind (with its infinite-length support) and Unicode properties (with multicharacter properties of strings, set subtraction and intersection, and script extensions). These features are either not supported or not as robust in many other flavors.Ability to write readable and maintainable patterns.Here, native JavaScript has long been the worst of the major flavors since it lacks the x (extended) flag that allows insignificant whitespace and comments. Additionally, it lacks regex subroutines and subroutine definition groups (from PCRE and Perl), a powerful set of features that enable writing grammatical regexes that build up complex patterns via composition.So, its a bit of a mixed bag.JavaScript regexes have become exceptionally powerful, but theyre still missing key features that could make regexes safer, more readable, and more maintainable (all of which hold some people back from using this power).The good news is that all of these holes can be filled by a JavaScript library, which well see later in this article.Using JavaScripts Modern Regex FeaturesLets look at a few of the more useful modern regex features that you might be less familiar with. You should know in advance that this is a moderately advanced guide. If youre relatively new to regex, here are some excellent tutorials you might want to start with:RegexLearn and RegexOne are interactive tutorials that include practice problems.JavaScript.infos regular expressions chapter is a detailed and JavaScript-specific guide.Demystifying Regular Expressions (video) is an excellent presentation for beginners by Lea Verou at HolyJS 2017.Learn Regular Expressions In 20 Minutes (video) is a live syntax walkthrough in a regex tester.Named CaptureOften, you want to do more than just check whether a regex matches you want to extract substrings from the match and do something with them in your code. Named capturing groups allow you to do this in a way that makes your regexes and code more readable and self-documenting.The following example matches a record with two date fields and captures the values:const record = 'Admitted: 2024-01-01\nReleased: 2024-01-03';const re = /^Admitted: (?<admitted>\d{4}-\d{2}-\d{2})\nReleased: (?<released>\d{4}-\d{2}-\d{2})$/;const match = record.match(re);console.log(match.groups);/* { admitted: '2024-01-01', released: '2024-01-03'} */Dont worry although this regex might be challenging to understand, later, well look at a way to make it much more readable. The key things here are that named capturing groups use the syntax (?<name>...), and their results are stored on the groups object of matches.You can also use named backreferences to rematch whatever a named capturing group matched via \k<name>, and you can use the values within search and replace as follows:// Change 'FirstName LastName' to 'LastName, FirstName'const name = 'Shaquille Oatmeal';name.replace(/(?<first>\w+) (?<last>\w+)/, '$<last>, $<first>');// 'Oatmeal, Shaquille'For advanced regexers who want to use named backreferences within a replacement callback function, the groups object is provided as the last argument. Heres a fancy example:function fahrenheitToCelsius(str) { const re = /(?<degrees>-?\d+(\.\d+)?)F\b/g; return str.replace(re, (...args) => { const groups = args.at(-1); return Math.round((groups.degrees - 32) * 5/9) + 'C'; });}fahrenheitToCelsius('98.6F');// '37C'fahrenheitToCelsius('May 9 high is 40F and low is 21F');// 'May 9 high is 4C and low is -6C'LookbehindLookbehind (introduced in ES2018) is the complement to lookahead, which has always been supported by JavaScript regexes. Lookahead and lookbehind are assertions (similar to ^ for the start of a string or \b for word boundaries) that dont consume any characters as part of the match. Lookbehinds succeed or fail based on whether their subpattern can be found immediately before the current match position.For example, the following regex uses a lookbehind (?<=...) to match the word cat (only the word cat) if its preceded by fat :const re = /(?<=fat )cat/g;'cat, fat cat, brat cat'.replace(re, 'pigeon');// 'cat, fat pigeon, brat cat'You can also use negative lookbehind written as (?<!...) to invert the assertion. That would make the regex match any instance of cat thats not preceded by fat .const re = /(?<!fat )cat/g;'cat, fat cat, brat cat'.replace(re, 'pigeon');// 'pigeon, fat cat, brat pigeon'JavaScripts implementation of lookbehind is one of the very best (matched only by .NET). Whereas other regex flavors have inconsistent and complex rules for when and whether they allow variable-length patterns inside lookbehind, JavaScript allows you to look behind for any subpattern.The matchAll MethodJavaScripts String.prototype.matchAll was added in ES2020 and makes it easier to operate on regex matches in a loop when you need extended match details. Although other solutions were possible before, matchAll is often easier, and it avoids gotchas, such as the need to guard against infinite loops when looping over the results of regexes that might return zero-length matches.Since matchAll returns an iterator (rather than an array), its easy to use it in a for...of loop.const re = /(?<char1>\w)(?<char2>\w)/g;for (const match of str.matchAll(re)) { const {char1, char2} = match.groups; // Print each complete match and matched subpatterns console.log(Matched "${match[0]}" with "${char1}" and "${char2}");}Note: matchAll requires its regexes to use flag g (global). Also, as with other iterators, you can get all of its results as an array using Array.from or array spreading.const matches = [...str.matchAll(/./g)];Unicode PropertiesUnicode properties (added in ES2018) give you powerful control over multilingual text, using the syntax \p{...} and its negated version \P{...}. There are hundreds of different properties you can match, which cover a wide variety of Unicode categories, scripts, script extensions, and binary properties.Note: For more details, check out the documentation on MDN.Unicode properties require using the flag u (unicode) or v (unicodeSets).Flag vFlag v (unicodeSets) was added in ES2024 and is an upgrade to flag u you cant use both at the same time. Its a best practice to always use one of these flags to avoid silently introducing bugs via the default Unicode-unaware mode. The decision on which to use is fairly straightforward. If youre okay with only supporting environments with flag v (Node.js 20 and 2023-era browsers), then use flag v; otherwise, use flag u.Flag v adds support for several new regex features, with the coolest probably being set subtraction and intersection. This allows using A--B (within character classes) to match strings in A but not in B or using A&&B to match strings in both A and B. For example:// Matches all Greek symbols except the letter ''/[\p{Script_Extensions=Greek}--]/v// Matches only Greek letters/[\p{Script_Extensions=Greek}&&\p{Letter}]/vFor more details about flag v, including its other new features, check out this explainer from the Google Chrome team.A Word on Matching EmojiEmoji are , but how emoji get encoded in text is complicated. If youre trying to match them with a regex, its important to be aware that a single emoji can be composed of one or many individual Unicode code points. Many people (and libraries!) who roll their own emoji regexes miss this point (or implement it poorly) and end up with bugs.The following details for the emoji (Woman Teacher: Light Skin Tone) show just how complicated emoji can be:// Code unit length''.length;// 7// Each astral code point (above \uFFFF) is divided into high and low surrogates// Code point length[...''].length;// 4// These four code points are: \u{1F469} \u{1F3FB} \u{200D} \u{1F3EB}// \u{1F469} combined with \u{1F3FB} is ''// \u{200D} is a Zero-Width Joiner// \u{1F3EB} is ''// Grapheme cluster length (user-perceived characters)[...new Intl.Segmenter().segment('')].length;// 1Fortunately, JavaScript added an easy way to match any individual, complete emoji via \p{RGI_Emoji}. Since this is a fancy property of strings that can match more than one code point at a time, it requires ES2024s flag v.If you want to match emojis in environments without v support, check out the excellent libraries emoji-regex and emoji-regex-xs.Making Your Regexes More Readable, Maintainable, and ResilientDespite the improvements to regex features over the years, native JavaScript regexes of sufficient complexity can still be outrageously hard to read and maintain.Regular Expressions are SO EASY!!!! pic.twitter.com/q4GSpbJRbZ Garabato Kid (@garabatokid) July 5, 2019 ES2018s named capture was a great addition that made regexes more self-documenting, and ES6s String.raw tag allows you to avoid escaping all your backslashes when using the RegExp constructor. But for the most part, thats it in terms of readability.However, theres a lightweight and high-performance JavaScript library named regex (by yours truly) that makes regexes dramatically more readable. It does this by adding key missing features from Perl-Compatible Regular Expressions (PCRE) and outputting native JavaScript regexes. You can also use it as a Babel plugin, which means that regex calls are transpiled at build time, so you get a better developer experience without users paying any runtime cost.PCRE is a popular C library used by PHP for its regex support, and its available in countless other programming languages and tools.Lets briefly look at some of the ways the regex library, which provides a template tag named regex, can help you write complex regexes that are actually understandable and maintainable by mortals. Note that all of the new syntax described below works identically in PCRE.Insignificant Whitespace and CommentsBy default, regex allows you to freely add whitespace and line comments (starting with #) to your regexes for readability.import {regex} from 'regex';const date = regex` # Match a date in YYYY-MM-DD format (?<year> \d{4}) - # Year part (?<month> \d{2}) - # Month part (?<day> \d{2}) # Day part`;This is equivalent to using PCREs xx flag.Subroutines and Subroutine Definition GroupsSubroutines are written as \g<name> (where name refers to a named group), and they treat the referenced group as an independent subpattern that they try to match at the current position. This enables subpattern composition and reuse, which improves readability and maintainability.For example, the following regex matches an IPv4 address such as 192.168.12.123:import {regex} from 'regex';const ipv4 = regex`\b (?<byte> 25[0-5] | 2[0-4]\d | 1\d\d | [1-9]?\d) # Match the remaining 3 dot-separated bytes (\. \g<byte>){3}\b`;You can take this even further by defining subpatterns for use by reference only via subroutine definition groups. Heres an example that improves the regex for admittance records that we saw earlier in this article:const record = 'Admitted: 2024-01-01\nReleased: 2024-01-03';const re = regex` ^ Admitted:\ (?<admitted> \g<date>) \n Released:\ (?<released> \g<date>) $ (?(DEFINE) (?<date> \g<year>-\g<month>-\g<day>) (?<year> \d{4}) (?<month> \d{2}) (?<day> \d{2}) )`;const match = record.match(re);console.log(match.groups);/* { admitted: '2024-01-01', released: '2024-01-03'} */A Modern Regex Baselineregex includes the v flag by default, so you never forget to turn it on. And in environments without native v, it automatically switches to flag u while applying vs escaping rules, so your regexes are forward and backward-compatible.It also implicitly enables the emulated flags x (insignificant whitespace and comments) and n (named capture only mode) by default, so you dont have to continually opt into their superior modes. And since its a raw string template tag, you dont have to escape your backslashes \\\\ like with the RegExp constructor.Atomic Groups and Possessive Quantifiers Can Prevent Catastrophic BacktrackingAtomic groups and possessive quantifiers are another powerful set of features added by the regex library. Although theyre primarily about performance and resilience against catastrophic backtracking (also known as ReDoS or regular expression denial of service, a serious issue where certain regexes can take forever when searching particular, not-quite-matching strings), they can also help with readability by allowing you to write simpler patterns.Note: You can learn more in the regex documentation.Whats Next? Upcoming JavaScript Regex ImprovementsThere are a variety of active proposals for improving regexes in JavaScript. Below, well look at the three that are well on their way to being included in future editions of the language.Duplicate Named Capturing GroupsThis is a Stage 3 (nearly finalized) proposal. Even better is that, as of recently, it works in all major browsers.When named capturing was first introduced, it required that all (?<name>...) captures use unique names. However, there are cases when you have multiple alternate paths through a regex, and it would simplify your code to reuse the same group names in each alternative.For example:/(?<year>\d{4})-\d\d|\d\d-(?<year>\d{4})/This proposal enables exactly this, preventing a duplicate capture group name error with this example. Note that names must still be unique within each alternative path.Pattern Modifiers (aka Flag Groups)This is another Stage 3 proposal. Its already supported in Chrome/Edge 125 and Opera 111, and its coming soon for Firefox. No word yet on Safari.Pattern modifiers use (?ims:...), (?-ims:...), or (?im-s:...) to turn the flags i, m, and s on or off for only certain parts of a regex.For example:/hello-(?i:world)/// Matches 'hello-WORLD' but not 'HELLO-WORLD'Escape Regex Special Characters with RegExp.escapeThis proposal recently reached Stage 3 and has been a long time coming. It isnt yet supported in any major browsers. The proposal does what it says on the tin, providing the function RegExp.escape(str), which returns the string with all regex special characters escaped so you can match them literally.If you need this functionality today, the most widely-used package (with more than 500 million monthly npm downloads) is escape-string-regexp, an ultra-lightweight, single-purpose utility that does minimal escaping. Thats great for most cases, but if you need assurance that your escaped string can safely be used at any arbitrary position within a regex, escape-string-regexp recommends the regex library that weve already looked at in this article. The regex library uses interpolation to escape embedded strings in a context-aware way.ConclusionSo there you have it: the past, present, and future of JavaScript regular expressions.If you want to journey even deeper into the lands of regex, check out Awesome Regex for a list of the best regex testers, tutorials, libraries, and other resources. And for a fun regex crossword puzzle, try your hand at regexle.May your parsing be prosperous and your regexes be readable.
    0 Kommentare ·0 Anteile ·351 Ansichten
  • A Rundown Office in Koreatown Gets a Renter-Friendly Revamp
    design-milk.com
    When the opportunity arose to design the new GYOPO office, it was an obvious choice for interior designer Grace Lee-Lim. GYOPO is a collective of diasporic Korean creatives based in Los Angeles, California, dedicated to generating and sharing various programs to support their community. As a Korean-American herself, Lee-Lim felt a deep connection to the project, which presented a significant challenge: a rundown, dilapidated office floor in Koreatown.BeforeBeforeThe existing space featured a stained navy blue carpet with matching doors and trim a color thats meant to evoke calmness but instead did the opposite. Given that the office is currently leased, Lee-Lim aimed to implement budget-conscious, impactful changes without making any structural alterations.To get the full details of this office transformation, we chat with Lee-Lim on how she was able to find renter-friendly solutions for this small space, her approach to honoring Koreas rich heritage, and what shes most excited about in the coming months.You often hear about renter hacks that elevate residential areas, but rarely for commercial locations. In designing this space, what renter-friendly solutions or decisions did you implement?We thought itd be best to work within the framework presented, so the first major task was to pull out the blue carpet and vinyl baseboards to reveal the concrete beneath, which automatically brought the space from outdated to current. The next biggest change came through paint, which we did for all of the ceilings and walls throughout the headquarters. We painted the ceiling in a soft, warm beige that envelops the room, and since its in a darker shade than the walls it creates a coziness that softens the concrete floors. We kept all the communal walls a neutral off white as the programs that are held often involve interchanging artworks, so the walls need to act as a canvas. We saw an opportunity to shift the energy when entering the hallway, so we color-blocked it in a rich verdant green that leads to the restroom, which is wrapped in a vibrant ochre yellow for a fun contrast.We also installed new terrazzo tiles in the restroom that coordinate with the ochre paint and replaced all the fixtures to bring it up to date as well. For the kitchenette, we installed L-shaped cabinets from Ikea and had the shelves above custom built to size in the niches.I imagine that culture and heritage were at the forefront of your mind when designing this office. How did you pay homage to these elements?GYOPO is a collective of diasporic Korean cultural producers and arts professionals generating and sharing progressive, critical, intersectional and intergenerational discourses, community alliances, and free educational programs. For GYOPO, the community is the culture, so paying homage means designing an environment that transforms with the usage, comfort, and needs of the people who come through its doors.The 30-foot panoramic view of Koreatown is something that roots the community from inside out; handmade Jogakbo drapery (a traditional Korean style of patchwork) by Joann Haeun Ahn was pieced together to layer over the view. At times resembling a map, the patchwork curves, bends, and hugs the shapes of the neighboring businesses outside, and the translucent fabrics allow for the colors of Koreatown to peek through and become part of the interiors as well. The benches along the window were fabricated to mimic that of a Pyeong Sang (a traditional Korean platform or wide-rectangular bench) where people take their shoes off and sit for rest, with the added benefit of storage beneath for the stacking foldable chairs GYOPO utilizes for their many programs.Lets talk about furnishings! Which furniture pieces or brands did you choose to outfit the space, and why?Early into the design process, a GYOPO steering committee member mentioned that her friend at Popular Architecture designed a large oval breakaway table: two half moons that flank a rectangular center table, which comes together to create a 10.5 oval, or breaks apart to be used separately. We collectively loved the form and functionality of it, so we purchased the plans from them and had it fabricated by a local LA artisan, MM Surface Craft, who built the majority of the furnishings for this project. This table has had an enormous amount of usage in varying states: as an oval conference table for large meetings, a smaller circle for a more intimate experience, or even as a stage for performance art as Sung Neung Kyung did here.For the small square tables, I loved the idea of having pieces that evoke the lightness and feeling of being at a cafe. These cafe tables can be moved around easily and allows for more privacy in the event the large oval table is being used for a meeting or presentation. We really wanted a cross base rather than the typical pedestal, but also wanted to ensure that it wouldnt tilt easily, so we worked with MM Surface Craft to get the perfect angle for the final design and love the outcome very much! They also fabricated the wall-mounted storage benches we mentioned above, as well as the custom shelving in the niches of the kitchenette.The chairs are from Blu Dot and are incredible indoor/outdoor designs made of 100% recycled plastic. The clients emphasized the need for stackable chairs, so we were thrilled when we saw that these not only look beautiful but also stack up to 12 at a time! We decided to select three colors to alternate so that we could infuse some playfulness and contrast into the otherwise neutral space.Color can significantly transform drab spaces those before photos really tell the story! How do you thoughtfully incorporate color in spaces like these?Everything ultimately comes down to balance, which is definitely a characteristic of my design ethos. There always has to be an element of surprise, mystery, and even a little mischief in a space, or else it can feel bland and lifeless. We wanted the majority of the headquarters to be neutral and serene so as not to cause distractions or take away from the programming and events held, but we balanced that with the saturated green of the hallway and punchy yellow of the bathroom that introduces a different energy into the space. The multi-colored chairs also add the feeling of whimsy and lightheartedness that we felt was necessary to lighten the seriousness overall.What are you most excited about in the upcoming year?Im part of the Asian American Pacific Islander Design Alliance (AAPIDA), which is an organization that engages, promotes, and empowers AANHPI folks working within the home and design industries. AAPIDA only launched about two years ago and has grown so rapidly! Its such a beautiful experience to witness those in the interiors/architecture/build space gain more visibility and traction in the industry, something we havent had much of until now. Were expanding to all the different regions of the US and Im excited to be a part of its growth, as well as support other designers who are carving the path forward!GYOPOs Pacific Imaginaries program \\\ Photo by Taylor KaltmanGYOPOs Pacific Imaginaries program \\\ Photo by Taylor KaltmanGYOPOs Pacific Imaginaries program \\\ Photo by Taylor KaltmanTo learn more about Grace Lee-Lims practice, visit graceleelim.com.General contractor: Schneider Construction & Development.Photography by Sara Pooley unless otherwise noted.
    0 Kommentare ·0 Anteile ·216 Ansichten
  • Math Meets Rug Magic in the Weave Collection by Helena Rohner for GAN
    design-milk.com
    The new Weave collection by for GAN reintroduces the magic of ancient weaving techniques with a modern twist. The light interacts with the separate textures differently, to celebrate the technical principles of the first computers, looms. The different textures are inspired by fabrics we know and love already, just blown up to a scale in which we can appreciate them. Aspects of twill, satin, and jacquard knitting can be identified within the stitches of the Weave collection.These 100% wool rugs celebrate the intricacies of weaving, coming in two different styles, Meeting PointandSpace Hopper. The diamond pattern found in specific areas throughout the pieces are an ornamental take on the twill weaving pattern. Twill itself is a couple thousand years old, archaeologists dating the first scraps back to the late 4th millennium BCE.This diamond pattern is also found throughout history, and plays a big role in how we understand ancient looming techniques today. As humans, textile production is one of the cornerstones of civilization. The Weave collection nods to those roots in design and material, wool being one of the oldest woven fibers known today.Originally imagined as separate parts that would be woven together later, the artisans at GAN were able to create the different weaving patterns in one piece on the loom. This creates a stronger continuity within the design, one uninterrupted tapestry. Different weaving patterns create exciting shadows, similar to certain works of modern art. These patterns form interacting bodies in harmonious colors, separating the distinct yarn manipulations. Each rug design comes in two colors, Orange and Blue, with their respective warm and cool tones.It is important in design to listen, not only to the material, but also to accompany the hands that create the piece. It is always a magical moment and opens up wonderful opportunities. Art, after all, resides in the eyes of each individual, says Helena Rohner.Helena Rohner is a multidisciplinary designer specializing in jewelry. Focused on the beauty of crafting by hand, she blends silver with unconventional materials such as wood or porcelain to create timeless yet modern designs. Born in the Canary Islands, she pulls heavily from her environment and collaborators for inspiration.GAN Rugs believe that handmade is the ultimate luxury. Objects made by hand are by far the best vehicle to express the designers creativity. A deep commitment to the expert craftspeople in India ensures economic development within the area and a preserving of the weaving history that is so strong within the culture already. These artisans use some of the best natural fibers, usually wool and jute, as well as recycled content, to underline their engagement with sustainability at every stage of the design process.Click through for more information on the Weave collection, Helena Rohners jewelry work, and GAN Rugs.
    0 Kommentare ·0 Anteile ·222 Ansichten
  • Bass and Light: 2 Must-See Installations at Dia Beacon Now
    design-milk.com
    The always-incredible contemporary art space Dia Beacon, located just outside New York City, is currently hosting two additional awe-inspiring installations by Felix Gonzalez-Torres and Steve McQueen. Paired with the many additional world famous installations on long term view, a trip to Beacon is my #1 art pick this August.Dia Beacon, Riggio Galleries, Beacon, New York. Dia Art Foundation, New York. \\\ Photo: Bill Jacobson Studio, New York. Courtesy Dia Art Foundation, New York.Dia Beacon occupies a converted factory building, originally built in 1929 for Nabisco. Accessible most conveniently by a short train ride from Manhattan, Dia hosts a breathtaking collection of room-filling contemporary artworks that include stunning Richard Serra ellipses, Louise Bourgeois beckoning 9-foot spider, Michael Heizers negative sculptures and a room full of Warhols, Judds, Flavins, and many more.Right now, that collection is joined by two exceptional installations on view for a limited time: Felix Gonzalez-Torres Untitled (Loverboy) 1989, installed on the most breathtaking scale Ive ever seen, and Steve McQueens Bass 2024, a site-specific light and audio work in a 30,000-square-foot basement. A deeper dive into both artworks is below, along with tips for easy travel to the space from Manhattan.Felix Gonzalez-Torres, Untitled (Loverboy), 1989. Estate Felix Gonzalez-Torres. \\\ Photo: Bill Jacobson Studio, New York. Courtesy Dia Art FoundationFelix Gonzalez-Torres: Untitled (Loverboy), 1989Born in Cuba in 1957, American artist Felix Gonzalez-Torres groundbreaking artworks are often intended and encouraged to adapt with every new installation, adhering to certain strict rules defined by the artist while allowing for the unique architectural environments and ideas of the owner to produce something that is both familiar and forever renewed.Felix Gonzalez-Torres, Untitled (Loverboy), 1989. Estate Felix Gonzalez-Torres. \\\ Photo: Bill Jacobson Studio, New York. Courtesy Dia Art FoundationFor Untitled (Loverboy) 1989, the rules for the work describe a pair (or pairs) of light-blue, common curtains installed with relative ease, touching the floor and ideally draping all extant windows in the designated exhibition space. Those relatively simple conceptual guidelines, along with knowledge of all previous iterations (see previous versions here!), have now been actualized here in this huge hallway and industrial space.Felix Gonzalez-Torres, Untitled (Loverboy) (detail), 1989. Estate Felix Gonzalez-Torres. \\\ Photo: Bill Jacobson Studio, New York. Courtesy Dia Art FoundationFelix Gonzalez-Torres, Untitled (Loverboy) (detail), 1989. Estate Felix Gonzalez-Torres. \\\ Photo: Bill Jacobson Studio, New York. Courtesy Dia Art FoundationHere, light translucent curtains are hung on large paned windows that were already modified by artist Robert Irwin with varying glazing (see above). My favorite moment are the piles of cloth that gather gently on the floor, recalling something between a delicate dress and a waterfall. The factory-sized height of the windows along the full east wall also allows for the daylight itself to become a subject subtly shifting and changing with every passing cloud. Standing here, the present moment feels precious and the air within the whole room feels alive.Felix Gonzalez-Torres, Untitled (Loverboy), 1989. Estate Felix Gonzalez-Torres. \\\ Photo: David Behringer (author)The work of Felix Gonzalez-Torres always packs a surprising emotional punch held somewhere between joyous play and a deep appreciation for the universality and temporality of life and love (Felixs own life was cut too short at 38 years old, passing away in 1996).Steve McQueen, Bass, 2024. Installation view, Dia Beacon, New York, May 12, 2024April 14, 2025. Steve McQueen. \\\ Photo: Bill Jacobson Studio, New YorkSteve McQueen Bass 2024Meanwhile in the high-ceilinged, 30,000-square-foot concrete subterranean space of the building, Steve McQueens immersive work Bass 2024 is worth a long stay. The British artist and filmmaker is perhaps best known for directing the Oscar-winning 12 Years a Slave but is also highly respected in the contemporary art world.Steve McQueen, Bass, 2024. Installation view, Dia Beacon, New York, May 12, 2024April 14, 2025. Steve McQueen. \\\ Photo: Bill Jacobson Studio, New YorkThis latest commissioned work is a massive color-changing light and audio work consisting of 60 ceiling-mounted light boxes that slowly shift through every color of the spectrum while three stacks of speakers transmit surround-sound that was recorded by musicians on exclusively bass instruments within this same space.Steve McQueen, Bass, 2024. Installation view, Dia Beacon, New York, May 12, 2024April 14, 2025. Steve McQueen. \\\ Photo: Dan WolfeThe beautiful bone-vibrating sound was created in collaboration with an intergenerational group of musicians led by renowned electric bassist Marcus Miller and additionally featuring Meshell Ndegeocello (electric bass), Aston Barrett Jr. (electric bass), Mamadou Kouyat (bass ngoni), and Laura-Simone Martin (upright bass), all conducted by McQueen in the same space as the light changed improvising to the moment, space, and one another.Pro tip: Take advantage of the low-frequency sounds by sitting on the floor for a while to feel the sound as you hear it. On my visit, several viewers fully reclined on their backs. Either way, stay a while.Steve McQueen, Bass (detail), 2024. Steve McQueen. \\\ Photo: Don StahlEvery slow color shift changes everything. Red feels like a warning, blue seems alien, and yellow somehow brought me back to earth. Making this even more surreal, the arrangement and diffusion of the light boxes produces no shadows in the room, creating a sensation that the air itself is changing.Steve McQueen, Bass, 2024. Installation view, Dia Beacon, New York, May 12, 2024April 14, 2025. Steve McQueen. \\\ Photo: Dan WolfeSteve McQueen, Bass (detail), 2024. Installation view, Dia Beacon, New York, May 12, 2024April 14, 2025. Steve McQueen. \\\ Photo: Bill Jacobson Studio, New YorkSteve McQueen, Bass (detail), 2024. Steve McQueen. \\\ Photo: Don StahlHow to visit:Felix Gonzalez-Torres Untitled (Loverboy) and Steve McQueens Bass are both on view at Dia Beacon through Spring 2025. The space is located in Beacon, New York, a beautiful 90-minute train ride along the Hudson River from Grand Central Station and an easy 5-minute walk from the Beacon train station. Dia Beacon is open Friday-Monday (closed Tuesdays, Wednesdays & Thursdays) from 10am-5pm. For more details about admission and more, along with information about the organizations other locations worldwide, visit their website here.
    0 Kommentare ·0 Anteile ·170 Ansichten
  • Sunnies Flask Is Your New Water Bottle With Over 300,000 Color Combinations
    design-milk.com
    Designers and creatives love to see and bring their visions to life, and while thats true of grander gestures like a newly erect building or a freshly painted piece of art, sometimes that applies to something as small as a water bottle. With Sunnies Flask brought to you by Sunnies Studio, you are in charge of realizing your masterpiece in the form of a fully customizable water bottle with over 300,000 color combinations to choose from.The Sunnies Flask came from the realization by the Sunnies team that water bottles often dont feel personal to the user, despite being used daily and thus a top priority in day-to-day life. We love playing with color and creating products that bring beauty to everyday things. We developed Sunnies Flask as the most customizable flask ever, the brand shares.There are four components to the Sunnies Flask: the cap, loop, bottle, and boot. Each component comes in 23 different colors: Pomodoro, Ikura, Creamsicle, Miso, Macchiato, Dough, Buttermilk, Pia, Guac, Key Lim, Wasabi, Nori, Blueberry, Snow Cone, Slush, Taro, Punch, Mochi, Chrome, Burrata, Oyster, Gulaman, and Ganache. You can go monochromatic and make all the components the same color, or customize each part to be a different color. The possibilities, although not endless, feel limitless by the choices you can make for one single bottle.Sunnies Flask is made from 90% recycled stainless steel and checks off all the standard requirements of a modern water bottle. That is, its double-walled, leak-proof, stain/odor resistant, keeps liquids cold for 24 hours and hot for 12 hours, BPA/lead/phthalate-free, dishwasher safe, and cupholder-friendly. A bundle comes with the cap, loop, and bottle while the boot is an extra fee worth paying to protect your bottle from bumps and falls.With all the customizations you can create with your Sunnies Flask bottle, the question isnt what should you customize; its how many.To customize your own Sunnies Flask, head to sunniesstudio.com. You can follow the brand on Instagram at @sunniesflask.
    0 Kommentare ·0 Anteile ·196 Ansichten
  • Steelcase Shepherds a New Era of Frank Lloyd Wright Designs
    design-milk.com
    The late American architect Frank Lloyd Wright is unequivocally acknowledged by posterity as a pioneer of not only architecture but design as a lifestyle, pivotal in shifting the publics accessibility to a new paradigm, vocabulary, and vision for modern living a mission upheld to this day by the Frank Lloyd Wright Foundation (FLWF). Aligning with this egalitarian ethos is the multi-hyphenate Steelcase, a global thought leader, designer, and manufacturer of innovative furnishings and solutions for the world of work. The two parties come together once again to release the Rockford and Galesburg Collectionsmarking an expansion of their longtime collaboration. Together, they reintroduce iconic mid-century furniture while reinterpreting Usonian concepts for timeless pieces tempered by current tastes and needs.Rockford Occasional Table, Galesburg Sectional, Rockford Lounge Chair, and Rockford OttomanMake no mistake the furniture comprising the Rockford and Galesburg collections are not reproductions, but rather thoughtful additions to a growing catalog that reflect organic architecture as defined by the visionary. We wanted to pick up Wrights plans for democratizing great design, and that meant that it had to be more affordable. We also wanted to pick up the imprimatur placed in his will to perpetuate organic design by educating future architects and designers, says Stuart Graff, president and CEO of the Frank Lloyd Wright Foundation. And you dont do that by instructing them to reproduce the past, right? All youre doing is, in a sense, embalming Wrights designs, and we wanted to do more than that.Rockford Occasional Table and Galesburg SectionalHumanism, materiality, novel construction techniques, and an articulation of joinery are but a smattering of tenets from which the design team is inspired when referencing the FLWF archives. This philosophy-forward approach yields a high return on investment aesthetically and structurally for products with incredible longevity.Rockford Ottoman and Rockford Lounge ChairThe Rockford Collection, inspired by the 1952 Laurent house in Rockford, Illinois, includes the reintroduction of a rail-back lounge chair and grouping of polygonal plywood tables and their movable companion seating. With accessibility at its core, each geometric piece may be accessed visually and physically from any angle to meet the needs of wheelchair users allowing for freedom and comfort. And the upholstered stools feature fabric pulls for ease of use. The angularity built in throughout this series not only creates motion through leading lines that look upward, the tilted armrests on the chair help users create momentum as they transition to a standing position from being seated. Whats more, plywood is dignified as a material through artful construction that celebrates the grain.Rockford Ottoman and Rockford Lounge ChairRockford Lounge Chair, Rockford Ottoman, and Rockford Occasional TablesRockford Ottomans and Rockford Occasional TablesGalesburg Lounge Chair, Galesburg Ottoman, and Galesburg SofaIn contrast is the Galesburg Collection, a plush, textured line of built-in banquette-inspired seating originally found in Usonian homes from the Wright-designed Parkwyn Village and The Acres communities within Galesburg, Michigan. Users can appreciate the tuxedo-style sofa, sectional, lounge chair, and ottoman from all angles. Dimensionality and linework are fully realized with every facet and with the turn of every upholstered corner for a luxurious, tailored feel.Galesburg SectionalSteelcase has remained a regular steward of Wrights craft since 1939 when they produced the original furnishings for his revolutionary SC Johnson Administration Building in Racine, Wisconsin, which inspired a contemporized collection by the brand not long ago. The partnership has continued since 1985 ever looking forward with the optimism inherent in his practice. And national audiences have grown more appreciative of Wrights contributions with some 72% of households familiar with his person and in some cases the only architect they can name. For context, starchitects like Frank Gehry and Zaha Hadid come in at a modest 19%.Galesburg Sofas, Galesburg Ottoman, and Rockford OttomansIts an awesome privilege, nay duty, for the designers at Steelcase to participate in a shared vision as they contribute to a substantial legacy. Its a bit of a heady to be asked to work on projects that have the name Frank Floyd Wright associated with them, says Meghan Dean, general manager of ancillary merchandising and partnerships at Steelcase. But the foundation is incredibly supportive. We have a kind of trust and collaboration that allows the team to feel supported in pursuing these ideas that, at first blush, feel like a little bit of a kind of weighted responsibility.Galesburg Sofa, Galesburg Ottoman, and Rockform OttomansGalesburg Ottomans and Galesburg SofaTo learn more about the partnership between Steelcase and the Frank Lloyd Wright Foundation, or to shop the collections, visit steelcase.com.Photography provided by Steelcase.
    0 Kommentare ·0 Anteile ·181 Ansichten
  • Figma + Rive: sharing my workflow for UI animations
    uxdesign.cc
    Tools and methods I use for interface animations, including Rive. Well also review an older project to highlight what to avoid and what worksbetter.PrinciplesWhen it comes to animations, they should be clear and unobtrusive, providing smooth transitions between object states without interfering with the main task. Animation primarily serves as a supplementary element of user interaction in an application orwebsite.Its also important to create a consistent structure of micro-interactions within the product to form users habits for reactions to actions with an object. The main principle: animations should be used wisely to support functionality, not hinderit.Choosing atoolAs a product designer, your choice might be quite limited, consisting of one or two tools for creating animations. Ive experimented with the most popular tools such as Protopie, After Effects, Rive, Principle, and I can say that they are all quite similar in functionality.FigmaOf course, you can create animations in Figma, but the animation functionality is quite limited. Personally, I find it faster, more enjoyable, and without functional limitations to do it somewhere else, likeRive.If you want to create something similar (as in the video below), I recommend using After Effects, as its convenient for working with PNG-sequences. However, for most product tasks where you need to show a flow or behavior of certain elements in a design system, you can limit yourself to familiar tools likeRive.https://medium.com/media/cad2bf07d9df2bea91bb78c6f8b201b9/hrefOverloaded elements in animationLets digress a bit. Ill give one example of my work, I think I did it in 2020. In retrospect, I consider it less successful because each block and even text has its own separate animation when appearing. This seems excessive. Everything is done in the spirit of movement for the sake of movement which is definitely not about achieving user goals or a pleasant everyday experience. At the very least, all these unnecessary movements can irritate theuser.https://medium.com/media/08e90a6608e76f8dea6d14f91b374627/hrefConcepts and referencesSometimes to come up with an interesting interaction for a concept, I look for references. It doesnt necessarily have to be an animation; it can be layouts or pictures. The main thing is to latch onto details and develop your own idea based on their story, especially if were talking about a concept. To search for references, I often useAre.nahttps://medium.com/media/875d5075912f60947ac7226f5df72d47/hrefAlternatively, you can take a problem or a standard action, like opening a menu, and make this action more interesting, simple, or even playful. The main thing is to have a user-friendly approach.RiveLets begin. I think if you already have experience in After Effects, understanding this tool will take a couple of hours. For a beginner, it will take a bit more time for experiments and studying the guide. Ill explain the basics briefly; for detailed logic, you can refer to the guide or check their YouTube channel, where they explain each button and internal features well. Ill just show the basics using a pre-created animation as anexample.Essentially, there are two modes here: Designfor creating and editing UI, and Animateobviously for creating animation . Inside the Animate tab, there are six columns, of which the main onesare:State machinethis is the area where you drag timelines and manage them as nodes. Here you set logic, buttons, actions, and other parameters.Timelinewhere you set keyframes and adjusteasing.I rarely use the state machine mode. However, there are cases when its useful to click through the interaction and discuss it with a developer/product managerin such cases, its good to have a prototype, which is what the state machine is for. Ill explain how I use this modelater.I created a concept animation to show my worflow inRive:https://medium.com/media/d031b040b327f848c5f483a8977dd2ec/hrefTransferring a layout from Figma toRive:Its simple. Select the frame, Edit Copy as Copy as SVG, then open Rive, Ctrl+V Go to the Assets tab and transfer our file to the layout. Easy, but theres one thing. I transfer the layout clean without images inside, just shapes. So prepare your frame consisting of shapes in advance. You can add imageslater.https://medium.com/media/37e77afa60da3b9abd217ecec88dd933/hrefWorking inRiveI created timelines for each button state: hover, default state, and transition. In general, the logic is this: each state corresponds to its own timeline.https://medium.com/media/856ecc49022de25e29ec76b4d3aee2dc/hrefFor each timeline, you can choose the playback mode or set a specific playback area by setting the Work Areamode.https://medium.com/media/cf7aa6354edde4621b95d15752ace53e/hrefI also created an icon animation on a separate artboard, where it has its own timeline and state machine. Then I add the resulting animation to the main artboard, to the button, using the Nested artboard tool.https://medium.com/media/da05a5b68802733eb30bad33601476e1/hrefI added a small glow on hover for the dark and light versions. For the system to recognize that it needs to produce movement for the layers, I attached a Transform element in the Constraints section to the blur layer, after creating a Targetshape.Then in the state machine, in the Listeners column, I created an action and selected the Pointer move modethis mode will react to mouse movement and start the animation (timeline).https://medium.com/media/f760326c80f0ed0002869f50db396c4b/hrefNext, the resulting timelines need to be connected in the State machine. For this, I create triggers, in the Inputs column there are 3types:Numberthis input contains an integer value and essentially stores numerical information.Booleanthis is a logical data type that takes one of two values: true or false. You can think of it as a switch that can be either on (true) or off(false).Triggerthis is an automatic mechanism that is triggered when certain conditions are met, like a start button that activates a predetermined function.https://medium.com/media/99e1897351d4cd36e8a86822b308c766/hrefI assign an action to each trigger. Actions are created in Listeners column and consist of threeparts:Targethere you need to select the area with which the user will interact, in my case it will be a heatbox (a regular shape with a slightly larger area than the buttonitself).In the second point, you need to choose how the interaction with the target will occur, for example: when clicking on the object, when hovering over the object, etc. This is what I mentioned earlier when I created the glow for the button, namely Pointermove.Select the trigger by which the action will be performed.Essentially, here you describe the logical state of the button and determine what exactly my animation should do when interacting with the trigger. For example: a click or mouse movement can start an animation or another specific function.https://medium.com/media/b0aa8aebfa3b5750ee3de6393c6d9d15/hrefThen I transfer the timelines to the controller and connect them as nodes. In the middle of each such connection, a transition key is created. By clicking on it, you can set your trigger for entering the animation in the Conditions tab. For example, if I hover over the button, the timeline will automatically move to the next timeline and soon.Each action, including exit, needs to be specified as a separate condition and the value switched to true/false (depending on the action). You can gradually check the results by playing the animation and fixingerrors.https://medium.com/media/10fe11ea439223aacffe038f3c7529d1/hrefThe final result after linking all timelines in the statemachine.https://medium.com/media/500dd931c34acd0d8221fe0f1de746d7/hrefTransferring animation to developersI usually export the animation as a Lottie file, which can be integrated into a website or application. If Im making an animation in After Effects, I use Bodymovin to create a JSON file based on the composition.I can also provide a video/gif with the animation, which will also be useful, for example for transition animation, object, etc. Separately, I can attach parameters and description:1. Trigger2. Duration 3. Interpolation (i.e.,easing).All this information and more can be found in your Rive sourcefiles.Easings, curvesAlways test animations with different curves and adjust them based on how they are perceived by users. I would recommend studying this article from Material Design. It explains the principles of working with curves excellently.https://medium.com/media/96e9b2a808d5ade56b9875d5b0b95a3f/hrefMy usualcaseAs I mentioned earlier, I use the state machine mode to click through the animation. However, for creating concepts for Twitter, and even regular transitions, I more often work in one timeline, which I then export tovideo.For example, I made the desktop version of the video chat on one timeline. Then, to add a mockup or just show the animation on a beautiful background, I created a separate layer and transferred the finished artboard with the animation to another frame. This way, I avoid accidental changes and dont spoil the already obtainedresult.https://medium.com/media/d13e3c3188342a96e186760e8c0e0a3f/hrefRecently, Ive been trying to make the interface simple and interactions simpler, while focusing more on what emotions certain interactions can evoke in the user. After all, its very cool, and it inspires trust when, for example, the bank transfer process from start to finish is accompanied by smooth animation, which allows the user to stay focused on the elements and doesnt throw them out of the flow. This creates a sense of care and friendliness.https://medium.com/media/0a4f264091c2426f99e04cca9ac1c171/hrefFor example, in this flow, I tried to create a scroll animation that reveals additional details about the NFT without distracting attention from the picture itself as the main element. Instead, the additional object smoothly appears when scrolling, keeping the focus on the main picture. Such smoothness of action helps to maintain the users attention.https://medium.com/media/b27f78b95340fc2b8a58616cd78aded5/hrefThe idea is this: to make a static screen with a QR-code more lively. With a slight tilt of the phone, the position of the QR-code changes, creating a live interaction for the user without an extra click:)ConclusionUltimately, incorporating non-functional elements can enhance user experience, like easter eggs, which can add excitement to using the app. These little things can turn routine actions into a game or give the user a sense of control. All this is important to consider when developing animations and interactions.https://medium.com/media/362faaddc225f41fd21a06ec10cfc3c2/hrefAnimation should help solve the task and support the users journey, bringing static and flat transitions to life with smooth animation. Its important to consider speed, timing, and other aspects so that micro-interactions, on the contrary, push the user to faster task completion from point A to point B, increasing their confidence in theaction. Follow me on my Twitter/X or Telegram channel, where I often post various interaction concepts.Figma + Rive: sharing my workflow for UI animations was originally published in UX Collective on Medium, where people are continuing the conversation by highlighting and responding to this story.
    0 Kommentare ·0 Anteile ·199 Ansichten