Vue or React | Which Javascript framework should you choose?

The pursuit for finding the perfect “javascript framework” can seem like a wild goose chase. But it never is. There are one too many frameworks and each one has traits that makes choosing more difficult.

Whether you’re trying to get into frontend or shifting from PHP or C++ to Javascript, these comparison points between Vue and React are just the thing to get your started.

Popularity

Javascript is quick in releasing frameworks and libraries. The only constant thing is the continuous change in the top positions of the frameworks and libraries.

According to the trends Vue might not seem like a go-to choice of people.

Screenshot of Vue Github stars

But GitHub stars tell a different story altogether. In June this year VueJS surpassed React. And Vue is still in the lead with 152k stars in comparison to React’s 140k stars.

A point to be noted is that Vue has lesser number of commits and contributors. A possible explanation is that Vue is driven by the open source community where as React has Facebook’s employees as its contributors.

Community support

Facebook’s backing to React signifies strong community support. Till date, React has 171k questions on StackOverflow in comparison to Vue’s 44k questions. But React’s community is more fragmented than Vue’s. This makes it difficult to find answers to even common issues and roadblocks. But Vue gained immense popularity and support from the developers. Vue has successfully created its own name without any major brand’s backing.

Learning curve

Developing your website via React will require you to have a huge knowledge of third party libraries as React is a library and not a framework. Whereas Vue has tools like Vue CLI 3 and Vue UI which will help you in building MVPs real quick. Vue is considered to be more developer friendly due to it’s short learning curve. Also Vue has taken inspiration from Angular and React which makes the transition easier for developers.

Performance

Performance can be measured on various aspects. Measuring it on the basis of framework’s size, Vue has a smaller framework size in comparison with React. Vue’s framework size is of 80KB whereas React is of 100KB. This will have an impact on the initial load time as well.

Virtual DOM is used by both React and Vue. But Vue has better performance and memory allocation due to its well built structure. A word of caution, the final performance will also depend on your application size and how well your code is optimized.

Documentation

Vue’s development team has put in a lot of effort in the tool’s documentation. The API reference is said to be the best in the industry. There is a detailed overview of Vue’s ecosystem, which is absent in React’s documentation. All the information required for creating Vue’s applications is well-written and accessible with ease. All this goes in Vue’s favour. React’s documentation includes basics and some advanced concepts, however it fails to present it in an easily accessible manner.

Use cases

Vue and React are both used by known global names for their websites and applications. Behance, Louis Vuitton and LiveStorm have used Vue. And Airbnb, Netflix and PayPal have selected React. The list is long for both. Vue is scalable and gets integrated easily, so it can be used for bigger development projects as well. However, using React for smaller projects is not a smart decision according to industry experts.

So, When to select one over the other?

If you are a fan of:

  • Flexibility
  • Experimenting with lots of libraries and tools
  • Large community support
  • Javascript more than HTML

React will be your go to option.

If you are someone who:

  • Is looking for short learning curve
  • Likes clean code
  • Wants a lightweight framework
  • Need an MVP on short notice

Vue should be your go to option.

The battle for choosing the ‘best suited’ framework depends upon your specific requirements. And your requirements will change over the course of time. Be prepared for that change as well.

Bugzilla vs Jira: Choosing the Right Agile Bug Tracking Tool in 2024

According to a 2023 IDC analysis, ineffective bug tracking caused 74% of software projects to incur cost overruns and delays. Clearly indicates in 2024 that selecting an appropriate tool is a strategic choice as well as a technical one. This choice impacts not just project timelines but a business’s agility and success. Bugzilla and Jira stand out as key tools in this domain, each offering unique benefits to streamline development and enhance team productivity. Understanding their differences and strengths is essential for any team aiming to deliver high-quality software efficiently in today’s fast-paced market.

Understanding Bugzilla and Jira

Bugzilla, a tool developed by the Mozilla Foundation, is known for its straightforward approach to tracking bugs and issues. Bugzilla offers a robust, open-source solution for bug tracking, emphasizing simplicity and effectiveness. It shines in environments where straightforward bug tracking is paramount, supported by its customizable issue fields and automated email notifications. However, its integration into Agile workflows can be less intuitive, requiring additional configuration to align with Agile methodologies.

Jira,  developed by Atlassian, renowned for its comprehensive project management features, seamlessly integrates Agile methodologies with bug tracking. It offers scrum and kanban boards, customizable workflows, and extensive reporting capabilities, making it an ideal choice for teams deeply invested in Agile practices. Jira’s ability to adapt to complex project needs, coupled with its wide range of integrations, positions it as a versatile tool for dynamic development environments. 

Feature Comparison: Jira and Bugzilla

Bugzilla Features:

  • Open-source and free to use
  • Customizable fields and workflows for bug tracking
  • Advanced search capabilities for issue management
  • Email notifications for updates and changes

