Top iOS 14 features you MUST know!

Apple unveiled the latest version of its iOS operating system, iOS 14, at the WWDC keynote in June 2020.

iOS 14 is one of Apple’s biggest iOS updates to date, introducing Home screen design and widget changes, picture-in-picture, Siri improvements, updates for existing apps, and many other tweaks that streamline the iOS interface.

Apple has seeded a total of seven betas yet of upcoming iOS 14 and iPadOS 14 updates to developers for testing purposes.

Let’s look into some major UI updates and features that stole the spotlight.

Widgets

‌iOS 14‌ introduced a redesigned Home Screen that supports widgets on iPhone for the first time, breaking up that stagnant tiled-grid-of-apps look. ‌Widgets‌ have been redesigned and can now be customized in three sizes through the new ‌widgets‌ gallery.

video of a person using a phone

Widgets provide more data than ever to provide more functionality, and Apple redesigned its widgets for default apps like Weather, Stocks, and Calendar. There are also new widgets for Apple News and Screen Time.

Widget Gallery will comprise all of your widget options — by long pressing on the display, choosing “Edit Home Screen” and then tapping the “+” button.

These suggestions are based on what users are installing the most, and third-party app developers can create new widget experiences for their apps.

person showcasing iOS 14 features on iphone

Widget Smart Stacks

You can stack up to 10 widgets on top of one another to better utilize space and can swap between them with a swipe, both in the Home Screen and Today view.

video of a person using an iPhone

There’s a separate Smart Stack feature that’s different from widget stacking. A Smart Stack is a widget stack, created in the Widget Gallery view, that automatically surfaces the best widget option based on activity, location, and time – making sure you’re looking at what’s most relevant.

You can, of course, swipe through the Smart Stack yourself.

App Library

picture of an iPhone

App Library is a great new feature that shows all of the apps you have installed in an organized, simple-to-navigate view that’s similar to the app list view on the Apple Watch. That is categorized into Health and Fitness, Social, Reference and Reading, Productivity, Utilities, Education, Games, Creativity, and Lifestyle.

Compact UI

In the previous version, there are plenty of apps and actions that just unnecessarily take up the entire screen. Now they are all fixed.

Incoming phone calls no longer take up the entire screen in iOS 14 and instead show up as a small banner at the top of the display that you can easily hide, ignore, accept or reject based on your preference.

This also applies to Siri, FaceTime calls, and third-party VoIP calls.

While doing a FaceTime, you will experience a Picture-in-Picture UI that you can easily swipe up, go home, and do other things without pausing the video.

video of a person using an iPhone

Picture-in-picture has been widely supported throughout the entire OS. So, if you are watching any video in Safari or a movie on Apple TV or an app, you can shrink the video in a picture-in-picture window while getting other things done in the background.

Siri Search Updates

Like before, Siri does not take up the whole screen in iOS 14 now. You can call Siri long-press the power button and can see a small animation at the bottom of the screen. It pop-ups an answer at the top of the screen. (But it doesn’t let you interact with anything underneath directly without exiting Siri- if you want to).

Unique iOS 14 Accessibility Features

These upgrades may look minor for iOS 14, but they will be immensely helpful for visually and hearing-impaired users.

Within the new update, you’ll be able to set up your iPhone to listen out for specific noises such as a siren or fire alarm or even a cat. If the phone hears the noise, it’ll notify the user.

According to Apple, it won’t be sending any of your data onto the internet to allow for this feature as this is all done using on-device technology.

Another unique feature in accessibility settings is that you can now map double-tap or triple tap on the back of the phone to a shortcut like Siri, mute, volume down/up, lockscreen, and others.

There are so many other minor changes that have been made in each beta version. ‌iOS 14‌ and ‌iPadOS 14‌ are available to registered developers and public beta testers at this time. Stay tuned to find out which features we are finally going to see in the iOS 14 final release this month.

A comprehensive guide to Mobile App Design

2.56 million and 1.85 million.

According to Statista research, these numbers are the number of applications available on Google and Apple’s app store, respectively.

Each one of these applications is trying to solve a problem. Problems like payment friction, learning, boredom, and whatnot. A million solutions for billions of smartphone users.

But, bear in mind that a problem can be approached in numerous different ways and not all solutions are up to the mark. Most of the apps are not thoroughly researched or planned and hence lack in UX, functionality, optimization, etc..

Having delivered 80+ successful enterprise and user-facing apps, we have learned and curated a set of best practices that help us deliver flawless mobile solutions. Here’s a comprehensive guide to Mobile App Design.

Establishing the ‘Why’ of your app

Trees with question mark on it

Yes, this is an obvious one! Some things that will be established after you have had your ‘eureka’ moment. Meaning, you know that you have to design an app that will solve your user’s problem with ease but you need to dive deeper.

