Ginny Caughey, president of Carolina Software in Wilmington, NC, has been a developer for decades—decades she has spent using Windows to develop enterprise applications. Her firm has provided software and support services to the solid waste industry since 1987. Today, her firm uses Windows 8.1 as its development platform, and Caughey swears by the platform’s capability to scale enterprise operations. On the side, she has also built Password Padlock, a free and hugely successful secure encryption app that she recently ported to Windows 8.1. I caught up with her to learn more about her varied experiences with 8.1.
What excites you about Windows 8.1?
I am enjoying Windows 8.1 and Visual Studio 2013 very much, particularly the multi-monitor support and the speed of my Surface Pro 3 i7. I sometimes need to run legacy development tools, like Visual Studio 2010, to serve some of our long-term enterprise mobile support customers, and I can do this alongside completely modern software. When I’m done at the office, I can take my entire complex development environment home with me or on the road in a package that weighs about two pounds—it’s scalable and portable.
I’ve developed on Windows 8 and 8.1 since their respective releases, and I tell my customers that the software works better and faster than ever before. On the side, I developed Password Padlock, a very simple app that stores encrypted passwords and eventually ported it to the 8.1 platform. I’m happy that with Windows 8.1, I can finally use Universal versions (now in stores and in active use) to maintain the multiple versions of my app as part of a single solution; I add new features once and easily synchronize each platform-specific version.
When Windows 8.1 launched, I just updated the Windows 8 app to 8.1 and used that version to build a Universal app solution and added the Windows Phone 8 project. I stayed with Silverlight 8.1 for Windows Phone since Clipboard support is very important to a password keeper app for transferring data to IE, but I moved all the non-user interface code to the Shared project, and I used conditional compilation to handle minor platform differences like presenting error messages to the user. I’d used MVVM from the beginning, so I could use the ViewModel code for Windows 8.1 as-is on Windows Phone 8.1.
The app performs several functions: it asks a user for basic information for all the Web sites on which she or he maintains accounts. The user supplies his or her credentials, and the app stores it in a file encrypted with a master password of the user’s choice. I also built in the ability to set up different categories of password items, to generate complex passwords, and to back up the encrypted password collection to OneDrive. On Windows Phone, I added support for voice activation and search, and on Windows, I added support for local file export and import. So it’s an important app that helps users with an important need. The process of porting it to 8.1 was simple, and my users benefit from all the cool features that 8.1 offers.
How successful is Password Padlock?
Users have downloaded Password Padlock over 120,000 times in 141 markets on Windows Phone and over 70,000 times on Windows. I have over 1,500 reviews on Windows Phone and over 1,000 reviews on Windows. Users have rated the app between 4 and 5 stars.
Initially we priced Password Padlock at $0.99 with a free trial. I had an amazing conversion rate of almost 50%! But as more free apps appeared in the Store, I realized that free apps (as opposed to paid with a free trial) gained much more traction. After a few people outside the US told me their friends wanted to use a secure password keeper but had no way to pay for apps, I decided to make the app free for a while as a test. Immediately, I saw downloads increase 10-fold. I’d already made enough money with Password Padlock to pay for the touchscreen laptop I bought to build it on, and I had another job to earn a living, so I decided to make the app permanently free from that point on.
What Windows 8.1 features have you leveraged / do you intend to leverage?
I love the way Windows 8.1 apps are working better together all the time, thanks to the simplicity and integration of Windows Phone 8.1. I’ve watched my daughter struggle to get directions on her iPhone when we’re out looking for “the nearest Banana Republic,” for instance. Cortana finds it quickly and provides directions while Siri tells us “I don’t think you can drive there.” I also love how easy it is to share or use photos, tweets, Facebook posts, and email from various accounts or Outlook folders, all in one convenient place.
As a user, I think Cortana is brilliant. My Windows Phone apps have supported voice recognition as long as the feature has been available, but the quality of the backend service has improved, and users are now much more aware of the capability.
As a developer, I use roaming storage to make life easier for me and for my customers. Historically, I’ve received quite a few emails asking questions about how to get the data backed up to OneDrive. Roaming storage in the new Universal version of the apps makes this easier, since a new Password Padlock installation will be able to recognize and validate the user’s previous master password (without storing the password itself). The universal apps can also recognize that newer data is available on OneDrive or remind the user that the local data hasn’t been backed up yet. The downside of using roaming storage in this way is that testing has been a bit complicated for me.
Cloud services will benefit me and my customers. From an enterprise standpoint, it’s attractive to get customers to offload some work to Azure so we can more easily scale our services across platforms. I plan to develop mobile point-of-sale products based on Windows 8.1 and Windows Embedded Handheld 8.1 as companions for my company’s enterprise apps, and I’ll offer users Azure backend to scale it across the enterprise.
Thanks to the Live team, I’m also using Windows Phone 8.1’s ability to use the phone’s Microsoft Account for OneDrive access, which is how I’m able to check for newer data. I’ve had this capability on Windows from the beginning, but it’s new on Windows Phone 8.1.
When I first considered sharing code between Windows and Window Phone 8.1, I thought the main benefit would be the ease of adding new features, but I’ve been surprised at how it’s also allowed me to find and fix subtle bugs in both platforms.
What is your advice to developers?
I tell developers: even if your end users haven’t made the move to Windows 8.1 yet, embrace Windows 8.1 for your development environment! Even legacy .NET code is easier to work with using the latest version of Visual Studio and Cloud services like Visual Studio Online. Don’t wait for your users to ask you for modern software—show them the new possibilities, and they’ll thank you.
More generally, I tell mobile developers the same thing I’ve told all developers for decades. Listen to your customers, ask for suggestions, and follow through on them if they make sense. Publish early to see what users think, but don’t ask for reviews until you’ve responded to initial feedback. As you get more feedback and your platform capabilities increase, you can continue to enhance your apps. Ask for help from the community of developers also using the same technology, and help others if you’re able. It’s one of the best investments you can make!