A Backup of Your Data is Security

2 Comments

A Backup of Your Data is Security

John Gruber has it perfectly right. A backup of your data is security. 

"Over the years I’ve received numerous emails from past and former Genius Bar support staff, telling similar stories of heartbreak. Customer comes in, their iPhone completely broken, or lost, or stolen, and they had precious photos and videos on it. The birth of a child. The last vacation they ever took with a beloved spouse who has since passed away. Did they ever back up their iPhone to a Mac or PC with iTunes? No."

Don't be stupid and not backup your data. For My Eyes Only 7 and My Eyes Only Classic users we offer our Syncryption service. Yes it costs money. Every year in fact, but don't be cheap, don't be stupid. Backup your data. Strong words? Not at all. 

"The problems here are multifaceted and complicated; “don’t trust anything in the cloud” is simplistic and, in its own way, dangerous."

2 Comments

My Eyes Only App Six Years Later — Part One

1 Comment

My Eyes Only App Six Years Later — Part One

Last week Apple reported that it has paid 20 billion dollars to app developers and Developer Economics produced a quarterly report on the “State of the Developer Nation”.  Benedict Evans does, as usual, a great analysis of app sales across the two major platforms, iOS and Google. 

These articles describe amazing facts about app sales. I have decided to share app revenues of Software Ops apps over the last six years.  Software Ops app sales is smack in the middle of what Developer Economics calls “The Strugglers”. I will assess my reasons why this is the case in this three part blog series.

Part One - Background and Aggregated Revenue Numbers

Software Ops released My Eyes Only (MEO) into the Apple App Store six years ago, only two weeks after the App Store launched.  Those days were amazing and exciting, when the bright and unsure future of MEO rested in the hands of early iPhone adopters. Early sales of MEO priced at $8.99 were enough to replace my low six-figure income. With the consistent revenue I quit my day job and founded Software Ops in my home office. 

At the founding Software Ops only sold one app. Since that time My Eyes Only has turned into two distinct apps, My Eyes Only Classic and My Eyes Only 7.  The second app was an attempt to move the customer base from the original code base and design to the new code base and design.  Moving customers to an all new app was the accepted approach at the time.  Most customers moved to the new version, but some did not, resulting in two apps that have almost the same functionality.  

Both apps continue to earn Software Ops money and continue to get downloaded by the hundreds on a daily basis.  However, an awkward situation arose for MEO Classic and MEO 7, as they are in two different Apple developer accounts and this makes it difficult to show charts of sales data that include both apps at the same time.  Therefore in part two of the series, I will show a collage of charts of combined revenue numbers and other times show charts from each app separately. 

I reveal sales numbers to show my app revenue below, if you must see immediately.  Before I do that, I would like to provide some background based upon my interpretations of my limitations and strengths.

I am a developer and software architect; I know how to create high quality and easy to use software. My greatest strength is that I’m an excellent finisher. This means I complete projects and put on the finishing touches and send them off to market.  Now that I’m a business owner I don't always have the time develop software, but I am always involved, even if it’s adding some finishing touches. After all these little apps are my blood, sweat and tears.

Software Ops started out as a one man show, involving me, and my home office. Not to mention, the occasional pet or two, roaming in to knock something over.  I’ve made a lot of progress in a few short years, today I have a fantastic development team, project management, and client management team.  My team can build sophisticated mobile apps and cloud systems that interact with each app.  We’re fantastic with client relations, and because we complete projects on time and ship software regularly into the market, our clients are satisfied and continue to do business with us.

Even though Software Ops is an excellent product development company, it has gaps in app marketing capabilities.  We have incredible insight on how to market our apps, but we don’t necessarily have the capital, organization or the structure to implement those insights.  While we have updated and maintained MEO, we have not focused on it 100% over the last five years.  However, my team and I have been working with businesses to create apps for their companies use. This has resulted in less focus on the original apps and more on the future of the company.  I would say that we have only focused 5–10% of our efforts on MEO.  In my assessment, these are the main reasons why My Eyes Only hasn’t generated more revenue over the past five years. 