Jira Features:

  • Agile project management tools, including scrum and kanban boards
  • Customizable workflows to match team or project needs
  • Extensive integration options with other tools and platforms
  • Advanced reporting and analytics for better decision-making

Agile Bug Tracking: The Core of Agile Success

Agile methodologies prioritize continuous improvement and adaptability, with bug tracking being a key component. Efficient bug tracking helps teams identify, prioritize, and resolve issues quickly, minimizing disruption and maintaining project momentum. The right tool should integrate seamlessly into the team’s workflow, facilitating swift identification, prioritization, and resolution of issues. Integrating bug tracking tools into Agile workflows enhances team collaboration, sprint planning, and overall project visibility. Jira’s built-in Agile features, like sprints and boards, provide teams with efficient task management tools, reflecting Agile principles. Bugzilla, with its customizable approach, can be tailored to fit Agile workflows but may require more effort.

Bugzilla vs Jira in Agile Environments

In Agile environments, the flexibility and adaptability of the bug tracking tool are paramount. Jira, with its agile project management features, is designed to support Agile methodologies out of the box. It allows teams to create sprints, track progress with boards, and adapt workflows on the fly. Bugzilla, while highly effective in bug tracking, requires more customization to fit into Agile workflows but offers unparalleled depth in issue management.

The Importance of Choosing the Right Tool

An ill-suited bug tracking system can be a bottleneck, causing delays, inefficiencies, and communication breakdowns. Startups might gravitate towards Bugzilla for its cost-effectiveness and simplicity, whereas larger entities with intricate Agile projects might prefer Jira’s comprehensive suite of project management tools.

The decision between Bugzilla and Jira transcends mere preference; it’s a strategic one. A tool that aligns with your team’s size, workflow, and project complexity can significantly impact productivity and project outcomes. For instance, startups or small teams might lean towards Bugzilla for its cost-effectiveness and simplicity, while larger teams or those with intricate Agile projects might find Jira’s extensive features more aligned with their needs.

The Business Impact in 2024

The contemporary software development scene demands swift adaptation, efficient workflows, and high-quality outputs. The selection between Bugzilla and Jira has far-reaching implications on a company’s agility, project management efficacy, and market responsiveness.

Actionable Insights for Tool Adoption

  1. Evaluate Your Team’s Workflow: Choose a tool that mirrors your team’s current workflow or the Agile methodology you aspire to implement.
  2. Consider Integration Needs: Assess the need for integration with other tools and platforms. Jira’s extensive marketplace offers a wide range of add-ons, whereas Bugzilla’s open-source nature allows for custom integration.
  3. Prioritize Usability: Ensure the tool you choose is user-friendly for your team. A complex tool might offer extensive features but can lead to low adoption rates.

Empowering Agile Teams with Strategic Tool Selection

As the debate of Bugzilla vs Jira continues, it’s clear that the choice depends on specific project needs, organizational size, and workflow preferences. Whether you’re leaning towards the comprehensive Agile project management features of Jira or the straightforward, focused approach of Bugzilla, the key is to select a tool that supports your team’s journey towards Agile excellence.

At Galaxy Weblinks, we understand the crucial role of efficient bug tracking in achieving Agile success. We’re not just technology experts; we’re strategic partners, offering comprehensive IT consulting and software services to support your journey at every stage. From selecting the ideal bug tracking tool aligned with your needs to streamlining your entire software development process, we craft tailored solutions to ensure your projects run smoothly, your teams operate efficiently, and your business achieves enduring success.

Is your business fully leveraging its technology potential? Book a free discovery call with us at Galaxy Weblinks to explore how our wide range of IT consulting and software services can align with your goals, ensuring you’re equipped with the right tools and strategies for success.

5G is not just an extension of 4G technology

Commercial 5G network is going live. Big carriers like Verizon, AT&T, Qualcomm, and SKT are building out their 5G networks. But, it’s going to take them some time before they can make it a new standard and available for most people.

The world is going to need high-speed connectivity and 5G will offer it with higher spectrum use and data rates, where 4G falls short. 5G will offer opportunities in various uses cases like self-driving cars, cloud gaming, instant movie streaming, and more.

5G is not there yet. Why should I bother?

When 4G emerged, it improved speed and the user experience on devices. But, when it wasn’t reliable, we still leaned on 3G. Similar to 4G, 5G is on its way. Although that means 5G won’t replace 4G overnight, it does mean that you need to prepare for when it does.

Although Apple and Google haven’t adopted 5G yet, according to The National Interest, around 1.5 billion mobile users (40% of current global activity) will be using 5G wireless networks by 2024.

Such clear insight into the bright future of 5G will impact the app development process. Developers that launch and prepare new and existing apps with 5G possibilities in mind are going to be ahead of the curve and reap the rewards once 5G becomes widespread.

Let’s first dive into the 5G landscape to understand how it’s defining the future of connectivity.

