20 Best New Websites, October 2024

October 14th, 2024 No comments

Welcome to October’s collection of sites we like – we hope you’ll like them too.

Categories: Designing, Others Tags:

Cost considerations for WAN vs LAN deployments

October 14th, 2024 No comments

When considering network implementation, businesses frequently choose between Wide Area Networks (WAN) and Local Area Networks (LAN). Understanding the WAN meaning as a broader network that connects multiple locations over large distances, and how it contrasts with LAN, which serves smaller, localised areas, is crucial.

Cost is a critical factor in this decision-making process. Each form of network has distinct financial ramifications, ranging from installation and maintenance to operational costs. In this article, explored are the key cost considerations for LAN vs. WAN deployments that will help businesses make informed choices.

Cost considerations

Infrastructure costs

WAN deployments often bring significant costs in the domain of infrastructure. For example, dedicated hardware for this includes powerful routers, switches, and leased lines, all to transfer an enormous volume of data over a distance. The configuration complexity of WAN might automatically and inevitably impose MPLS or VPNs with a more prominent cost. LAN networks can have simpler hardware with less cost, such as basic switches and routers because the network covers a small area of geography. Thus, it is possible that the net investment in infrastructure could make LANs more viable to small and medium business establishments.

Installation costs

The setting up of LAN is easier and less time-consuming and therefore installation costs are lower. Most LAN configurations, with standard networking equipment, can be finished within a few hours. Installation of WAN is much more time-consuming as it includes complicated wiring of multiple locations especially in cases when multiple service providers are being used. That complexity is usually handled by professional technicians with WAN installation experience, making labor costlier. Moreover, WAN installations often require elaborate planning and coordination, which forms part of the increased overall setup costs.

Maintenance and support

WAN systems can be much more expensive to support as they are intrinsically complex. WAN management typically requires technical, highly professional individuals familiar with advanced networking technologies. As this expertise is in short supply, the associated wages or consulting fees are higher for a WAN solution than for LAN solutions. By comparison, LANs are generally simpler and more practicable to support; most organizations will have reliance on their internal IT staff. That makes maintenance costs much lower for a LAN system.

Operational expenses

WANs are likely to incur much higher operational costs on account of their greater bandwidth demands and constant data transmission over greater distances. In most cases, organizations have to pay extra for leased lines or committed bandwidth, which quickly adds up. LAN operational expenses tend to be lower in that they often work with internal traffic and make use of local resources. In a LAN, since devices are kept close, no long-distance costs affect the capability of transmitting data.

Bandwidth requirements

WANs generally require more bandwidth than LANs, primarily because they typically have to support more than one site, particularly when there is large amounts of data handling or significant application traffic. That means the overhead in recurring costs is higher because businesses need higher speed connections so that these can deliver good performance. LANs are all confined to one location and usually place much lower demands on bandwidth. The overall result is much cheaper for bandwidth.

Data transfer costs

In a WAN environment, there usually are the costs of data transfers. However, the scenario is different for such transfers between LANs since these are performed locally within the organization and therefore incur very negligible costs, with free internal data movement, especially on a LAN.

Scalability costs

Most commonly, WAN scaling is expensive, particularly when it involves additional hardware or leased lines that need to be added to accommodate new locations. Each subsequent location will probably also involve greater investment in equipment, as well as ongoing fees unless it is built on one of the hub locations. In a LAN, growing typically entails very low incremental costs because it is inexpensive and relatively easy to add new devices like switches or access points.

Hardware costs

The hardware cost for WAN deployment is way higher compared to LANs. This is because WAN equipment requires more complex routing and management functions, which contribute to the increased cost. LAN setup arrangements can use standard off-the-shelf equipment, a characteristic that makes it cheaper and suitable for small organizations or branches of larger organizations.

Backup and redundancy

To offer high uptime across many sites, WANs may require more heavy-duty backup procedures, and such measures raise the cost. The introduction of redundant links or more sophisticated failure recovery systems adds both the setup cost and running cost of LANs. Nevertheless, LANs can more frequently use simple, less expensive redundancy measures, such as basic failure recovery switches, to ensure costs remain relatively low while maintaining an acceptable degree of reliability.

Security measures

WANs are exposed to public networks so the security demands for them are also more complex. Translation: it translates to a relatively higher cost since typically, firewalls, intrusion detection systems, and continuous security monitoring are more complex.

For LANs, the security demands are often less sophisticated; hence organizations can apply the most elementary solutions: basic firewall and network segmentation.

Training costs

In organizations that deploy WAN technologies, cost training for the employees may be necessary for workers to handle and maintain systems properly. This is likely to be expensive and time-consuming especially if special knowledge is required. LANs are easier to handle by the staff. Training for this is mainly less required and thus reduces training costs overall.

Cost of downtime

The financial implication of WAN downtime is that lost connectivity may affect several sites and cause a shutdown in operations; thus, the organization would lose money and have horrible customer service. On the other hand, LAN typically affects only one location, and other branches or departments will function normally, so the financial impact is usually reduced altogether.

Government regulations

Compliance costs for WANs can also be much higher because of more regulations toward data handling and security within states. Organizations must ensure that they do not run afoul of the various state laws regarding data transfer should they operate in different jurisdictions. In comparison, LANs have fewer compliance issues as they are confined to a particular location, but the need for regulatory compliance is reduced further.

Long-term ROI

Evaluating the long-term return on investment is crucial. While WANs may offer greater connectivity benefits in the long run, such as supporting remote work and collaboration across locations, the upfront and operational costs are significantly higher compared to LANs. Businesses must assess their connectivity needs and determine whether the benefits of a WAN justify the costs, particularly if they have limited geographic expansion plans.

Conclusion

When comparing the costs of WAN vs. LAN deployments, firms must examine a variety of aspects, including infrastructure, operational costs, and long-term financial repercussions. While WANs provide greater connection, they are more expensive, making them ideal for organizations with large geographic requirements. LANs, on the other hand, provide a low-cost alternative for localized networks, particularly for small businesses. Finally, recognizing these cost concerns enables firms to match their network plans with their financial capabilities, resulting in a more informed and strategic approach to connection.

The post Cost considerations for WAN vs LAN deployments appeared first on noupe.

Categories: Others Tags:

20 Best New Websites, October 2024

October 14th, 2024 No comments
Luxury chocolate brand Montezuma’s has updated its website to improve the user experience.

Something we’re seeing more and more of is the ‘customizable’ site. Most often, this means a button to swap between dark and light themes, but the options are starting to get increasingly sophisticated.

In this set, we have dark and light options, images and text-only options, color changes, whole theme change options, a custom text option, and even image editing options. This type of interaction differs from event-triggered animations and transitions. For the best effect, simplicity in layout is usually best, as is the case with these examples. Enjoy!

Montezuma’s

Luxury chocolate brand Montezuma’s has updated its website to improve the user experience. The color scheme and casual typeface match the product packaging, which in turn reflects the company’s ethical brand identity.

Sake High

The type choices add crispness and modernity to this predominantly black and white design for Sake High. The contrast adds extra depth to the occasional color photos.

Confetti Therapy

This is a fun little site with the serious intention of reducing stress. It has been established that micro-interactions and feedback make users feel good, and that is what Confetti Therapy is all about: click a button and pop some confetti from the direction of your choice.

This is a fun little site with the serious intention of reducing stress. It has been established that micro-interactions and feedback make users feel good, and that is what Confetti Therapy is all about

Pesquera Diez

The animation on this architectural firm’s site, particularly the transitions, makes for a really pleasing user experience. The fresh yellow accent color adds zest to the clean layout.

The animation on this architectural firm’s site, particularly the transitions, makes for a really pleasing user experience.

Base Habitation

High quality photographs are cleverly combined with mockups to allow the user to visualize the product as it could be. Information is available but broken into small chunks to let the images take the lead.

High quality photographs are cleverly combined with mockups to allow the user to visualize the product as it could be. Information is available but broken into small chunks to let the images take the lead.

Following Wildfire

Following Wildfire is a now sadly all too rare example of social media, technology, and good design combining to make something that is genuinely useful. Publicly available photos are scanned for signs of potential wildfire and added to the interactive map.

Following Wildfire is a now sadly all too rare example of social media, technology, and good design combining to make something that is genuinely useful.

