Wednesday, September 26, 2018

The Computer Industry is stuck in the 1950s

This article is popular on Medium. I wanted to share this with you on Best Camera.

Rob Adamson

Wednesday, September 5, 2018

Apple Restricts Templated Apps for Good or Bad?

  • App Store Review Guidelines for 2018

  • 4.2.6 Apps created from a commercialized template or app generation service will be rejected unless they are submitted directly by the provider of the app’s content. These services should not submit apps on behalf of their clients and should offer tools that let their clients create customized, innovative apps that provide unique customer experiences. Another acceptable option for template providers is to create a single binary to host all client content in an aggregated or “picker” model, for example as a restaurant finder app with separate customized entries or pages for each client restaurant, or as an event app with separate entries for each client event.
At first, all Templated Apps were completely banned. But now, as long as the owner of the App submits the App themselves to the App Store, Apple will accept them. 

This seemed unfair. It felt like eliminating social media websites or something. But in retrospect, this current policy seems to make sense. Websites are not installed. When a user installs an App, they traditionally want to know who owns the App. They expect to know who created the App and who is responsible.

This new policy has no impact on third-party Software Development Kits (SDKs). And third Party Web Services (APIs) are not targeted by Apple. That would be weird because the backbone of Apple's entire global industry is based on the building blocks of SDKs and APIs. 

Also, cross-platform environments like React Native appear safe for now. 

Let us know your thoughts on this policy from Apple. There is definitely food for thought here. 

Saturday, August 25, 2018

The Magic of Detectng Fonts

Let’s look a three Apps for discovering fonts used in Web Pages, Mobile Apps and even in the real world.  *Important, for significant projects be sure you have the appropriate licenses. 

WhatFont is a free App (IOS Only) for discovering the font used on a web page right from your mobile device.

Install WhatFont App from here.

Ok, so why would you want this App? If you develop software or design web pages, this App is valuable. Once you spot fonts on a web page, you can use them in your own designs. Once you know the name of the typeface, you are able to search and license the fonts. This App only works in Safari. No real magic here.

WhatTheFont from MyFonts is free (IOS Only). This App uses your camera or photos and scans for fonts using advanced image recognition. Like magic, this App works on everything from web pages and mobile app interfaces to real-world snapshots.

WhatTheFont finds the closest matches from their own database. From there you can purchase the MyFonts directly from within the App. They also have a forum that you can use to submit fonts that are not recognized.

Adobe Capture from Adobe is free (IOS and Android). Like WhatTheFont from MyFonts, this App also uses the camera to scan for fonts. Besides fonts, it scans for colors, brushes, patterns and more.

Adobe calls the fonts discovery feature Type. This App looks for matching fonts in Adobe's Typekit library where you can purchase directly from the App.

Because all three of these Apps are free,  you could use them all (at least on IOS). You can also compare prices between MyFonts and Adobe for fonts you love and discover.

Thursday, August 23, 2018

App Design Matters

There are over 2 million IOS Apps and 3.8 million Android Apps to choose from. So an excellent App design is critical. 

It only takes 3 taps for a User to delete your App. That happens if the User gets frustrated or has no emotional connection to the App. The bottom line is that users fall for an App because of the design and how easy it is to use. Features and proper coding alone will not sell an App.

Today just a few developers are able to crank out remarkable Apps. But the key for developers is to think like designers. Programmers are famous for brushing aside Design. They care about the beauty of their code and the number of their features. 

Color is critical. Developers need to stop and think like Designers. Designers think about colors and typography. They learn about the emotions of colors.

Josef Albers, a famous painter, and educator came from the German Bauhaus. He wrote Interaction of Color in 1963. This writing has remained the Art Design Bible for designers; a terrific resource. And there is an Interaction of Color app that teaches this stuff. Developers should play with this App and learn to think like a designer. 
The next fundamental of design is typography. How do you select the best fonts for both form and function? How do you choose fonts that work together? The right fonts will make your App or website attractive, easy to read and functional. 

Color Mood

Red sells energy, intensity, love. 

Yellow sells joy, happiness, and intellect. This is an attention-grabbing color. This is a good color for App screenshots in the App stores.

Green sells safety, food, and growth. Use these colors in food and health Apps. 

Blue sells stability, serenity, and trust. Medical Apps use Blue. So to make your App more trustworthy use Blue

Purple sells feminity, royalty and wealth. Money Apps use this color.

To combine colors, grab a color wheel. With the color wheel, you can select adjacent colors that are harmonious or opposite colors that are complimentary. Color wheels are also useful for picking split colors and triadic colors (not a fan). Monochromatic colors are also in use today. All these schemes are possible with a color palette. 

But an even easier approach is to use a that builds color schemes based on a primary color. Browse for the scheme that makes the most sense for your App.  Use colors that look and feel good together. Hunt for the best or popular schemes that might work for your App. Another useful website is ColorHunt

One of the most popular color palettes in modern Apps can be found on FlatUIColors. You would be surprised how many Apps use the FlatUIColors.


With so many fonts, how do you pick the right fonts for your App? Does it matter?

The two most important families of fonts are the Serif and Sans Serif. The image below shows the difference. Serif is an older font and has small feet. They were derived from stone carvings. Sans Serif is better for modern and contemporary. 

Serif fonts are organized into Oldy Style, Transitional, Modern, Slab Serif, Script, and Decorative. 