What difference will 5G make over 4G?

Picture of building with stair case direction on it

Speed is the biggest noticeable difference. 5G promises device speeds around 10 times faster than 4G.

Whereas, latency of 10-20 ms less than 4G will make delays virtually impossible to perceive — and in the best cases to around 1 ms of delay.

That means, with 5G, things will be a lot faster. Consumers won’t have to deal with the frustration of high-quality videos buffering or the disruptions when sharing videos from crowded places. This is a great advantage for creating 4K/8K video streaming and AR/VR applications.

In a test environment (UK’s 5G Innovation Centre), 5G has reached around 1Tbps, which is roughly 65,000 times faster than a typical 4G connection.

But, it doesn’t mean 4G is done. Many of us rely on 3G when 4G is unavailable and that’s exactly what will happen when 5G is on end user’s devices. As a matter of fact, many speed tests performed in Chicago lately have proved this in a way that while even walking halfway down the block/node, it’d start bouncing back and forth between 4G and 5G.

Here is the reason why…

Faster speeds of 5G come at the cost of shorter range

5G uses millimeter waves and here is the catch — the higher the frequency of any wave, the shorter the wavelength. The other reason why 5G doesn’t travel well is that it can’t make it through solid objects like buildings, trees, or walls.

There are some solutions out there, however. One could use carrier-specific signal boosters or hotspots. In order for 5G to have larger coverage, there would need to be many more, which is another reason why 5G has a little way to go before it reaches mainstream adoption.

But, it’s not only about speed

4G’s popularity boils down to higher speeds for data and video streaming. But, 5G will also enable any device that has a chip in it to be connected to the network all the time. Whether that’s a car, television, refrigerator, tablet, smartphone — you name it. So, it will be much more advanced than 4G ever was, which is why it isn’t simply an extension of 4G.

This also comes with other app development advantages:

  • Location Accuracy 5G will ship with much better precision capabilities because of its shorter wavelengths and higher radio frequencies than those used by 4G. This is a great advantage for developers creating high-precision, GPS-enabled mobile apps.
  • Increased Connection Density 5G supports the connectivity of up to 98,000 devices more in the same space as compared to 4G. This will prove extremely useful for IoT mobile app developers.

How will 5G impact app development?

Picture of a tablet with AR

Mobile users will consume 3 hours’ worth more video content weekly — of which one hour will be on AR/VR glasses in a 5G future. This belongs to the predictions of massive change in future usage of 5G.

With such game-changing opportunities, the mobile app development will experience major changes. Some include:

  • Apps related to 3D gaming and immersive augmented reality will get a great boost
  • Less dependency on the processing power of the hardware of mobile devices
  • Some good UX practices such as loaders will slowly become irrelevant with 5G
  • VR experiences will be smoother and the frustrating buffering and lag will be a thing of the past

What’s Next?

5G will serve enterprises, consumers, and take IoT to the next level, instead of personal communication only. But real, widespread adoption is still a few years away. In the grand scheme of a business, though, that isn’t an abundance of time when it comes to developing and implementing fully functional, top-of-the-line mobile apps.

Developers all over the world have started working on applications, existing and new, that’ll be able to utilize the full potential of 5G. These preemptive plans aim to release an app at the right time when 5G becomes mainstream, which gives their app a huge advantage over others. If you want your app to be ahead of the curve, you can count on us to create one for you.

If you want to do more than just understanding near-term consumer benefits of 5G, contact us to make sure that your applications will stand out above the rest.

Tips To Remember While Designing a Website

In the world of online business and marketing, website plays an important role. Website signifies the online presence of your business. Hence your website should look good and it should represent your company or business.

Your website should be attractive and presentable. An online business fate depends upon the structure of your website. There are many important factors that should be considered in creating a successful website.

Here are some tips that should be remembered while designing a website:

Website objective

Before designing a website, you should properly know what are your goals? After that you can start working on them. You should make a plan before designing a website. Planning is the best way to reach to your objectives. Your website objective can be anything from selling of a product or service to providing information. Objectives will help you in overall designing of the website.

Budget

You can spend a lot of money on designing a website, but it’s better to make a budget. Your budget should be planned according to the elements of your website. If you don’t have enough money, you can go to online software program which will help you in designing a website. But still you need to spend money on marketing and hosting of the website. Experts say that you should spend 50% on marketing and 50% on website design and updating your website.

Quality content

It is mostly seen that people spend a lot of time on the designing part of the website and they forget about the content. Content is the king of the website. Content has the power to attract the potential audience. Content on the website explains your business goals and objectives which will help you to excel your business. If you are not a good writer, you can hire someone. If you want to grab attention of your target audience unique and quality content will help you.

Visual Aspects