Here is the revenue generated my My Eyes Only over the last six years:

  • My Eyes Only Classic - Launched July 2008: $334,200
  • My Eyes Only Pro/7 - Launched June 2012: $135,100
  • Other Apps Based upon MEO Technology: Photo Safe, Photo Safe Pro, My Eyes Only Contacts:    $155,600

Total Apps:    $624,900

Aerochive Desktop App:    $64,40

Total: $689,300

 

My-Eyes-Only-App-6-year-revenues.jpg


Part 2 will consist of charts filled actual sales information along with historic analysis of app sales for MEO.

1 Comment

Will Google Advance Android’s Native SDKs

Comment

Will Google Advance Android’s Native SDKs

This interesting analysis by Benedict Evans leads me to wonder if Google will continue to advance Android’s native SDKs. It is one thing for Google to press forward with its own native Google Services that support cloud services, and completely another to continue to enhance its native APIs for all users of the Android platform. Google is a cloud company and it is easy to see why they are focusing on their strengths. However, Google is also a mobile app OS provider, and if Google abandons the future development of native APIs on Android, this will make it harder for businesses to develop cross platform native apps. If this occurs, then the business and consumers will both lose.

There is no doubt that consumers appreciate and cherish high quality native apps, that provide superior engagement and ease of use. Acknowledgement of this fact by businesses will help them make better decisions as they adopt or reset their mobile app strategy. It is essential for businesses to produce native apps that implement superior user experiences.

If Google doesn’t keep up with Apple’s native APIs, then businesses will be forced to spend even more on two different strategies to fulfill their mobile design causing problems for businesses financially. Even with a mobile app design strategy, that adopts the proper design language for the platform it will run on, app designers will be able to find common ground in their designs for each platform using native APIs. If one platform promotes native app implementation and the other promotes web implementation, then the commonality of user experience will be drastically different between iOS and Android, creating an unneeded schism. 

In iOS 8, we will see the MVP of Extensions. The APIs will move forward and create better cross app communication. In addition, Apple is putting significant effort into APIs that make it easier for app developers to create physics based animations for even the simplest apps. iOS Extensions will be able to keep up with advancing of API’s, while web technologies such as HTML5 can not.  iOS users will not tolerate insufficient apps produced by name brand companies, who are expected to please the consumer. This is why the iOS 8 is the right choice of all businesses going into the mobile app world. 

Comment

Swift Programing Language Perspective

Comment

Swift Programing Language Perspective

The new Swift language is being assessed by some of the best developers in the world and they are in hot debate as to the utility of the language as compared to Objective-C. My interpretation of the debate, at the time of this writing, is there is a sense of loss over the “messaging” aspects of Objective-C. I’m not going jump in on that debate because, while I’m a 30 year veteran of software development, I’m not a language expert. In addition, I have not yet adopted Swift in my limited programing responsibilities. I, however, do want to discuss Swift from a business owners perspective.

Swift Adoption - Means Less Code Written

This is obvious because the long standing .h file in C/C++ and Objective-C has been eliminated. This is fantastic news! This alone will save programing time, and time is money. In addition, Swift has a number of ways to short hand syntax that will result in even less code written. I believe the language has more to offer in the area of productivity as we progress in its adoption.

Swift Investment - Learning Takes Time

For Software Ops to adopt Swift it means that initial investment will be made by our engineers and by my business. There is a learning curve to learn anything new. That will take time and that will cost my business in the short run. In addition, I see no short term value in making claims that Software Ops writes code in Swift. I see Swift as a short term value for us if we can gain programing productivity.

Swift Adaptation - The Language Has Idiosyncrasies 

Once we adopt the language then the next step is adapt to benefits of the language. In other words, we will also have to think in the language of Swift. This will be the most challenging aspect of Swift adoption. Can the engineering staff both adapt their thoughts and actions to the paradigm that is Swift, and can they adapt it to our specific practices to produce superior results for our clients? 