To facilitate this, answer all the questions below before you jump in the design and development phase:

  • What is the problem that you are trying to solve for your users? (like assessing users mental health)
  • Can you define your app’s aim in a single sentence? (This will give you a precise answer to the question above)
  • How do you plan on solving the problem from your user’s viewpoint (and not yours)?
  • What is your USP?
  • How many competitors are there in the market and how do you plan to differentiate your product offering?
  • If your idea is unique, how do you plan on educating your potential users and convincing them to download your app?

These answers will lay the groundwork for your app thus it’s vital that they are clear and understood by all your team members. Write these answers, print them out, paste them in your office, but ensure that everyone is on the same page.

You can always go back to the answers in case there is a detour in your journey.

Creating a functional design

Two smartphone laid on a table with their displays on

Now that there is crystal clear clarity (pardon the alliteration), it’s time to design your app. You should start with wireframes and prototypes for validating your idea. Some tools that will help come in handy are:

  • Sketch
  • Axure
  • Miro
  • Adobe XD

People spend the majority of their time on mobile apps. This implies that the users are hooked to a certain set of apps. How to get in this inner circle?

A clean, simple, and intuitive UI is the answer. This seems a bit vague so let’s define some tips and methods that will help us here.

Storytelling via your UI

paper sketches of an app

We all love stories and mindful endings. And this can be done via your copy, illustrations, animations, etc. Storytelling will help your users share your vision and have better clarity of why your app exists.

  • Make your UI copy conversational and avoid jargon at all costs.
  • Leverage tooltips for better engagement.
  • Be clear when sending out an error message. Pinpoint whatever is wrong or missing.
  • Come up with a pleasing onboarding process

Thus you can humanize your app via a story and it gives the users a chance to look into the vision that you have for your app.

Familiar App Navigation

Person sketching mobile screens

Design your app in such a way that your users need no additional directions to navigate your app. We do not imply that you should copy from competitors. Rather, look out common practices that your user is habitual to, irrespective of the app category.

Stick to using UI elements like hamburger menu, tabbed navigation, or skeuomorphic icons, and so on. The aim is to avoid surprising your user on every click.

Keep in mind how people hold their phones

People holding their phones

We all hold our phones in many ways. Holding it in both our hands in landscape mode, holding the phone in one hand and using the thumb to scroll, using both hands for operating, etc.

Whichever the way, ensure that the vital interaction buttons are within the thumb’s reach and not in the stretch zone. Place the key functionalities and information somewhere in the center. And no elements are hidden behind fingers and palms.

Touch targets

graphic of bubbles

According to MIT’s Touch Lab’s Study, 10mm by 10mm is the minimum touch target size. We have to design for fingers and thumbs, not for cursors.

You can increase as per your need. Say if you are focusing on the elder demographic via your mental wellness app, it would make sense to increase the touch target’s size.

Also the spacing between touch targets should be adequate. They should not be so close to each other that it leads to wrong selection.

Use Established Gestures

person holding a phone perpendicular to their body

Using the same gestures may seem like a creativity barrier but if you don’t do this, your users will suffer.

Scrolling up and down, pinching for zooming in and out, etc should be used wherever possible. Also if you do wish to deviate a little, inform your users and even better demonstrate it for them so that there is no confusion.

You can also test this in your hi-fidelity prototypes to see if your users are struggling with understanding and using the different gestures.

Consistent layout

person holding a phone in front of their computer

Consistency is the lifeline of good design. You can design such an app via:

Visual hierarchy and weight via color play, typography, size, etc.
All your interactions, gestures, navigation should follow the same pattern throughout your app.
Your design should look the same across varying screen sizes and platforms.
If you have a live website, you should aim for a similar-looking app.

Easy Onboarding Tour

person using a tablet device

As mentioned early, your onboarding is a chance to curate your story and present it to your users. Don’t miss out on this.

You should not overwhelm your users with all the information in one go. You will turn your users away even before they complete the onboarding. Your tour should be a progressive one, encouraging users to keep moving on.

Break the information into smaller sizes for easy remembrance. And give the option to skip and resume the tour as per the user’s convenience. This gives the user the control and thus motivates them to interact more.

Keep the sign up simple and give the option to login via social media accounts. If possible, ask users to sign up in the later stages of onboarding. This way you get to highlight your value beforehand, thereby reducing the churn rate.

You will also need to take care of these practices –

  • You should have in-app search functionality, especially for ecommerce websites with huge product offerings.
  • Deter from asking unnecessary permissions. Continuing the above example of a mental wellness app, asking access to messages and contacts may not be well received by the user.
  • Minimize your user’s input. Enable autofill for your forms to speed up the signup process.
  • Keep your notifications to a minimum. Frequent notifications are annoying and may result in the users switching off the notifications altogether.
  • Optimize your app for voice search.