You only have 8 seconds to grab your visitor’s attention. And it all starts with a good visual hierarchy. A clean and organized hierarchy will act as an invisible guide for your visitors. It will lead users on your designed user flow. You can achieve it by using visual cues, typography, color, contrast ratios, and ample white space. Avoid using a lot of typography and colors as it may distract your visitors. But you can play around in CTAs, as these are supposed to draw visitor’s attention.

Branding

Which style represents your organization? Is it chic, elegant ,old school, or a bold brand. Design a website which mirrors your brand’s style. Make your logo the first thing a user encounters by placing it in the upper left corner as users will scan your website in F or Z pattern. Leverage your current client testimonials as evidence of your work. You should link your active social media accounts for letting visitors connect with you instantly. Your social media activities will help in establishing your stand on various topics, CSR activities, work culture, etc. All this will play a role in building your brand.

Usability and Accessibility

Your website’s usability will be established with its intuitiveness from the user’s perspective. Are all possible answers that your user is looking for available to them? It includes an easy CTA for your newsletter subscription, simple navigation, having autofill activated for forms, et al. Carry out usability tests to know where your users are struggling and if the features are easily discoverable. It will help in establishing your website’s usability from the end user perspective.

One in every five American citizens has some disability pertaining to eye sight, hearing, and motor skills among others. When you design your website without taking care of accessibility norms, you are missing out on potential clients. Use the accessibility guidelines to make the website content compliant to at least AA level of the WCAG. Level AA of the Web Content Accessibility Guidelines (WCAG) is widely accepted, highest level being AAA.

Responsive website

We live in an era of varying screen sizes. Designing only for PCs and Macs is no longer the norm. Design your website keeping in mind your mobile and tablet visitors as well. Your website should not appear cluttered when seen on smaller screens. You should check for the
functionality of your website on every device. Test out every button and interaction before the final release. Taking care of these aspects will ensure similar user experience across all the screens.

Market your website

After designing your website, don’t think that your work is done. Submit your website to all search engines. You can also do active marketing through social media sites like Facebook, Twitter and Google+. You can add your website links to other famous websites so that traffic gets diverted to your site. Marketing and advertising of a website may take some time, you need to be patient.

A website is an identity of your business. And when it comes to online business, your first impression is the last impression. So you should be careful while designing a website.

At Galaxy Weblinks we offer web development services. We specialize in developing custom websites and web applications with robust and stable backend process. For details please visit us here.

8 essential tools your startup will need in 2020

When it comes to choosing the right tools, it’s important to choose the ones that make sense for your needs and work best for you.

While defining what’s right for you, you must consider cost efficiency, productivity, ROI, and the number of third-party app integrations.

Don’t sweat we’ve saved the labour for you, here is a list of the fastest growing tools to be useful in 2020 for a startup.

1. Take workstream collab to a whole new level

When working with a remote team, calling and emailing each other is not the way to get things done. Infact, relying on platform that keeps all the communication styles together is crucial.

Slack is the most used team conversation tool among smaller and independent users. Around 60% of startups pay for Slack’s workplace communications software. It is popular among group that’s more platform-agnostic, integrating almost 800 apps.

Trusted by: Upwork, Gitlab, Pinterest, Salesforce, and more.

2. They say only the most organized will survive!

Every startup needs a desk manager where you can store all your ideas. Where you can manage broad-range of projects and daily To-dos.

Asana streamlines projects and prevents details from slipping through the cracks. It’s a great tool for start-ups which have several clients and multiple ongoing projects. The tool is popular among small to medium-sized teams because of its easy task workflows.

Trusted by: Airbnb, Dropbox, Khanacademy, Lyft, and more.

3. Ensure your brand reach with social engagement

Your business’ online presence is vital for your marketing and brand image. Using the right social media monitoring and management tools you can enhance customer engagement.

Buffer lets you manage and schedule posts on many social media channels. You can even schedule all your content at once or schedule before days, saving you a lot of time. It’s quite an essential tool for businesses starting with online marketing.

Trusted by: WebFX, AJ&Smart, Huckberry, The Seattle Times, and more.

4. Communication works for those who work at it

If you are just starting, you are not going to have customer service and sales team right from the very start. You need a way to communicate in the most efficient way with the users.

Drift lets you integrate chatbots and real-time conversations on your website. It provides a full suite of tools for live chat, scheduling sales meetings, and more. This marketing and sales platform helps to generate more qualified leads.

Trusted by: MongoDB, HubSpot, TreeRing, Clio, and more.

5. Add real-time feedback in your business decisions

Survey tools help in reaching your goal of offering best product to your customer. As customer feedback helps from validating your MVP to choosing ideal marketing strategy.

SurveyGizmo is an online survey platform for small businesses or intermediate users. It conducts and creates questionnaires, quizzes, polls, and surveys. This tool can also get integrated into other digital, and social media platforms.

Trusted by: Adobe, Verizon, Sonos, The Home Depot, and more.

6. Solve user problems with intuitive designs