Swift Exploitation - The Ultimate Outcome

Once the language is fully understood and fully adopted by Software Ops, will we be in position to fully exploit Swift to our benefit and that of our clients. Software Ops is committed to doing this before our competition, faster then our competition, and persisting in its usage. Software Ops will produce software that is faster to write, more free of bugs due to language features, and more performant on device.

Comment

Apple Testing In-App Promotion Codes

Comment

Apple Testing In-App Promotion Codes

Gigaom is reporting that Apple is testing in-app promotions codes.

If this is similar to how Apple offer promotion codes for paid apps, with all the restrictions and limitations and no way for developers to integrate promotion codes into their apps as a way to provide incentives to users, then I conclude it is a waste of time.

First, as an app developer I’m looking for Apple to allow us to incentivize our costumers by making certain in-app purchases free. One way would be to offer a “code” to our users to enter into the the app and unlock the in-app purchase at not cost to the user.  Apple doesn’t allow this because they are afraid that developers will sell the codes outside of the App Store. This fear prevents any reasonable way to provide incentives to users to share the app with their friends and get a reward for doing so.  People respond to incentives and I want to offer incentives.

For example, Software Ops could offer a system that incentivizes our customers to share our apps with their friends. We would track their friends signups within our app and then fulfill the reward, to the initial user, using a promotion code.

Second, the limitations on the number of promotion codes for an app and the painful process to secure and distribute the promotion codes made the feature all but useless.

Apple if you’re going to offer up in-app-purchase promo codes to help developers, please make them useful and automated so we can offer incentives to our customers.

Comment

Joe’s Axioms of Software Development

Comment

Joe’s Axioms of Software Development

Axiom 1 - Software is Never Done 

All software that is still in use is never done and will continue to be enhanced. The concept is simple, if the software product or system is providing any value to people it always needs to be worked on. Many people outside of the software industry do not understand this. I have had to explain that software is mutable to its core to management and clients many times. The problem exposes itself when your software is competing in the marketplace; your competitors fully grasp the concept of “software is never done” and they continue to improve their product, making it a better fit within the marketplace. Next thing you know, your competition has over run your product offer.

Axiom 2 - All Software Has Bugs

If the software product or system is being used by people then it is always being updated and modified per Axiom #1, above.  Therefore, it will always have bugs. What do you do about it?

Properly test your code. There are multiple levels of testing and all must be undertaken to be as bug free as possible.

  1. As engineers write the code they must use “debugger-based code walkthroughs”, where the engineer uses modern debuggers to set breakpoints and “walk” through the code live. This method will eliminate the vast majority of bugs in the system.
  2. Write unit tests. This can be expensive, so targeting cost effective unit tests is key.
  3. Full system integration testing. Test the system end to end. These are usually human driven tests, but parts can be unit test driven. Very expensive to setup and execute.
  4. Simulate high-capacity usage to conduct performance testing. See Axiom #4, below.

Axiom 3 - Software Developers will always want to rewrite other developers code, no matter what

This is some of the most wasteful expenditure of human capital when building software system. When new developers adopt an already existing code base they do not understand the philosophy, architecture, and design of already existing code. It is natural to simply claim the code is no good and demand to rewrite it, even if the code is functioning properly in production. Engineers are often asked to extend the functionality of a working system to advance the goals of the organization, not waste time, energy, money, or opportunity on rewriting functioning code. My message to engineers: “Get over it!” Your code is not that much better then the code you are rewriting. Just ask the next guy who takes over your code.

Axiom 4 - Performance is a characteristic of a functioning system

I love this one. It is soon forgotten that the only way to measure performance, or demand better performance, is for that system to be functionally working as designed. The system works! That is a huge accomplishment. With that said, performance is critical to the ultimate success of a system. But there is no possibility of performance tuning if the system doesn’t work. It may be the case that portions of the system have to be re-architected or rewritten to improve performance, but that is all built on the knowledge obtained while constructing a functioning system.

Comment

