Easy Books for Mac has been having a facelift recently to tie in with the upcoming release of Apple's newest version of OS X "Yosemite". The most striking difference is how the translucent sidebar now takes on the personality of the content behind it. Change your desktop background and that change shines through all your apps on macOS. But the changes aren't just skin deep, there are some great new features too.
Easy Invoice is an app with a tight focus on producing estimates, invoices and statements. It shares a lot of the same technology with Easy Books and has a similar user interface.
But the app hasn't been a success. Maybe it's because there are already quite a number of apps in the App Store offering invoicing. The app hasn't appeared high enough in search results to get enough downloads and like many apps in the store, Easy Invoice has never generated much of an income.
We're very pleased to have been reviewed and accredited by ICB. The Institute of Certified Bookkeepers is the largest bookkeeping institute in the world with over 150,000 members worldwide. It promotes and maintains the standards of bookkeeping as a profession.
Their review process is very thorough, as you might expect. In our case the whole process took about six weeks.
But the review also helped identify some UI changes we could make to improve the app.
As a developer I've been keen to try out Apple's push notification service for quite some time. Last year when Apple improved multitasking in iOS I wrote about it on this blog and how the changes could be used in the future to improve Easy Books. One of the improvements was the addition of background fetching of data, which allows Easy Books to wake up and run in the background every few hours. This improves syncing as the app is more likely to be up to date when next used. However we can do even better!
The OpenSSL project has recently announced a security vulnerability (CVE-2014-0160) in OpenSSL affecting version 1.0.1 which is used in our servers. While we've mitigated the impact of this issue, as a precaution, it is our recommendation that you change your Online Syncing password if you use the service.
I have reviewed all services for impact for the issue described in CVE-2014-0160 (also known as the Heartbleed bug). The OpenSSL library is widely used across the Internet and the bug affected an estimated 500,000 servers worldwide. The bug allowed an attacker to gain access to 64kB of server memory from vulnerable SSL sites. In some cases the memory could have contained the server's private key, secondary key data or fragments of user data. An attacker could have used key data to set up their own clone of the server, although they would also need to re-route your connection to their server in order to capture your data (a man-in-the-middle attack).
Last weekend (29 March 2014) this web site switched over from HTTP to HTTPS. You may have noticed the new padlock symbol or the company name (Geode Software Ltd) appear in the browser address bar. This indicates a secure (encrypted) connection between your browser and our web site.
Today we made a change to the Online Syncing service.
Nobody noticed (but that's a good thing).
Here's what changed, though.
Easy Books prepares invoices in PDF format and can attach an invoice to an email message. The code to produce the message containing the attachment has been through a number of changes over time. Here's some background and the reasons why.
As Craig Federighi presented in the WWDC keynote, Apple have been working on multitasking in iOS 7 and have improved it in a number of ways. Rather than apps running continuously in the background, taking CPU time and reducing battery life, iOS has always "suspended" apps instead. There have been a few exceptions, such as VoIP and audio streaming apps but most apps have been given just a few additional minutes to complete tasks after the user closes them. The improvements in iOS 7 give apps more options to run in the background if they need to refresh data from the network.
- Intelligent scheduling. Apps are given a limited time to run in the background without interfering with your use of other apps in the foreground.
- Opportunistic updates. The OS learns at what time of the day you use an app, scheduling its background work moments before it predicts you are likely to use it.
- Adapts to network conditions. If the device has a good connection to the Internet (a strong WiFi or cellular signal) it is more likely to use the time to updates apps' data in the background. The reverse may be true, that when the device has a poor connection iOS may wait for a better one and postpone background tasks.
- Coalesced updates. Where possible iOS tries to conserve battery life. But if the radios are already powered up, apps are given time to run in the background. For example, the moment you tap the Home button to wake the device it may allow an app to run in the background.
- Push triggers. For apps that use push notifications, these can wake the app and give it time to load content when the notification arrives.
Easy Books is built on Apple's iOS, the operating system behind the iPhone and iPad. When Apple revealed details about iOS 7 at their annual Worldwide Developer Conference (WWDC) in June 2013 we were of course interested to see what changes there would be and how we might be able to improve the app to take advantage of them.
What's different about iOS 7?
Rather than building on previous versions of iOS as they have in the past, Apple have decided to produce an "all-new design" in iOS 7. Apple's design for iOS 7 is based on three concepts:
After running an online survey it seemed that the main hurdle for people using Easy Books was a lack of good documentation. The survey ran for a couple of weeks in February and March 2013, see "New documentation is on its way" for more information.
Based on this feedback, we hired the services of a technical author and video producer. Over the next couple of months we all worked hard to add a new in-app help system.
For the last two weeks we've been getting some great feedback from visitors to the web site. We're using Qualaroo, who handle online surveys.
Where people chose to leave additional comments, the main problem seems to be our documentation. People are not able to quickly get to the information they need. The question we asked was "Is there anything that would prevent you from using Easy Books?"
We launched the Online Sync service in March 2011. It started small, but since then it has become more and more popular and we've been working on making it even better. The system is hosted in Amazon's data centres and is built using a lot of their technology (S3, EC2, RDS, SES, Route 53 and CloudFront to name a few!)
Thanks to building the system in Amazon's centres, we've been able to scale it by monitoring performance and making improvements where necessary. We've been able to move seamlessly to more powerful servers as the load has increased. Of course, since then we've also made huge improvements in performance that have reduced the load. But that's life.
Here are some of the things we've changed this year.
Personally I don't like printing out on paper. I prefer to go paperless. But sometimes I still need to print things like invoices because some clients won't accept them in electronic form. Many in the Easy Books community from Facebook and Twitter agree so I thought I would take the time to do some research and write a short article about printing options in Easy Books for iOS.
When I started development of Easy Books in 2009, I had already been running my own business for a number of years. Enough time to build up a quite a collection of boxes of paperwork which I stored in the attic.
For the last few years I've been thinking about how much effort it would be to go fully paperless, or at least as paperless as possible. Enter Mr. Simon Wolf (@sgaw) of Otter Software. Simon appeared on an episode called Eco Friendly Developing on the iDeveloper Live podcast. Starting from 15:22 in the podcast episode, Simon talks about his intention to go paperless, about the apps he uses, other equipment you need and also about being careful to avoid taking paper documents in the first place. This encouraged me to get started myself. I decided to wait until the start of a new tax year, and keep nothing on paper past that date. I know I'll need the originals for some documents, even if just for a short time. For example, I'll keep bank statements for a few months because they can act as proof of identity.
Apple's 2011 worldwide developer conference (WWDC) was held two weeks ago and started with a keynote from Steve Jobs announcing publicly the changes in iOS5 and the next generation of the Mac OS, called "Lion".
I was on a family vacation the same week and could not attend, but I followed the live blog at the time and I could tell there were some really exciting things to look into. Not least, iCloud.