Screen has become the most important place in the world. People look at screens so much so that they’ve developed a critical eye for designs. It’s now more important than ever to adopt tools for design management, prototyping, design, and ideation.

Figma is a design tool for complex prototyping, wireframing and UX design. It is ahead of Sketch and InVision in areas of learning curve, design layout, app speed, and interface. It has also outranked Adobe XD in connecting processes of prototyping, and design.

Trusted by: Zoom, Uber, Berkley, Dribbble, and more.

7. Change the way your development team creates software

Changing your development workflow again and again is not a good idea for your business. Especially if your company relies on its software for mission-critical applications. That’s where you need a distributed version control system.

Git is a favorite among millions of developers and open source contributors. You can build software, manage projects, host and review code. Git is a frontrunner among Bitbucket, Microsoft TFS, Glitlab and more.

Trusted by: Netflix, Reddit, Lyft, Shopify, and more.

8. Enhance performance with loaded security and testing

Manual testing is slow and error-prone. This is where test automation tools shine. These are best poised to take advantage of the latest automation trends like ML as well.

Ranorex Studio has a comprehensive set of features for web, mobile, desktop, and API testing. It also provides all in one test automation across devices, platforms, and technologies. It integrates with tools like Travis CI, Git, TestRail, Jenkins, Jira, and more.

Trusted by: Varigence, Sage, Cisco, Fujitsu, and more.

Software industry is very dynamic, hundreds of tools are released on a daily and they disappear just as fast. For the very reason choosing a reliable and promising solution can go a long way in ensuring your business’ stability.

We have an end-to-end experience of working with organizations big and small. If you need design or development related assistance, we’re always happy to help.

7 actionable tips for being a great programmer

What makes a great programmer?

If you’ve spent a significant time speaking in between curly braces then you must know that it’s not just about shipping code that works. You need to be able to write code that’s easy to read and refactor. Soft skills are also crucial to understand requirements and communicate the same with your teammates, so that nothing gets lost in translation.

Here are 7 similar tips to help you through the process of becoming a pro

A woman working on a computer

1) Use pragmatic comments and consistent naming convention

Programming is like any other language and if you really know how to speak or write programming then developers after you won’t have to struggle to crack naming conventions or comments on your code.

Comments on code are generally a bad practice because it means that the code’s not good enough. If it needs additional explanation, then it can be written in a better way. You know it’s a bad code when you see unnecessary and repetitive comments or commented codes.

Programs must be written for people to read, and only incidentally for machines to execute –Harold Abelson

It’s not that all comments are bad. In some situations comments can be really helpful, like warning comments or reminder comments.

It is always advised to name packages, classes, variables, and functions consistently to make code easy for the next developer to work with. You can use your naming conventions for dynamically and statistically typed languages. It will enhance the readability of code.

2) Test and debug your code smartly

We all make mistakes at some point while developing software. It is a part of any process. No one gets it right in the first attempt.

Fix the cause, not the symptom- Steve Maguire

Identify hidden flaws through implementation and final module testing in different stages of development cycle. These include requirement analysis, designing, development, implementation and integration stages.

IDEs like Eclipse, NetBeans or IntelliJ IDEA works best these days for writing test programs, testing, and debugging code.

3) Keep it healthy

Old functions and replaceable variables can add to the dead code tally. To get rid of such code, delete old function or a class from the location completely otherwise it will get compiled during the run of the project.

Of course bad code can be cleaned up. But it’s very expensive – Robert C. Martin

Besides, timely removal of unnecessary code can reduce your code size by 30% to 40%.

Use Codepro Analytix, Cobertura, Sonar, and other such tools to improve the quality of your code.

4) Choose tech for longevity

Selecting tech based on immediate requirements may prove to be detrimental in the long run. When investing in new technology and tools, make sure that it aligns with your future goals and requirements.

We always look for everything in the immediate proximity, that is a mistake – Thomas Bernhard Ghen

For example, VBA, Delphi and Perl were once popular. But they are obsolete now. Developers either use top tier languages like Java and Python or second-tier languages like Scala and Swift to build contemporary programs and applications. There is also a third tier of programming languages like Rust and Crystal that you can use for learning and experimentation.

5) Master soft skills

When working in teams, understanding your fellow programmer needs and in turn making them understand your needs requires effective communication skills.

Soft skills get little respect but they will make or break your career – Peggy Klaus

Encouraging interactions within the team can also help in building your own discussion forum. Create a learning environment within the team by developing curiosity and adaptable approach.

6) Under-promise and over-deliver

You need to be realistic when setting project deadlines. Keeping a buffer of a few extra days in your project timeline can be helpful for any unexpected delays.

Make it work, make it right, make it fast- Kent Beck

And in case everything goes smoothly, kudos to you for completing the project before the set dates.

7) Focus on solving a real-world problem