Sound Ethics

Sound Ethics advocates for artists’ rights and new standards for ethical AI. Their aim is not to exclude AI but to make it work for musicians and artists instead of against them. The site makes a statement with dark background images contrasted with neon yellow-green.

Sound Ethics advocates for artists’ rights and new standards for ethical AI.

ThermoKonnect

The pixelated images resolving to 3D models of products are an appealing feature here. On scroll animation helps to keep the user feeling engaged.

The pixelated images resolving to 3D models of products are an appealing feature here. On scroll animation helps to keep the user feeling engaged.

La Mulata

The architecture for this restaurant chain website does a good job of centralizing content that applies to all its branches – for example, menus – while at the same time allowing each branch its own identity.

The architecture for this restaurant chain website does a good job of centralizing content that applies to all its branches

Orkenworld

Orken is a new fantasy portrayed across different media and is due to launch soon on Kickstarter. This teaser site provides sample illustrations and video clips and offers just enough information to intrigue the user.

Orken is a new fantasy portrayed across different media and is due to launch soon on Kickstarter.

Serious.Business

Cotton candy pink and smiley faces might not seem the obvious choice for an agency with the word ‘serious’ in its name, but actually, the contradiction works really well here.

Cotton candy pink and smiley faces might not seem the obvious choice for an agency with the word ‘serious’ in its name, but actually, the contradiction works really well here.

Songs of a Lost World

This teaser page for The Cure’s new album harks back to a time when it was deemed acceptable to let users play about and discover things for themselves. It’s simple but fun and more intriguing than the usual ‘big red button’ CTAs.

Songs of a Lost World

Stripe.dev

This is a resource hub for Stripe developers, with videos, articles, and community links. It’s also a lot of fun. The default styling is basic black and white with highlighter highlights, but there is a console that allows you to mess about with everything that isn’t actual practical content. And play snake.

This is a resource hub for Stripe developers, with videos, articles, and community links.

Trieze Grammes

Branding agency Treize Grammes re-designed their site to meet changes they had experienced in their business. The result is well structured and indicates a high level of competence. The choice of colors and the sliding switch motif add personality and approachableness.

Branding agency Treize Grammes re-designed their site to meet changes they had experienced in their business.

Netlify 5 Million Devs

The Netlify platform is celebrating reaching 5 million developers with this interactive game. Each waypoint in the game reveals a piece of Netifly’s story so far.

The Netlify platform is celebrating reaching 5 million developers with this interactive game.

Sonder

This site for market research agency Sonder combines bright colors with crisp type and a clean layout to create a look that is confident and positive in tone.

This site for market research agency Sonder combines bright colors with crisp type and a clean layout to create a look that is confident and positive in tone.

Printer Scanner

Brutalist lives on in this visually basic but also pleasing site for design and technology studio Printer Scanner. Clicking on the logotype swaps the overall theme randomly between two dark versions and two light versions.

rutalist lives on in this visually basic but also pleasing site for design and technology studio Printer Scanner.

Harry Atkins

This is a well-structured portfolio site with a clean layout and intuitive flow. As an extra demonstration of the subject’s frontend development skills, there are options to switch between dark or light mode, images or text only mode, and color or grayscale.

Harry Atkins is a well-structured portfolio site with a clean layout and intuitive flow.

Mathieu Crepel

Unsurprisingly perhaps, photographs are the dominant element in this site for surfer and snowboarder Mathieu Crepel. Photographs are even used for the menu instead of the usual text or icons. It’s unusual, but it works here.

Unsurprisingly perhaps, photographs are the dominant element in this site for surfer and snowboarder Mathieu Crepel.

PackBags

The concept behind PackBags is customized bags put together from a set of components (body, strap, carabiner) chosen by the customer. The site is clear and easy to follow, and the configurator is very user-friendly.

PackBags
Categories: Designing, Others Tags:

CSS Tricks That Use Only One Gradient

October 11th, 2024 No comments

CSS gradients have been so long that there’s no need to rehash what they are and how to use them. You have surely encountered them at some point in your front-end journey, and if you follow me, you also know that I use them all the time. I use them for CSS patterns, nice CSS decorations, and even CSS loaders. But even so, gradients have a tough syntax that can get very complicated very quickly if you’re not paying attention.

In this article, we are not going to make complex stuff with CSS gradients. Instead, we’re keeping things simple and I am going to walk through all of the incredible things we can do with just one gradient.

Only one gradient? In this case, reading the doc should be enough, no?

No, not really. Follow along and you will see that gradients are easy at their most basic, but are super powerful if we push them — or in this case, just one — to their limits.

CSS patterns

One of the first things you learn with gradients is that we can establish repeatable patterns with them. You’ve probably seen some examples of checkerboard patterns in the wild. That’s something we can quickly pull off with a single CSS gradient. In this case, we can reach for the repeating-conic-gradient() function:

