How can Yodeck’s new Layout Templates enhance your digital signage. What are the benefits of using Raspberry Pi 4 Players for your displays. Why is Yodeck simplifying its terminology and user interface.
Introducing Yodeck’s Layout Templates: Professional Design Made Easy
Yodeck has unveiled an exciting new feature for digital signage creators: Layout Templates. These professionally designed, ready-to-use templates offer a game-changing solution for businesses looking to create eye-catching displays without extensive design expertise.
Key Features of Yodeck Layout Templates
- Industry-specific categories
- Relevant, attention-grabbing images
- Fully customizable elements
- Portrait and landscape orientations
- Seamless integration with the Layout Editor
Are you wondering how these templates can benefit your business? Layout Templates allow you to create professional-looking displays in minutes, saving time and resources while ensuring your message is presented effectively.
Raspberry Pi 4 Players: Powering the Future of Digital Signage
Yodeck has begun shipping Raspberry Pi 4 Players, marking a significant upgrade in hardware capabilities for their digital signage solutions. This new generation of players offers several advantages over previous models:
- 4K support
- Improved graphics performance
- Increased memory options
- Future-proof technology
Curious about which Raspberry Pi 4 model is right for your needs? Yodeck now offers two options:
- 1GB Raspberry Pi 4 Player ($79): Ideal for full-screen playlists with videos, images, and documents, or simple layouts with a few widgets and a ticker.
- 4GB Raspberry Pi 4 Player ($99): Recommended for complex layouts with multiple widgets, overlays, playlists, or web pages displaying data-heavy dashboards.
The 4GB version comes with a $20 surcharge, but it’s only an additional $20 when opting for an annual subscription. This pricing structure ensures that businesses can choose the most suitable option for their specific digital signage requirements.
Streamlining Terminology: From “Shows” to “Layouts”
In response to user feedback, Yodeck has simplified its terminology by renaming “Shows” to “Layouts.” This change aims to make the platform more intuitive for new users while maintaining functionality for existing customers.
Will this change affect how you use Yodeck? The good news is that the core functionality remains the same, so long-time users should have no trouble adapting to the new terminology.
Additional Interface Improvements
- Updated Layout Editor (formerly Show Editor) with a fresh look
- Removal of multiple layout ratios to streamline the design process
- Continued focus on user-friendly Portal improvements
Enhancing Hardware: The New Raspberry Pi 4 Aluminium Case
Yodeck’s commitment to quality extends beyond software improvements. The new Raspberry Pi 4 Players now come in a sleek aluminium case, offering both aesthetic and functional benefits:
- Professional appearance
- Improved heat dissipation without fans
- Enhanced durability for long-term use
By addressing the increased power and heat generation of the Raspberry Pi 4, Yodeck ensures that your digital signage hardware remains reliable and efficient over time.
Customization and Flexibility: Making Templates Your Own
While Yodeck’s new Layout Templates offer professional designs out of the box, they also provide ample room for customization. This flexibility allows businesses to maintain their unique brand identity while leveraging expert design principles.
Customizable Elements in Layout Templates
- Text content and styling
- Image replacement
- Widget placement and configuration
- Color schemes
How can you balance professional design with brand consistency? Yodeck’s Layout Templates serve as a starting point, allowing you to infuse your brand’s unique elements while maintaining a polished, professional appearance.
Yodeck’s Commitment to Backward Compatibility
While Yodeck is excited about the new Raspberry Pi 4 Players, they understand that many users still rely on older hardware. To address this, Yodeck has confirmed ongoing support for previous Raspberry Pi generations:
- Raspberry Pi 3
- Raspberry Pi 2
- Raspberry Pi 1
This commitment ensures that businesses can upgrade their hardware at their own pace without losing access to Yodeck’s powerful digital signage platform.
Maximizing the Impact of Your Digital Signage
With Yodeck’s latest updates, businesses have more tools than ever to create compelling digital signage content. To make the most of these new features, consider the following best practices:
- Analyze your audience and choose industry-specific templates that resonate with them
- Regularly update your content to keep displays fresh and engaging
- Experiment with different layouts to find what works best for your message and location
- Utilize the power of Raspberry Pi 4 Players for complex, data-driven displays
- Take advantage of Yodeck’s customization options to maintain brand consistency
By combining Yodeck’s user-friendly platform with these strategies, you can create digital signage that captures attention and delivers results.
The Future of Digital Signage with Yodeck
As Yodeck continues to innovate and improve its platform, users can expect even more exciting features and capabilities in the future. The introduction of Layout Templates and Raspberry Pi 4 Players represents a significant step forward in making professional-quality digital signage accessible to businesses of all sizes.
Potential Future Developments
- Advanced analytics and audience measurement tools
- Integration with emerging technologies like AI and IoT
- Enhanced interactivity and personalization options
- Expanded template libraries and design tools
How can businesses prepare for the evolving landscape of digital signage? By staying informed about Yodeck’s updates and investing in flexible, future-proof hardware like the Raspberry Pi 4 Players, you’ll be well-positioned to take advantage of new features as they become available.
Yodeck’s commitment to user-friendly design, powerful hardware, and ongoing innovation makes it an excellent choice for businesses looking to make a lasting impression with their digital signage. Whether you’re new to digital signage or looking to upgrade your existing setup, Yodeck’s latest features provide the tools you need to create stunning, effective displays that engage your audience and drive results.
As the digital signage industry continues to evolve, Yodeck remains at the forefront, providing solutions that combine ease of use with professional-quality results. By leveraging Layout Templates, Raspberry Pi 4 Players, and Yodeck’s intuitive platform, businesses can create digital signage experiences that stand out in today’s competitive landscape.
Are you ready to transform your digital signage strategy? Explore Yodeck’s new Layout Templates and Raspberry Pi 4 Players to discover how these powerful tools can elevate your displays and help you connect with your audience in meaningful ways.
Remember, effective digital signage is an ongoing process of refinement and adaptation. As you implement Yodeck’s new features, pay close attention to audience engagement and feedback. Use this information to continuously improve your layouts and content strategy, ensuring that your digital signage remains a valuable asset for your business.
With Yodeck’s latest updates, the power to create professional, impactful digital signage is at your fingertips. Take advantage of these new tools to craft displays that inform, engage, and inspire your audience, driving your business forward in the digital age.
Create Dazzling Screen Layouts with Yodeck’s Layout Templates
We’ve got a belated Halloween treat for all our devoted Yodeckers. And we can’t wait for you guys to try it out. Here by popular demand, we’re proud to present Layout (Show) Templates! No need for design-savvy, totally customizable and easy to use. And we started shipping out Raspberry Pi 4 Players!
Shows are now called Layouts (plus other news)!
We know, you’ve grown kinda attached to the term Shows to describe the fancy screen layouts you guys love to design. But the feedback we got from new users was that it was a tad confusing, at first glance. So we decided to simplify it. So as of now, Shows are called Layouts. We changed nothing else in terms of functionality, so it’ll be easy for our long-time users to get used to.
Also, we spruced up our Show Editor (now called the Layout Editor!). It’s got a new look, but we also did away with multiple layout (formerly show) ratios. Why? Because it seemed like you didn’t really use them. And here, at Yodeck, we’re always tweaking our Portal to make it the most user-friendly and useful to you, our customers.
And the biggest change?
Well, it’s a show-stopper (pun intended), so drum-roll, please ……
Layout Templates (Show Templates) are here!
Create layouts like a pro with our brand new Layout templates! Because it can be hard to design layouts that look professional and grab your customers’ attention, we’ve taken the guess- and grunt-work out of the equation for you!
That’s right! Under the Layout Editor in the Layouts feature, you can now find a range of professionally designed, stunningly beautiful, ready-to-use layout templates. What’s even better is that they’re categorized by industry, with relevant images specifically chosen to attract more customers; and help get your message across in the most effective way possible.
And we know you all like to add a personal touch when it comes to your digital signage. So, all our templates are fully customizable. What does that mean? You can change the template image with one of your own, add your own text, select text styles. And it’s all done right in the Layout Editor without disrupting the template design. Of course, you can choose between portrait and landscape orientation as well, so that your layouts look amazing no matter what kind of screen setup you’ve got.
All you do is save any Layout template you choose, like you would any other layout you create, and watch the Yodeck magic happen on your screen!
Check it out!
Raspberry Pi 4 Players are on their way!
You read that right! We started shipping Raspberry Pi 4 Players, and we’re extremely excited. Not only does it mean we can offer you lots of great new features, like 4K support, better graphics and more memory, but RPi 4 Players are future-proof. So you know this new hardware will provide the kind of robust, reliable tech you need for all the great things Yodeck has in store for your digital signage future.
The first thing you’ll notice is a change in our Purchasing process in the Yodeck Portal. You get to choose the memory size you need, either a 1GB Raspberry Pi 4 Player or a 4GB RPi4. A 1GB Player will still only cost you $79. And of course it’s still totally free with any annual plan you purchase. We suggest you buy the 1GB Player if your content contains full-screen playlists with videos, images and documents; or if you run simple Layouts with a couple Widgets and a ticker.
We recommend the 4GB Player if you run complex Layouts with multiple Widgets, overlays and multiple Playlists, or if you display Playlists of Web Pages; all of which are usually heavy data dashboards. The 4GB version comes with a $20 surcharge, meaning it’s priced at $99 if you purchase a standalone Player, or it’ll only set you back $20, if you opt for an annual subscription.
Another change you’ll see when you unbox your brand new Player is that it comes in an awesome aluminium case. And for good reason, too. Not only does the new case look sleek and professional; it also works great to dissipate heat without any fans. After all, a powerhouse of a computer like the RPi4 needs a little more tech TLC.
Continued support
For those of you still using other Raspberry Pi models, we will, of course, continue to support all Raspberry Pi generations. Including RPi3, RPi2, even RPi1.
Buy now!
Release Notes
New features
- Shows are now called Layouts! It keeps things clear and simple for new users, and we know our old users will catch on quickly.
- Yodeck’s brand new Layout Templates are here! You can find a whole range of professionally designed layouts (previously called shows) with relevant images that are categorized by industry and you can import them to you Yodeck account. You can customize text, and you can even change the template image with one of your own, while still preserving the layout template design. And you can also choose between portrait and landscape orientation when you select a layout template, so that your layout looks great on screen. You’ll find the new templates right in the Layout Editor (what we used to call Show Editor).
- We started to ship out Raspberry Pi 4 Players. Our purchasing process now has an extra step so you can select the 1 GB Raspberry Pi 4 (still free on an annual plan) or the 4 GB model which only costs an extra $20 when you order a Player from us.
Improvements
- The Layout Editor has a new look to streamline layout creation with the new layout templates. The biggest change is the elimination of the multiple ratios feature as it was superfluous to most users. If users require multiple ratios for the same layout, they will have to create a separate layout for each ratio.
- The Raspberry Pi 4 image is out of beta and is available to download right in your Dashboard!
- You can now add custom TLS/SSL certificates to Players. This is especially useful for self-signed certificates or for networks with transparent web-filtering proxies. You can do this through the Advanced Security page of the Monitors section.
- Users who create a new custom widget can now add their own thumbnail, screenshots and description for that widget so it looks great in the Widget Gallery.
- Network Administrators now see the host name of the Player when they go to the Monitor Status section.
- We added lots of new fonts you can choose when you create a Twitter Widget!
- You can now see where each Monitor Tag is used, so you know which Player has that Tag.
- When you’re in full screen mode in the Layout Preview (previously called the Show Preview), image thumbnails now appear in full resolution.
Bugs fixed
- When you’d try to save a tag-based playlist in the Enterprise version, an error message would appear, asking you to select a Workspace, even though a Workspace was already selected. We fixed it so an error message only appears in the event that no Workspace was selected.
- The editing of Widgets no longer gets blocked when users type double quotation marks (“) along with the @ symbol in the name.
- We fixed an error message that asked you to choose a Workspace, even though you might only have one Workspace to choose from. Now the Default Workspace option is the only Workspace listed, and “Add All 1 Workspaces” was deleted.
- Raspberry Pi 4 Players had an issue with the ticker widget displaying a different color from what was selected. Now they show the correct color.
- Enterprise WiFi is now working on the Raspberry Pi 4.
Theme ideas to help you customise your home screen!
Apple just dropped its newest software update, iOS 14, and people are doing some really cool things to their home screen. Here’s some layout inspiration!
Remember back in 2013 when everyone used to be obsessed with making their iPhone home screens look really aesthetically pleasing? Well, it’s back! With iOS 14, Apple has introduced the ability to change the layout and theme of your home screen, and it’s created a huge new social media trend.
Social media users are spending hours customising their home screens, and they’re posting their results on TikTok and Twitter to give other people a bit of inspiration.
Here are 10 cool iOS 14 layouts that you could try.
- YOUTUBE: Griffin Johnson releases diss track about Dixie
Photo Illustration by Lorenzo Di Cola/NurPhoto via Getty Images
10 cool iOS 14 layouts to give you some inspiration
With the new iOS 14 update, it’s all about using the new widget feature alongside apps and photos to create a layout that’s both practical and looks really pretty.
Million Dollar Listing LA | Season 13 | Preview Trailer
This one follows a pink floral theme, with widgets to show the calendar and large photos in-between the apps.
Lots of people are showing their home screen layouts on TikTok.
This one also follows a colour theme, this time pink and black, again with photo and calendar widgets.
You could theme your home screen around a particular person, or group of people.
Or around your favourite brand. Take this one for example, which is all Off-White theme.
Lots of people have chosen to theme each page by colour.
You could even change your app icon pictures by using shortcuts.
What about a space theme?
To make your apps easier to find, use photos that still show what the app is. You can find loads of aesthetically pleasing app icons on Google Images.
This person has gone for an all black theme.
A popular place to find images is Pinterest. Try typing in a colour + aesthetic. For example ‘pink aesthetic’ or ‘black aesthetic’ to find images themed around that colour.
This one uses lots of photos widgets and app images.
Here’s another one that categorises each page by colour.
You could even change your home screen layout according to the season.
But you don’t have to change all your app icons, as simply introducing a few widgets to your home page can instantly give your iPhone a new look, and make it really easy to use.
This content could not be loaded
Well since Instagram is down and the iOS 14 update came in. Why not share my home screen ? pic.twitter.com/Tj5rDgVo6d
— Playboi Quentin ??? (@hokage_quentin7) September 17, 2020
In other news, Is Starbucks’ Apple Crisp Macchiato vegan? Ingredients explored!
Student Housing | Buildings | Student Housing
Our students choose where they live and with whom they live. We offer many community and building options, so it’s easy to choose a campus residence that best suits your needs, desires, and budget.
Four types of student residences are available: traditional residence halls, contemporary residence halls, residential colleges, and apartments.
Building Amenities Chart
Rates
Room Types
The following are provided to all residents in all of our buildings: basic cable, wireless internet, student ID access, central heat & air, laundry facility, furniture.
If you require student housing accommodations due to a disability, including the use of a service or assistance animal, please contact Student Disability Services.
Traditional Halls
Our six traditional halls, built between 1952 and 1973, offer classic residential experiences. Each building has a unique set of amenities. Community bathrooms are conveniently located on each floor or wing.
Our custodial staff clean the community bathrooms and common areas twice daily. Students are responsible for keeping their rooms clean.
Traditional halls house students by gender. Gender designations and classifications for 2021-2022 are listed.
Contemporary Halls
Our newest residence halls feature in-room bathrooms as well as amenities such as community kitchens, large lounges, and spacious study rooms. Males and females live on separate wings in these buildings.
Our custodial staff sanitize high traffic areas and clean common areas twice daily.
Contemporary halls house both females and males. Community locations for 2021-22 are listed.
Residential Colleges
Our residential colleges (RCs) offer enriching experiences to undergraduate students of all classifications. These family-style communities include faculty fellows who live in the buildings and host events and activities for members.
The RCs have all of the amenities included in our contemporary halls as well as libraries, classrooms, and the RC Marketplace dining facility.
Our custodial staff sanitize high traffic areas and clean common areas twice daily.
Residential colleges house both female and male members.
Apartments
Our apartments provide sophomores and upperclassmen with a more independent style of living that’s conveniently located on campus.
- Campus Walk
- Sophomores & upperclassmen
- Graduate students
Northgate
- Sophomores & Upperclassmen
- Graduate Students
How to Install a Floating Vinyl Floor
– The Good Guys
So the first part of the next step is probably the hardest part: waiting. Whether choosing glue-down or floating type vinyl planks, they should be allowed to acclimate inside of your home for at least 48 hours in the space where they are to be installed. Vinyl planks, along with other types of flooring, can change dimensions slightly depending on the temperature and humidity they are exposed to. Acclimating the product helps keep this material’s natural expansion and contraction from becoming a problem after installation.
While you’re waiting, go ahead and knock out the rest of the prep work on your list. If you are only installing vinyl planks in a single room, you will want to install transitions at the doorways. Transition pieces give a clean appearance where one kind of flooring meets with another. To determine which transition piece will work best for your floor, think about the two kinds of flooring you are joining. If the two kinds of flooring are hard-surface of about the same height, you will want to use a t-mold. If one is lower than the other, a threshold or reducer may be the best option.
Many manufacturers make transition strips that match the flooring in color or style. Typically these are supplied with a molding track, a u-shaped piece of metal that can be cut to the desired length and attached to the subfloor for the transition piece to snap into. The doorway should be clear of any material above the subfloor in the threshold where you are installing your transition molding track. If your subfloor is concrete, you will need to use a hammer drill with a masonry bit to install the channel into the doorway. For wood subfloors, this piece can be screwed or nailed into place, and reinforced with a silicone adhesive.
With your transition molding track properly installed, the next thing standing between you and your beautiful new flooring are those pesky door jambs. You want to be able to slide your vinyl plank underneath the door jambs a bit in order to get a seamless installation. If you have any trim work like quarter round or shoe molding, start by carefully removing it from your baseboards. Use a putty knife and a pry bar to get behind the trim and then gently pry it off of the baseboards.
Now that the shoe mold trim is off, use a scrap bit of flooring laid directly on top of the subfloor, and mark the jambs to be cut with a carpenter pencil prior to cutting. This provides a clear line to follow and will help ensure you do not over cut your door jambs. We recommend cutting one and checking it with the product for a clean fit prior to cutting all of your jambs. You should not have to force the floor under the jamb. Always leave about 1/16″-1/8″ of breathing room for caulking.
Make sure your subfloor is clean and any trim work, such as quarter round or shoe molding, has been removed. Vinyl planks can often be installed directly over existing flooring but make sure to account for your new floor height. Whatever will go under your vinyl plank installation must be pretty smooth. Sand down any high spots and fill in any gaps or irregularities with leveling compound to prevent issues after installation. Thicker vinyl planks do a better job of hiding imperfections with the subfloor. Thin vinyl planks can telegraph which means the imperfections (such as grout lines if going over tile) can be seen from where the vinyl planks sink into these variations in height over time.
Assuming your subfloor is smooth, you’re now ready to start laying your flooring! For floating flooring you will want to first begin with a layer of underlayment, running in the same direction as your finished flooring. Unroll the underlayment along the longest wall and cut to fit. The next sheet of underlayment should have a slight overlap to the previous strip. Many underlayments are self-adhering to create a consistent moisture barrier. If the product you’ve purchased is not self-adhering, you can use underlayment tape to seal these seams. Continue until the room is covered, removing excess underlayment from any vents, corners, or edges using a razor knife.
Advances in Collection View Layout – WWDC19 – Videos
Download
Welcome. My name is Steve Breen. I’m engineer on the UIKit team.
And I’m joined today by me colleagues, Troy Stephens from the AppKit team; and Dersu Abolfathi from the App Store team.
So today we’re going to talk a little bit about advances in CollectionView layouts. Now, we’re going to break the talk down into four broad segments. First we’re going to go over the current state-of-the-art — how do we do this today? How do we define CollectionView layout in our applications? Then we’re going to go over a brand new approach that we’re bringing to all the platforms this year — iOS, tvOS, and the Mac.
And then we’re going to go on to some hands-on demos so you can see this API in action.
And then we’ll do a tour of some more advanced features of how you can get the most out of this API.
All right, we got a ton of content. So let’s get started.
All right. So first let’s talk a bit about the current state of UI. What do we do today? How do we define CollectionView layout? Now, when CollectionView was introduced back in iOS 6, it has a really novel concept; it had a separate abstraction for defining layout.
So it’s really two classes acting in concert with each other, where one does a rendering and one is responsible for where things go or the CollectionView layout.
Now, CollectionView layout is an abstract thing. So we have to subclass to get use out of it. And we shipped a concrete layout class with iOS 6 called CollectionView flow layout.
Now, flow layout was really useful for a ton of different designs, especially back in the iOS 6 days where things were maybe a little bit simpler.
And it did this because it uses a line-based layout system. Now, we covered this last year in a tour of UI CollectionView. But in summary, a line-based system allows you to lay out on the orthogonal axis, of the layout axis, until you just fill up the amount of space you have available and we drop the next line.
And this is really great, it works simple, easy to reason about. You can get it up and running pretty quick.
But what about today’s apps? So as devices got more heterogeneous and screen sizes got different, things get mother complex in today’s apps. And here we see the App Store that we’re shipping in iOS 13.
Now, if your designer handed you this design today, what would you do? Well, you’d think, “All right, I got to choose how I’m going to design this thing.” And there’s a lot of options now more than never.
And you might settle on CollectionView. And if you did that, you would think to yourself, “Well, can I really make flow happen here?” And you’d probably discard that right away.
So at that point now you’re facing a custom layout. And, you know, I see what you guys say on Twitter about custom layouts. And they can be complicated. So last year we talked about this in a tour of CollectionView.
And we talked about what’s involved with building a custom layout.
Now, there’s a certain amount of stuff you have to provide in your concrete layout class, and we walked through those things. And we also walked through the performance considerations you had to think about when you’re designing a custom layout to make sure it’s fast if you have a large number of items in your CollectionView. But we didn’t cover everything, and there’s additional challenges if you’re building these custom layouts.
And there’s a number of those, but I’ll cover a couple here, you know, supplementaries and decoration views — two of the view types that you can manage in CollectionView — are a little tricky in custom layout. You’re on your own.
And there’s also self-sizing challenges you have to wrestle with. And we’ll get into that more later. So this year we’re bringing a brand-new concrete layout class to the platforms that sits right alongside flow as a peer.
And we call this compositional layout.
Okay. So — Haven’t even seen it yet.
So — so what is compositional layout? What does this thing do? Well, just a little philosophy right up front. Hey, what is this built on? It has three basic tent poles that we built compositional layout on. First, it’s composable — the idea of making complex things from simple things.
And it’s designed to be flexible. You can write any layout with compositional layout. It’s extremely flexible. And it’s also fast by default. So we’ve taken all of the performance optimizations on ourselves in the framework so you don’t have to think about it. Compositional layout’s all about describing or defining what you want to do. It’s a declarative kind of API.
All right, so composing — you’re going to hear this word a lot in this conference. So how do we do that with this compositional layout idea? Well, it’s all about taking small bits of layout, these little components, and stitching them all together. So you’re composing larger layouts from smaller bits of layout. And we’ve learned from the great lessons of flow layout where we bring some of those line-based lessons where you can lay out along a line. We may now how many items there are, we may not. But we can lay out items on a line in these little layout groups.
And finally, as the name implies, you don’t subclass. You literally just create a thing and compose some elements and then — and then you’re good to go. All right. So that’s a lot of talk for no code. And we’re all about code at a conference like this, right? So let’s go look at some code. All right.
So this is a hello, world compositional layout. There’s five lines of code. Now, I’m going to switch over to my device over here.
All right. So here we see our example app. And I’m going to go to the list example. Wow, that’s a boring layout. Okay, so this looks like a table, right? Here we go.
Not much to that. All right. So let’s focus strictly on the code for a second. Let’s look at this.
All right. So there’s a couple observations that will jump out right away. And the first observation because I know developers is, like, “Hey, Steve, I can write this in two lines of code with flow. What is all this nonsense?” And it’s absolutely true, you probably could do something like that. But what I want you to anchor in your mind and think about throughout the presentation is that the amount of code as these layouts get more and more complex does not grow linear to the problem size, it just kind of tapers off. Because we’re just going to compose in new things to the layout in very simple, easy-to-reason about ways to get very complex layouts.
I’m super excited to show you this stuff.
The second observation is I want you to look at the — there’s a natural progression here of these types, right? We got, like, you know, five types here. It’s kind of — what’s up here? And the types I want to focus on first are these four types, and they have this natural abstraction where they climb this ladder. And we start with an item which gets folded into a group. And the group goes into a section. And the section goes in our layout.
Now, let’s look at this visually.
All right. So here, this big rectangle is the layout. And the layout is your entire layout.
And now we have these blinding white guys that represent our sections, right? And this maps directly onto the data sources, you know, content for those sections.
And then we’re going to represent a kind of a grid-style traditional layout in this particular example. We see these groups which represent our rows.
All right. So inside that we have items.
So this is basically just showing off this hierarchy we’re going to see all throughout the talk, this repeating pattern of item, group, section, layout.
Okay. So now I want to do a little bit of talking about some of the concepts, these core types in compositional layout. And once we get through all this, we can jump over to the demos to see how it all fits. So I want to start with talking about sizing.
So compositional layout has extended sizing to make it really easy to reason about how you size things inside of a compositional layout.
And everything has an explicit size, has a strong opinion about how big it is.
Now, we’re in this Euclidian 2D geometry plane, all right, with flexion view. And as such, a size really is just two properties. It’s a width and a height dimension.
And here we can see we’ve got a stripped-down version of that type definition. And it has a width and a height dimension. But notice that the width and the height dimensions, they’re not — they’re not scalar values. It’s not just a float or something, it’s actually another type, this NSCollectionLayoutDimension.
All right. So what’s that? It’s really simple. This is an axis-independent way to describe how big a particular axis is. And we have four different variations of how to define this thing.
And let’s walk through these in a kind of a visual way.
So let’s say you have an item and you want to describe its size relative to its container.
So the outer-most container will be your CollectionView.
Here we would just say, hey, this item’s widthDimension is going to be a fractional width or 50% of the width of its container.
And similarly, we can say the height of something is a fractional height of its container, in this case 30%.
Now, because you can specify things in this axis-independent way, we can define something as having a specific aspect ratio, in this case an aspect ratio of 1, by defining both the width and the height as a dimension, a fraction of the width of its container.
And we say it’s 25% as its container, and the height mirrors this.
Okay. So those are the fractional variants creating a dimension.
What about point-based values? Well, we have two.
First one is the simplest, absolute.
You know you need this thing to be 200 points because your designer’s emphatic it’s got to be 200 points. That’s what it is, right? Here we go, we’ve got an interesting concept, estimated.
So if you don’t know exactly how big an item is going to be — and we’re going to talk about this a lot — you can estimate it. Say it’s 200 points. And then over time, it grows as the item renders and we know a little bit more about the content in that item.
All right. So that’s layout dimension and size.
Next up let’s talk a little bit about item. This is very simple. This is a cell or it’s a supplementary. It’s a thing that renders on screen.
And there’s more stuff here you’ll see in the STK, but it’s a taste of that type definition.
We see that when we construct one of these things, we give it a size. Everything’s got an opinion about size.
All right. So we’re going to continue up that abstraction hierarchy. We got item, and now we’re in group. And what’s a group? A group is — it’s the workhorse. This is your basic unit of layout that you’re going to compose together. We have three forms: We have horizontal, vertical.
You can think of these as, like, little mini flow layouts, right? They lay out on a line on the horizontal axis and vertical axis.
But then remember we talked about before that it’s flexible. Well, if you have something that doesn’t lay along a the line and there’s a lot of layouts that don’t do that. We have a custom group.
So what is this? That allows you to specify the absolute size and position of items in a custom way. So if you have something where you have a pre-defined generator that generates layouts, you can use a custom group.
Or if you’re doing a radial layout and you want to compute that, you can do it with a custom group.
And what’s cool is you can compose custom groups right alongside vertical and horizontal. So we build up the complex from the simple.
All right. So that’s group, the workhorse.
Next up we have NSCollectionLayoutSection.
This is just as the name implies, this is the layout definition on a per-section basis of the CollectionView, maps directly onto the data source notion of how many items are in that section. And we can see, as promised, that when the initializer here takes in allow group. So we’ve gone from item, group, section.
All right. Our final stop on this traversal of stuff, these are the two top-level layout classes, right? So for iOS and tvOS, we had UI CollectionView CompositionalLayout.
And on the Mac we have NSViewCompositionalLayout.
Now, what’s interesting here is the definitions for all these things are the same, regardless of platform.
There’s just some minor differences in the top-level classes.
All right. And the final thing to note here, and this is actually really interesting, which we’ll see a little bit more in the demos, is the way you construct a compositional layout. There’s two ways. And the simplest way is just specify a layout section’s definition. So this is very similar to what we do with flow today, right? Because flow weighs out every section like every other section. It’s homogeneous in that way.
The compositional layout extends this idea.
Because now we have this great definition for what a section is, you can specify a closure that will be called back and will ask for those definitions for the sections on a per-section basis. Now, this opens up a lot of possibilities because now your layouts can be completely distinct between sections. And we have a lot to show you in the demos of this later on. And hey, later on is right now. So enough nattling on about types, we’re going to go see this in action. And to do that, I’m going to bring up my colleague, Troy Stephens. Troy? Troy Stephens: Thank you, Steve.
As promised, we’re going to look at some code. We’re going to dig right into the practical mechanics of how you can build just about any kind of layout you can dream up from these simple elements that Steve just described.
So make sure to download the sample project for this talk if you haven’t already. That way you can follow along, study it at your leisure, and most importantly, use our code freely in your own projects. Whatever kind of layout you might be thinking about implementing, there’s likely to be an example we’re going to look at today that is similar.
By taking our code as a basis for yours, you’re going to be that much closer to your goal that much more quickly. We’re going to see that it’s really easy to take any existing compositional layout description and incrementally refine it to be exactly what you want.
Now, as we walk through our examples today, I want to you notice the same basic pattern at work in each of them. This is the pattern that Steve introduced us to.
Every single compositional layout description is composed of the same four basic parts: Item, group, and section descriptions wrapped in the overall containing layout. So in each of the code examples we’re going to look at, we’re going to see that same four-layer nested structure. And in the more advanced topics, we’re going to see how you can actually nest groups inside of other groups in order to construct or compose more complex, sophisticated layouts out of simple, easy to understand parts.
So let’s get to the code.
And here we have — we’re going to start with our list example, which is the one that Steve showed us. So here’s — this is about the simplest kind of useful layout we can imagine. It’s a single-column list where the items span the width of our CollectionView.
And if I rotate the phone, we can see that indeed the items expand to fill the available width while maintaining the same constant height. So how do we implement this using compositional layout? I’ve got our list view controller source file open here, which is the one where there is implemented. And in each of our examples today, we’ve just gone ahead and declared a create layout function that neatly encapsulates our description of our compositional layout that we then return back out to be hooked up to our CollectionView just like any other CollectionView layout would be.
So first thing to notice here, we start, as I promised, by describing an item and itself size.
We take that item description and we use it to describe a group of items. Next, we wrap that group in a section.
And finally, we create and return our compositional layout.
So there’s that item, group, section layout structure. The other thing I want you to pay attention to here and we should really understand before we move on to the other examples is the way that the items are given their size.
In this case it is the group size that ultimately ends up determining the item size. And I’m going to explain how that works. So groups might seem a little superfluous in this simple list example. A group in a compositional layout typically represents some repeating structure that you’re going to have, a column of items or a row of items. In this case it’s a row, but we really have kind of a trivial case where we only have one item per row. So each item is going to get its own group. But groups are always there as a consistent part of the compositional layout description, and we’re going to use them to our benefit to help define the item sizes.
So Steve explained all about container-relevant sizing.
Let’s look first at our group size description.
We’ve asked here for our group, which is our row in this case, to span 100% the width of its container. The group’s container is its section, which in turn spans the layout or the CollectionView.
Meanwhile, we’ve asked for each group’s height to be an absolute value of 44 points tall.
Now, notice that this has basically already defined what our item box should be — that’s how we want our item sized, the width of the CollectionView and 44 points high.
So all we need to do up here where we specify our item size is to say that we’d like each item to be 100% the width and 100% the height of its container, the item’s container being the group.
So that’s all it takes to implement a list. But the interesting thing as we go along, we’re going to see that we don’t have to make a lot of code changes to get some pretty dramatically different layouts.
Let’s take a look at another example, that being I’m going to open up our grid here. And this is a five-column grid of edge to edge items.
And we can see if I rotate the phone, that this layout is indeed described in such a way that we always get five columns across. The items always remain square, and they’re always sized such that we get exactly five columns wide.
Now, this is an example where groups actually come in a bit more handy and it will be easier to understand what their function is.
So opening up the grid view controller source file, looking at our same create layout function, again, we have that item, group, section layout structure.
Basically looks like our list layout description. The only thing that’s different here is the item and group sizes that we specified. So let’s look at how those differ.
We still want each group — since a group represents a row — to span the entire width of the CollectionView. That’s great.
But now we don’t want our items to be the same width of their group; we want to have five items across. And the way that we achieve that in this example is up here we specify the item’s width to be 20% of the width of itself container. The item’s container is its group or row, so we’re going to have — we’re going to be able to fit exactly five items across because of this width that we’ve specified.
Now, as for the heights, instead of an absolute point value, we’ve declared that we want the height of each group or row to be 20% of the width of the group’s containers. And notice we’re using this ability to specify fractional widths or heights across axes here. And this is really handy because it’s how we make our items square. The item width and the group height are the same.
And since the group’s height sets the item’s height, all we need to do is set our item height to be 100% of the group’s height.
So that’s it, that’s pretty simple for creating a grid. And we did so without really fundamentally different code than we used for implementing a list.
Now, often if you get a layout from your designers, usually you’ll want to have some space between items. So let’s look at how to add that next.
Bringing up the inset items grid example, we still have a five-column grid, but we just have some space now around and between the items.
Let’s open up our inset items view, InsetItemsGridViewController to take a look at that. And here we have, if you compare this with the previous example, you’ll see that there’s only one line of code different here. And this is a useful observation because you can really think about this layout as being computed almost exactly like the previous edge-to-edge layout.
Each item is allocated the same box that it was given before, the same edge-to-edge squares. But in this case we’ve decided that instead of sizing our items to take up the full square they’re allocated, as a last step we’re going to inset the item’s content by five points on each side. So item content insets work usefully in this way. Sort of a last-stage subtraction from the layout that was already computed. So that’s really cool. We’ve seen how to do lists and grids. And we’ve achieved our grids using relative item sizing. But there’s another really powerful way to be able to grid-like layouts with rows and columns.
And I want to show you that so we can be familiar with it.
So I’m going to pull up our two-column grid example here. And superficially this looks pretty much just like the five-column grid, we just have fewer columns, right? And indeed, if I rotate the device, it adapts: It’s always two columns and the items expand to be the appropriate width.
But this is implemented a bit differently and it’s instructive to take a look at how.
So in our TwoColumnViewController here, we’re going to look at our createLayout function.
And so the interesting things to notice here, again, we have that item, group, section layout structure. But the first thing to pay attention to that might not be immediately obvious is that we are constructing our horizontal group that represents each row in a slightly different way.
We’re using a different form of the initializer that takes an explicit count parameter. Here we’re explicitly specifying that we want to have exactly two items per group, two items per row.
Now, this will cause compositional layout to automatically figure out what the item width has to be in order to make that happen.
We do specify an item width here because we always have to. We say 100% of the container. But that value at the top ends up effectively getting overridden. When you ask for a certain number of items per group, compositional layout — that compositional layout is going to take that as kind of an override and it’s going to compute whatever width is actually necessary to fulfill our request. We’re also using a different way of putting space around and between the items. Compositional layout offers a variety of ways to do this, which makes it a really flexible API.
Instead of specifying itemInsets in this case, we’re specifying contentInsets on the section.
So here we want to have a little margin on the left and right side. And we only have one section, so this basically applies to our whole layout. So we’re asking for 10 points of leading and 10 points of trailing space.
Notice while we’re on this line of code that compositional layout is structured to encourage you to express your layouts in layout direction-agnostic ways. So instead of left and right explicitly, we’re specifying leading and trailing. And this is fantastic because when you run your app in a right to left language, you’re going to automatically get the right layout adaptation.
Here we’re also using a property called interItemSpacing on the group. So we can ask for a group to put a certain amount of space between its items, in this case fixed spacing of 10 points. And that’s it. Everything else is very similar to the previous examples. We’re just using that ability to explicitly specify the number of items per group.
So that’s all pretty neat.
But Steve mentioned another really cool capability that I want to dive into.
He mentioned that it’s possible to have a different layout for each section. So far we’ve only looked at one section layout so far, but what if we want to have multiple sections, yet have them able to each have their own distinct layout? So let’s open up our distinct sections example.
And here we have a layout that’s sort of a composite of some others that we’ve done. So we have three sections in this layout.
The first section is a simple, single-column list like we had before.
The second is a five-column grid of square items. And the third is a three-column grid of rectangular items.
So how do we implement this? Let’s open up our DistinctSectionsViewController and look at our createLayout function.
Now, at first glance this looks somewhat significantly different, but it’s really just that the outermost component of it where we instantiate the layout, instead of coming at the end, it’s coming at the beginning.
And here’s the reason why.
So we’re instantiating the compositional layout using an initializer that takes that section provider closure as its parameter that Steve mentioned.
So section provider closure, I mean, this is an arbitrary block of code. So as you can imagine, you can respond to this being invoked by returning whatever kind of layout you want for that section.
Your past two parameters, section index that tells you which section — it’s going to be zero, 1 or 2 in our case.
And a layout environment that contains various useful properties you can refer to. We’re going to look at that in a moment.
So — but everything else inside this closure is just the same code that we wrote before. We’re specifying an item description.
We’re wrapping that in a group description. And then lastly, we specify a section description, and that’s what we returned from the section provider closure.
Now, compositional layout knows to automatically invoke this closure whenever it needs to requery for a new description of a particular section.
So the contents are pretty much very similar to before.
The interesting thing that differentiates our various layouts is mainly that we have a different number of columns, right? So we’ve declared this SectionLayoutKind type, it’s declared at the top of the source file. Let’s take a look at. When we initialize it, we pass in the section index that’s going to be zero, 1, or 2.
And all it does is map that to an enum type that tells us the SectionLayoutKind is going to be either a list, or grid5, or grid3. And we’ve also added this handy gettable property, columnCount, where we can just ask that SectionLayoutKind value how many columns we should have in that layout. Going back to our createLayout function we can see where we ask for that columnCount, and we use it in two different places. As in our two-column grid example, we’re explicitly passing the number of columns that we want when we instantiate our horizontal group.
So we’re leaving it to compositional layout to automatically figure out what sort of item width that implies. We’re also using the number of columns here to determine the group height or the row height for the layout since we want to vary it. So you can do this any way that you want. So that’s pretty neat. But what if we want to be able to have this layout adapt, right? What if we rotate the phone and maybe this isn’t making the best use of space? Maybe we could fit more items.
So let’s look at our adaptive sections layout.
Now, at first glance this looks exactly like the previous example. But when we rotate this one, we can see that our first section adapts to show two columns across; our second shows ten across; and our third shows six across.
So how do we implement this in code? It’s actually quite similar to our previous example.
Opening up our AdaptiveSectionsViewController and looking at the createLayout function, this is very similar to the previous example. The first thing that we’ll notice is different that we’ve changed our SectionLayoutKind type.
So we still have the SectionLayoutKind. But columnCount is no longer just a gettable property, it’s a function that takes a parameter. And we’re passing it a width that we’re getting from that layoutEnvironment. So that layoutEnvironment type contains information such as the overall container width that your layout has to work with, and on iOS it also has trait collections info inside it. So you can use all of that information to figure out what kind of layout is appropriate for the current environment. Here we’re just using the width. And if we look at the top where we declared SectionLayoutKind, we can see that columnCount function that’s now a function, and it takes a width parameter that we passed in. That’s the width of our CollectionView basically in this case. And we’ve basically implemented a layout break. We decided that if we have more than 800 points of width to work with on our device, we’re going to go into what we call wideMode. And in wideMode we simply return a larger number of columns for each section.
And that’s it. If we go back to our create layout function, we can see that after we’ve got that number of columns, we pretty much use it in very much the same way as before. So it’s very little code change to get all the way to having an adaptive rotating layout. So this is all very neat. But so far we’ve only really talked about items. We haven’t even delved into what you can do with supplementary views and decoration views. And one of the really cool things I love about compositional layout is that it makes it easier than ever to be able to go beyond just headers and footers and work with arbitrary supplementary views of your own design.
So to tell us a bit more about that and to take us into some of the more advanced topics about other cool stuff you can do with compositional layout, I’d like to invite my colleague Steve back on stage. Thank you.
Steve Breen: So now that we’ve seen how the basics work, how you get up and running with compositional layout, I’m going to walk through how we deal with more advanced topics. Because there’s a ton of different ways you can do custom layouts with compositional layout.
All right. So first I want to talk a bit about supplementary items.
So CollectionView manages three basic view class types: Your cells, the things you interact with to express your model objects; it also represents supplementary items and decoration items.
Now, these are meant to adorn other parts of your layout to give you visual cues about content information, like maybe a badge on a cell that says, “Hey, you got a comment on your tweet,” or whatever.
And we see common uses for these today with these three examples — badges, and headers, and footers. And we have support and flow today with sticky headers and footers. And they float above that content. But we extend this in compositional layout, making this a whole lot easier. And we can simplify this with this notion of being able to anchor content onto an item or group in your layout. It simplifies that visual relationship, how that might work. All right, let’s look at this visually. So here we can see we’ve got this new type, NSCollectionLayoutAnchor.
And here we specify the relationship between these two types. So our supplementary is going to be anchored relative to the geometry of a host space, an item or group in these kinds of ways.
And it’s super easy to reason about.
Okay. So here we see we have NSCollectionLayoutAnchor we create right away. And we specify the edges. We want this item to be pinned to the top trailing side of that particular cell.
And we want it to poke outside of that geometry a little bit. And we see that with fractional height.
Okay. So here we can see the device. So we’ve got these badges on there, right? With my wonderful design skills. We’ve got a four-item grid with those wonderful corn flower blue cells.
And we see here that some of these items have these little notifiers on them, right, letting them know, “Hey, you got something to pay attention to here.” And with this, they kind of poke outside that geometry a little bit, right? They’re not really inside the geometry of the cell itself.
Let’s go back to the slides real quick and walk through this. All right. So that fractionalOffset is what buys us the ability to poke outside a little bit. We’re going to move over fractionally 30% in the positive X and then up in the minus Y 30% as well. And then we see we defined the CollectionLayout SupplementaryItem with a badgeSize and elementKind. So we’re going to refer back to the view class for CollectionView with that registered supplementary type.
And then we specify the container’s anchor, specifying how it’s going to relate. So now that we have this definition of our supplementary, we need to associate it with something. And that needs to be associated with an item, a cell.
So in this case we’re going to initialize it with an extended variant of initializer that takes an array of supplementaries. And that’s it.
All right. So what about headers and footers? So headers and footers are just a tad bit different than supplementaries for these items. When you think about the content that you want to adorn with a supplementary header and footer, you really don’t want that supplementary heard and footer to occlude the content; you want to extend that content area so you can see the content itself.
So in this instance we have a different variation of supplementary called boundary supplementaries. We’re going to bin it to the boundaries of that supplementary — of that host geometry.
Now, we can do these boundary supplementary items for sections or the entire layout, and we can pin them to this whole balance, which do some pretty cool stuff.
All right. So I’m going to switch back over to the device here hopefully.
There we go. All right. Let’s see what this looks like.
So pretty straightforward example. Here we have a pinned section headers and footers. And we scroll and everything looks just like we expect. Look at the code.
All right. So here’s what we got. So it’s similar to what we say just a minute ago with the BoundarySupplementaryItems, except now rather than that container anchor, we see we have alignment property.
And here we specify top for the header and bottom for the footer. We want to go to the top and the bottom of that section of geometry.
And to make sure that header kind of floats and stays pinned to the content area where it’s at in the section, we just specify PinToVisibleBounds. And then we need to associate the header and footer with the geometry it’s going to be in, and that’s the section. We just do that with the BoundarySupplementaryItems array.
Pretty straightforward.
All right. So by now you’ve played around with the brand new iOS 13 card presentation, this whole card design language all throughout the system.
And we see this in scrolling UI’s as well where all kinds of content is grouped together logically with cards. And this is a natural fit for CollectionView because we always had support for notions of decoration views. Well, in the past you had to do the math yourself. Well, now we’ve made it a lot simpler with compositional layout.
And we support this with a CollectionLayoutDecorationItem. You just create it with an element kind and you’re done.
This is intended to be used to have a view that’s behind the section content itself to give you that nice visual grouping.
And to construct it, there’s just one line of code. And then to add it to the section, you just want to specify the items and off you go.
Here we go.
All right. So let’s take a quick peek and see what this looks like. All right. Pretty straightforward. So there’s our list with multiple sections, and we have our decoration views with just a single line of code. So pretty simple.
All right. So here’s a topic near and dear to my heart: Estimated cell-sizing.
So in iOS 13 we spent a lot of time making this fast and accurate.
And compositional layout extends the notion of estimated cell-sizing in very specific ways. It allows you to do per-axis cell-sizing. And this is super important.
Because oftentimes the view hierarchy that you want to get the content of when you render the content, you don’t want to necessarily be fully constrained and wild on all the axes and grow on the X and grow on the Y. You might know how wide the thing is, for example.
An example of our headers and footers, we might know that we want it to be exactly the width of the CollectionView. But, you know, we want the height to vary a little bit.
So I’m going to show an example of this real quick. And we’ve already been in this code before.
So here we see our very familiar sections, headers and footers. I’m going to pull down here and go to my text size widget and ramp it up.
All right. So here everything’s just adapted. It’s done the right thing, right? Now, how do we do this? All right. So here we can see that the height dimension’s estimated. That’s all we did differently here, right? We specified that we knew exactly how wide this thing’s going to be, but we don’t know about the height. We just estimate it to be 44 points.
So as the content’s rendered, we have a better idea. We can invalidate the layout automatically. And this happens all automatically, makes it really easy to support dynamic type in your applications, even with supplementaries and headers and footers. So this is — this is pretty great.
All right. So now we’re getting to some really fun stuff. So what about nesting things? So we talked about this notion of composition early on. Well, let’s talk about how that works.
So the core layout thing inside of compositional layout is layout group. And layout group is actually a subtype of NSCollectionLayoutItem.
Now, because this is a relationship, when you specify the items that are in a layout group, you can also have other groups. So you can nest these. And there’s no limit to this particular nesting, it’s arbitrary. And because we have this, it unlocks a ton of interesting new designs.
Okay. So in this example we see a group is compromised of three items.
And we see this big old monster on the leading side and it has a vertical group on the trailing side, right? So how would we reason about this in code? All right, so this is pretty straightforward, right? We had this horizontal group on the bottom here. And its subitems are the leadingItem itself, right, and a trailingGroup. So it’s very easy to reason about these kinds of things. We can see right away what we’re trying to do. And we just compose in additional stuff and we get these great layouts.
All right. So nested groups are pretty cool. But what about — what about nesting CollectionViews? All right. So here we see the App Store, the refresh for iOS 13.
And I don’t know about you, but when I was a third-party developer, if I saw this particular design handed to me, I’d have a heart attack. This is complicated stuff. This can be challenging. There’s a lot of bookkeeping involved. And — but it’s a common pattern. We see it all the time in today’s applications. And to make this perform well and look great is a bit of a challenge. Well, compositional layout solves this with one line of code.
And I want to show you a demo of this right now.
Okay. So here we have the same group I had from the prior one. But we notice the group’s a little bit squishier, right? It’s about 80% of the container’s width. And this is a vertically scrolling CollectionView. It’s got five sections on it.
But each section scrolls orthogonally with that single line of code.
All right. And we’ve got a ton of different variations of this. And bear with me. I’m going to switch around here. All right. So we’ve got five different ways to do this, right, including the none case, which I don’t want that.
We have two continuous cases. And then we have three paging cases. All right. So I’m going to walk through each one of these in kind here.
All right. Go to our orthogonal scrolling section behaviors demo.
And continuous is just like you’d expect it. This is a very simple, straightforward scroll view-like behavior, you know? You — you had me at bounce, right? It’s got that great — gosh, I could do this for hours, right? All right. So that’s just the normal scroll view behavior. But we have an additional one for this continuous, you know, fluid kind of scrolling that we call continuous group-leading boundary. And that’s a mouthful but it’s pretty descriptive. So as we scroll and we impart volume to it, we naturally come to rest at that group’s semantic-leading boundary. So you people that clap have done targeted content offset or proposed offset before and you know it’s a pain. All right. So with the addition of the continuous behaviors, we have some paging behaviors. And this gets really cool. So this is just like the normal scroll view paging behavior, and we named this behavior paging.
Pretty creative.
And here we can see no matter how much velocity the user imparts, we just get one page of content. And this page is defined as the default scroll view behavior where it’s the width of the CollectionView.
We have two more variants to this, okay? And as you can probably intuit, we have this notion of group paging.
So now we have the semantic notion of what a group is, we can make the page size be the size of the group.
This gives you a really nice behavior. Yeah.
Where you can automatically get that no occlusion thing going on, right, where your content’s always front and centered. And then the final one is group paging centered. It’s just like group paging, but now we’ve centered that group for you automatically. Yeah, it’s pretty cool, right? And that gives you that great peekaboo effect, right, where you can see the content leading and trailing on the side, you know exactly what’s going on.
All right, so that’s a kind of an advanced tour of some of the additional features in compositional app. There’s a lot more. Grab the SDK and check it out.
So at Apple, the notion of dealing with collaboration is super duper important to us. We have to work with other teams all over the company to solve problems.
And as a framework engineer, it’s super duper important for us to deal all the different teams in the company to make sure we know what their needs are for new framework features.
And one of these teams, the App Store team had a new redesign coming up for iOS 13. They really wanted to simplify their code base quite a bit. So as part of that conversation, we talked about compositional layout. And they were real excited about it, went through a bunch of code. So for this, I’m going to bring up one of our adopters from the App Store team, Dersu Abolfathi. Dersu? Dersu Abolfathi: Thank you, Steve.
The App Store is a destination for millions of customers looking for apps that help them get the most out of their devices.
Many of you will visit the App Store on a daily basis, so the content needs to be rich, engaging, and dynamic.
CollectionView plays a key role in delivering that experience.
So here’s the App Store.
If you wanted to build UI like this today using just flow layout, you’d probably start with a CollectionView that scrolls in the vertical direction.
Then for every single section that scrolls on the horizontal axis, you’d need an additional CollectionView, which means more support code to intermediate the presentation and behavior of each collection.
With compositional layout, this can be done using just a single CollectionView. In fact, we’ve done just that.
In iOS 13, App Store has been rearchitected using compositional layout.
Each of the content types you see on this page are capable of vending their own layout description. And all those layout sections come together to comprise our one overall CollectionViewLayout.
We describe this section using just a single layout item which has a known height and which occupies 100% of its container’s width.
That layout item sits inside of a layout group, which itself occupies half of its container’s width. And these are really all the basic building blocks we need to get this UI working.
We take that layout group, stick it in a layout section, and to get that paging behavior we want, we set our orthogonal scroll behavior to group paging.
And we’re off to the races.
In iOS 13 App Store is also getting UI support for languages that read from right to left. And compositional layout helps make that possible.
We construct our layouts using all the same primitives that you’ve seen here today, and compositional layout just takes care of the rest. It ensures that the placement of our supplementaries and our cells is appropriate for our right to left environment.
And furthermore, we don’t have to write a single line of code to make sure that our paging behavior also translates for the right to left layout direction.
So this new API has enabled to us take all of those scrollable regions that we were previously micromanaging and flatten them into a single CollectionView at the top level. All the while, our code has become more concise, easy to reason about, as well as easier to maintain going forward.
Compositional layout has reimagined the way that we think about CollectionViews in our own application, and we can’t wait to see how it enhances the experience for the apps that all of you bring to the App Store. Back to you, Troy.
Troy Stephens: Thank you so much, Dersu. Boy, that is a beautiful redesign. And we couldn’t be more thrilled to see compositional layout already making a difference simplifying the development process for one of our prominent user-facing apps. And I’m so happy to be making the same API available to developers across our platforms. Speaking of which, I’d like to show you a real quick demo of compositional layout working with NSCollectionView on Mac OS.
So when you open the sample project that you downloaded in Xcode, notice that there’s a build scheme and target for the Mac. And we’re going to build and run that here.
And let’s just open up all of our layout examples that we looked at in this talk, and we’ll fan them out.
So here we go. Here they are, our various compositional layout examples. And these are essentially just the same code that we use. We’re programming to the same API’s. The only adjustments you’re really going to see are for metrics where we wanted to apply more macOS-appropriate metrics for things. But we have orthogonal scrolling working here.
And, of course, on the Mac we expect things to behave in Mac-like ways. And one of the things that can happen with CollectionViews on the Mac is they’re continually resizable usually, right? So we’ve got — we’ve made sure that resize is nice and fast, super light-weight, these layouts reevaluate very quickly. And our adaptive sections layout has a layout break just like before. And now that you know how this works, you can easily add additional layout breaks for wider window widths and screen widths if you want.
Of course, we have features like being able to click items to select them. I can use the arrow keys and navigate around.
I can hold down the shift key while arrowing around to accumulate a selection.
And, of course, I can drag to rubber band select. I can bulk select items. And this works in any old compositional layout, including more advanced ones like this. So all the stuff that users would expect on the Mac. And we’ve got all these layouts running. And enough of the code down below, the item section and group descriptions is in common in terms of the API that’s used. You could even factor out code if you want and share code between your different platform projects if you want to.
So we can see that compositional layout is really here to make our lives a lot easier across our various platforms. And it really has a lot to recommend it.
It’s available for you to start using today on iOS, tvOS, and macOS. And it makes it incredibly easy to create new custom layouts for CollectionView to use by simply describing it. We think this is a big game-changer.
This in turn makes CollectionView an even more versatile tool than ever before for presenting your content in arbitrary ways however you want to.
And the ease with which you can describe new layouts, and adjust layouts, and make different changes, and try different things, and iterate on them is going to enable much faster iteration with your designers. So we think this is a really big game-changer.
So go out, take the sample project, experiment with it, try changing various things, use our code as a basis for yours and start working on the custom layouts for your next app versions. And we can’t wait to see the delightful user experiences that this is going to empower you to create in a fraction of the time.
Now, if you found this talk exciting, we’ve got another that I think you’re really going to love, especially if you work with collection views or even UI table views. In Advances in UI Data Sources we introduce an entirely new radically simpler API for feeding model data to your CollectionViews and your UI table views while getting automatic computation of differences and automatic animations for free. It’s going to create delightful users experiences. So make sure to check this session out.
Thank you so much for watching.
[ Applause ]
Instructions & Layouts – Serquip PR
20 Tinder Profile Illustrations For Guys: Instructions & Layouts
By admin
Post date
20 Tinder Page Tips For Men: Specifications & Design Templates
Stressed to have matches on Tinder? I realize it’s depressing. Virtually what’s required to does try match with just a few females and commence talking to discover exactly where points obtain.
Hence is aware, you could also become a date.
However it all begins with a fit. Before that, but, it is important to pinpoint your own online dating profile.
You most likely come told throughout your pals which you an excellent man your decent searching, an individual witty therefore great to be with. But exactly how do you change everything into a profile definitely streamlined women will swipe good for?
It is not necessarily fundamentally really easy but you will get a hold of dudes in the market that finessing Tinder. In this post, Im planning to show the approach they generally do they by exposing 20 Tinder which remarkable page for men that ladies love to swipe good for.
Listed here are 20 Tinder visibility suggestions for men, including some information to work with you pen your own going out with page:
20 Tinder Profile Instances for Men
Obtaining missed within the grocery store as a young child were scarring, mama would call out and about your label and anybody would contact off Polo, drowning out my personal pleas for services.
Movies enthusiast, considerably performer. Anyhow, get pick up some account and inform me the a cup of coffee, possibly?
always wanted to be 6 branch high. It actually was produced by us to 510. 5 but goodness have more plans yesteryear 1.5 ins.
primarily by the messy T, basically relocated to Phoenix. In pursuit of a great time maybe not a long time.
* Im not saying Im a procrastinator, but Ill just accomplished the bio the following day.
Tip: End Up Being Comical
Getting funny will never be effortless, however, if youre a clearly humorous boy and individuals are commonly recommending an individual establish these people laugh, it can be THESE a waste materials if you werent interesting in your Tinder bio. Just about all cases which happen to be close.
Ryan should be only best type of cheeky and never having to generally be rude; Wiryawan is actually complementing a seriously sexy photograph to his own quality, while Marco in actual fact being goofy. Everything continual performs because there no female animated it does not love a person who can make this lady chuckle.
The fact is if youre a truly humorous person who you will need to just be witty in the biography. If youre maybe not, your angelreturn free trial energy at quality will most likely backfire and youll believe that it is challenging to collect matches. You should utilize these pages as drive nevertheless the factor which main bear in mind is usually to staying calm in your sense of quality but to consistently make your self the ass of each and every ruse a person create.
Inside data: always remember to check tinder that is very best Bios For Men.
Majoring in Biochemistry and graduating in assuming that senioritis has no the best of myself.june
I enjoy your ladies into hardships. like I favor my personal whiskey: solitary, smooth and achieving myself
Really love the excitement for the challenge in addition to the thrill of deciding precisely what what things to communicate first.
Suggestion: Incorporate Dogs Towards Your Pictures
The total amount of hours Ive observed a female produce must enjoy dogson the account was crazy. The real thing. Have a look, everyone enjoys pets but women tend to be expressive on this. And they also proceed absolutely gaga when they determine a animal this is pretty on Tinder.
Ive operate the results regarding myself personally. We submitted photos of me personally without dogs and have some swiping. The end result became alright.
Then, we held the bio exactly the same but incorporated an account that will be brand-new me holding the brother dog.
The games overloaded in.
Needless to say, both your own images together with your biography needs to be appropriate for this to operate. If youre gonna utilize monster photo, remember theyre typical and in addition make yes theyre complemented by good biography and preferably the one which don’t declare Ifavor pet. You may be read by all of us really like pet.
I like Marshall biography. The man producing a tale, the man getting quite slutty great picture could be the kinds of appealing dog photograph that creates females cup their unique look using their hands and status aww, definitely as a result sweet-tasting!
I really could name each of the countries/capitals associated with the globe appear and attempt me!
Enjoyable truth, Im Welsh , 63, a composer this is award-winning had earlier recently been a worldwide competition motorist while sporting an obsession for gonna unusual and remarkable locations!
Horrifically dreary material: Dentist with a fascination with cosmetic/restorative surgical treatment by-time. Tooth fairy when the sun goes down. (most of us look good in a tutu Ђ¦ faith)
Wish to perform basketball and baseball
Tacos + cuddling = perfect go steady
Make sure you dont produce pleasant of how bad we have long been at Fortnite
Ideal 3% on this planet at car Soccer
Proficient at acting i understand what Im undertaking
Grasp biography copywriter
Amount on your own right up in 3 emojis
Victorious one of a giant fluffy unicorn.
Idea: Get an exciting FactsBio
A delightful basic facts biography provides you the opportunity to flaunt the interests and show their success while not having to generally be self-obsessed or dull.
Take a good look at the true implies Ryan is doing it. When he certainly revealing, the man girls being in addition tough appear and try me.Girls appreciate a difficulty, notwithstanding if it is only for pleasurable.
Additionally, whilst this individual exhibiting out a little, the man demonstrably obtained factors to over show-off. If youve obtained achievements like award-winning composerin your own toolbox, it’s really well worth helping your very own Tinder shape as it will assist you to get seen.
90,000 Students of the Moscow State Technical University in Adygea develop layouts of tactile safety books
Students of the Faculty of Ecology of MSTU, as part of a project workshop, are working on the creation of a mock-up of a tactile book and information and educational materials on fire safety for children and adolescents with disabilities, told “SA” at the university.
The employees of the Adyghe Special Library for the Blind help them in this. As the curator of the project workshop, teacher of the Department of Ecology and Environmental Protection of MSTU Suliet Kizdermishova said, their work is aimed at informing and teaching children in the field of fire safety.The informational and educational products of the project workshop also include multimedia lectures with sign language translation and audio accompaniment, educational tests, coloring books and memos under the general title “If suddenly a fire breaks out …”.
– It is necessary to convey to each child a certain amount of clear, correct and easily applicable information. According to the curriculum, a project workshop is conducted for students, and as part of it, they develop information and educational materials on fire safety for a variety of consumers.The guys came up with an idea to adapt our developments for people with vision and hearing problems. For advice and help in creating models of manuals, we turned to the republican special library for the blind, – Suliet Kizdermishova said.
Library staff supported the initiative to develop tactile books and held an event for students involved in creating a tactile book mockup. The children took a tour of the library, they were introduced to typhloequipment and the specifics of developing materials for people with vision and hearing problems.
– Tactile books are any informational material that can be accessed through touch. And this is not only text, but also images. So that a person with disabilities could use contours to form an idea of a particular object and phenomenon, – said Ekaterina Krasnova, head of information technology at the Adyge special library for the blind.
The project workshop has its own profile on Instagram @no_fires, where students clearly and simply talk about fire safety measures for a wide audience.
February | 2021 | School 7
Newspaper 7 news 2021-02 February
02/27/2021 in the News section.
February 23 … Day of pride in the defenders of the fatherland, which has surprisingly become a symbol of honoring the male part of the population. One way or another, he gave us three days of a wonderful weekend, and this is how school # 7 was transformed into pre-holiday weekdays: – from the very morning, smiling and smart, the Soviets shared sweets and good wishes with everyone who entered the school – during breaks …
25.02.2021 in the News heading.
On February 12, the long-awaited Valentine’s Day took place at school # 7. The festive atmosphere of warmth and comfort left no one indifferent. From the very morning, mailboxes were hung in the corridors, dozens of letters were prepared, and intrigued teachers peeped out of their offices with interest. The school was full of life, and the postmen went to deliver letters of happiness. Everyone was happy in their own way: someone …
02/25/2021 in the News section.
“Exhibition PYP-2021” Water “.Evaluation of the final research work. Reflection of 4-grade pupils Vladimir Obukhov, 4 “A” “When preparing for the exhibition, I showed myself to be inquisitive, knowledgeable, broad-minded. This exhibition taught me to master oral speech, to be experienced in storytelling, to look listeners in the eye. I liked the Exhibition very much. ” Izmailov David, 4 “A” “The PYP exhibition was not an easy task for me. I can’t …
02/25/2021 in News, PYP News.
On February 27 and 28, the International Education company is holding an educational online exhibition “Study Abroad”.The event is attended by 18 educational institutions from Europe, USA and Canada. Presentations about studying abroad and free consultations of representatives of universities, colleges, secondary schools and language centers are waiting for you. All visitors get a 15% discount on International Education services until the end of 2021. Detailed …
02/25/2021 in the News section.
On February 22nd, the first graders went on an excursion to the Children’s Youth Theater on the street. Siberian 29. The children were introduced to the inhabitants of the exhibition of fish and birds, told about the peculiarities and adaptations to the life of different inhabitants of the planet.They also conducted a tour of the building itself, invited to study in circles.
02/23/2021 in News, PYP News.
On Friday, 19.02, the guys from 2A performed in front of the first graders with their final works on natural areas. They showed models, told, adhering to the plan: where the zone is located, climate, plants, animals, human activities, interesting facts. The first graders listened with enthusiasm to the children, looked at the models. The guys talked not only about natural areas, but also about how they worked in groups, …
23.02.2021 in News, PYP News.
Collections are the final product of the Sense Organs research. The guys talked about how they created their collections, who helped them. During the performances we tried to be broad-minded, caring. [Su_youtube url = “https://youtu.be/ngrXUrbcbxk” width = “200” height = “200”]
02/23/2021 in News, PYP News.
How the guys missed the assemblies! But there is always a way out! Welcome to the first video assembly PYP 2021
22.02.2021 in News, PYP News.
On February 12 and 13, students, alumni of the PYP IB program, parents and teachers took part in the International online conference organized by the School “Integration XXI Century” in Moscow. The theme of the conference is “Children for a Better World. Development of international thinking ”. For two days we got acquainted with representatives of the international community of the International Baccalaureate on the zoom online platform. We shared our experience of working on …
02/22/2021 in News, PYP News.
Report on the trip to Yaroslavl
On May 8-10, our choir went to Yaroslavl. This trip – the first in the past year due to the pandemic – was long awaited. But, apparently, testing the Eaglet’s strength, the weather decided to throw us some unpleasant surprises.
All the way to Yaroslavl, our bus mercilessly poured cold rain, the sky did not promise any hope for clarification, and during short stops the wind strove to snatch the umbrellas from our hands. Therefore, on the first day of the trip, we hardly saw anything in Yaroslavl, except for our hotel and the House of Culture of Railwaymen, where a concert-meeting took place on the evening of May 8.But the atmosphere of this meeting made it possible to forget for a while about the gloomy weather and tiredness from a long journey.
We got acquainted with the boys’ choir of the Yaroslavl children’s art school “Kantsona” and with its leaders. Our two creative teams performed more than two dozen songs for each other and many other guests. Many of them were songs about the war (K. Molchanov “Here are the soldiers coming”, Dm. And D.Pokrass “Cossacks in Berlin”), given that the concert-meeting took place on the eve of Victory Day. The concert ended with a joint performance of the song “Sing a song for us, merry wind”.
The next day the weather in Yaroslavl decided to test the Eaglet’s strength not with rain, but with strong cold. From time to time snowflakes flashed in the cold air. Despite this, the guys went on a city tour, and at the same time attended the parade in honor of the anniversary of the victory in the Great Patriotic War. The guide told us about the history of the city, about the memorable places in it, about its temples and about famous people who lived in the city. We walked along the old streets and walked along the Volga embankment.And then at the walls of the Assumption Cathedral, the guys staged an impromptu concert for everyone. They performed both wartime songs and contemporary works. Boyish ringing voices spread far across the festive city, and by the end of the concert many spectators gathered near the cathedral, who loudly applauded the artists. And one of the spectators, apparently, who had attended a concert in the House of Culture of the Railway Workers the day before, told the people who were standing nearby that “it was Chernetsov himself who brought the guys from Moscow.”
On the same day, the guys also visited the “Museum of Time” with its extensive exposition, and looked at the models of the cities of the “Golden Ring” in the “Show-model” museum.By evening, the weather, apparently, realized that nothing could frighten the Eagles, and the city became noticeably warmer. Therefore, in the evening it was decided to go to the festive fireworks. A group of the most courageous and inquisitive guys went to the center of the night city, and no one regretted it: the fireworks were beautiful, somewhat unusual even for us, Muscovites, who can hardly be surprised by anything. And on the way back, Andrei Viktorovich once again led the guys through the old streets of this beautiful city.
On the last day of the trip to the city, it was as if summer had suddenly come – the sun was blindingly shining, there was not a cloud in the sky, a light warm breeze was calling for a shining distance.We went to this distance: the guys visited the Museum of Bell Casting in another ancient city of Tutaev. During a very detailed excursion, the organizer of this museum told in detail about the history of the bell and the bell business, about the famous Russian bell foundries. We heard the “voices” of different bells on display. In gratitude for the wonderful excursion, the children performed the songs “The Winged Heart of a Boy” and “Here the Soldiers Are Coming” for the museum staff.
After lunch on the same day, the Eaglets said goodbye to Yaroslavl and went to Moscow.But we will definitely come to this beautiful old city with its amazing temples, wide Volga, open and hospitable inhabitants.
90,000 A life-size model of the first artificial Earth satellite was installed at the Irkutsk airport
A small object that played a huge role in the history of world science – the first artificial satellite of the Earth. It was launched into orbit exactly 60 years ago – on October 4, 1957.
Now the memory of this day has been immortalized within the walls of the terminal of the internal lines of the Irkutsk airport. A life-size model of the first artificial Earth satellite was installed under the ceiling of the building.
Authors of the idea – two people. Oleg Shishmakov, labor instructor at the Center for Helping Children Left Without Parental Care in the Sverdlovsk Region. All his life, Oleg Sergeevich worked in the Irkutsk United Air Squadron and all his life taught children aircraft modeling.And Sergey Yazev, Director of the Astronomical Observatory of the ISU. It was his father, Arctur Yazev, who received the first radio signals from the first satellite.
The hemispheres for the model were made in Nizhny Novgorod. According to Oleg Shishmakov, the satellite diameter is 600 mm and the technology of such deep stamping was not available in Irkutsk. The rest of the details of the layout were already done here, on the basis of the Children’s Help Center. The guys took an active part in the production of the PS.
Explaining why a mock-up of the first satellite should be installed in Irkutsk, the authors explained: the astronomical observatory of the ISU on Sovetskaya Street was a platform for observing the first satellite of the Earth.
On October 4, 1957, a few hours after launch, the satellite was noticed by scientists at the ISU observatory. Irkutsk was the first to send a signal to Moscow that the satellite was in orbit.
The famous Irkutsk scientist, director of the Astronomical Observatory of the ISU Sergey Yazev told the story of the creation of not a model, but the satellite itself.
Master-classes on making models of space rockets became an addition to the holiday and its decoration. For everyone interested, classes were conducted by employees and pupils of the Center for Assistance to Children Left without Parental Care, Sverdlovsk District.Interactive platforms also worked, they were helped to organize the Experimentary Museum of Entertaining Science, the Irkutsk Planetarium and the Fantast Museum of Optical Illusions. The chefs of the Irkutsk cafe “Samolet” also supported the tone, treating everyone with “space” food.
The future of “Progress” through the eyes of children – Progress of Primorye
The future of Arsenyev and his largest city-forming enterprise – Arsenyev Aviation Company “Progress” them. N.I.Sazykina – was presented by pupils of the 6 “A” class of school № 10 in the city of Arsenyev. The long-term project “From UT-2 to an unmanned airship” became the fruit of their fantasies and conducted research, within the framework of which a mock-up of the Progress production site in the future was created.
For the presentation of their project and donation to the airline of the made model, the children, together with their class teacher Irina Skorikova, invited the head of the Museum of History and Labor Glory of PJSC AAK “PROGRESS” Tatiana Bolotnikova to the school.
Students began their performance with a presentation of a project about the Progress plant called “From UT-2 to an unmanned airship”. The guys have been working on it for two years already, and during this time they managed to do a lot: to study the history of the airline; go on excursions in the workshops of the enterprise and visit the Museum of the history and labor glory of the airline; to get acquainted with the equipment produced at Progress in different years, and now exhibited in the Open Air Museum; to attend the celebration of the 80th anniversary of the enterprise and the opening of a monument to its business card – the Ka-50 “Black Shark” helicopter.In addition, the guys talked with the veterans of the Great Patriotic War, who told them about that difficult time when the teenagers were manufacturing UT-2 trainer aircraft at the plant for military needs. And the pupils of the 6th “A” grade, in turn, wrote letters to the veterans, in which they promised to be a worthy replacement of grandfathers and great-grandfathers, to love their city and their homeland.
Within the framework of the project, the guys also studied the list of professions that are currently in demand at PJSC AAK “PROGRESS”, the leading enterprise of the Primorsky regional branch of the Union of Machine Builders of Russia, and fantasized about what new specialties will appear in the aircraft industry in 15-20 years.As a result of this work, the schoolchildren wrote an essay on the topic “My future profession”, in which they imagined that in addition to new professions that now seem unusual, by 2030 there will be many new aircraft, civil aviation will be more accessible and the scope of using unmanned aerial vehicles will significantly expand …
The visual result of the two-year work of the guys was the layout of the production site of the Progress plant and the surrounding territory in the future. The idea of its creation belongs to the pupil of 6 “A” class of school № 10 Matvey Ivanov and his mother Olga Viktorovna.Together with his mother, the student recreated in great detail from improvised means the plant management building, the adjacent square and the monument to the Ka-50 “Black Shark” helicopter, the Obzornaya hill, as well as non-existent industrial and cultural facilities.
“The idea of our project is to show the future of Progress, and hence the future of the city,” Olga Viktorovna said. “We imagined that it would be nice if the plant produced not only helicopters, but also planes, and civil and alternate international airports, because due to weather conditions Vladivostok is not always ready to accept aircraft for landing.On our model, we also placed the enterprise’s recreation center, located between the picturesque surrounding hills, where Progress employees and residents of the city could have a rest. “
In total, it took more than two months to work on the layout. Natural relief, models of buildings, road surfaces – everything was done from scrap materials with our own hands. And even some models of helicopters were carved by Matvey Ivanov himself in labor lessons – from soft balsa wood.
“Almost all of our relatives work at Progress: grandfather, uncles, aunts, and my older brother attended the airline’s technical training class and even won prizes in professional skill contests.I am proud that there is such a plant in our city and that I, too, in a sense, became involved in its glorious name, “added Matvey Ivanov.
At the end of the meeting, the students promised that they would continue their acquaintance with the Progress aircraft plant, undergo professional testing and in the future, perhaps, become a part of the aircraft manufacturer’s family and even create a new aircraft. “We are the future of the enterprise, and it depends on us what Progress will be like in 20 years,” the schoolchildren summed up.
In response, the head of the Museum of History and Labor Glory of PJSC AAK “PROGRESS” Tatiana Bolotnikova thanked the guys for the work done and wished them further success: that most of its pupils cannot live without aviation and subsequently become test pilots, navigators, dispatchers, including our factory test pilots Alexander Kukla and Vladimir Utva.Both of them attended an aircraft modeling circle and then linked their lives with the sky, reaching great heights in their chosen profession. I really want to believe that the interest in aviation that you showed in making the layout of the future Progress and in working on your project will grow into true and sincere love. ”
Today the model, made by the Ivanov family, is located in the Museum of History and Labor Glory of PJSC AAK “PROGRESS”, where residents and guests of the city who come to the enterprise with a guided tour can see it.And everyone else will be able to appreciate the “model of the future” during the Open Doors Days, which are held by the airline twice a year – on May 9 and on the Day of the Russian Air Force.
“Progress of Primorye”, No. 19 (431) dated May 25, 2017
Svetlana Makarenko, author’s photo
A model of a restored fragment of a village appeared in the Khatyn memorial complex | MogilevNews
A model of the restored fragment of the village has appeared in the Khatyn memorial complex. Since October 2020, a group of students from the capital gymnasium No. 75 has been working on the layout under the guidance of a fine arts teacher Tatyana Voitenko.
The project participants, who returned the idea of pre-war Khatyn, received honorary diplomas from the hands of Artur Zelsky, director of the memorial complex. Working on the layout, ninth-graders Veronica Britvich, Wang Yanyi, Konstantin Eromenko, Yan Turchinsky, Elizaveta Lapenko, Bozhena Gedranovich literally plunged into at that time, learned a lot of details.
The problem was that no photographs, no drawings, plans or diagrams of the village survived.
– To find out at least the direction of the streets, I decided to search the Internet for maps of the Logoisk district and, if I’m lucky, Khatyn itself, – said Konstantin Eromenko.- I found sites with maps, looked through a huge number of them and found the most suitable one. On the topographic military map of the Workers ‘and Peasants’ Red Army in 1932, it was possible to distinguish houses from sheds and other outbuildings, the direction of streets and much more. I printed it out, brought it to the gymnasium, and so the construction of the plan began. Based on the map, they first made a small sketch of the village, then a large one, on graph paper. It turned out, so to speak, the layout of the layout. Then they analyzed the information, read the memories of the survivors, found out who lived in which house.Here everything is as it was – at home, and sheds, and fences, and a church.
To understand how the pre-war Khatyn could have looked, in order to create a single image, the guys turned to photographs of the war years, to images of villages of the 19th century. The materials at hand were used: fabrics, film, colored cardboard, velvet paper, moss, shrub twigs, beads, grated champagne corks. Miniature figures of horses and cows, recreated, like the whole village, on a scale of 1: 100, came from China, ordered by Wang Yanyi.
Vasily Ananko, director of gymnasium No. 75, believes that his students have already left their mark on the life of the country with their work:
– The more we know about the past, the more valuable tomorrow is for us. These young people are an example of the country’s future, which I see as peaceful and happy. The memorial complex will help to understand the difference between peace and war. You can see firsthand how peaceful and beautiful the small village with its hardworking inhabitants was. Who could have imagined what awaited them? As adults, you will not forget about this holy place; you will bring your children here.
Shipyard “Lotos” summed up the results of the competition “Build the ship of the future”
At the shipyard “Lotos” (part of the USC) the results of the children’s creative competition “Build the ship of the future” were summed up. The main objective of the competition was to attract the interest of children to a profession with a long history and traditions – shipbuilding. Acquaintance with the basics of shipbuilding, the history of the shipyard and projects that are being implemented and completed at the shipyard.
The competition committee included representatives of the shipyard “Lotos”, the administration of the municipal formation “City of Astrakhan”, as well as the head of the Astrakhan regional branch of the Union of Volunteers of Russia Yekaterina Generalova. The most interesting works that met all the requirements of the competition regulations were presented to the jury. The ship layouts were very diverse. One of the participants demonstrated a modular ship that will be easy to rebuild and perform tasks for several ships of different classes at the same time.For some, the future is associated with the use of alternative energy sources on ships – solar panels and wind generators.
“It was important for us that the model of the ship was made by the hands of a child,” said Igor Sadovnichy, Acting General Director of JSC Shipyard Shipyard Lotos. – There were no restrictions on technique or use of materials. The main idea and how the younger generation sees the future of the shipbuilding industry. ”
Employees of the Lotos shipyard assessed the technical capabilities of the ship, representatives of the city authorities – aesthetic perception.Based on the selection results, three works were identified:
– I place Yarovoy Yaroslav, 9 years old, “Paddle steamer” Svyarik ”
– II place Budnikova Victoria, 8 years old, “Tourist ship” Victoria ”
– III place Varfolomeev Maxim, 11 years old, ship “Strela”.
In addition, a special Audience Award nomination has been added. It was won by Igor Petrov, a student of the 2nd grade, with his work – the catamaran “Zarya Caspia”.This was the largest model submitted for the competition.
“Thanks to such contests, children discover new knowledge, thereby developing an interest in future professions. Career guidance is very important for the current generation. And how good it is that such a large enterprise as the Lotos shipyard pays such great attention to the younger generation, ”said Ekaterina Generalova, head of the ARO VOO“ Union of Volunteers of Russia ”.
The winners were awarded on the main stage of the city, as part of the celebration of the 460th anniversary of the founding of Astrakhan.Igor Sadovnichy, Acting General Director of Lotos Shipyard JSC, presented the children with valuable gifts and diplomas.
.