Research on real world problems and try finding the solutions for them. This will help in building your programming skills. Besides it provides a sense of purpose, especially when you’re trying to adopt a new skill. It’s easy to get distracted and lose the motivation when you’re faced with complex problems.

First solve the problem then write the code – John Johnson

You also need to develop creative outlook and problem solving skills to solve problems that are too complex for conventional approaches. Simply learning a programming language won’t help until you focus on solving real-world problems.

Bonus tip: Practice…practice..and more practice.

With these tips integrated in your process and enough practice, you’ll be on your way to greatness. Just as this guy..

Simply put, there’s a lot to gain and little to lose while taking the time to really understand the core concepts. Keeping in mind it requires a deliberate practice to improve your work and build credibility with others.

iOS 13 design | What’s changed and what remains?

Ever wondered why Apple allows only selected employees in its Industrial Design Studio?

Surprisingly, it’s a part of their design concept and not a security concern.

Apple isolates their industrial design team to allow them to indulge in deep work. It lets them make cutting edge design decisions without having to worry about the practical and limiting aspects of its implementation.

Such creative isolation is one of the reasons behind Apple’s incredible products. Products that are amazing to look at and are effortless to interact with.

Apple then unveils these ingenious products in their annual events. This year’s launch events also followed through with new iPhone 11 series donning a double and a triple camera setup, Apple TV+, Apple Arcade, a dedicated OS for iPad, multi-core ultra-spec Macs for professionals, and UI upgrades for the new generation of Apple devices.

But it was the design announcements that caught our ‘viewport’.

iOS 13 has been in the developer’s beta since the announcement at WWDC 2019. Here are a few notable UI/UX designs from the beta that made it to the end users.

New Default Modal Presentation style

Screenshot of iOS UI
Image source: Applypixels.com

It’s been almost two years since iOS interface ditched capacitive buttons for swipes and gestures. The new ecosystem relies on card style modal sheets which lets the user dismiss or present recent screens with swipes only. Modal presentation style is now default due to which view controllers appear as a form sheet overlaid one over another and not in full screens.

This card-like appearance allows users to dismiss screens interactively with a downward swipe. And the layered design provides users a sense of context about where they are in the application.

Modals are really convenient but they’re not fit for the apps that has scrolling, pinching, or swiping as their fundamental interaction. Photo editing and reading apps for example.

Revised System-Wide Gestures

iOS 13 gestures

Selection gestures in custom text views:

Thanks to the new text editing gestures! There will be no need to shake the entire device to undo a text (only if someone even bothered to do that).

  • One can simply tap to select, pinch in and pinch out to copy-paste with three-fingers.
  • One can also undo-redo by swiping left and right with three fingers.

In addition to that, it will allow users to quickly manage their text editing on either of the devices i.e. iPhone or iPad, without using formatting shortcut bars.

Multiple selection gestures in tables and collection:

Apple has introduced a new way of quickly selecting contiguous batch of items in table and collection views. By simply dragging two fingers on a list or collection of items to draw a selection.

It’s important for easy and seamless user experience to add gestures when left with very little space on screen. It will immensely help designers overcome space-based challenges.

However in hindsight, so many gestures may leave users overwhelmed before they get used to it.

Dear Apple, it’d be great if you did something about…

Monochrome photo of Apple logo in a dim lit office

  • Incoming Phone Call UI
    It’s something that iPhone users want Apple to learn from Android. Why a full-screen app jump? It covers the whole screen, pushing back the application you are using. This call UI needs a refresh, and like android can show a banner up in the top that allows users to dismiss the call or let it ring in the background and be done with it.
  • Swiping App Switcher
    Since iPhone X Series’ redesign, users have been reporting the inability of swiping away all the apps in the app switcher in one go. Surprisingly, it’s still there in iOS 13. Apple is not fixing this problem because clearing recent apps in the App Switcher doesn’t improve battery life or device’s performance, as all the apps are in suspended state.However, removing all of the recent apps from the app switcher only has aesthetic value where the user wants to be able to scan the app switcher quickly for their most used apps. But taking away the option to swipe away the mess is a bad design choice. It’s up to the user if they prefer a clean and efficient experience or a cluttered one.
  • Camera App Settings
    There are tons of improvements in iOS13 camera and photos application, but it still doesn’t allow to change video recording resolution within camera app itself. For that, users are supposed to go all the way into Device’s Main Settings > Camera. Whereas the interaction is only worth a button and two taps in the app.

Similarly, there are few other features that are buried in the iPhone Settings that are meant to be in the app in the first place.

Wrapping up

Contrary to popular belief the design is not always about what a user wants. Most of the times it’s about utilization of the new tech-laden devices. It might mean some compromises here and there but at the end of the day it’s for the software stability.

Maybe Apple keeps things the way they were built, because they know better. But Apple, if you’re listening at least change the in-your-face call notifier screen.

5 mistakes to avoid while designing tooltips