Heartbleed OpenSSL Vulnerability and Syncryption™ for My Eyes Only

Comment

Heartbleed OpenSSL Vulnerability and Syncryption™ for My Eyes Only

You may have seen news recently about the “Heartbleed" bug that has caused a vulnerability in OpenSSL, a security technology used by roughly two-thirds of all websites on the Internet.

First, and most importantly, any data (passwords, credit card or bank account numbers) you have stored in My Eyes Only 7, My Eyes Only Classic, or Password Manager Vault, has not been compromised. The data is encrypted on your device and is protected with a second layer of encryption when stored on our Syncryption™ servers.

Because Software Ops secure server provider uses OpenSSL to secure the communication from your mobile device to Syncryption™ services we were, unfortunately, affected by this bug. However, our secure server provider has fixed the Heartbleed bug on all of the servers that host our services that use OpenSSL. This was completed early in the morning of April 8th. We have also decided to implement the additional safeguard of reissuing all of our SSL trust certificates - just in case.

While we have not detected any compromise of the security in our systems, we are asking you to change your Syncryption™ password because of the Heartbeed vulnerability.  Please change your Syncryption™ password as soon as possible. Below are details of the OpenSSL vulnerability and how to change your Syncryption™ password. Your access password does not need to be changed.

My Eyes Only 7

  1.  Open the application and select the Sync Tab.
  2. Select Change Password and enter in your Current Sync Password, then enter in your New Sync Password.
  3. Re-enter the New Sync Password to confirm and select Set in the upper-right corner.

My Eyes Only Classic/Password Manager Vault

  1.  Open the application and select the Tools Tab, then select Syncryption Service.
  2.  Select Change Password and enter in your Current Sync Password, then enter in your New Sync Password.
  3.  Re-enter the New Sync Password to confirm and select Set in the upper-right corner.

To learn more about the Heartbleed bug and what measures you should take for your other applications and services we recommend to review the following websites:

Heartbleed.com (http://heartbleed.com)

The Heartbleed Hit List: The Passwords You Need to Change Right Now (http://mashable.com)

Here’s Everything You Need to Know About the Heartbleed Web Security Flaw (http://gigaom.com)

Comment

iOS 7 App Design - Epiphany

Comment

iOS 7 App Design - Epiphany

My epiphany… iOS 7 app design is not about “flat design”; it is about motion, combined with well-known touch gestures.  

I am not a designer. Like many people I have an eye for good design, as in, I know a good design when I see it. Because I have to “see” what I like before I know what I like, I must experience apps in action.

Axiom of iOS 7 design: Gestures drive motion, and motion inspires delight. Motion also provides hints for exploring more of the app.

Because the iOS 7 graphic design is flat, or near flat, there isn’t much need to spend a bunch of time on chrome. iOS 7 does not want chrome, in fact it deplores chrome. What are designers to do?

Think “motion”. Understand that every design element can move on the screen smoothly and with real motion properties based on physics. Get to know your coders better because they are the ones who will make or break your design, not how well you can use Photoshop. I believe the less time you spend in front of Photoshop and the more time you spend talking with your developers about UIKit animations and dynamics the better an iOS app you will design.

I understand this it is hard for graphic designers to accept, turning so much control over to a software developer. Understand that developers find themselves in a situation where they not only have to actually get the app to function properly, they are now key to the success of implementing your vision of the app.

What has triggered my epiphany and why so after almost a year of iOS 7? Remember, I am not a designer. I am a business owner from a software engineering background. I do not have time to download and play with many apps. Instead, I am introduced to apps through networking with other business owners and potential clients. Here are two apps that are driving my thoughts on design:

TweetBot for iOS - Yes, I know that I’m behind the times on this app, but it struck me as a simple design that captivated me with it’s motion.

Hotel Tonight - This is also a very simple app that just blew me away! The graphic design is so minimal, but the motion combined with simple touch gestures is wonderful.

I am sure there are plenty more app with minimal chrome and fantastic motion out there in the wild.  I hope to find more of them.

Comment