Your app should be designed in a way that your users do not think about the design of your app rather they focus on its functionality.

Testing Your App

person holding a phone while taking notes

Once you have invested your time and effort into designing and developing your app, you should test your app’s beta version on a focused group. Ask them for their honest feedback and improvement areas.

You have to test for your app for:

  • Functional testing for seeing the working of the functions and features.
  • Performance testing under different network bandwidths, older mobile devices, and servers.
  • Accessibility compliance
  • Interruption testing for how the app behaves upon incoming calls, notifications, low battery warnings, any cable attachments or detachments, etc.

Ready, Set, Release

After you ensure that your app is good to go out in the app world(s), sit back, and hit the launch button.

A side note here, things may not go as expected post-launch, so you need to have an open mind and pay heed to the feedback from your real users.

We, at Galaxy Weblinks, have been on this rollercoaster ride of app design, development, and release a good number of times, in case you wish to talk to us about your app and even new ideas, you can get in touch with us here.

How OpenAPI and Swagger helps in developing RESTful APIs?

We are all aware of how APIs connect different devices and applications and allow us to place an order, book a flight, or make a reservation.

Since software products are becoming more and more about a bunch of micro-services and third-party APIs mashed together, it is critical to get their structure in order. Plus, as the number of APIs continues to rise, the lack of global API standard risks slowing down innovation and limiting collaboration.

That’s where specification comes in the picture.

An API specification is a document that describes an API.

It is stored in a machine-readable form such as JSON or a YAML file and can be converted to human-readable API documentation.

What is Swagger and OpenAPI Specification?

Swagger is a tool for designing, building, documenting, and mocking APIs. It uses the OpenAPI Specification (also known as OAS) to describe requests, responses, and any other details about your RESTful APIs.

(RESTful APIs enable web applications that are built on various programming languages to communicate with each other.)

Swagger and OpenAPI specification lets developers design and develop REST APIs seamlessly and effortlessly. These specifications help in describing the structure of a REST API so that machines can read and mock them.

For instance, to access a REST service, the client needs to know the REST API of that particular service. You would also need to write the code according to that documentation.

With OpenAPI, this step is automated.

There exists a machine parse-able file that explains to computers how a REST API works. It tells code what replies to expect and what requests exist. To quote from the OpenAPI description:

“The OpenAPI Specification (OAS) defines a standard, language-agnostic interface to RESTful APIs. This can be used by documentation generation tools to display the API, code generation tools to generate servers and clients in various programming languages, testing tools, and many other use cases.”

. . .

Developing APIs with Swagger and OpenAPI

The Swagger toolset includes a mix of open source, free, and commercial tools, which can be used at different stages of the API lifecycle while using OpenAPI spec.

These tools include:

  • Swagger Inspector: API testing tool that generates OpenAPI definitions from an existing API and lets you validate your APIs.
  • SwaggerHub: API design and documentation, built for teams working with OpenAPI.
  • Swagger Editor: Swagger Editor lets you preview documents in real-time, and edit OpenAPI specifications in YAML inside your browser.
  • Swagger UI: Swagger UI is a collection of CSS, Javascript and HTML, and assets that dynamically generate beautiful documentation from an OAS-compliant API.

And others…..

For instance,

Writing your first specification?
You can use editor.swagger.io which loads petstore samples.

The left side shows OpenAPI specification and the right side shows OpenAPI documentation which is generated based on spec. Initially, developers used to create documentation from the code.

Adding a step of specification while creating an API helps in sharing it with different teams who are going to work on these APIs or use these APIs in their application. That’s when the design and documentation of APIs come in handy.

So if you have an OpenAPI implementation and an OpenAPI description file of a REST API, you can feed that description file to the OpenAPI implementation.

And this implementation now knows how to use the REST API, it can even auto generate code to use the REST API in different languages or can generate human readable documentation for you.

. . .

Why OpenAPI Spec for developers?

As shown above, many developers find it valuable to work with a specification to automatically generate and improve their documentation, as this improves consistency and saves time.

Also, it enhances the developer experience as it makes it easier to try out and explore an API. As it helps other developers to consume your API, and having a well defined/documented API will have a great impact on it. You can focus on the API consumers need beforehand.

Secondly, it enables independence between teams, e.g, QA, Backend, and Frontend engineers know how the API is supposed to do, so they are all aligned on it.

Removing these dependencies speeds up the release process because different teams can do their tasks at a much faster pace.

Conclusion:

The OpenAPI Initiative is part of the Linux Foundation, which makes it a bit more trustworthy and at least looks like it won’t go away soon.

Whereas, Swagger tools are convenient because you can manage files in the repository and send it out as specifications with one command.

Whatever your approach to building APIs, we can help you in having a trusted and consumer friendly tool to orchestrate your API lifecycle, which can be a crucial game changer in your application development.