Tooltip is a great UI pattern for user onboarding and feature discovery. But there is a thin line between useful and annoying tooltips. This post will help you draw the line.

Your tooltips are either helping users by telling them about the features that are exclusive to your product or they are interrupting users in between their important tasks to tell them how brilliant your new upload feature is. It’s a mistake to question your user’s intelligence. Tooltip design often fails because of common mistakes like these.

Here is a list of 5 mistakes that you can avoid to boost feature adoption and product tour completion rates with your tooltip design.

1. Where are the hints when you need them the most!

Image of a man acting confused in a shopping mall

One of the most frustrating things about tooltip design is visibility. While designing unique interfaces, placement and size of tooltips are often ignored. A user can’t use something if it’s hidden.

Most common implementation of transient tooltips doesn’t take touchscreens into consideration. Hover triggers have tiny hit points. Anything tiny is bad for accessibility. These actions require fine motor skills to land and hold on the hit point for a while.

2. Must have one upper case, one lower case, special char….poof!

Ant Man shrinking

Consider tooltip as friction in user experience, if the users have to go out of their way to perform a difficult action, chances are they’ll skip.

If the interaction in your design requires a lengthy explanation, then tap or hover to reveal action becomes an unnecessary burden.

3. Oh! Here is a tooltip telling me to write in the field it’s obscuring

Lady running through kitchen

Some transient tooltips are designed to expand over the input field while some stretch past smaller screens. You can’t read and act simultaneously when the tip is inaccessible or covering the input fields.

Tips are supposed to help the user with the interaction and not obstruct it.

4. Should have told me earlier that tapping this button will terminate my session

Train pilot emergency breaking

Timing is crucial in tooltip design. The tips should be aligned with the user flow. Feature adoption and user’s understanding of your product depends on the relevance of tips and not the frequency of it.

A user will only be interested in reading about a feature when they need to use it. Overwhelming the user with information for the sake of feature discovery will only make them skip the info.

5. What does it have to offer?

Last but not the least, comes your tooltip copy. A boring and irrelevant copy might cost you the user motivation to even encourage an action. Motivation, Ability, and a Trigger are the three crucial elements in BJ Fogg’s Behaviour Model that prompts a user to take an action.

Copy is an indispensable part of a tooltip because it motivates the user to take action. Your tooltip is doomed to fail if your copy isn’t conversational or it doesn’t reflect your value proposition.

In a nutshell

Even the most intuitive UI needs tooltips while onboarding new users or introducing new concepts. The difference between not-so-obvious and obvious is not that obvious. Think about your target users while making these assumptions. Explaining a basic feature to an experienced user might annoy them.

Facebook, Asana, and Slack are some of the best examples of great tooltip design. Their tooltips are a part of the user flow. Facebook has a subtle, conversational, and attractive approach towards tooltips, which informs and encourages action as well.

If you’re seeing significant drops in your user onboarding or feature adoption then give us a shout here, we’ll be happy to help you optimize your tooltip design.

Unboxing popular PWAs | Techniques used and impact

What is common between Pinterest, Tinder, Uber, Trivago, and Airbnb?

All these companies experienced a surge in their product’s performance, user-engagement, and conversions by going mobile-first with progressive web apps.

Why did they go for PWA you ask? Legacy websites of these popular platforms were doing good for big screens but not so much for the small screens. Considering the ever increasing growth of mobile users and loss of potential market they decided to prompt users towards their native apps.

After seeing people bounce from their native apps too, they decided to go with progressive web apps.

This blog covers progressive techniques that Pinterest and other major companies use to build PWAs.

Pinterest reduced its Javascript bundle size via Route-Based Chunking

Code-splitting reduces time to interactive by loading only the code that’s needed beforehand while the rest of the code loads lazily.

Pinterest broke-up & shaved hundreds of KB off their JavaScript bundles weighing 650kb. Pinterest split it’s multi-megabyte JavaScript bundles into 3 different categories of webpack chunks (Vendor, Entry and Async). They used webpack’s CommonsChunkPlugin (replaced with SplitChunksPlugin in webpack v4) to break out their vendor bundles into their own cacheable chunk and added React Router for code-splitting.

As a result, Pinterest was able to take down the size of their core bundle from 650KB to 150KB.

Uber and Tinder also took a similar approach and….

  • m.uber comes in at just 50kB and loads in less than 3s.
  • Tinder took down its core bundle size from 166kb to 101kb and reduced its load time from 11s to 4s.

Faster loading for Tinder and Nikkei via Inline Critical Path CSS

The bigger and more css files you have, the longer the page takes to load. Inlining critical CSS eliminates Render-blocking scripts.

Tinder used Atomic CSS to create highly reusable CSS styles to inline all the critical CSS in the initial paint. Tinder used Google Analytics and CSS stats for each release to keep track of what has changed. It saw change in average load times went from ~6.75s to ~5.75s. Thus, removed critical CSS from their core bundles.