Slab Serif was developed for newspaper printing because of the poor quality of the old paper. 

Sans Serif fonts

These are the more modern fonts and they are also divided into categories.

News Gothic, Grotesque, Helvetica, Neo-Grotesque, Arial, Humanist and Geometric. 

So why does all this matter? It's about the styling, but it is also about the readability. So let's get to the meat.

The common rules of fonts. 

1. Sarif Heading Fonts with Sans Serif Body Fonts make a good design. You can also go the other way around and still be ok. Just don't combine a Serif Heading with a Serif Body or a Sans Serif Heading with a Sans Serif Body. This is a poor design. 

2. Too many fonts are bad. Try not to exceed three fonts on a page. 

3. Just like colors, fonts sell a mood. So do not mix together different typeface moods. It is confusing to the brain. Keep the fonts that are displayed together in the same time era. 

4. Use font weight (like bold) for contrast. But don't clutter with multiple weights. 

5. Never use these fonts: Comic Sans, Viner, Kristen, Papyrus, Curlz. 

Like colors, there are tools to help you select fonts. Grab WhatFont for Chrome or Firefox. This little browser extension or the App version will let you find out about the fonts you see on web pages. So if you see a website with a beautiful look and easy to read fonts, use WhatFont to find out what those great fonts are. Then use them in your own App or Web. 

A great website that has free fonts for commercial use is Font Squirrel

Another tool for grabbing and testing fonts in your Apps is Sky Fonts. This lets you test drive fronts from many font repositories such as Google, Fonts.Com, Monotype, and MyFonts. 

Thanks for reading. 

Best Camera Apps does not sponsor or derive revenue from any products reviewed or mentioned. 

Saturday, August 18, 2018

MacOS Mojave at a Glance

I just installed MacOS 10.14 Mojave Beta for it's better GPU support.  I was surprised to find some excellent built-in utilities, features, and new Apps.

If you use utilities like FlexyGlass, you will be pleasantly surprised. Here's a list of my favorite discoveries so far.

1. Dark Mode. 
This is probably a knock-off of Windows-10, but I like it because it's just easier to find stuff. Affected areas are window borders, finder, Calendar, Messages, Safari and other Apps written by Apple. Developers will be releasing Apps with this new display feature.

To use Mojave dark mode head to System Preferences -> General and then at the top you will see the Light and Dark options.

2. New Screen Capture
Cmd/Shift/5 brings up a new capture feature that is loaded with options. This screen capture is intuitive. It is similar to the capture on IOS. You will love this. I grabbed the screen above with this new feature.

3. Stacks
My desktop was a cluttered mess. Not anymore. Just right click on your desktop and select Use Stacks. Finally, all your icons are organized. I was happy with the default, but play with this feature. There is organizing by Last Modified, Date Added, Date Modified, Date Created and Tags. Here's a snapshot of my new desktop. I'm running Turicreate at the moment but notice how clean my desktop is. My wife would be proud of me.

4. Improved Finder
There's a new Preview pane that displays all the relevant file information. Within the finder, now you can crop and rotate images. You are even able to generate a PDF file. 

5. Improved Safari Privacy
I notice the App popped up a confirmation box when some social trackers come along. According to the docs, it also prevents tracking you based on your tech footprint. 

6. IOS Apps running on MacOS.
Now, this is intriguing. Apparently, there is a framework for developers to convert their IOS apps to Mac Apps. Apple's own Voice Recorder and News Apps are converts. 

Someone at Best Camera will write an entire article on this new devloper framework for the new MacOS.

Thanks for reading. I hope this helps you get started with Mojave. 

Wednesday, August 15, 2018

React Native at a Glance

I’ve been looking at React Native as a tool for cross-platform mobile app development.

Reactive Native is supported by Facebook. It’s written in Objective-C from Apple.  You code RN in Javascript and JSX. The cool thing about RN is that your Apps are true Native, not web apps or hybrids. It compiles to Native code on both IOS and Android.

My conclusion is that React Native is a pretty good way to have one UI of views and elements that work the same on both IOS and Android. If your App is limited to basic functionality and you have RN components that do what you want, then RN is a good solution. And if your App uses APIs that build server-side content, then take a serious look at RN because it is strong on HTTP and Javascript CRUD.

Let’s dig a little deeper. I’m working at an App that does image AI recognition and style transfers. React Native does not have support for these new technologies on either the Android or IOS side.

But it is possible to build your own Swift and Java Components for React Native. Here's the gotcha. The Swift component will not run on Android, and the Java component will not run on IOS. So you are back to platform-dependent development where RN is lacking.

It is also possible to integrate RN modules into existing Swift and Java Native Apps. That's correct. You can add common RN Views to your existing IOS and Android Apps.

So when deciding on React Native, you need to ask yourself these questions:

1) Should my App start as a React Native App or a Native App?
2) Is React a good time saver for the common UI that I need?
3) How much platform-dependent module code do I need to write for IOS and equivalent Android?


If you are writing an App without too much high tech platform dependencies, then React Native should work. Or if your App uses a lot of back-end APIs that do most of the work, then RN could be a great solution. But if you have a complex App that uses a ton of non-RN supported code, then you are probably better off building two versions of your App, IOS and Android Native.

by Rob Adamson
Contributing Editor