Why you should partner with a development agency?

As a creative agency, it is imperative for you that your product is developed exactly as you envisioned without countless iterations and unreasonable overheads. That is where a professional development agency or digital production experts come into the picture.

Here are some compelling reasons for a creative agency to hire a software development partner.

Saves Your Time

A graph image with a toddler sitting in front of it

Unless you’re an expert in web and mobile development, the development process can turn out to be a massive undertaking. Website development has numerous dynamic aspects, such as search optimization and changes in user behavior. Now factor in how much you’d have to learn to get up to the speed! It may not leave you with ample time to focus on running your business.

Take your web design and development concerns off of your plate and utilize that time to make way for new ideas by hiring a development agency.

Flexibility Of Engagement

A graphic of a hand putting a coin inside a smartphone

Lack of control on your project direction, timelines, and outcomes is frustrating. That’s why agencies have engagement models to quantify expectations and deliveries.

Engagement models help you get your scope, budget, deliverables, management, time-to-market, and deadlines right.

Popular engagement models that agencies go for:

Fixed price: Ideal for projects with well-defined expectations in terms of the project outcomes and timeline.
Or
Time and Material: Ideal for a long term project with dynamic requirements and uncertain deadlines.

Having determined the type of business relationship via engagement models you can be confident about your product timelines and have measurable parameters for the tasks accomplished.

Helps You Beat The Competition

Picture of a winner podium

To succeed, you need to outdo your competitors. It’s as simple as that! Or stay up to speed at the very least. Hiring a web development agency will help you catch up with the competition in this highly dynamic and competitive marketplace.

It helps a great deal to have specialists at your disposal, who are willing to give immediate turnarounds round the clock.

Web and Mobile development companies are well-versed in their craft and use proven methodologies and processes. They know what your users are looking for and will ensure that the product they build complements your vision.

No Management Hassles

lady helping other lady with a phone

A web development agency provides end-to-end development solutions. This would include product strategy, and customer journey mapping. They don’t just write code but take complete accountability up to go-to-market.

Things that a development agency takes care of besides design and code:

  • Business analysts gather project requirements, analyze them, make recommendations, prepare a technical document and estimate the scope of work.
  • Your development partner then schedules meetings to ensure that everyone is on the same page during the development cycle.
  • Also, a dedicated project manager is assigned to take care of everything from client communication to meeting the deadlines.

Helps You Stay On Top Of The Disruptions

photo of a news article

When you’re hiring a development agency, you’re getting the diverse expertise of trained professionals. You get a pool of designers, developers, managers, QA experts who have mastered the art of collaboration amongst themselves over the years. There is almost always a skilled expert ready to sort out a given issue at any time.

Some of these agencies specialize in hottest trends in the industry, such as IoT, AI, AR/VR, and Blockchain. They understand your needs are well versed with the latest technologies and can recommend a solution that suits your project to a T.

Provides Turnkey Solution

picture of a key in car ignition switch

Your business is not made of lines of code. There are other aspects of a business that needs to be taken care of. Marketing, sales, support team, and a good infrastructure that will become your core business point.
Partnering with a development agency will provide you a turnkey solution that comes with a holistic package which you need to run your business.

Everything in the development pipeline. The agency will provide everything from hosting, planning, UI/UX, SSL certificates, branding, design, development, user testing, SEO, maintenance, and support.

Our observations are for the companies who are looking to scale and need immediate turnaround without a prolonged latency and much of SME involvement to go in the little details.

The agencies that have partnered with us, speak very highly of us. You can go look us up on Clutch. And if you’re convinced that we are a good fit for you too, chat with us here.

What is Node.js and other things you should know about it?

Whether you have recently started learning Node.js or thinking about using it in your next project, this blog will help you in understanding the main reasons why it has become so popular, and the use cases of Node.js that you can implement for better opportunities.

Node.js is an open source, cross platform Javascript run-time environment for running web applications outside the client’s browser.

That fits in a basic scenario while creating a web application, like this —

Graphic of backend architecture

The usage of Node.js is not only limited to building web applications, but also for implementing various kinds of services.

  • Microservices
  • Developing API
  • Backends and servers
  • Scripting and automation
  • Frontends

The ethos of Node.js is that it uses an asynchronous, event-driven, and non-blocking I/O model. This creates lightweight and efficient real-time applications that run across distributed devices – perfect for data intensive applications.

I know you didn’t come here after escaping the never-ending research loop only to get stuck again with event-driven, asynchronous, and other jargon.

Video of a man trying to remove a stuck vehicle

Let’s get to the basics to understand how these terms are solving age old problems — and also are the main reason why Node.js is heavily used among programmers and companies today.

Here’s where Node.js shines

Single Threading