Nikkei, a Japan based media business, inlined all the critical CSS with 0 render blocking stylesheets. This optimization helped Nikkei to reduce its first meaningful paint by more than 1 second.

What else can you do besides code-splitting and inlining CSS?

Asset caching via Service Workers

Service worker is a lightweight net proxy which allows web applications to cache all of its necessary resources to load substantially faster for returning visitors. Essentially, it helps in caching main JavaScript, CSS, and static UI assets.

One way to generate a Service Worker file and a list of assets is via Workbox Webpack plugin. Many web applications take advantage of Workbox Webpack plugin for network resilience and offline asset caching. That further has helped these companies to speed up Time To Interactive on repeat visits and first meaningful paint.

Treebo saw 31% improvement in TTI and loaded in under 4 seconds, whereas Pinterest reduced its TTI from 23s to 5.6s.

You can refer to Google Offline Cookbook for other caching strategies.

The Future

Making speed one of the core metrics is an important step towards delivering a hassle-free and cutting edge experience to your customers. More and more websites are opting for an offline-first web. It’s only practical to adopt the ‘write once and use anywhere’ approach against writing natively for every other platform.

Google and Microsoft are also working towards a future where PWAs are available alongside full-fledged apps in app stores. It’s safe to say that PWA is in fact the future of the interwebs.

Progressive techniques can give your website a much needed performance boost like these apps that you just read about. Thinking about making the move to PWA? Talk to us here.

Kotlin 1.3.50 | More than just a performance upgrade

Kotlin has emerged as both substitute and supplement to C++ and Java. In 2018, the language had over 96,000 repositories on GitHub and had already reached 1.5M+ users.

More than 50% of professional Android developers now use the language to develop their apps. Google claims that this figure will increase dramatically. Since in future Kotlin will be the first to receive new Jetpack features.

The new Kotlin 1.3.50 release kicks off with various tooling and quality improvements to develop applications much faster. Let’s take a look at the major improvements from this release.

Convert Java-Kotlin with fewer compilation errors

The one-click Java to Kotlin converter tool helps to convert an existing Java project, one file at a time. The converter is not meant to produce 100% error-free code, instead it’s built to reduce compilation errors.

The converted code might show nullability issues that require human intervention. Manual corrections fixes the code for the time being but it doesn’t foolproof the code from runtime errors that show up in the form of nullability mismatch.

The new improved version of Java-to-Kotlin converter (available in preview) tries to infer nullability more correctly based on the Java type usages in the code. And helps in making it easier than ever to convert code with fewer compilation errors. The generated Kotlin code is easier to manipulate too.

Improved Debugging

Bytecode has a lot of technical information and displaying all of that can make the code bulkier and unreadable. Kotlin ‘Variables’ view now highlights only the most relevant variables, which aids in easier debugging.

  • You can set a breakpoint inside lambda expression or at the end of the function as well.
  • Improved support for the “Evaluate expression” functionality in the debugger for many non-trivial language features. You can now modify variables via “Evaluate expression”.

New Intentions and Inspections in IntelliJ IDEA

This addition helps in learning how to write idiomatic Kotlin code, improve performance of IDE actions, and fix several known situations that were causing the UI to freeze.

  • IntelliJ IDEA now highlights deprecated imports from the completion list
  • You can convert normal properties to lazy properties and vice versa
  • You can automatically replace the primitive lateinit property with the by Delegates.notNull () syntax

Kotlin/JS now supports Dukat-Gradle integration

Dukat is a converter of TypeScript definition files to Kotlin declarations. By running the build task in Gradle, typesafe wrappers are automatically generated for npm dependencies and can be used from Kotlin.

You can now comfortably use the JavaScript ecosystem libraries in Kotlin in a type-safe manner without the need to manually write wrappers for JS libraries.

Other Kotlin/JS updates

  • Incremental compilation for Kotlin/JS is now up to 30% faster compared to 1.3.41.
  • Support for running and building Kotlin/JS Gradle projects using the org.jetbrains.kotlin.js plugin on Windows.
  • As with other platforms, you can use Gradle tasks to build and run projects and resolve NPM dependencies needed for Gradle configuration.

Kotlin/Native updates

Earlier version names of Kotlin and Kotlin/Native differed from each other. This release uses version 1.3.50 for both Kotlin and Kotlin/Native binaries, reducing the complexity. As the standard library updates to support the kotlin.reflect.typeOf() function for Kotlin/Native types.

  • Kotlin Native now ships with an exhaustive set of platform libraries on macOS/iOS and embeds actual bitcode in produced frameworks.
  • Kotlin-platform-native is now replaced with Kotlin-multiplatform

Here’s a link to the change log if you’re curious about the other features that are packaged in the Kotlin 1.3.50.

Let us know how you feel about the multiplatform Gradle plugins and handling nullibility errors manually. And ping us here if you need Kotlin development assistance.