1 min

Mokriya Recognized As Top IoT Development Company

Mokriya are proud to have been recognized by Clutch as one of the leading IoT app development companies.

Clutch works to identify leading IoT app development companies with proven client success. Clutch are able to do this through an innovative research process that combines the best of B2B market research and consumer review services. Their research helps start-ups, mid-market and large enterprises find IoT app development partners that meet their needs, whether for a one-off project or a long term relationship.

read more

1 min

Product-Minded Engineers: Who They Are And Why They Matter

One of the most discussed people in the tech world are the elusive product-minded engineers. People have been kicking this term around for years — in job descriptions, “Looking for a product-minded engineer,” on company About pages, “Our team prides itself on product-focused engineering” — but how do you define a product-minded engineer? Why does everyone want to hire this type of engineer? And how can engineers become more product-focused?

read more

1 min

What makes iRobot, Sonos, and Amazon succeed in smart home, where so many others fail?

Smart home gadgets suck. Consumer IoT has been a massive fad for a couple of years now but good products are few and far between. Most either don’t deliver on their promises or try to solve problems that aren’t even there. So let’s look at the few examples from the likes of iRobot, Sonos, and Amazon that shine through the pile of crappy products in their category.

read more

1 min

The Key Role That Wireframing Played In Building SanDisk’s iXpand User Experience

Wireframing for SanDisk’s iXpand was a unique challenge. One that provided our team with the chance to really flex our creative problem solving muscles.

Working against an aggressive deadline from the start, we had to design, test, build, and launch both the iPhone and iPad apps (for Japan and the U.S.) in just six months. On top of it all, the time line ran through the last months of the year — a.k.a the holiday season.

read more

1 min

Emotion & Design: Building a Visual Experience Your Users will Love

Humans are deeply emotional creatures. A warm handshake can make a stranger seem kinder, while a white room can feel sterile regardless of whether or not it’s actually clean. We might not always be conscious of it, but the world around us is designed and that design affects our feelings and actions in big ways. This is important when talking about emotional design.

read more

1 min

Throwing Arithmetic Operators in Swift

“Let me throw you a hand”

If you are making an application that is heavy on math calculations, you may wish to be able to catch errors such as division by zero and integer type overflows before they spread all over the place.

Floating point errors include division by zero, which produces ±infinity, and undefined (NaN) expressions, such as sin(Double.infinity). These fail silently. Integer type operator errors are limited to overflows, which make your code crash loudly.

Swift provides handy integer arithmetic operators permitting overflow; &+,&−, &*, and more informative methods such as addWithOverflow(_,_). I have leveraged these methods to define throwing operators &&+, &&−,&&*, &&/, &&%, and &&?. Usage follows.

/*
 *  Example.swift
 */
// Produces 15.27543444817377
func x() throws -> Double {
  return try (12.5 &&+ 2.3) &&/ (&&?sin(3.1) &&+ &&?atan2(4,3))
}
// Throws ArithmeticOperationError(.infinity,.division)
func y() throws -> Double {
  let y = try (1.0 &&+ 1.0) &&/ (&&?sin(M_PI_2) &&- 1.0)
} 

read more

1 min

Type Safe Matrices in Swift

Thanks to Swift’s type safety and generics it is possible to define matrix types with safe operations. Where, for instance, you may only multiply an M×N matrix by a P×Q matrix if N is equal to P.

In this article I tackle this problem in a very generic way, so that you can add type safety to your favourite existing matrix implementation. This is useful since different matrix libraries may perform better in different applications (machine learning algorithms vs 3D graphics for example).

read more

1 min

How We Designed SanDisk’s App User Experience For Vastly Different Users

When we sat down to design the user interface of SanDisk’s new iXpand app, we knew we needed to make sophisticated, complex software that felt simple and intuitive.

The problem that SanDisk was out to solve with the iXpand was a universal one: Though our smartphones have become an integral part of everyday life, they never seem to come with enough storage. A 16GB iPhone can only store about 2,000 photos, and live photos cut that number in half, and 4K video can eat up a 16GB hard drive in no time. It’s just not enough for the modern iPhone user, who is taking 20% more photos each year than they did the year before.

read more

Newer posts
Older posts