Traditional web-serving techniques use each connection (request) to spawn a new thread (the time and resources to execute a small unit of instructions). This takes up system RAM and eventually maxing-out at the amount of RAM available.

Whereas, Node.js environment is carried out by one computer processing thread that runs through a queue of events.

Drawing of single threaded task queuing

That’s because Node.js is single threaded that executes each event one by one in that queue. And you also don’t have to start a new thread for every new user and make them wait.

Non-blocking I/O model

Drawing of a non-blocking input diagram

Image credit: Luminousmen.com

I/O refers to input/output. It can be anything ranging from making an HTTP request to an API, to reading/writing local files.

I/O takes time and hence blocks other functions.

Node.js is non-blocking I/O, which means:

  • The server will keep attending requests.
  • The main thread will not be blocked in I/O operations.

You can initiate the requests of 2 users in parallel without waiting for the response to the request for the first user. This non-blocking I/O eliminates the need for multi-threading since the server can handle multiple requests at the same time- making the whole process fast and scalable.

Asynchronous request handling

Asynchronous requests drawing

An app database can be crashed with a huge data load.

Receiving a high amount of concurrent data can make the database congested and result in the crash of the application. Also, it becomes expensive to queue data and maintains concurrency because of the huge data load.

The asynchronous nature of Node.js helps in handling huge data load.

Asynchronous processing allows requests to be processed without blocking the thread. This helps Node.js make the most of single threading, resulting in short response time.

Due to its single-threaded, non-blocking, asynchronous nature, Node.js is a popular choice for video conferences, chats, online gaming, or any solution that requires constantly updated data.

And that’s what leads to our next section of existing use cases of Node.js.

Popular use case opportunities in Node.js

Node.js stands out for its speed, intensive data exchange, application scalability, etc. and that is why it has been used by NASA, Netflix, Paypal and other companies.

Below are the examples of when Node.js can and should be used:

1. Chats/Chatbots:

The chat application is a popular example of Node.js. It helps in creating a data-intensive (but low processing/computation), high traffic, lightweight application that runs across distributed devices.

2. Microservices:

When building and deploying microservices solutions, Node.js is the technology of choice. Companies are using two frameworks for microservice architecture. The restify is used by npm and Netflix, while the Express framework lists Uber and IBM among its users.

Whereas, Walmart’s shift to microservices architecture with Node.js resulted in saving up to 40% on hardware and 20-50% on overall operations.

3. Data streaming

Netflix chose Node.js for application scalability and intensive data exchange.

Node.js helps in processing files while they’re still being uploaded, as the data comes in through a stream and we can process it in an online fashion. This could be done for real-time video or audio encoding and proxying between different data sources.

4. Real time data

There is a need to plan out extra resources to execute all the operations without failing to meet any service-level agreements if your web app is running live 24 x 7.

Node.js is a good fit for building real-time web apps by using push technology over web sockets (a two-way communication between the clients and servers).

Some applications function within a time frame that the users recognize as current and immediate. For example, collaborative web apps (Trello, Google Docs), live chat, instant messaging, and online gaming are real-time apps that benefit from Node.js architecture.

Wrapping Up

In conclusion, if your use case does not access any blocking resources nor contain CPU intensive operations, you can exploit the benefits of Node.js and enjoy scalable and fast network applications.

If you want to enter into the real-time web or create a data intensive application with Node.js, Contact us.

5 Useful Tips For UX Designers 

How often does it happen that we put in days and weeks in designing the perfect UI design thinking that it will be a user delight.

But when the first analysis comes in, the numbers paint a different and a rather disappointing picture.

Every UX Designer under the sun has gone through this situation. Sometimes an overabundance of creativity can make us overlook the default practices.

In one of our previous blogs, we talked about the layout fundamentals that will ensure an attractive UI design. Taking that thread ahead, this article would highlight the UI tips and tricks which will work in improving your overall design.

Recognition Over Recall

App icons

In Jakob Nielsen’s 10 usability heuristics, he recommended recognition over recall.

For instance, it is much easier to recognize the skeuomorphic shopping cart icon when shopping online because it is easily relatable with our regular shopping experience. If we try to replace this shopping cart icon to another icon, say cards (signifying payment), it will be hard for the users to recognize and relate to it.

The recognition time is much shorter than the recall time due to the simple fact that our brains are wired to recognize the things that we see frequently as against fairly new ones.

Use industry standard visual cues, layouts, patterns when designing tooltips, icons, buttons, etc.

Give Feedback To Your Users

loading sign painted on a wooden fence

Just like we accept a response from the person we are in conversation with, the same goes when interacting with websites and apps.

Additionally, the absence of human interaction on the web necessitates a response for letting your user know what’s going on.

Common feedbacks can include:

  • A single change in color of interaction buttons
  • Letting your users know how much the load time is
  • Their progress on the tutorial and the product tour (if any)
  • Letting them know the exact requirements when creating new passwords
  • Pinpointing the error when filling out long forms