background: 
  repeating-conic-gradient(#000 0 25%, #fff 0 50%) 
  0 / 100px 100px;

A more verbose version of that without the background shorthand:

background-image: repeating-conic-gradient(#000 0 25%, #fff 0 50%);
background-size: 100px 100px;

Either way, the result is the same:

CodePen Embed Fallback

Pretty simple so far, right? You have two colors that you can easily swap out for other colors, plus the background-size property to control the square shapes.

If we change the color stops — where one color stops and another starts — we get another cool pattern based on triangles:

background: 
  repeating-conic-gradient(#000 0 12.5%, #fff 0 25%) 
  0 / 100px 100px;
CodePen Embed Fallback

If you compare the CSS for the two demos we’ve seen so far, you’ll see that all I did was divide the color stops in half, 25% to 12.5% and 50% to 25%.

Another one? Let’s go!

CodePen Embed Fallback

This time I’m working with CSS variables. I like this because variables make it infinitely easier to configure the gradients by updating a few values without actually touching the syntax. The calculation is a little more complex this time around, as it relies on trigonometric functions to get accurate values.

I know what you are thinking: Trigonometry? That sounds hard. That is certainly true, particularly if you’re new to CSS gradients. A good way to visualize the pattern is to disable the repetition using the no-repeat value. This isolates the pattern to one instance so that you clearly see what’s getting repeated. The following example declares background-image without a background-size so you can see the tile that repeats and better understand each gradient:

CodePen Embed Fallback

I want to avoid a step-by-step tutorial for each and every example we’re covering so that I can share lots more examples without getting lost in the weeds. Instead, I’ll point you to three articles you can refer to that get into those weeds and allow you to pick apart our examples.

I’ll also encourage you to open my online collection of patterns for even more examples. Most of the examples are made with multiple gradients, but there are plenty that use only one. The goal of this article is to learn a few “single gradient” tricks — but the ultimate goal is to be able to combine as many gradients as possible to create cool stuff!

Grid lines

Let’s start with the following example:

CodePen Embed Fallback

You might claim that this belongs under “Patterns” — and you are right! But let’s make it more flexible by adding variables for controlling the thickness and the total number of cells. In other words, let’s create a grid!

.grid-lines {
  --n: 3; /* number of rows */
  --m: 5; /* number of columns */
  --s: 80px; /* control the size of the grid */
  --t: 2px; /* the thickness */

  width: calc(var(--m)*var(--s) + var(--t));
  height: calc(var(--n)*var(--s) + var(--t));
  background:  
    conic-gradient(from 90deg at var(--t) var(--t), #0000 25%, #000 0)
      0 0/var(--s) var(--s);
}

First of all, let’s isolate the gradient to better understand the repetition (like we did in the previous section).

CodePen Embed Fallback

One repetition will give us a horizontal and a vertical line. The size of the gradient is controlled by the variable --s, so we define the width and height as a multiplier to get as many lines as we want to establish the grid pattern.

What’s with “+ var(--t)” in the equation?

The grid winds up like this without it:

CodePen Embed Fallback

We are missing lines at the right and the bottom which is logical considering the gradient we are using. To fix this, the gradient needs to be repeated one more time, but not at full size. For this reason, we are adding the thickness to the equation to have enough space for the extra repetition and the get the missing lines.

CodePen Embed Fallback

And what about a responsive configuration where the number of columns depends on the available space? We remove the --m variable and define the width like this:

width: calc(round(down, 100%, var(--s)) + var(--t));

Instead of multiplying things, we use the round() function to tell the browser to make the element full width and round the value to be a multiple of --s. In other words, the browser will find the multiplier for us!

Resize the below and see how the grid behaves:

CodePen Embed Fallback

In the future, we will also be able to do this with the calc-size() function:

width: calc-size(auto, round(down, size, var(--s)) + var(--t));

Using calc-size() is essentially the same as the last example, but instead of using 100% we consider auto to be the width value. It’s still early to adopt such syntax. You can test the result in the latest version of Chrome at the time of this writing:

CodePen Embed Fallback

Dashed lines

Let’s try something different: vertical (or horizontal) dashed lines where we can control everything.

.dashed-lines {
  --t: 2px;  /* thickness of the lines */
  --g: 50px; /* gap between lines */
  --s: 12px; /* size of the dashes */
  
  background:
    conic-gradient(at var(--t) 50%, #0000 75%, #000 0)
    var(--g)/calc(var(--g) + var(--t)) var(--s);
}
CodePen Embed Fallback

Can you figure out how it works? Here is a figure with hints:

Try creating the horizontal version on your own. Here’s a demo that shows how I tackled it, but give it a try before peeking at it.

What about a grid with dashed lines — is that possible?

Yes, but using two gradients instead of one. The code is published over at my collection of CSS shapes. And yes, the responsive behavior is there as well!

CodePen Embed Fallback

Rainbow gradient

How would you create the following gradient in CSS?

The color spectrum from left to right.

You might start by picking as many color values along the rainbow as you can, then chaining them in a linear-gradient:

linear-gradient(90deg, red, yellow, green, /* etc. */, red);

Good idea, but it won’t get you all the way there. Plus, it requires you to juggle color stops and fuss with them until you get things just right.

There is a simpler solution. We can accomplish this with just one color!

background: linear-gradient(90deg in hsl longer hue, red 0 0);

I know, the syntax looks strange if you’re seeing the new color interpolation for the first time.

If I only declare this:

background: linear-gradient(90deg, red, red); /* or (90deg, red 0 0) */

…the browser creates a gradient that goes from red to red… red everywhere! When we set this “in hsl“, we’re changing the color space used for the interpolation between the colors:

background: linear-gradient(90deg in hsl, red, red);

Now, the browser will create a gradient that goes from red to red… this time using the HSL color space rather than the default RGB color space. Nothing changes visually… still see red everywhere.

The longer hue bit is what’s interesting. When we’re in the HSL color space, the hue channel’s value is an angle unit (e.g., 25deg). You can see the HSL color space as a circle where the angle defines the position of the color within that circle.

3D models of the RGB and HSL color spaces.

Since it’s a circle, we can move between two points using a “short” path or “long” path.

Showing the long and short ends of the hue in a color circle.

If we consider the same point (red in our case) it means that the “short” path contains only red and the “long” path runs into all the colors as it traverses the color space.

CodePen Embed Fallback

Adam Argyle published a very detailed guide on high-definition colors in CSS. I recommend reading it because you will find all the features we’re covering (this section in particular) to get more context on how everything comes together.

We can use the same technique to create a color wheel using a conic-gradient:

background: conic-gradient(in hsl longer hue,red 0 0);
CodePen Embed Fallback

And while we are on the topic of CSS colors, I shared another fun trick that allows you to define an array of color values… yes, in CSS! And it only uses a single gradient as well.

Hover effects

Let’s do another exercise, this time working with hover effects. We tend to rely on pseudo-elements and extra elements when it comes to things like applying underlines and overlays on hover, and we tend to forget that gradients are equally, if not more, effective for getting the job done.

Case in point. Let’s use a single gradient to form an underline that slides on hover:

h3 {
  background: 
    linear-gradient(#1095c1 0 0) no-repeat
    var(--p,0) 100%/var(--p, 0) .1em;
  transition: 0.4s, background-position 0s;
}

h3:hover {
  --p: 100%;
}
CodePen Embed Fallback

You likely would have used a pseudo-element for this, right? I think that’s probably how most people would approach it. It’s a viable solution but I find that using a gradient instead results in cleaner, more concise CSS.

You might be interested in another article I wrote for CSS-Tricks where I use the same technique to create a wide variety of cool hover effects.

CSS shapes

Creating shapes with gradients is my favorite thing to do in CSS. I’ve been doing it for what feels like forever and love it so much that I published a “Modern Guide for Making CSS Shapes” over at Smashing Magazine earlier this year. I hope you check it out not only to learn more tricks but to see just how many shapes we can create with such a small amount of code — many that rely only on a single CSS gradient.

Some of my favorites include zig-zag borders:

CodePen Embed Fallback

…and “scooped” corners:

CodePen Embed Fallback

…as well as sparkles:

CodePen Embed Fallback

…and common icons like the plus sign:

CodePen Embed Fallback

I won’t get into the details of creating these shapes to avoid making this article long and boring. Read the guide and visit my CSS Shape collection and you’ll have everything you need to make these, and more!

Border image tricks

Let’s do one more before we put a cap on this. Earlier this year, I discovered how awesome the CSS border-image property is for creating different kinds of decorations and shapes. And guess what? border-image limits us to using just one gradient, so we are obliged to follow that restriction.

Again, just one gradient and we get a bunch of fun results. I’ll drop in my favorites like I did in the last section. Starting with a gradient overlay:

CodePen Embed Fallback

We can use this technique for a full-width background:

CodePen Embed Fallback

…as well as heading dividers:

CodePen Embed Fallback

…and even ribbons:

CodePen Embed Fallback

All of these have traditionally required hacks, magic numbers, and other workarounds. It’s awesome to see modern CSS making things more effortless. Go read my article on this topic to find all the interesting stuff you can make using border-image.

Wrapping up

I hope you enjoyed this collection of “single-gradient” tricks. Most folks I know tend to use gradients to create, well, gradients. But as we’ve seen, they are more powerful and can be used for lots of other things, like drawing shapes.

I like to add a reminder at the end of an article like this that the goal is not to restrict yourself to using one gradient. You can use more! The goal is to get a better handle on how gradients work and push them in interesting ways — that, in turn, makes us better at writing CSS. So, go forth and experiment — I’d love to see what you make!


CSS Tricks That Use Only One Gradient originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.

Categories: Designing, Others Tags:

The Role of Customer Reviews in Shaping Hotel Reputation

October 11th, 2024 No comments

Consider this data: 94% of consumers say that reading a bad review made them want to avoid a business.

That’s the power of reviews, especially in an industry like hospitality. In fact, 81% of travelers read reviews before booking a hotel. And nearly half won’t make a reservation for a hotel without reviews.

It just goes to show how much weight potential guests place on reviews. These reviews can actually be the difference between a fully booked hotel and dozens of empty rooms. 

Why Are Guest Reviews So Important in Hospitality?

Reviews are important in virtually every industry. They tell potential customers who are considering a brand if it’s worth spending their money on and what to expect when they do.

When traveling and staying at hotels, people want to feel at home. Of course, they enjoy exploring new cultures, cuisines, and landscapes. 

Of course, they want to make new memories and do different things they wouldn’t normally do or can’t do otherwise.

But when they go to a hotel, they want to feel safe. They’re not just investing their money hoping to have a positive experience. 

They’re making an emotional investment. Guests want to feel assured that their stay will be enjoyable and stress-free. 

Reading positive reviews helps potential guests feel safe when choosing a hotel.

An example of a hotel that constantly gets glowing reviews is the Slow Town Hotel in Taichung, Taiwan.

It receives high praise from guests due to its comfort and cleanliness, friendly and helpful staff, convenient location, and quiet environment.

These factors make the Slow Town Hotel a standout choice for travelers. As a result, it gets consistently high ratings and positive reviews across various booking platforms.

Screenshot of review page for Slow Toen Hotel in Taiwan

Screenshot provided by the author

How Positive Reviews Can Boost Your Hotel’s Reputation

In business, reputation is everything. That goes for the hospitality industry, too. Even if just one customer talks negatively about their recent hotel stay, many travelers will overlook that hotel in their search for the best accommodations. 

Let’s look at how good reviews can do wonders for your hotel’s reputation.

Build Trust and Credibility

Trust is everything, especially in hospitality. Potential guests are more likely to trust your hotel if they see other people talking about their positive experiences. 

And that trust helps build credibility. People view a hotel that consistently gets positive reviews as a reliable, trustworthy place to call their temporary home while traveling.

Enhance Online Visibility

Guest reviews can also help you boost your hotel’s online presence. By featuring your hotel’s reviews on popular review sites like TripAdvisor, Booking.com, Google Reviews, Yelp, Expedia, and Hotels.com, you can boost traffic to your own website.

Those backlinks can help boost your search engine rankings, resulting in even more traffic to your booking site.

Improve Guest Satisfaction

Did you know that positive reviews can also help you improve the guest experience? When you see that your hotel is doing something right to satisfy your guests, you’ll keep doing it, right?

Consider this glowing review a guest left on Hotels.com for their stay at the Darwin Hotel in Atlanta.

Screenshot of guest review for the Darwin Hotel on Hotels.com

Screenshot provided by the author

Notice how the hotel specially accommodates the needs of the guest’s child by turning off the music in the lobby. The staff at Darwin made the guests feel safe and cared for in a new city.

The hotel can use this feedback to improve the guest experience further. For example, it can continue to make special accommodations for guests who need them to improve their stay.

Encourage Repeat Business

Guests who leave positive reviews about your hotel are more inclined to return, especially if they see that you acknowledged and acted on customer feedback.

Satisfied guests are likely to recommend your hotel to others, which helps drive repeat business and referrals.

Gain Competitive Advantage

Positive reviews can set your hotel leaps and bounds above the competition. This can increase the chances of a traveler choosing your hotel over others.

For example, let’s say a family is going to Disney World for their vacation. They’re considering two hotels: yours and a competitor’s. They like both options, including the amenities, proximity to major attractions, and other factors that make it hard to choose.

So, they decide to compare customer reviews. Your hotel’s review rating on TripAdvisor is noticeably higher than that of the other hotel. Ultimately, they choose to book a room at your establishment.

Practical Steps for Hotel Reputation Management

Maintain a strong reputation for your hotel by taking the following steps:

Encourage Guest Feedback

Ask guests to leave reviews about their stay. You can do this through follow-up emails, at check-out, or via in-room information.

Whatever you do, make it easy. To simplify the process, you can provide direct links to review platforms.

Monitor Online Reviews

Check online regularly to see what guests are saying about your hotel. Start by registering your property on popular review sites.

Use reputation management software to track mentions and reviews across multiple platforms. You can set up alerts to stay updated with new reviews in real-time, which enables quick responses and proactive management.

Respond to Reviews in a Timely Manner

Acknowledge all reviews, whether positive or negative. Kindly thank all guests when they leave positive feedback, and always address any concerns that you see in negative reviews. Fast responses show that you value guest feedback and are committed to improving their experience.

Screenshot of Google Review for Le Pavillon Hotel

Screenshot provided by the author

Takeaway

It’s amazing how much power a few positive words about a brand can wield. When you consistently deliver a memorable guest experience, you can expect glowing review after glowing review.

That’s just the way it works. So, continue to keep your guests happy and watch how eager they’ll be to rave about their stay. Then, look at how many more guests you can attract. It’s a beautiful, ongoing cycle of growth that enhances your hotel’s reputation and success.

Here’s to landing more positive customer reviews to boost your bottom line!

Featured Image by Towfiqu barbhuiya on Pexels

The post The Role of Customer Reviews in Shaping Hotel Reputation appeared first on noupe.

Categories: Others Tags:

How to Achieve Zero Downtime Deployment to Improve Web UX

October 11th, 2024 No comments

We’ve all had the annoying experience of clicking on a website or opening an app only to find it’s down for maintenance or not working. In that situation, we’re either left frustrated that we couldn’t do what we needed to, or even in some cases, look for what we want elsewhere. 

That’s why downtime is such a serious business: ultimately, it can mean lost sales and spoilt customer relationships. While updates and maintenance are necessary, users want an uninterrupted service, which makes zero downtime deployment (ZDD) the ideal approach. 

ZDD allows you to make the required changes in the background without affecting the user experience. But how does it work in practice? We’re going to cover strategies, tools, and best practices that can help you achieve successful zero-downtime deployment. 

What is Zero Downtime Deployment? 

Traditional deployment methods usually require that a web application goes temporarily offline whenever any updates need to be made. This is counterproductive to overall business objectives and therefore something that senior management and business architects are keen for development teams to avoid. 

A zero downtime deployment strategy makes it possible to make changes without disrupting usual service, with techniques like blue-green deployments or canary releases. We’ll go into more detail on those later, but the general idea is to introduce changes gradually, and closely monitor the progress. 

This means there is less risk of things going wrong and users get a continuous experience, which helps keep them happy and engaged. Plus, it can make the difference between a customer choosing your business or straying to a competitor.

Zero downtime deployment also improves operational efficiency, as the pressure and the risks that come with traditional deployment are minimized. No elaborate planning is needed to take the system offline and coordinate multiple teams, as automated processes and continuous integration are used for a faster development cycle and less stressful deployment. 

Key Strategies for Zero Downtime Deployment 

ZDD is not just a single technique but a combination of strategies that take different approaches to minimizing disruption to user experience (UX) during deployment. 

Blue-Green Deployments

For this method, two identical environments are maintained: the active (blue) environment and the idle (green) environment. Initially, updates are deployed to the idle environment, allowing teams to conduct thorough testing without any impact on users. 

Once everything has been verified, the traffic is switched to the green environment, and so the updated version goes live without any downtime. The main upside of this approach is that if any issues arise, it’s possible to quickly revert back to the blue environment. The downside is that blue-green deployments require double the infrastructure, which makes it an expensive choice. 

Canary Releases

In the case of a canary release, updates are rolled out to a small group of users, known as the canary group, before they are deployed to the entire user base. The team can then monitor the stability and performance of the new release under controlled conditions. Any issues that come up will only have minimal impact in the context of the wider user base. 

This is a great way to validate new features or changes without risking all users encountering potential bugs. However, it’s important to note that very careful monitoring and a quick response system are essential to tackle any issues that arise in the canary group. 

Rolling Updates

A rolling update makes incremental changes to applications across servers, one or a few at a time. Traffic is, therefore, able to continue uninterrupted through the unaffected servers. This creates a balance between canary releases and blue-green deployments, as there is an incremental update alongside targeting specific servers (as opposed to users). 

The result is a continuous deployment model that copes with live traffic effectively. Rolling updates are popular because they’re resource-efficient, as there is no need for duplicate environments. However, they do require careful management of load balancers and monitoring systems so that updated and non-updated servers can interact without causing problems. 

Feature Toggles

Feature toggles are used to deploy code changes with new features that are turned off by default. The idea is that they can then be selectively turned on for specific users or environments, giving teams control over the visibility of features without full deployment. 

It’s an approach that supports iterative testing and experimentation, meaning it aligns well with a broader UX strategy by allowing features to be tested and refined based on real user feedback. The drawback is that managing toggles can become complicated, particularly when the number of toggles increases, requiring disciplined cleanup and version control. 

Technical Considerations and Challenges 

When implementing zero downtime deployment, you need to be prepared for these technical considerations and common challenges. 

Database Changes

Updating a database schema with zero downtime represents a significant challenge. There are a few strategies you could try to tackle this issue, such as: 

  • Using backward-compatible changes
  • Using new fields rather than altering existing ones
  • Using database versioning techniques. 

It may also be wise to adopt a phased approach, whereby the database is updated in stages – first to support the old and new application versions and then to refine it once the transition is complete. This keeps the application functional throughout the deployment. 

Load Balancing

When you’re managing traffic flow during updates, effective load balancing is of utmost importance. Load balancers always play an important role in distributing traffic evenly among servers, to avoid overloading and potentially ruining your website’s user experience. During ZDD, they become even more important, as they must direct traffic only to the servers working correctly.

To make sure service continuity is maintained, employ techniques like session affinity to keep users sessions on the same server, or health checks to automatically redirect traffic away from a problematic server. When properly configured, load balancers help prevent disruption and keep performance levels consistent. 

Monitoring and Rollbacks

The impact of deployment must be closely monitored to spot any issues early before they cause major problems. Real time monitoring tools should be used to flag when any errors crop up or performance degradation occurs.

A rollback plan should also be established, so that when issues arise, you can revert back to the stable version. Wherever possible, automate rollbacks to minimize reaction time: problems will then be nipped in the bud as swiftly as possible and the effect on UX will be negligible.

Tools and Testing

The effectiveness of zero downtime deployment is highly dependent on the tools and practices employed. 

Essential tools

These are three of the technologies most vital to zero downtime deployment. 

  • Kubernetes: This tool manages containerized applications across multiple hosts, making it easier to handle scaling and deployment without downtime. 
  • Docker: Lightweight containers create consistent environments from development through to production, allowing this solution to reduce issues related to differences in configuration.
  • Jenkins: A technology that automates the CI/CD pipeline, handles builds, tests, and deployments to speed up release cycles and reduce human mistakes.

Continuous Integration/Continuous Deployment (CI/CD)

Much of the deployment workflow can be automated with CI/CD pipelines. Continuously integrating new code changes and deploying them automatically means these pipelines can be rolled out quickly and with little risk of disruption. This is an approach that is considered integral to ZDD, as it keeps the user experience reliable and stable. 

Testing

Automating testing provides the chance to check updates for problems before deployment. Testing can be integrated into the CI/CD pipeline to catch any issues early on, creating a safety net that stops faulty updates from reaching users. 

In the future, this is likely to be an area where we increasingly see the impact of machine learning in web development, as it optimizes and speeds up the development cycle and makes testing more efficient and accurate.

Implementation Tips and Best Practices

The best place to start to make sure zero downtime deployment runs smoothly is with gradual implementation. Begin with non-critical services first, before scaling up as the team gains experience and confidence with the process. This gives everyone the opportunity to learn and make adjustments in the early stages, so you have the best chance of success when it comes down to the big changes. 

With ZDD, it’s also important to remember that team collaboration is vital. All relevant parties, including developers and operations teams, must be aligned on the deployment strategy and should fully understand the potential effects. Tools like Ardoq can help you map dependencies and visualize the impact of deployment across the organization, all of which support better communication and collaboration. 

Finally, as with any kind of deployment, risk management is essential. Although you can take every precaution to make sure everything goes well, you need a plan for dealing with potential failure that includes a solid recovery plan. Consider automated rollbacks or failover strategies to help deal with the unexpected and protect the continuity of user experience. 

Keep UX consistent with ZDD

With zero downtime deployment as an option, interrupted user experience is no longer necessary. You can update applications whilst still maintaining a continuous service. 

This keeps users happy with an uninterrupted service and stops customers from taking their business elsewhere. Zero downtime deployment really is the best solution for both web development teams and the wider business. 

Featured image by Nangialai Stoman on Unsplash

The post How to Achieve Zero Downtime Deployment to Improve Web UX appeared first on noupe.

Categories: Others Tags:

Top Technology Trends Rule in 2025 for Business Growth

October 11th, 2024 No comments

2025 is around the corner and the market has been preparing for it. However, businesses are already embracing stunning software solutions. Establishing a strong back of technical features is a great aspect for businesses. Enterprises with optimized technological functions will be sustained in the upcoming years. The audience is looking for services or products in the digital marketplace. So, the present and future of businesses’ success is impacted by customer experience. 

The more efficiently you hook your audience, the more enhanced progress you will achieve. So, it’s crystal clear that businesses will give utmost importance to tech trends for better user engagement. Accordingly, we have brought the list of technologies you need to prioritize. So, let’s get into it.

List of Leading Future Technologies For Businesses

The following list of technologies will be dominating trends, especially in 2025. Hence, consider them to get remarkable results.

  1. Augmented Analytics

The foremost strategic technology is Augmented analytics. It is a thriving solution. As you develop an AI model and machine learning-based approach, you can leverage it for your business. Making your business smoothly manage workflow by utilizing the data effectively. It enhances your business capabilities to make accurate decisions.  

You can consider that augmented analytics is designed with support from high-end AI ML models. So, it strengthens enterprises with Business intelligence (BI). Using the advancement of various models you can analyze data. Therefore, businesses have already geared up to implement AI/ML solutions for Augmented analytics. 

Reports have even predicted that its market size will be around USD 11.66 billion in 2024 & surpass USD 91.46 billion by 2032. So, from preparing data and business reports to showcasing results, augmented analytics has superbly improved business intelligence. Accordingly, if you want to make a difference, you should definitely consider it right now. 

  1. Internet of Things

Secondly, the Internet of Things (IoT) is a best-in-class aspect to increase productivity. You can gain the potential edge over others with faster task completion. Few of the industries like agriculture, healthcare, transportation, etc, are top-tier firms that immensely reap IoT benefits. 

By connecting the devices to the internet, businesses can remotely monitor, manage, and perform tasks automatically. It allows your business to streamline the workflow and stay ahead of the curve. The increased sales and customer trust would be smoothly managed with utmost accuracy. Moreover, IoT development services will make your business gather higher ROI in less turnaround time. 

  1. Hyperautomation 

Hyperautomation is the blend of diverse automation software or solutions. It is a core essential of business with far-reaching visions. Harnessing the automated tool that manages your tasks smoothly is what businesses look for. In the coming years, hyper-automation will be widely executed and uplift business operations. Following are the major tech solutions brought together in hyper-automation for your business success.

  • AI-chatbot 
  • Automated tools
  • Robotic process automation (RPA)
  • Big Data

The above technologies can bring a bunch of automation efficiency. It simply prevents human intervention in the task processing. The hyper-automation would fasten and organize operations. Your business can buckle up to survive and even excel in any market scenario. Therefore, hyper-automation surrounds your business as the shield of automated options. It will smoothly turn out as the best tool to deliver the task in a time-saving manner.

  1. Extended Reality 

Extended reality (XR) is a visually appealing presence that lets your business connect with the physical world. Kudos to the Apple Vision Pro’s invention, it has given a great push to XR. In simple terms, it links the digital and actual world which emerge business opportunities. From redefining as the top competitor to optimized user experience, your business can accelerate seamlessly. 

The power of XR makes your business trailblazing in terms of offering user interaction. It keeps users engaged with your brand and establishes a longer session. If you have used Apple Vision Pro, you can understand how customers will perceive your digital presence as reality. So, you can effortlessly unlock better customer satisfaction standards with excellent visualization in real-time. 

  1. Cloud Computing 

Cloud computing will expand among businesses as a cost-saving tool. It stores and processes data without any physical infrastructure. It boosts flexibility and amplifies your business scalability. Exceptional cloud computing examples like Google Cloud and Amazon Web Services (AWS) have proved their significance. 

With secure data management among computing devices, cloud-based solutions boost accessibility. Businesses can remain rest assured and with hassle-free storage of sensitive data at a centralized place. Hence, it overcomes the traditional storage aspects and integrates top-notch cloud computing into business applications.

  1. Cybersecurity

Security and privacy are the basic yet bigger aspects of delivering a high-end customer experience. With secure data management among the computing devices, cloud-based solutions boost accessibility. Businesses can remain rest assured and with hassle-free storage of sensitive data at a centralized place. Hence, it overcomes the traditional storage aspects and integrates top-notch cloud computing into business applications. 

Businesses search for the platforms to double the protection shields. There are a range of applications to help them with it. See, the increased tech solutions has also enhanced the cyber threats and risks of data branches. So, it’s high-time to think on this factor and drive practical improvements. Cybersecurity technologies will impact your business goals in the long run. 

The Bottom-Line

Although the most-prime list is over, your business possibilities are endless. So, you can explore others as well. The more technology strength you have the better your business roots become. It will be a strategic business move for you to have the right solution. However, you have to consider the major factors like scalability, sustainability, and credibility. 
No matter what industry you belong to, the aim to outshine in the competitive market is apparent. So, you might also need the help of renowned service providers. You should search for a custom web app development company. Because they have comprehensive resources from experts and strategic viewpoints. It would be of wonderful help to enhance your business. Also, such partners provide you with solutions to retain the market position in adversity. Best of Luck with your research and exploration!

Featured image by Jeremy Bishop on Unsplash

The post Top Technology Trends Rule in 2025 for Business Growth appeared first on noupe.

Categories: Others Tags:

Using Multimodal AI models For Your Applications (Part 3)

October 11th, 2024 No comments

In this third and final part of a three-part series, we’re taking a more streamlined approach to an application that supports vision-language (VLM) and text-to-speech (TTS). This time, we’ll use different models that are designed for all three modalities — images or videos, text, and audio( including speech-to-text) — in one model. These “any-to-any” models make things easier by allowing us to avoid switching between models.

Specifically, we’ll focus on two powerful models: Reka and Gemini 1.5 Pro.

Both models take things to the next level compared to the tools we used earlier. They eliminate the need for separate speech recognition models, providing a unified solution for multimodal tasks. With this in mind, our goal in this article is to explore how Reka and Gemini simplify building advanced applications that handle images, text, and audio all at once.

Overview Of Multimodal AI Models

The architecture of multimodal models has evolved to enable seamless handling of various inputs, including text, images, and audio, among others. Traditional models often require separate components for each modality, but recent advancements in “any-to-any” models like Next-GPT or 4M allow developers to build systems that process multiple modalities within a unified architecture.

Gato, for instance, utilizes a 1.2 billion parameter decoder-only transformer architecture with 24 layers, embedding sizes of 2048 and a hidden size of 8196 in its feed-forward layers. This structure is optimized for general tasks across various inputs, but it still relies on extensive task-specific fine-tuning.

GPT-4o, on the other hand, takes a different approach with training on multiple media types within a single architecture. This means it’s a single model trained to handle a variety of inputs (e.g., text, images, code) without the need for separate systems for each. This training method allows for smoother task-switching and better generalization across tasks.

Similarly, CoDi employs a multistage training scheme to handle a linear number of tasks while supporting input-output combinations across different modalities. CoDi’s architecture builds a shared multimodal space, enabling synchronized generation for intertwined modalities like video and audio, making it ideal for more dynamic multimedia tasks.

Most “any-to-any” models, including the ones we’ve discussed, rely on a few key concepts to handle different tasks and inputs smoothly:

  • Shared representation space
    These models convert different types of inputs — text, images, audio — into a common feature space. Text is encoded into vectors, images into feature maps, and audio into spectrograms or embeddings. This shared space allows the model to process various inputs in a unified way.
  • Attention mechanisms
    Attention layers help the model focus on the most relevant parts of each input, whether it’s understanding the text, generating captions from images, or interpreting audio.
  • Cross-modal interaction
    In many models, inputs from one modality (e.g., text) can guide the generation or interpretation of another modality (e.g., images), allowing for more integrated and cohesive outputs.
  • Pre-training and fine-tuning
    Models are typically pre-trained on large datasets across different types of data and then fine-tuned for specific tasks, enhancing their performance in real-world applications.

Reka Models

Reka is an AI research company that helps developers build powerful applications by offering models for a range of tasks. These tasks include generating text from videos and images, translating speech, and answering complex questions from long multimodal documents. Reka’s models can even write and execute code, providing flexible, real-world solutions for developers.

These are the three main models Reka offers:

  1. Reka Core
    A 67-billion-parameter multimodal language model designed for complex tasks. It supports inputs like images, videos, and texts while excelling in advanced reasoning and coding.
  2. Reka Flash
    A faster model with a 21-billion-parameter, designed for flexibility and rapid performance in multimodal settings.
  3. Reka Edge (PDF)
    A smaller 7-billion-parameter model was built for on-device and low-latency applications, making it efficient for local use and local or latency-sensitive applications.

Reka’s models can be fine-tuned and deployed securely, whether on the cloud, on-premises, or even on-device. Let’s start by testing Reka’s capabilities directly through its playground. This allows us to experiment with its multimodal features without writing any code, providing a hands-on way to see how the models handle various tasks, such as image and video comprehension.

Alright, we’ll kick things off by uploading an image of a diagram outline of the PaliGemma architecture and ask Reka for a detailed explanation.

Can you provide a more detailed explanation of this image?

Here’s what we get from Reka Core:

“This image is a schematic representation of a machine-learning model named PaliGemma. The model appears to be designed for multimodal input, combining both image and text data. At the top, there are two input sources: ‘Image Input’ and ‘Text Input’. The image input is processed by a ‘SigLIP Image Encoder’, which likely stands for a specific type of image encoding technique. The output of this encoder is then subjected to a ‘Linear Projection’, which is a common step in machine learning to transform data into a lower-dimensional space. The text input is directly fed into the model. Both the projected image data and the text input are then concatenated into ‘Concatenated Tokens’, which are then processed by a component labeled ‘Gemma’. The final output of the model is ‘Text Output’, which suggests that the model is designed to generate text based on the input data.”

It’s a clear and detailed breakdown of the PaliGemma architecture. The model accurately identifies image and text inputs, the SigLIP image encoder, and the linear projection step. It also grasps how the image and text inputs are combined and processed to generate text output. I should admit that the response is quite neat, offering a solid explanation of the architecture.

Let’s try a video input instead. We’ll upload the video about Genny, a software, and ask a question to see how well Reka Core handles video comprehension.

What is this video about?

“This video is a screen recording of a group of friends discussing their plans for the weekend.”

Well, it’s not a good answer compared to what LLaVA gave us in the previous article. Now let’s try a longer video, but with the Reka Flash model. The video is about a TTS model called Parler TTS. Instead of asking what the video is about, let’s prompt it like this:

I’m an AI developer, and I’m not sure how this TTS model can help me in my projects. Can you explain how I can use it or what it’s useful for?

Reka Flash generates a solid answer this time:

“Of course! This TTS (Text-to-Speech) model can be incredibly useful for developers, especially those working on projects that involve creating more human-like interactions or providing audio feedback to users. Here are some ways you can leverage this TTS model in your projects:

  1. Accessibility: TTS models can greatly enhance the accessibility of your applications for users with visual impairments or reading difficulties. By providing spoken feedback or narrating content, you can make your applications more inclusive
  2. Voice Assistants: You can integrate this TTS model into voice assistants or chatbots, allowing them to generate more natural-sounding responses. This can improve user experience and make interactions with your bots more engaging.
  3. Multimedia Applications: This TTS model can be used in multimedia applications, such as e-books, educational tools, or games, to provide spoken narration or instructions. This can make the content more engaging and easier to understand.
  4. Audio Notifications: You can use the TTS model to generate audio notifications for your applications, providing users with spoken alerts or reminders. This can be particularly useful for users who may not always have their screens visible.
  5. Language Learning: The TTS model can be used in language learning applications to provide users with correct pronunciation and intonation. It can also generate spoken feedback or narrate lessons, making the learning process more immersive.
  6. Audio Books: You can use the TTS model to generate audio books, allowing users to listen to written content instead of reading it. This can be especially helpful for users who prefer auditory learning or have difficulty reading.
  7. Explainer Videos: The TTS model can be used to generate voiceovers for explainer videos, providing users with spoken narration that explains the content on the screen. This can make the content more engaging and easier to understand.
  8. Audio Feedback: You can use the TTS model to generate audio feedback for users in your applications, such as confirming actions, providing instructions, or giving feedback on their performance. This can make the interactions more natural and intuitive.

In summary, the TTS model can be a valuable tool for developers looking to create more human-like interactions, improve accessibility, and enhance the user experience in various applications.”

It’s a good answer that’s informative and quite practical for developers. Let’s compare what happens when we try the Reka Edge model with a PDF input titled “Meta AI — Responsible Use Guide” (PDF).

As an AI developer, how can I ensure that I am following the responsible AI guidelines outlined in this document?

“To ensure that your use of AI aligns with the principles outlined in this guide, you can follow these steps and best practices:

  1. Familiarize yourself with the principles of responsible AI, such as transparency, accountability, and user empowerment, as outlined in the guide.
  2. Understand the potential impacts of AI on users and society, and be aware of the risks and challenges associated with the development and deployment of AI systems.
  3. Embrace an iterative model-development mindset, continuously striving for improvement and learning from feedback and errors.
  4. Build a responsible AI ecosystem by working with partners, experts, and communities to develop and share best practices, tools, and benchmarking resources.
  5. Follow the guidelines and best practices outlined in the guide for each stage of model development, from data collection and preparation to fine-tuning, evaluation, and deployment.
  6. Consider the specific use case and requirements for your AI system, and tailor your approach accordingly.
  7. Regularly monitor and evaluate the performance and safety of your AI system and make adjustments as needed to ensure it aligns with the principles outlined in the guide.
  8. Be transparent and accountable in your interactions with users and stakeholders, and be open to feedback and suggestions for improvement.
  9. Stay informed about the latest developments and research in the field of AI, and be prepared to adapt your approach as needed to address new challenges and opportunities.
  10. Follow the specific guidelines and best practices outlined in the addendum for Code Llama, such as defining content policies, evaluating and benchmarking models, and addressing input- and output-level risks.”

Reka Edge’s answer is quite thorough and detailed, too!

If you want to dive into coding, start by creating a Reka account and getting an API key. Then you can follow along with this notebook. Try out their Python SDK, and make sure to explore the different models available. It’s a great way to see how these tools work under the hood!

Gemini Models

Gemini 1.5, developed by Google DeepMind, is designed to handle complex tasks efficiently, thanks to the new Mixture-of-Experts (MoE) system. MoE is like packing several specialized models inside one big model. Instead of using the whole network for every task, Gemini 1.5 activates only the parts (or what they call “experts”) that are most relevant. This means Gemini 1.5 can tackle complex tasks with less processing power than a typical monolithic model.

We can explore Gemini’s features in Google AI Studio since it’s already baked right in. We’ll begin by uploading the following image illustrating VLM capabilities.

We’ll ask Gemini to analyze the image and extract details or concepts:

Explain this image. What are the specific details or concepts it represents?

“The image is a flowchart illustrating different types of image understanding tasks with a Vision Language Model.

  • Object Localization: This task aims to identify the precise location of objects within an image. The example question asks, “Is one cat behind another?”
  • Zero-shot Segmentation: This task involves segmenting an image into different regions based on a given label, even if the model has never seen that specific label before. The example question asks to segment “striped cat.”
  • Zero-shot Visual QA: This task requires answering questions about an image, even if the model has not been specifically trained to answer that type of question. The example question asks, “What is the breed of these cats?”
  • One-shot Learning with Instructions: This task involves providing the model with a single example and instruction to learn a new concept and apply it to other images. The example question asks, “Striped cats are called tabby cats. What is the breed of the cats in the image?”

Well, Gemini nailed it — it clearly understood the image and recognized the tasks a VLM handles. This is exactly what you’d expect from a model designed for advanced image analysis.

Now, we’ll upload another image — this time of an Italian dish — and ask Gemini if it can recognize the dishes and list the ingredients needed for them. This type of “food recognition task” will help us test its ability to identify foods and ingredients.

List the different dishes in this image, also from which country, and give me the ingredients I need to make them.

“The image shows an Italian feast with the following dishes:

  1. Seafood Stew: A rich and flavorful stew with seafood like clams, mussels, shrimp, fish, and vegetables in a tomato broth.
  2. Spaghetti with Tomato Sauce: Classic spaghetti pasta tossed in a simple yet flavorful tomato sauce.
  3. Meatballs in Tomato Sauce: Tender and juicy meatballs simmered in a rich tomato sauce.
  4. Lasagna: Layered pasta with meat sauce, cheese, and tomato sauce.
  5. Side Salad: A refreshing side salad with mixed greens, tomatoes, and other vegetables.
  6. Garlic Bread: Toasted bread slices rubbed with garlic and olive oil.
  7. Marinara Sauce: A simple tomato-based sauce.

This is a typical Italian meal with various dishes showcasing the flavors of Italian cuisine.

As for the ingredients, you’ll need tomatoes for many of these dishes, specifically for the sauces and the side salad.”

Well, the model did a good job recognizing the dishes, but it also didn’t give me all the necessary ingredients. Let’s see how it does with videos instead, using the same video we used earlier with the Reka models. This time, the task will focus on action recognition.

What is the purpose of this video, and what key actions or processes are being demonstrated?

“The video is a tutorial about the importance of friendship and how it can impact our lives. It demonstrates the use of a video editing software called “Genmy” to create a video and add text subtitles. The video creator is using Genmy to:

  • Record their voice: This is seen at the top of the screen with the mic icon.
  • Add text to speech: You see the “Text to Speech” option, which is likely being used to generate subtitles or captions for the video.
  • Edit the timeline: They’re working with a video timeline, adding and arranging different elements.
  • Add voice-over: The speaker is adding commentary to the video.
  • Create a visually appealing presentation: They’re using a combination of video footage, text, and voice-over to create an engaging tutorial.”

Well, Gemini gave a clear breakdown of the video, identifying it as a tutorial demonstrating the Genmy video editing software to highlight how it’s used for recording voice, adding text-to-speech, editing video timelines, and allowing voice-over. Impressive!

Let’s upload one more video, the same one we used for Reka about the Parler TTS model, and ask Gemini to analyze and summarize the contents.

Summarize this video and explain how the contents might be relevant or helpful for software engineers.

“This video showcases different voice samples generated by a text-to-speech (TTS) system called “Parler-TTS.” The video highlights various voice characteristics like gender, pace, pitch, and even the simulated environment. For software engineers, this video demonstrates the progress made in TTS technology. These are some insights:

  • Voice Variety: The video shows that Parler-TTS can create diverse voices, potentially useful for applications needing different personas or tones.
  • Fine-grained Control: The video emphasizes the ability to control voice parameters like pace and pitch, showcasing the potential for customizability.
  • Quality and Naturalness: The video focuses on the quality of the generated speech, demonstrating the advancements made in speech synthesis, which is crucial for user experience.”

Nicely done! I can go with that answer. Gemini explains adjusting voice settings, like pitch and speed, and how having different voices can be useful. Gemini also emphasizes the importance of natural, high-quality speech, which is handy for developers working with TTS systems!

Alright, for coding, you can grab the code from Google AI Studio by clicking the Get Code button. You can choose between formatting the code in Python, Swift, and Java, among other languages.

Conclusion

Both Reka and Gemini are strong multimodal models for AI applications, but there are key differences between them to consider. Here’s a table that breaks those down:

Feature Reka Gemini 1.5
Multimodal Capabilities Image, video, and text processing Image, video, text, with extended token context
Efficiency Optimized for multimodal tasks Built with MoE for efficiency
Context Window Standard token window Up to two million tokens (with Flash variant)
Architecture Focused on multimodal task flow MoE improves specialization
Training/Serving High performance with efficient model switching More efficient training with MoE architecture
Deployment Supports on-device deployment Primarily cloud-based, with Vertex AI integration
Use Cases Interactive apps, edge deployment Suited for large-scale, long-context applications
Languages Supported Multiple languages Supports many languages with long context windows

Reka stands out for on-device deployment, which is super useful for apps requiring offline capabilities or low-latency processing.

On the other hand, Gemini 1.5 Pro shines with its long context windows, making it a great option for handling large documents or complex queries in the cloud.

Categories: Others Tags:

Implementing Material Design in Your Android Apps: Best Practices and Examples

October 9th, 2024 No comments

For those who want to develop great-looking and intuitive Android applications, Material Design is the best choice. Material Design is an approach in designing interfaces that was designed by Google and it gives priority in its design to the experience of the user across the various devices. In this blog post, you will learn all about Material Design and what you need to know to make the best of it when creating Android apps. As a business person, you know the need to provide your clients with an app that has as many features as possible, is safe, and can expand as the business grows

Understanding Material Design

Material Design can be described as a language of designing applications, although it does not operate with words, but with the help of elements. Think of it as a guide that makes your app look good and functional on different devices including phones and tablets. It’s all about presenting the app in a way that is easy to understand for the users and they should not get lost while using it. 

Material Design is not only about aesthetics but it also has intelligence involved in it. This way, it employs shadow, movement, and depth to lead the users; thus, the app is both aesthetically pleasing and functional. The way buttons appear on the screen, the way menus slide in and out and all such actions feel smooth and real. 

In adopting Material Design, you are not only making your application beautiful but also friendly and easy to use. It is a method of how to make sure that people do not only download your app, but also use it and enjoy it. 

The Principles of Material Design

Material Design in mobile app development is based on some principles that allow not only to make the application beautiful but also logical. These are as follows:

  • First of all, there is a concept of ‘materiality’ referring to the metaphorical meaning. This idea is all about treating items on the screen as if they are made of physical material. As with real life, such materials can grow and shrink, and while doing so they can even transform their shape, but they cannot pop in out of nowhere and they cannot dematerialize into thin air either. This is useful to the users as it teaches them how to conduct themselves around your app since it is modeled on the physical world. 
  • This principle is about ensuring that every element in the app has a function and is easy to comprehend by the users. The use of colors, typography, and imagery is such that they attract attention and direct the user’s attention to the necessary information. It is all about ensuring that your app is sending out the right message and at the same time it is well designed. 
  • Finally, there is the motion that is also very essential in the whole process. The movement of things in your app is not just an aesthetic, it has purpose. Navigation is applied to lead people, to tell them where to move and what to do, in an unobtrusive manner. Some are like when a person beckons you to come with him or her, it is a sign as to what the next step is without having to tell you. 

Material Design Components and How to Use Them

Material Design is a gold mine of components that are like lego pieces for your Android application. It is like having a set of clothes that are already made and you simply select the one that you want and join them to create a new product. Such components can be buttons which the users can click, cards which can contain some information or tabs to switch between different parts of your application. They are intended to ensure that the application not only looks great but is also easy and simple to use for the users. 

The above components are central to the design of a good app. For example, the button should be put in the place where it is easy to find it and click and the design of the button should give a clue that it can be clicked. Cards are good when it comes to presenting some pieces of information in a clear and structured manner for the user to comprehend. Tabs are useful in breaking down the content into different sections that the users can easily flip between without getting confused. 

These components are very versatile, and this is the beauty of it. They can be made to match the rest of the app’s layout and design, thus creating continuity in your app. This implies that one can be able to change colors, shapes, and sizes to correspond with the style of the app, ensuring that all the features are well coordinated. 

Best Practices for Implementing Material Design

It might look like a daunting task to get Material Design right in your Android apps, but you should know that it is very much possible with the right strategies in mind. Below are some tips that you should consider to ensure that the process is as efficient as possible and the app is as user-friendly as possible. 

  • First of all, it is necessary to follow the guidelines that Google offers within Material Design. These are like your guide to the promised land, or in this case, how to make your app not just pretty to look at, but also easy to use. These guidelines should be viewed more as a recipe book for the chef, which is necessary to produce something brilliant. 
  • After that, it is vital to check your app on different devices and their screens. This helps to make sure that your app is going to look good on both a normal phone as well as a tablet. Suppose you invited people over for a party and ensured that everyone could be comfortably accommodated regardless of the turnout. 
  • Finally, do not forget about your app performance. Users like smooth animation and fast transitions between screens. It is like ensuring that the elevator in a tall building is fast and efficient – it just improves everyone’s day. 

Overcoming Common Challenges in Material Design Implementation

As you incorporate Material Design in your Android applications, there are some issues that you are likely to encounter. One of the big problems is to maintain the application’s interface consistent across the screens. There are various sizes and resolutions of the screens on every phone and tablet. This means that your app can appear well-designed on one device and not so well on the other. To correct this, one has to test the app on many devices so that the problem does not occur frequently. Thus, it is possible to ensure that it always stays neat, regardless of where it is being utilized. 

Another challenge that you may experience is the compatibility of your app with the older versions of the devices. Not all users have the newest phone or tablet, thus it is necessary to test your app on older models as well. This may mean spending some time to ensure that your animations do not cause the app to lag on these devices. 

Finally, it is often challenging to keep everything neat and clean, and all the elements homogeneous. Since there are many parts of your app such as menus, buttons, and screens, it becomes possible to have a mismatched design. One must remember that it is a good practice to verify that all the elements correspond to Material Design from time to time. This is beneficial in maintaining the neatness and consistency of your app’s interface. 

Conclusion

In conclusion, it can be said that Material Design integration into your Android apps is a wise decision. It is all about creating applications that not only are aesthetically appealing but are also easy to use by the users. When employing Material Design, what you are doing is submerging yourself in the basic concepts, toying with the elements and components, and adhering to some of the fundamental guidelines, you are already on the right track. Of course, you will face some obstacles on the way, for example, to make your app look gorgeous on all the devices or to make it run on the older ones. However, with a little experimentation, all these barriers can be crossed. So, why wait? Implement material design right now and see how it affects your Android applications. 

Featured Image by Jotform on Unsplash

The post Implementing Material Design in Your Android Apps: Best Practices and Examples appeared first on noupe.

Categories: Others Tags:

2024: More CSS At-Rules Than the Past Decade Combined

October 9th, 2024 No comments
Number of at-rules per year in FWPD. They all have been added at an average rate of 1 per year, with the highest being 4 in 2021

More times than I can count, while writing, I get myself into random but interesting topics with little relation to the original post. In the end, I have to make the simple but painful choice of deleting or archiving hours of research and writing because I know most people click on a post with a certain expectation of what they’ll get, and I know it isn’t me bombing them with unrelated rants about CSS.

This happened to me while working on Monday’s article about at-rules. All I did there was focus on a number of recipes to test browser support for CSS at-rules. In the process, I began to realize, geez we have so many new at-rules — I wonder how many of them are from this year alone. That’s the rabbit hole I found myself in once I wrapped up the article I was working on.

And guess what, my hunch was right: 2024 has brought more at-rules than an entire decade of CSS.

It all started when I asked myself why we got a selector() wrapper function for the @supports at-rule but are still waiting for an at-rule() version. I can’t pinpoint the exact reasoning there, but I’m certain rthere wasn’t much of a need to check the support of at-rules because, well, there weren’t that many of them — it’s just recently that we got a windfall of at-rules.

Some historical context

So, right around 1998 when the CSS 2 recommendation was released, @import and @page were the only at-rules that made it into the CSS spec. That’s pretty much how things remained until the CSS 2.1 recommendation in 2011 introduced @media. Of course, there were other at-rules like — @font-face, @namespace and @keyframes to name a few — that had already debuted in their own respective modules. By this time, CSS dropped semantic versioning, and the specification didn’t give a true picture of the whole, but rather individual modules organized by feature.

Random tangent: The last accepted consensus says we are at “CSS 3”, but that was a decade ago and some even say we should start getting into CSS 5. Wherever we are is beside the point, although it’s certainly a topic of discussion happening. Is it even useful to have a named version?

The @supports at-rule was released in 2011 in CSS Conditional Rules Module Level 3 — Levels 1 and 2 don’t formally exist but refer to the original CSS 1 and 2 recommendations. We didn’t actually get support for it in most browsers until 2015, and at that time, the existing at-rules already had widespread support. The @supports was only geared towards new properties and values, designed to test browser support for CSS features before attempting to apply styles.

The numbers

As of today, we have a grand total of 18 at-rules in CSS that are supported by at least one major browser. If we look at the year each at-rule was initially defined in a CSSWG Working Draft, we can see they all have been published at a fairly consistent rate:

If we check the number of at-rules supported on each browser per year, however, we can see the massive difference in browser activity:

Number of at-rules per year in FWPD visualized by the browsers that implemented them in a colorful vertical bar chart.

If we just focus on the last year a major browser shipped each at-rule, we will notice that 2024 has brought us a whopping seven at-rules to date!

Numbers of at-rules with support in at least one major browsers. There have been seven that gained support in 2024
Data collected from caniuse.

I like little thought experiments like this. Something you’re researching leads to researching about the same topic; out of scope, but tangentially related. It may not be the sort of thing you bookmark and reference daily, but it is good cocktail chatter. If nothing else, it’s affirming the feeling that CSS is moving fast, like really fast in a way we haven’t seen since CSS 3 first landed.

It also adds context for the CSS features we have — and don’t have. There was no at-rule() function initially because there weren’t many at-rules to begin with. Now that we’ve exploded with more new at-rules than the past decade combined, it may be no coincidence that just last week the Chrome Team updated the function’s status from New to Assigned!

One last note: the reason I’m even thinking about at-rules at all is that we’ve updated the CSS Almanac, expanding it to include more CSS features including at-rules. I’m trying to fill it up and you can always help by becoming a guest writer.


2024: More CSS At-Rules Than the Past Decade Combined originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter.

Categories: Designing, Others Tags: