our notebook

mobile development: finding the right solution
Sean Sparkman (@seansparkman) & Paul Zolnierczyk (@paulish29)
april 28th, 2020

Many mobile phones

With an estimated 3.2 billion smartphone users in 2019, the mobile app industry is growing and not showing any signs of slowing down. Along with this growth in smartphone usage comes increased demands and expectations from end users. Apps need to use the latest smartphone features, be fast & easy to use. This is further complicated with the need to develop for both Android and Apple smartphones as well as tablets. For someone with an app idea, considering all these factors can be a bit overwhelming. This is where Infinity Interactive steps in. Infinity has extensive experience in the mobile app arena and can help you identify the best approach for your app and target audience. Today, companies are not just restricted to developing a native mobile app. They can also build mobile web apps, progressive web apps, and cross-platform apps. This post will cover the pros and cons of each with the hope of giving a clear path for taking an app idea into app reality.

…read more


Thinking remote? Advice from a guy who’s been running a fully distributed company since 2005
Jeremy Shao (@jeremyshao)
march 10th, 2020

At Infinity, we’ve been a fully remote, on-shore tech consultancy and custom software development company since 2005 (founded in 1998), so a lot of our friends and contacts have been asking us for advice on effectively managing remote co-working. We thought it would be helpful to share some of our tips and tricks from both the leadership and employee perspectives.

…read more


Rendering a (mega) PDF in a Xamarin Android app
Will Hutchinson (@tetowill)
november 1st, 2019

Display a PDF in Xamarin.Android

Even on mobile, sometimes you need to show people a PDF. In your Xamarin Android app, for most situations, having the user download the document to view it outside of the app using Android's native document viewer is probably fine. But what if the design specifies displaying the document in the app? And what if that document is 100+ pages long? We recently ran into this here at Infinity Interactive and needless to say, displaying a PDF in your Xamarin Android app is not as straightforward as one might expect.

…read more


Uno Platform
Kenzie Whalen (@knz_whalen)
october 25th, 2019

Uno Logo

In the beginning, there were iOS, Android, and the Web. Entirely separate platforms that had to be developed as such.

Then, along came Xamarin. Developers could write iOS and Android apps using a single codebase, but we were still on our own for Web development.

Now, Uno has emerged. Building on top of Xamarin, it gives us the power to write iOS, Android, Web, and even UWP applications using shared logic and UI!

…read more


The World of Cloud Functions
Liam Mackey
march 25th, 2019

Cloud functions are a great way to run small programmatic services in the cloud. They are easy to create and use, are very secure, and need little maintenance. They even scale on-demand in a way that is very difficult to achieve using regular servers.

…read more


Jiu-Jitsu of project management
Emal Sakwall
january 4th, 2019

About seven months ago, I started practicing Brazilian Jiu-Jitsu, a grappling art founded in Brazil. Immediately after, I began comparing everything to it. My kids started making fun of me: “Everything is Jiu-Jitsu for you, Dada.” And, they were right. If I was reading, I’d say, “I’m grappling with the book.” If I was cooking, I’d say, “I’m Jiu-Jitsuing food.” If my five-year-old daughter asked me to help her cut her food during dinner, I’d say, “Just Jiu-Jitsu it. Pin it down with your fork so it won’t move. Then, cut it.”

…read more


Taking up the Slack with RocketChat
Phil Shirley
november 26th, 2018

Here at Infinity Interactive, we are an entirely remote team. As such, high availability of our communication tools is paramount to our success. Our daily methods of communication include JIRA, email, commit messages, and even, gasp, telephones. While these are effective at doing their job, they are not a replacement for that “human” feel you get when you go into an office and have the ability to have group and individual conversations with your co-workers. For that piece of the puzzle, we use Slack.

…read more


System monitoring: summoning the beast of a thousand eyes
Yanick Champoux (@yenzie)
july 31st, 2018

System monitoring. A pretty vital part of any network management. That is, unless you're one of the few who live for the visceral thrill of flying blind. For the rest of us partial to our lack of heart condition, an ounce of prevention is worth ten thousand gallons of Saturday morning intervention.

In this blog entry, I'll go through the exercise of putting together a simple but working and easily extensible system monitoring setup leveraging common pieces of technology.

…read more


Meet Paul Zolnierczyk
Paul Zolnierczyk, Emal Sakwall, & Rob Kopf
july 11th, 2018

Paul Zolnierczyk

Meet Paul. In this latest post in our interview series, we’d like to introduce you to our own BubbaZ, aka Paul Zolnierczyk.

Name, Company, Title, City

I’m Paul, a mobile developer and team lead here at Infinity. I live in Chicago, IL.

…read more


Reduce and Conquer
Yanick Champoux (@yenzie)
may 24th, 2018

In an ecosystem riddled with large, portentous frameworks, Redux is a refreshingly ascetic little store management system. Driven more by its functional programming-inspired tenets than supporting code, it offers — and needs — only a few helper functions to manage its stores.

Minimalism is good. It's also a good idea to abstract oft-used patterns into more expressive forms. Ideally, code should be crafted such that its intent comes out on first read, while making deeper digs possible when required.

Happily enough, the judicious use of delightfully succinct higher-order functions is often all that's required to tailor-suit some ergonomics into the manipulation of middleware and reducers. This blog entry will showcase some of those helper functions that work for me.

This article assumes you're already familiar with Redux. If this isn't the case, you might want to check out first one of my previous articles, which provides a gentler, if a tad unconventional, introduction to the framework.

…read more