You can leverage microinteractions to keep your users engaged. Microinteractions are the cherry on top of your beautiful UI (that is if you like cherries :p).

Rotating buttons, color changes, different cursors when on links, etc are all great and subtle examples of microinteractions.

Design An Intuitive Navigation Route

Aerial picture of cars on a fly-over

This may sound a little vague so allow me to elaborate.

When we say intuitive navigation, we refer to the predefined routes and interactions that a user is likely to take. When your users pause to understand a certain function or take time to complete any task, look into the navigation route again.

Try to point out why your user left your website or app in the middle of the product tour. Were they given the option to skip the tour or they simply abandoned it in between?

Was there something that distracted your users? Perhaps they got confused because of the different elements present, etc.

We recommend that you try to anticipate where your users can get stuck and change it accordingly.

The idea behind an intuitive design is that it confers to the established patterns of the industry or from the market leaders as well.

Let Your CTA Stand Out

Sale poster outside a shop

This should ideally be a given while designing a winning UI. However, there is a big possibility of missing out on this one when you are in the flow.

We recommend that the CTA should be the most highlighted element on the page. You can do this via color play, text labels, font, and varying size, white space, etc. There should be no other element more enticing than your CTA.

Another point to keep in mind is that the CTA copy should be short but concise. CTA, in our opinion, should not exceed 5 words (ideal limit being 3 words). Avoid multiple CTA, for this reason, read the point below.

Limiting Your User’s Cognitive Load

Chess board

What do you think is easier, ordering from a 3 items menu or 30 items menu? For most of us, it would be 3. When offered with multiple options, the human brain tends to be indecisive.

Also, according to psychologist George Miller’s theory of chunking, humans’ working memory is capable of handling seven plus or minus two “chunks” of information.

When we tend to put a lot of information out there, the majority of it is bound to be forgotten by your users and even overwhelm them. Thus, why not limit it from the beginning itself?

You can always try to break down all your information into simple forms or categorize them to reduce crowding on any given page.

We know how difficult it is to design something that resonates with a wide demographic and we also know for a fact that it’s impossible to please every single one of your users. These tips will ensure maximum engagement and stickiness.

And if you want the UI/UX specialists to analyze and help revamp your UI then get in touch with us here.

Why should you consider a Single Page Application for your next project?

Single Page Applications(SPAs) are all around us. Industry leaders like Google, Trello, Facebook, Gmail, Github, vouch for it.

Their structure is considered the best for seamless user experience and resonates well with the native app-like experience on browsers. However, there are many more reasons that have made SPAs so popular in the developers’ community. Read on to find out more.

Advantages of choosing SPA

person pushing shopping carts

– Fast and Flexible Approach

SPAs load only the user’s requested content instead of reloading the entire page repeatedly. Other sources like DOM elements, CSS, HTML are loaded only once at the beginning of the application. Only data is exchanged between the server and the client afterward.

This improves the page loading speed and lessens the waiting time for the users. And given how user’s attention span and patience levels are decreasing day by day, this is a noteworthy feature.

– Works on Lower Network Bandwidths

SPAs can work well in lower network bandwidths. Even when your users are present in remote locations with slow internet speeds, SPA-based solutions will not hinder the overall user experience.

– Enhanced User Experience

You can give your users a simple yet aesthetic experience. This is possible because of transition effects and parallax scrolling. This makes the websites interactive and provides a simple linear website for the users for limitless scrolls, helpful for the mobile experience too.

– Caching Mechanism

Caching of all local data is very efficient in SPA. A single request is sent to the server and all the data gets stored in one ago. This stored data can then be used even when your users are offline.

– Easy Debugging

Debugging is easy in SPA, thanks to Chrome and the apps used to develop it, namely, AngularJS Batarang, React Developer tools, etc. Most of these frameworks have their debugging tools for Chrome. The life of developers is a little less bumpy in the SPA’s debugging in comparison to MPA’s debugging. You can also monitor network operations, look into every page element, and the data associated with them.

SPAs have a lot to offer. However, there are some drawbacks as well! Let us see what they are.

Where SPAs Lack

Street shop with a Google tag on it

– SEO troubles

SPA structured apps are believed to be ranked lower in the search results page. They run on Javascript and the data is downloaded on the client’s request only. Thus, these single page apps don’t reload new pages with unique content and URLs making it difficult for the search bots to find and crawl it.

– Security issues

The rage about the security of data is at all times high! SPAs do have security risks associated with them. It is said that SPA is prone to cross site scripting attacks. Via this, hackers can push client side scripts into your web app.

Developers need to be alert with the information sent in the initial page load. Any slip here can lead to data leaks and information may end up in the hand of hackers.

All this said and understood, there are places where opting for MPA is said to be a better option. But in case you are wanting to see if SPA is the answer you are looking for, refer to the next section.

The Ideal Scenario for an SPA

As mentioned earlier, SPAs are not the most optimal option when it comes to SEO optimization. But if you are looking to build a social network like Facebook or Linkedin (both are based on SPA), you can opt for it.

Next in line are closed community groups and SaaS platforms, SPAs are said to be the go to choice for these two categories as well.

SPAs take the spotlight when it comes to building native app experience for browsers with less load time. If you are building a dynamic personal or company website having small data volume then also you should go for SPA.

There are many frameworks that you use to build SPAs. The preferred ones are Angular, Meteor, Ember JS, React, Vue, Backbone JS.

The end choice of course needs to align with your business needs and future perspectives. Feel free to consult with our experts here.

Instagram Made Me Rethink About Touch Targets

I’m sure you might have come across numerous articles on the web that talk about why we need adequate touch targets for each interactive element on any touch-based interface. (Especially mobiles which have a relatively smaller landscape.)

A ‘touch target’ refers to the area associated with an element that triggers the interaction when users tap on it. This area usually extends beyond the visual shape of an element when it isn’t an explicit part of its design.

Have a look at these two buttons, for instance; one is filled while the other is just textual.

Even though the button on the right does not have a visual shape like the other one, its touch target (although not explicitly visible) extends way beyond the text area.

Ideally , these touch targets should be at least 1cm x 1cm (or 38px x 38px) in size, as suggested by Nielsen Norman Group, to promote better capability for users.

Now, I’ve been an avid user of Instagram - which I’m sure you may know, has been one of the world’s most popular apps for quite a long time now - and lately, it struck me that most of the elements on its interface do not follow the common norms for touch targets.

Have a look at this shot, for instance.

Horizontal spacing

In the first highlight, you may notice that all the tags are very close by with hardly any horizontal space left in between. When tags are relatively long, they are much easier to tap on even if they are set close to each other.

Vertical spacing

This type of spacing is usually more concerning in the case of small screens, as no matter how big an element is horizontally, if it is stuffed tightly between two other interactive elements, it’ll be difficult to tap on it.

The same is happening with elements in the second highlight. The action to ‘view comments’ and the ‘profile names’ are very closely stacked.

Another example would be the location link just above the picture in the shot below.

Despite all the discrepancies in spacing, I do not remember a single instance wherein I tapped on an element which I wasn’t intending to tap on!

And I think most of you guys did not, either. Unusual, right? Considering how tight those elements are spatially.

This leads me to believe that the area that we cover when we tap is not that large, after all.

The bigger yellow circle has a dimension of 1cm X 1cm (or 36px X 36px), while the smaller oval (formed by tapping with the right thumb) is 24px (or 0.6cm) long and 15px (or 0.4cm) high - which is essentially how much area we cover while tapping - and it may even be smaller.

If we go by this logic, maybe we can mend our designs to fit more content in a relatively small landscape without sacrificing accessibility… or not? I’d love to know your thoughts on this.

7 layout fundamentals for that oddly satisfying UI

We all love harmony in our lives. Harmony of tones and hues, of perfect shapes and negative spaces. Be it in music, interior design, or on the dense pixel sheet of our workstations.

Often times this harmony is disturbed by all-out arrangements of elements, essential or not, in tiny places. Resulting in claustrophobic or anxious experiences, like the one we have at a cluttered desks or rooms.

And you most certainly don’t want your users to feel that way about your app or website. A good visual hierarchy which takes spacing, fonts, colors etc, all into consideration helps in coming up with consistent and clean UI designs.

To ensure that users don’t abandon your websites citing cluttered design or app as the reason, here are some layout fundamentals that will help you in creating an eye pleasing design.

Use Grids

Person holding a phone

We all started learning numbers by writing them in square grid notebooks and continued using it for handwriting practices as well. Grid style is implanted in our minds without us being aware of it. Even painters don’t shy from using grids as an assistance to picture all the elements of a painting.

It helps in accurate spacing out and ‘social distancing’ of interactions, images and content within your design. The grids are not visible to your users, but anything out of alignment will catch their attention first (unless that is your intention). Thus, designing without grids will lead to inconsistent design.

A popular argument against grids is that it limits the creativity space of the designers. However, we believe in deploying grids from initial phases itself, and then move 1-2 elements which we want to be the spotlight. This ensures consistency among our designs and at the same time, we are able to get the users attention in a short span of time.

Scanning patterns

Many studies have confirmed that we scan content or texts from left to right and in patterns, the most popular ones being ‘F’ and ‘Z’. Your users do this to find information which is relevant and interesting to them.

‘F’ scanning pattern is subconsciously carried out in cases of content heavy websites like informational ones, news and magazines, blogs etc.

‘Z’ scanning pattern is done which has lesser content and which require less scrolling.

Once you know your visitor’s attention points, you can place your CTAs, value addition information and interaction buttons accordingly.

White space

picture of a foggy mountain

Negative space or white space is a vital component of visual hierarchy. White space helps the users in accessing an element’s importance. If there is a lot of negative space around an interaction, users by default perceive it to be significant.

Adequate usage of negative space will ensure that your users follow the pathway you designed.
Negative space will help in drawing your user’s attention to the elements of your choice and will increase the engagement rates of your website.

Spacing out the elements keeping this in mind will assist in creating a visually pleasing design.

Typography

Text on a screen

Remember those calligraphy classes our mothers insisted on for improving handwriting? Don’t know about the handwriting, but calligraphy letters sure did look great on paper!

And yes, there is a difference between calligraphy and typography but both work on taking your content to the next level in terms of presentation and visual aspects.

Your content copy is what will your user understand about you and your organization. It will communicate who you are and what value you will provide to your customers. And the right typography will ensure that your users focus on the text written and have no criticism for the font selected.

Typography in practice is not choosing fonts or making fonts, it’s about shaping text for optimal user experience- Oliver Reichenstein

Using too many fonts can be distracting for the user. Instead use color, alignment, size and smaller variations to align with the importance of the copy you wish to highlight.

Golden ratio

Fibonacci spiral image

The golden ratio, 1:1.618 is a mathematical discovery. But in design, it showcases the best proportional size of the elements and helps in creating an eye pleasing website and apps.

It can be applied to every element of your design right from white space, buttons and interactions size, typography, images and icons.

The overall design should also be in this proportion. Applying this ratio, ensures harmony and reduces any clutter or visual noise in your design.

Color Play

Picture of a test business card design

There are hundreds of emotions and moods connected with colors. The good (or bad) thing about colors is that they run their own show. Meaning, each color has a defined effect, the bright ones taking the center stage themselves, while the dull ones remain backstage.

Here also, taking too many different colors can strain the users eye and ruin the virtual experience. Colorful things do attract people but only to a certain point.

Even if you do wish to experiment with colors, you can come up with a color palette having a mix of colors belonging to a similar color family.

For interactions like CTAs, buttons, you can opt for bright or dark colors for getting your user’s attention. You can always play with the brightness, hue and saturation of the colors for establishing visual hierarchy.

Size

Sketches and a tablet laid out on a desk

Any large object put in an empty room is bound to attract visitors, moving past all the other objects. The same applies to your virtual contact points.

Size of icons, buttons, images, logos, interactions will be the deciding factor for all your users. Starting with larger objects, designers then size down as a visitor scrolls down the page.

A side note here, once the largest object is fixed, other elements should have a considerable difference in their size, otherwise there the design will become cluttered.

All the points mentioned above, when stitched together, build an UI that enhances your user experience by laying the foundation of a good visual hierarchy. Missing out on any points will lead unnecessary visual noise.

A good design is when your user is not bothered by your design in the very first place. Looking for a partner that can do the same for you, talk to our designers here.

Performance changes that we might see in Angular 10

Even though there is no word on Angular 10’s release and to be honest it’s too early to expect a release, the developers and community has blessed us with 6 RCs and a taste of what Angular 10 could become.

Here are the tweaks/changes that Angular 10 could sport for improved performance and stability.

  • Angular 10 will be lighter in size than previous versions.
  • Developers will receive suggestions for components that are defined in the libraries, now that dependency information and ng-content selectors are added to metadata.
  • Type-checking performance improvements have been made to the compiler-cli.
  • TypeScript 3.8 and the previous versions support has been removed, thus making 3.9 version a featured one.
  • In this update, any warnings with regards to unknown elements will be logged as errors. This ensures there is no unknown error that will keep developers awake at night.
  • Performance improvement via reduction in size of the entrypoint manifest and tweaks in caching technique.
  • To improve the performance of ngcc, developers can now immediately report a stale lock file. Also, a cached copy of a parsed tsconfig can be stored and is reusable in case tsconfig is the same.
  • Multiple translation files merging is now supported as against a single translation file allowed per locale. Users will be able to specify multiple files per locale. And with the help of messaging ID, the transactions will be merged from each file.
  • Several bugs are fixed, like the core avoiding any migration error in case a non-existent symbol gets imported and proper identification of modules which are affected by overrides in TestBed.

It seems that we’ll finally get to see a trimmed version of Angular which is smaller in size but just as fast. It’s still too early to say what part of these updates will make it to the production version of Angular 10 but it will be exciting to see how it turns out.

We try to keep up with the latest happenings of the Angular community so that we are up to speed with the prerequisites and hurdles that might come during a migration or upgrade. And for stable released versions of Angular you can get in touch with us and kickstart your development projects.