Tap Zapp Software Inc.

12 07 2014

The strong benefit of a database is the synopsis of otherwise widely spread information. Apple’s App Store offers a lot of apps suitable for productive operations but all the information saved by these apps is cut into pieces and saved in app-specific folders. Database management tools manage all the different types of information in just one app.

I’m a programmier for Microsoft Access databases for about 20 years and founded a software company in 1979 in my parent’s basement with a Z80-based Sharp MZ 80K computer, the first publicly available computer in Germany.

20140328-210854.jpg

After buying my first Apple devices, an iPhone 3GS and an iPad 3, it was obvious to look for a powerful database app for iOS. Reviewing Bento 4 (which was removed from the App Store in Sep 2013), zBase, and many other apps it turned out that the SQLite-based app Tap Forms by Tap Zapp Software Inc. (Canada) is the best choice by far. I found what I expected …

  • many features wrapped in a plain and self-explaining UI
  • useful field types for all purposes
  • iCloud support
  • a continuos development
  • a fast and friendly support

And it’s not only me rating this app with 5 stars. Check out the March issue of Mac Format Magazine.

Tap Forms was the winner in a shootout between FileMaker Pro, iDatabase, Numbers, Panorama Sheets, and Symphytum. Each database app has its own strengths and weaknesses and are great apps for various purposes. But the conclusion that Tap Forms came out on top was great to see.

“Although picking a winner will always be subjective, for a straight Bento replacement, Tap Forms is the clear winner by a mile. The user interface is beautifully Mac-like, the structuring of data is similar enough to Bento that it offers only a shallow learning curve, it offers a direct import of Bento templates, and the iOS companion app is great.”

My interview with Brendan …

Brendan Duddridge is the founder of Tap Zapp Software Inc., Canada. Sadly there was no way for me to talk to him face to face but thankfully a mail sent from my iPhone and winging its way to Canada and back fixed the problem in a jiffy.

So here is what I asked and what I got back.

01 The way to a successful business sometimes starts in the parent’s garage or basement up to the climate conditions.
What was your way to writing your first line of code?

I wrote my first lines of code by copying code from a magazine about computer programming back in 1979 on a Radio Shack TRS-80 computer that a friend of mine owned. It was in the BASIC programming language. So a very very long time ago. Ever since then I’ve been hooked on programming and have never stopped. There’s always so much to learn and new things to make. Computers and programming was always my hobby, but they are also now my career. I can’t imagine doing anything else.

02 If you look back what were the reasons for learning a programming language?

I was just fascinated to see that typing these strange commands into a computer could make things happen on the screen. I was first amazed by seeing one of my teachers typing out a computer program on the TRS-80 computer we had in our classroom. It was amazing how quickly he typed. At the time it looked like complete nonsense to me. Ever since then I knew that I wanted to be able to make programs myself.

03 Do you think programmers are basically autodidacts?

Well, I have a degree in Computer Science, so I learned a lot about programming from university. However, for the most part I think anyone can learn to program without a formal education in Computer Science. There’s so many learning materials available for free on the Internet these days and through iTunes University that if you have the slightest interest in learning to program, you can basically do it all on your own. It’s also very helpful to work in a team at some point because you can learn a lot from others. I think the main thing is to just be passionate about it. If you’re interested in creating new things and seeing them come to life on screen, then just go for it. Don’t wait until you have that amazing idea. That could take years. Start small and work your way up from there.

04 Founding a company is a quite painful job because you have to focus on many administrative tasks you probably don’t like. Can you give us an estimated value for the time you spent for developing the environment as a percentage of your 24h day?

I’m terrible at the business side of things. I tend to just want to program and I procrastinate a lot on the business side of operating Tap Zapp Software. I mostly just do programming and customer support. I love to program and I love to engage with customers via my blog, my forum, and via email. I usually get incredibly positive feedback from my customers. So much so that it keeps me working as hard as I can because I just have an innate desire to please them as best as I can. After all, when people say nice things to you, you want to do nice things for them. I do have an accountant to do all the nasty accounting work for me and to prepare my taxes. But because I am a one-man shop who works at home, there’s not a lot of overhead involved in running Tap Zapp Software. That’s a great thing because it gives me more time to focus on improving Tap Forms.

05 When did you start with coding your database application Tap Forms?

I started the design of Tap Forms by using Omni Graffle to layout the screens that I thought I would need to make the first version of Tap Forms. I did that probably back in May of 2008. WWDC that year was from June 9 to June 13 so I started thinking about Tap Forms just before then. I knew that I wanted to have an app idea before going to WWDC that year. The initial idea for Tap Forms came about after a friend of mine showed me an app on his Blackberry which he used to keep track of his passwords. I don’t remember the name of the app though, although it was pretty rough.

After seeing the original iPhone and seeing which apps it shipped with, the one app which didn’t come installed was some type of database organizer. Sure it came with the Notes app, but you couldn’t really organize notes into different categories and utilize all the different keyboard types for the different types of data you would want to organize.

Well that was a good thing because I had lots of database development experience already and I knew I could build an app that would let people organize all their personal information.

06 When did you upload your first version of Tap Forms to Apple?

I believe the first version I uploaded to Apple was around September 5, 2008. The first version was approved and went live on September 28, 2008.

07 Can you give us the a priority list for the most important three tasks?

I’m sorry, but I’m not sure what you mean by this question. Do you mean what 3 new features I’m working on for Tap Forms? Or do you mean a priority list of tasks that must be completed in order to develop any app?

Sorry, obviously not the best and easiest wording I used.
I mean tasks regarding your profession like brainstorming, testing, coding, staying tuned via social networks, or something like this.

I think of how I’m going to implement new features all the time. I don’t have a team to work with, but that does not mean that I cannot brainstorm new ideas. I can be driving my car or doing other mundane tasks and still be thinking about implementation details for new features. In fact, I’m doing this task almost all the time. As far as staying in tune via social networks, mostly I follow a few iOS developers who are very good and provide some very useful advice. Stack Overflow is also an incredible resource for any developer who’s working on tough problems. There are some very smart people on there. I answer questions from time to time if I feel confident I can provide a good answer. I get a really good feeling if I am able to help someone else out with a problem they’re having.

08 Many of my blogs are app reviews. At the time I installed about 150 apps on my iOS devices. Nearly every day I get an update notification and in many cases an app was already updated some days ago. The description always contains the word ‘Bugfixing’.
Can you give us a brief overview of your internal control system for testing apps before launching?

I utilize the excellent TestFlight system for distributing Tap Forms to my beta testers and translators. I also have a private forum on my website where authorized beta testers can provide me with bug reports and feedback. I also have a feedback button on my home page which links to UserVoice where I also receive bug reports, feature requests, and other feedback. Many customers also just email me with their bug reports, feedback, and feature requests. I get a lot of help from my translators and beta testers for making sure that Tap Forms is functioning properly. I also do a lot of testing myself of course.

09 Do you think maths is an important part of education for a developer?

I think it’s important to have an analytical mind to be able to develop applications. But I think you can have that without having a strong mathematics background. I had to take some crazy math courses in university, but for the most part I haven’t had to use them very much for the types of apps that I program. If you’re programming games you may need to know some math, but even today a lot of libraries are provided for you that handle the complex math that you would need. Now you can just type in a value and tell an object how much gravitational force is applied to it and it will do all the math for you and your object drops to the ground and bounces around a bit. It’s amazing what is available for free for developers these days. In fact, an app that I recently helped to develop (in between work on Tap Forms) is called PencilCase by Robots and Pencils (www.pencilcase.io). PencilCase lets you build an app using objects by dragging and dropping them onto a canvas. You can apply physics to objects, have them collide with each other, prompt the user for information, display web sites, etc. All without writing a single line of code. You can even publish a PencilCase to the App Store! So there’s lots of tools available now for developers of all skill levels. No maths required :-)

10 Do you think a developer should be experienced in more than one programming language?

I’ve personally learned about a dozen languages over the years. I think it’s important to learn a few in order to give you a broader idea of the capabilities of different languages. It also helps when you’re wanting to communicate with other systems. For example, you would most likely write a web application using Java, Ruby, Python, or Perl, but write your mobile app client in Objective-C or Java. So I do think it’s important to know more than one language. It opens up opportunities for you.

11 Tell us, what’s on your work desk?

Not much actually. I don’t actually program at a desk. Because I work at home, I pretty much just use the armrest of the couch. It’s quite comfortable :-) I program using a Retina MacBook Pro 15” with 16 GB of RAM and a 768 GB SSD drive. I backup everything over Time Machine to a Synology NAS drive.

12 Your hobbies are?

Strangely enough, my hobbies are programming. Although I do enjoy watching movies, but I’m not sure that can be considered a hobby. In the summer time I like to drive my Pontiac Solstice GXP convertible sports car as much as I can. I occasionally make modifications to it to enhance its appearance or performance. So I guess that’s kind of my hobby.

20140711-191806-69486427.jpg

13 Steve Jobs founded Apple and his philosophy was the key to success.
What duo you think are the main points also valid for you personally?

I like Steve’s philosophy on design. Make it simple and beautiful to use. Steve surrounded himself with brilliant people who he could command to do the best work of their lives. I don’t have that luxury so I just try to build the best and easiest to use app that I can possibly think of.

14 Steve Jobs’ philosophy is often summarized in ‘Focus’, ‘Say No’, ‘Connect the dots’, ‘Secrecy’. Can you put it in an order for us?

I’m not as big on secrecy as Apple is of course. But I kind of operate under the radar. Apple has all eyes on them with every little move they make, so they have no choice but to keep everything a secret for as long as possible. Occasionally I’ll mention a new feature on my forum that I’m working on or let a customer know that the issue they’re having has been fixed in the next update.

I do get requests from customers for features which would be great to have, but for only a minor subset of Tap Forms customers, so I have to politely decline some feature requests. After all, I can’t possibly put every feature into the app, not just because I am only one person working on it, but because I don’t want Tap Forms to become a bloated mess. But still, there are many new features which I have planned for Tap Forms that I believe will delight current and future customers for years to come.

15 What are your thoughts about the Android platform?

I don’t particularly like the Android platform. It just feels clunky to me. It’s not a very smooth experience navigating around. Perhaps that’s because of it’s Java roots. I don’t know. Or perhaps it’s because they’ve had to work around Apple’s patents on scrolling and bounce-back and other aspects of iOS. And just because you can add a setting for this and a setting for that and add this feature or add that feature, doesn’t mean that you should. Some people may feel like it gives you a choice, but I believe that giving people too many choices just makes your product bloated and inelegant. I’ve been asked to make Tap Forms for Android, but I have no intentions on doing that at this time. If the iOS and Mac eco-system ever deteriorates enough so that I need to switch platforms then I will at that time. But for now Tap Forms is doing exceptionally well. Before writing for iOS and Mac, I used to be a Java developer. So developing for Android wouldn’t be much of a stretch for me. I just choose not to do it right now.

16 What’s your strategy for the future?

My strategy for the future is to just build the best version of Tap Forms that I possibly can. There are so many features that customers have requested that it gives me an endless pool of things that I can draw from in order to improve Tap Forms. Of course I can’t add every feature requested, but I can certainly add the best features that I believe will be of most value to the majority of my current and future Tap Forms customers.

Brendan, thanks a lot for taking your time.

Features of Tap Forms …

Brendan brought a powerful database management system to Apple’s mobiles and the Mac following this guideline

Simplicity is often equated with minimalism. Yet true simplicity is so much more than just the absence of clutter or the removal of decoration. It’s about offering up the right things, in the right place, right when you need them. It’s about bringing order to complexity. And it’s about making something that always seems to “just work.” When you pick something up for the first time and already know how to do the things you want to do, that’s simplicity.
(Sir Jonathan Ive)

So even users without special knowledge about databases are able to organize their data.

Here is a mind map visualizing all features of Tap Forms. It was created for a comparison of Tap Forms with the competing app zBase (see the full post under ‘Related links’).

20140330-091230.jpg

Feel free to download this map from my Box account.

The alternative file formats have been created with iThoughts HD for iPad (.ITMZ file format). Compatibility to other tools is limited. The DOCX file format is suggested for those who don’t use a mind mapping tool. The file contains the image as well as a detailed outline of all topics.

Application File format
Adobe Reader PDF
Apple iWork/Microsoft Office DOCX
iThoughts ITMZ
MindManager MMAP
XMind XMIND

Summary …

An exciting insight in the work of an engaged company developing the best available database for devices running on iOS and OSX.

Thanks a lot Brendan. Keep on coding at it’s best, drive carefully and stay on track with your Pontiac Solstice GXP.

Related links …

About the company…

Tap Zapp Software Inc., Canada

About the desktop companion of Tap Forms …

Tap Forms for Mac

An application of Tap Forms …

Go Paperless with Tap Forms

About app development …

App Development and Marketing

About the usage of databases …

DBMS on iOS devices (1)

DBMS on iOS devices (2)

DBMS on iOS devices (3)

DBMS on iOS devices (4)

DBMS on iOS devices (5)

Importing Data

From Access To Tap Forms

zBase vs Tap Forms

Thanks a lot for visiting my blog.





Fragmentation? Tap Forms.

5 05 2014

It’s not the fragmentation of operating systems for mobile devices I want to talk about. It’s the fragmentation of information.

In computer storage, fragmentation is a phenomenon in which storage space is used inefficiently, reducing capacity or performance and often both. The exact consequences of fragmentation depend on the specific system of storage allocation in use and the particular form of fragmentation. In many cases, fragmentation leads to storage space being “wasted”, and in that case the term also refers to the wasted space itself. For other systems (e.g. the FAT file system) the space used to store given data (e.g. files) is the same regardless of the degree of fragmentation (from none to extreme).

There are three different but related forms of fragmentation: external fragmentation, internal fragmentation, and data fragmentation, which can be present in isolation or conjunction. Fragmentation is often accepted in return for improvements in speed, simplicity, or security.

Steve Jobs once said …

There is an app for that.
It’s the iPhone.
Solving life’s dilemma one app at a time.

True, if you look at the 1m apps offered in the App Store.
False, if you want to keep relevant data together for a more seamless access by using the UI of just one app.

The iOS filesystem …

Apple talks about it’s iOS filesystem with this headline:

Every app is an island.

During installation the installer creates an app specific directory. This directory constitutes the app’s primary view of the file system and represents the universe for that app and it contains everything the app can access directly.

So far so good.

This also implies that information is distributed within the iOS filesystem one app at a time.

20140501-204845.jpg

With the installation of an app for specific purposes fragmentation starts and is continued with every installation of further apps.

Contacts, notes, events, and links are typically managed by built-in apps or/and additional apps purchased at Apple’s App Store. To use many apps is followed by frequent switches between apps to look up the data you need.

The solution …

There are many different types of apps, e.g. web-based applications retrieving their data online from servers (e.g. Google+ for connecting to Google’s social network) or text editors keeping written text in the local folder of your device (e.g. ByWord a simple text editor).

Tap Forms is a table-based app keeping all bits on your device. It allows access to hierarchically organized data. Opening the app displays topics and a Search-Field where you can enter a term. The app then displays records matching the term. Tapping on a record displays related information.

Examples are:

a dictionary, a product description with a photo and a parts lists, a repository, or more detailed information about customers, visits, sold products, location of the main office and audio notes to a meeting which cannot be entered in Apple’s built-in app Contacts.

20140501-204940.jpg

The strong benefit of a table-based app is the synopsis of otherwise widely spread information using different content-related tables with an option to connect them.

Note
Tap Forms uses the term forms as a synonym for a table.

This approach to store data is called a database and a suitable app for content management should provide the following specifications:

  • a clean and tidy UI (user interface)
  • support for non-professional users who never created a database before
  • field types for all purposes
    (see my mind map showing all available field types of Tap Forms)
  • syncing via iCloud
  • encryption
    If encryption is turned on data stored in iCloud is encrypted. Each time you tap the sync button in Tap Forms, it creates an encrypted file and uploads that to iCloud. Then, the other devices download that encrypted file and merge the changes with the local database.
    Data are encrypted on the device, during transfer to iCloud and on iCloud. To access data on iCloud your Apple ID, password, and the encryption key of Tap Forms is needed. So Tap Forms can also be used as a password keeper.
  • import of already existing data
  • customizable templates available right in the app for an easy first approach to create a form
    available templates are: Audio Dictation, Business Accounts, Calling Cards, Frequent Flyer Numbers, Investment Accounts, Software Licenses, Bank Accounts, Blood Donor Cards, Credit + Debit Cards, Daily Journal, Driver’s License, Email Accounts, Health Insurance, Homework Assignments, Passport Information, Personal Health Cards, Website Logins, Garage Door Code, Home Insurance, Log Book, Loyalty Cards, Memberships, Security Alarm Codes, Serial Numbers, Vehicle Insurance
  • linkage to other forms in the database
    A ‘Link to Form’ field allows you to create a relationship between the data of two forms. Example:
    If you created a form ‘Articles’ you can use the ‘Link to Form’ field to assign available accessories stored in a second form ‘Accessories’.
  • powerful and easy to use backup procedures which is quite important because a lot of valuable information is accumulated and it shouldn’t get lost even if the app is deleted for what reason soever
  • an integrated browser to show content of linked websites without switching to Safari
  • an integrated PDF-Viewer to show attached files
  • fast and friendly support
  • continuos updates with powerful improvements
  • adapted versions for Apple’s mobiles and Macs
  • a lite version to decide wether the app fits your needs

You get this all and more from Tap Zapp Software Inc. (Canada) when buying Tap Forms for iOS or OSX.

Let’s say it with Steve Jobs …

I’m convinced that the only thing that kept me going was that I loved what I did.

This goes for Brendan Duddridge, the developer of Tap Forms and founder of Tap Zapp Software Inc., Canada. The final outcome is an app 90% near to be perfect. What about the remaining 10%? Well, let’s give him an even break to further improve his app.

Further information …

The extensive field list of Tap Forms shows the capabilities you have to create your personal data collections.

If you never created a database before it’s worth to first think about what you need, then create the necessary fields, and finally start entering the data. Your requirements will grow up with the daily usage and your experiences. Don’t worry. You can modify your first design later by adding fields, deleting fields, or changing the order in which records are displayed. While redesigning, the dialogs to change content and appearance do not overlap with what you change and all your changes are immediately shown in the data entry area.

Here is a mind map visualizing all features of Tap Forms.

20140501-212615.jpg

Feel free to download this map from my Box account.

The alternative file formats have been created with iThoughts HD for iPad (.ITMZ file format). Compatibility to other tools is limited. The DOCX file format is suggested for those who don’t use a mind mapping tool. The file contains the image as well as a detailed outline of all topics.

Application File format
Adobe Reader PDF
Apple iWork/Microsoft Office DOCX
iThoughts ITMZ
MindManager MMAP
XMind XMIND

It’s not only me rating Tap Forms with 5 stars.

Mac Format Magazine assessed the app as the winner of a database shootout and one of the competitors was FileMaker by FileMaker Inc., a subsidiary of Apple.

Summary …

A database app is a perfect approach to stop fragmentation. Tap Forms supports you with a clean an tidy user interface, stable data management, and syncing with all your devices. You will need the iOS Multitasking view less frequently because there is an app solving the dilemma with widely spread information. Whether you use it as a personal database or for your business, the data go with you, always updated.

Related links …

About databases …

DBMS on iOS devices (1)

DBMS on iOS devices (2)

DBMS on iOS devices (3)

DBMS on iOS devices (4)

About applications …

Go Paperless with Tap Forms

Importing Data

Form Access To Tap Forms

About an award …

Mac Format Magazine about Tap Forms

About a competitor …

zBase vs Tap Forms

About the iOS filesystem …

Every app is an i(s)Land

Thanks for surfing by.





Go Paperless with Tap Forms

12 03 2014

My last blog post was about going paperless with a document keeping app. This post is about a much more powerful solution using a database app.

About databases …

It’s out of question that databases on mobiles are the most efficient way to manage large amount of data.

The strong benefit of a database is the synopsis of otherwise widely spread information. Apple’s App Store offers a lot of apps suitable for productive operations but all the informations saved by these apps are cut into pieces saved in app-specific folders. Database management tools summarize all the different types of information in just one app.

If you create structured data (e.g. contacts, where every contact consists of a set of fields (e.g. name, email-address, phone number, account, bank) with different contents and save them as a file you have a very simple database. Its just a container in which similar data are stored like in a spreadsheet.

Lets call the set of FIELDS a TABLE (Form, Library) and the contents of one set of fields a RECORD and a subset of all records a QUERY (collection) and one or more tables and queries a DATABASE

20131209-065716.jpg

An improved version of a database contains many tables, stores your data securely, lets you collaborate simultaneously with other people and gives you fast information about people, stocks, insurances, words in other languages and beyond. But the pure data won’t let you do the jobs. It would be like searching in a very bulky phone book where data are not sorted.
So you need database management software (DBMS) to support your curiosity.

A Database Management System (DBMS) is a set of algorithms that enables you to store, modify, and extract information from a database, it also provides users with tools to add, delete, access, modify, and analyze data stored in one location. A group can access the data by using query and reporting tools that are part of the DBMS or by using applications specifically written to access the data. A DBMS also provides the method for maintaining the integrity of stored data, running security and users access, and recovering information if the system fails.

An powerful feature of databases comes up, if you connect data in different tables. If a record is about a device you might want to attach the receipt and a certificate of warranty. So the first table is about the device itself and the second table contains file attachments e.g. In PDF file format. Records of the two tables are linked together via a common key which could be the serial number of the device. When looking at the main table ‘Devices’ your DBMS retrieves the file attachments from the second table and shows it to you.

A database solves many problems with your otherwise widely spread data.
Where is the “egg-laying, milk-bearing woolly sow app” that makes it all easy to manage?

The short answer is: nowhere except with a database app.

Tap Forms by Tap Zapp Software is by far the best mobile database app for iOS devices and the company offers a desktop companion app which is fully compatible with the iOS version. So there is one and only one data pool accessible from all you Apple devices and syncing via iCloud.

Creating the form …

Within Tap Forms tables are called ‘forms’. So let us create the form to manage the personal repository. To do so just tap on the ‘+’ icon in the main screen, enter a name for your form and add fields by selecting them from the field list. Enter names for the fields and, if necessary, edit the field options.

20131209-065808.jpg

Notes …

  • Missing fields
    Don’t worry, you can add them later and remove fields you don’t need.
  • Pick List
    Use pick lists to choose text from predefined lists. It saves time and prevents from using different terms or different spellings. Use a pick list for the field ‘Keyword’ to quickly find related records with a query.
  • URL
    Add the field URL to a record to quickly access the website with further information from within the app.
  • Note
    Always add the field ‘Note’ to a form to enter annotations which otherwise don’t fit in any other field.
  • Alert
    Alerts are shown in the notification center and as a counter on the apps icon e.g. to remind you of an important maturity.
  • Audio
    An Audio field offers the ability to quickly comment on a record.
  • Layout
    After finishing the field creation procedure you can adjust the layout of the form: rearrange the order of fields, set colors and fonts for labels and values, decide which fields should be shown in the navigation area on the left side of the screen.

Attach files …

In my first blog post ‘Go Paperless’ I already mentioned that the PDF file format should be used for scanned documents. So now we have to decide how to attach the files generated by an All-In-One printer with the app AiO Remote by HP or with the help of Scanner Pro by Readdle with which a photo of the document is converted into a PDF file and transferred to Tap Forms.

Basically you can add multiple fields of type ‘File Attachment’ to a record so that several documents can be attached to a record. When creating the form you do not know how many files must be attached later. It can be just one or many updates of documents you get from your insurance company over time. So the best solution is to create a second form ‘MyRepositoryFiles’ which contains the files and is linked to the basic form ‘MyRepository’. In my example I used both fields, a field of the type ‘File Attachment’ and a field of type ‘Link to Form’ which sets the connection to files in the linked form.

Linking a second form to the main form is explained in my article DBMS on iOS devices (2).

Secure the data …

A personal repository contains sensitive data which should be secured by a password for the app as well as an encryption of the database. Tap Forms then encrypts backups of your database on Dropbox and iCloud with 256-Bit AES algorithms.

20131209-070203.jpg

Sync …

To update the whole database on all your devices activate iCloud Sync. If you use your iPhone for taking a picture of a document or scanning it with the app Scanner Pro by Readdle you usually create a new record, add the document, and want to have it on all other devices when coming home. iCloud Sync does it for you.

20131209-070315.jpg

Backup …

Because of the relevance of a personal repository it’s indispensable to regularly backup your data on an external storage. With Tap Forms you backup to Dropbox. So there are three copies of your database: on your device, on iCloud, and on Dropbox. This redundancy never let’s you loose your data.

20131209-070404.jpg

The workflow …

Here is the complete workflow visualized in a concept map.

20131209-135411.jpg

Summary …

In contrast to a document manager like Docunents by Readdle a database is definitely the better choice for managing your personal repository. It adds many useful features not available in pure file managers. To just save PDFs often is not suitable to keep all necessary information together and to complete a record over time with further data e.g. alerts, notes, or files like renewal certificates.

20131209-075735.jpg

Don’t worry about using databases. With Tap Forms it’s really easy to build your own ‘application’ for managing secured information in one place with accessibility on all your other Apple devices.

Related links …

About the company…

Tap Zapp Software Inc., Canada

About the desktop companion of Tap Forms …

Tap Forms for Mac

About the usage of databases …

DBMS on iOS devices (1)

DBMS on iOS devices (2)

DBMS on iOS devices (3)

DBMS on iOS devices (4)

DBMS on iOS devices (5)

Importing Data

Form Access To Tap Forms

zBase vs Tap Forms

Thanks a lot for visiting my blog.





zBase vs Tap Forms

15 10 2013

FileMaker discontinues it’s product Bento as reported by Macworld in late July 2013 because of focussing on their main products. If I’m right withdrawing an app by a big company is a unique event in the App Store’s history and pretty bad news for users of Bento 4 on mobile devices.

On my point of view it’s a consequence of bad success caused by ignoring indispensable features for databases on iOS devices. For example you cannot create your own database without using the desktop companion application. Establishing a connection to a cloud storage for importing or backing up data is not possible.

So all the missing key features of databases for mobiles maybe the real cause for withdrawing Bento 4 from the market. All along developers fail if a precise analysis of user requirements doesn’t take place.

It’s out of question that databases on mobiles are the most efficient way to manage large amount of data.

The strong benefit of a database is the synopsis of otherwise widely spread information. Apple’s App Store offers a lot of apps suitable for productive operations but all the informations saved by these apps are cut into pieces saved in app-specific folders. Database management tools summarize all the different types of information in just one app.

About zBase …

This post is about a newcomer in the market of mobile database management. It’s zBase by SourceGear, LLC, USA.

Eric Sink, one of the owners of SourceGear sent me an E-Mail in July 2013 in which he presented the new product (version 1.0.1).

Eric
zBase is a very new product, but we think it is a strong offering for small business users. Your feedback or suggestions would be much appreciated.

So I gave it a try.

The app is universal (runs on iPhone and iPad and fits in with the iPad’s form factor) and free but only if it runs in the so-called Demo Mode.

All features which require server access are disabled, including syncing across devices (zBase is built on Zumero, a database sync platform for mobile apps), user authentication, user management, and encryption of data.

20130803-165121.jpg

At the time even a migration of already -in demo-mode- stored data to a full version with Zumero platform subscription is not supported!

Shock!

After reviewing more than a 100 apps I crafted some shock-absorbing policies for myself and simply ask:

Is this the right strategy to get new customers or convert others to this new product?

I mentioned this problem in an E-Mail and argued that I already pay for an upgraded iCloud account. So why should I subscribe for an additional storage at Zumero’s platform?
My favorite app Tap Forms uses iCloud and syncing it’s SQLite database is a seamless and flawless task.

After a one week trial with zBase my favorite app still remains TapForms by Tap Zapp Software Inc., Canada because zBase is still in a developing phase with too many flaws and missing features.

It might be not fair to compare a new app with an app continuously upgraded over years since the launch of the first iPad in 2010.

But from the users side it’s good to know the pros and cons.

Both apps are based on an SQLite database engine and claim to serve businesses. So zBase has to face up to the comparison.

Here is a mind map with a description of all features of zBase.

20130803-183554.jpg

Feel free to download this map from my Box account.

The alternative file formats have been created with iThoughts HD for iPad (.ITMZ file format). Compatibility to other tools is limited.

Application File format
Adobe Reader PDF
iThoughts ITMZ
MindManager MMAP
XMind XMIND

To compare zBase with Tap Forms HD here is the mind map visualizing all features of Tap Forms.

20130803-121935.jpg

Feel free to download this map from my Box account.

The alternative file formats have been created with iThoughts HD for iPad (.ITMZ file format). Compatibility to other tools is limited.

Application File format
Adobe Reader PDF
iThoughts ITMZ
MindManager MMAP
XMind XMIND

Comparison …

Tap Forms sets the standard for databases on mobile devices. So I created a mind map summarizing the key features of databases on tablets and smartphones. All the other database tools have to compete with these features.

This gallery shows zoomed parts of the mind map.

Feel free to download this map from my Box account.

Application File format
Adobe Reader PDF
iThoughts ITMZ
MindManager MMAP
XMind XMIND

Because of the different design concepts regarding external storage and data view it’s hard to compare zBase with the key features visualized in this mind map.

The app zBase comes along with a table named ‘Mobile Database Comparison’ which compates zBase, Tap Forms, Bento, and HanDBase. I took off Bento (discontinued after Sep 30, 2013) and HanDBase (no experience with this from my side), reduced the list to some relevant points, added missing information about Tap Forms.

Feature Tap Forms zBase
iCloud Y N
Import CSV Y *
Export CSV Y Y
Full text search Y Y
Filter Y *
Single view Y N
Calculated fields Y N
Attachments Y N
Desktop app Y N
Charts N Y
Monthly costs N Y
Forms Designer N N
Encryption Y Y
Usability + -

Regarding usability let me explain why Tap Forms gets a positive and zBase a negative rating.

20130803-201729.jpg

This is just one example for low-level usability but it’s basically valid for nearly all features of zBase. Releasing apps in an early stage of development is always a risk. Users generally should use these apps just for a field test. Nobody can be sure that indispensable updates will follow in a narrow timeframe.

Some impressions of the UI …

20130803-122939.jpg

Different philosophies …

Entering data is one task when working with databases.
Retrieving information, navigating through a table are the more frequent applications. I compared many database apps and found two different philosophies. Microsoft Access for Windows basically offers two views on the data:

Datasheet View
Records are shown in rows and columns like in a spreadsheet

This view is used by zBase.

20130803-115957.jpg

Form View
Each record is shown in a form which can be created up to the needs
Different kinds of navigators can be used to go through the data:
Combo box, List box, GoTo record control

This view is used by Tap Forms. The form itself can only be modified by using different colors or fonts for field names and content and by setting the order of fields. Fields are always positioned one below the other and cannot be positioned in a free-floating layout.
A useful feature of Tap Forms is the choice of field content shown in the navigation list (up to 5 fields). Additionally there are GoTo controls for navigating through records (first, next, previous, last) available in the iPad version.

20130803-120242.jpg

The benefits …

  • Adjust the column width
    Long-press on the field name (column header). When you release the long-press, the column header will become highlighted with a different color. This signifies that the pinch gesture will now resize the width of that column instead of the row height.
  • Change the height of rows
    Use the pinch gesture.
  • Sort by a field
    In the datasheet view, if you tap on the field name (the column header), it will sort the records by that field.
  • Show statistics about the fields in a table
    Sum, average, min, max
  • Help text well-worded and understandable

Only available with a subscription …

  • Prevent a column from being changed by non-Admin users
  • Prevent a table from being changed by non-Admin users
  • Permanent syncing between devices

The main disadvantages …

  • No backup of databases
    Complete backups of the device via iTunes or iCloud is by far no appropriate solution.
    When backing up databases by exporting tables as CSV files all contents in fields with type ‘image’ get lost.
  • No import options like 1st line contains field names, encoding, delimiter, and formats of date and time
    This limits the usage of the import function in an unacceptable way and it took additional rework on all of my many sample files. None of them used the unusual comma for separating fields.
    The company promised to fix this flaw.
  • Search
    Quoting the developer as a reply to my mail:
    There are several ways this could be going wrong. The current search is a keyword search. It matches whole words. So, if a data value is “send more beer to the king”, and you search on the word “beer”, it will match. Also, the search feature currently only searches field of type ‘text’ (not ‘web’), so if your URLs were in a field of type ‘web’, the search would not find them. We will work to make this feature friendlier. I agree that the behavior you are seeing is not very intuitive.
  • Colors/Fonts cannot be set for fields
    This is useful to separate important from less important contents.
  • Fields cannot be locked to prevent unwanted changes
  • Filtering data is not supported by a selection of a field name or an operator.
    The expression has to be entered manually.
  • Formatting of fields (e.g. a field with type ‘real’ showing 2 decimal places (currency) ) must be done by entering an appropriate single character (c) in a format dialog
  • User management is only available with a fee-based account
  • Help text not outlined, full-text search not available, and help not available in dialogs for creating fields

Application stability …

I recognized some crashes of the app while tapping on controls.
An app crash also occurred after importing 65,000 records from a CSV file.
I informed the company about these issues.

Summary …

At the time zBase -in contrast to the developer’s announcement- is far away from being a business oriented database application for mobiles.
Some good ideas go along with a definitely not acceptable support of data entry (e.g. using a single determined character to set the field format).

In some cases with simple tables and less fields a datasheet view might meet the requirements. In many other cases it’s not a suitable solution especially if a table contains a field of type ‘image’.

If you compare the features of Tap Forms with those of zBase there is much work for the developers to bridge the gap.

Last but not least the pricing will not be accepted by private users. It might be accepted by business users but there is no desktop companion available. I’m in serious doubt about the success of this application in the mobile app market.

Related links …

About the companies …

SourceGear LLC, USA

Tap Zapp Software Inc, Canada

TapForms Blog

About the desktop companion of Tap Forms …

Tap Forms for Mac

About the usage of databases …

DBMS on iOS devices (1)

DBMS on iOS devices (2)

DBMS on iOS devices (3)

DBMS on iOS devices (4)

DBMS on iOS devices (5)

Importing Data

Form Access To Tap Forms

Databases and Mind Maps

Thanks a lot for visiting my blog.





DBMS on iOS-Devices (5)

25 05 2013

There are three apps for managing databases I focussed on in this and my previous articles.

Tap Forms HD (Tap Zapp Software Inc, Canada)
Bento (FileMaker Inc, USA)
Microsoft Access Mobile Database Client (Impathic LLc, USA).

This article is about the features of Bento and contains a final assessment of all three products.

The developers of Tap Forms and Bento use different terms for the same objects.
Here is a translation of the standard terms used by Microsoft:

Standard Tap Forms Bento
Table Forms Library
Query Search Collection

The features …

I took these screenshots to emphasize the highlights of Bento Mobile Database.
The library ‘WordPress’ contains informations about my blog. I manage these informations with my favorite app Tap Forms. In Tap Forms I exported the data as a CSV file and imported the records in Bento. Here are some basic informations about Bento.

All options for viewing the data also allow the editing of records.

20130323-151238.jpg

Additionally to the table view records can be viewed in forms.
Forms can be designed by the user by arranging the fields to the needs.

20130323-151631.jpg

Bento offers no traditional queries (SQL like expressions for selecting data) but a full text search.
This might be a disadvantage if you want to select records e.g. with numerical values less than 500.

20130323-152414.jpg

On the other hand Bento allows concatenating text fields which is not supported by Tap Forms.
So the capabilities of calculated fields leave nothing to be desired.

20130323-152817.jpg

Full feature description of Bento …

20130323-153814.jpg

The mind map created with the app iThoughts for iOS contains all features of the app Bento Mobile Database for iPad. It can be downloaded here:

Bento Mobile Database for iPad

Map as a PDF

Map in ITMZ file format (iThoughts)

Map in MMAP file format (MindManager)

Map in XMIND file format (XMind)

Support …

On my iPhone Bento did THOMAS appear in the apps menu of the ‘Open in’ command. So I contacted Bento’s support and described the problem. Here is the very poor answer:

Discussion Thread
Response Via Email (…) Apr 04, 2013 02:54 AM PDT

Hello Thomas,

Thank you for contacting FileMaker Customer Support.
Regarding your question about Bento, when you open the email with the CSV file attached, does a window open showing Bento as an app when you touch the CSV attachment with your finger for a couple of seconds
If you have any questions, please contact Customer Support on: 0845 603 9100 (United Kingdom) or 01 4073432 (Ireland), Monday-Friday 9:00 a.m. – 5:00 p.m. (excluding holidays)., and reference case number: 130403-000002.
Thank you,
Customer Support

Nothing more to say.

The main problem is that FileMaker provides no other way to fill the database except with a CSV file by using the ‘Open in’ command. This is a definitely poor strategy of a big company!

Summary …

Three competitors …
Tap Forms HD, Bento, Access Mobile Database Client

Two winners …
Tap Forms HD, Bento

It’s not easy to give a final assessment and it’s obviously subjective because different users have different requirements. However, my preferred app is Tap Forms HD by Tap Zapp Software Inc, Canada.

Decisive for me are the following features …

  • Syncing via iCloud across all devices
  • Backup as ZIP file and Restore on other devices
  • Building SQL-like queries
  • Direct Import/Export to Dropbox
  • Perfect, fast, and understandable support

The main disadvantage of Bento is that it solely offers CSV files for transferring data.
This file type, as implemented by FileMaker, is not appropriate for exchanging data between devices. UnlikeTap Forms Bento does not include the field type in it’s CSV file. So relevant information drops away. After importing URLs Bento interprets the contents of this field as simple text and so it’s no longer associated with the functionality of opening a browser when tapping on it.

Note …
In contrast to Bento Tap Forms HD includes field-type tags in the header row to tell an importing app which fields are numbers and which are text, dates, URLs, or other field types.
While backing up Tap Forms creates a ZIP file which consists of a normal CSV file as well as all other ‘not-text’ data like images or audio recordings. Restoring this kind of a CSV file with additional information about filed types enables the importing app to reassign field-type specific functionality.

20130324-154149.jpg

So there is no chance to transfer libraries of Bento from one iOS device to another and to further sync the data. Even File Sharing via iTunes is not offered.

Nevertheless Bento is a serious competitor and offers some impressive features which I miss in Tap Forms HD. These are:

  • Creating of Forms for editing and displaying data
  • Displaying data in spreadsheet-like lists
  • App controlled managing of ‘Date Modified/Created’ fields
  • Calculations can also be done with text fields by concatenating text
  • Useful Help System with short but understandable descriptions

It’s hard to comprehend that features are missing which users perceive within a minute when they start an application the first time. Many longstanding features known of comparable apps for computers are not carried over to iPad. It seems to me that companies developing software for mobile devices are not yet ready to accept the needs of the market. It’s not explicable that, for example, Dropbox in it’s mobile client still doesn’t offer a setting for the sort order of files.

Related Links …

DBMS on iOS devices (1)

DBMS on iOS devices (2)

DBMS on iOS devices (3)

DBMS on iOS devices (4)

DBMS on iOS devices (5)

Importing Data

Form Access To Tap Forms

Databases and Mind Maps

I appreciate your Comments and Likes.
I you have any questions don’t hesitate to contact me via comment or contact form on the About page.
Thanks for visiting http://iNotes4You.com.





DBMS on iOS-Devices (4)

22 05 2013

Microsoft Access is the worldwide most powerful system for developing database applications with forms, reports, queries and VBA modules. An acceptable performance is ensured for databases up to 2 GB and a number of records up to 100,000 per table when using a state-of-the-art PC.

Microsoft Access 2010 Specifications
I myself develop databases in a Frontend-Backend design mainly for auditors since about 25 years with more than 2,500 licensed users. My experiences are that no other system allows you to develop applications, add features, and fix bugs as efficiently as with Microsoft Access.

So let’s have a look at a client which allows to use Microsoft’s proprietary database file format (.accdb or .mdb) on Apple’s iOS devices.

Impathic LLc, USA offers the Microsoft Access Mobile Database Client at Apple’s App Store.

Microsoft Access databases are Stand-Alone Files, and so the database file must be transferred to your iOS device in order to open it in the Access Mobile Database Client. This is in contrast to many other databases, which connect over a network in ‘Client-Server’ mode. While having your database file on your device prevents the ability to work on the data concurrently with other users, it also allows you to work with your database in a disconnected environment, such as on an airplane.

Transfer to an iOS device …

How to transfer a Microsoft Access database to an iOS device …

Transferring an Access Database via iTunes File Sharing

  • (1) On your desktop, locate your “.accdb” or “.mdb” database file.
  • (2) Plug your iOS device into your desktop or laptop using the USB cable and open iTunes.
  • (3) In the left panel of iTunes, locate and click on your iOS device name.
  • (4) At the top of the screen for the device, select the “Apps” tab.
  • (5) Scroll down to the “File Sharing” section at the bottom of the screen.
  • (6) Select “Access” from the list of apps.
  • (7) Drag your Access database from your computer into the file list.
  • (8) When you next launch Access Mobile Database Client, you will see your database in the list of available databases.

You may also transfer a database from a cloud provider offering a client app for iOS devices which supports the ‘Open in’ command or you can send the database as an E-Mail attachment.

Transferring an Access Database from the cloud

  • (1) Sign up for a free account at http://www.dropbox.com if you don’t already have one.
  • (2)Upload your “.mdb” or “.accdb” file to your dropbox account using their desktop integration program.
  • (3) Download the free “Dropbox” app from the Apple iTunes App Store, launch it, and log in.
  • (4) Browse to your database file and tap the forward button , then select “Access” as the application to open the database with.

    Notes
    When you first select your database in Dropbox, the app may say “Unable to view file”, but you should still be able to tap the forward button to open it in Access Mobile Database Client.

    Modifications made to your database will not be saved back to your Dropbox account, but instead will be saved locally on your iOS device. To get your modified database back to your desktop, you need to transfer it back using the iTunes File Sharing method, or by tapping “Edit” from the database list, selecting your database, and then mailing your database back to yourself, or opening it another application (such as the official ‘Dropbox’ app).

Transferring an Access Database via E-Mail attachment

  • (1) Tap on the E-Mail attachment (an accdb or mdb file).
  • (2) From the ‘Open in’ menu choose ‘Access’.

The full feature description …

20130320-171028.jpg

The mind map created with the app iThoughts for iOS contains all features of the app Microsoft Access Mobile Database Client. It can be downloaded here:

Microsoft Access Mobile Database Client

Map as a PDF

Map in ITMZ file format (iThoughts)

Map in MMAP file format (MindManager)

Map in XMIND file format (XMind)

Impressions of the application …

See this annotated slideshow to get an impression of the user interface.
Tap on an image to see the navigation bar.

This slideshow requires JavaScript.

The pros …

  • Support for Microsoft Access 97, 2000, 2002, 2003, 2007, 2010
  • Support for relationships between tables
  • Export of tables or queries as CSV file to other apps like Apple’s iWork app ‘Numbers’
  • Ability to adjust the font size for listings
  • Simple UI

The cons …

  • Creation of databases not supported
  • Changing of tables (add fields, etc.) not supported
  • Adjusting the column width not supported
  • Backup and Restore not supported
  • Printing of tables not supported
  • Saving changed databases back to a cloud storage not supported
    iTunes File Sharing is the only way to transfer edited databases back to other devices or cloud storages
  • No integrated browser for opening Hyperlinks
  • Display of images not supported
    Images located in the system table MSysResources or other tables are not displayed.
  • Errors when executing queries with string operations
    Error executing query: Syntax Error: Stopped parse at …
  • No feature updates or bug fixes since 18 months
    This usually is an unmistakable hint for a frozen app.

It’s obvious, and no disadvantage of the app, that

  • linked tables in a Frontend-Backend configuration are not supported
  • sharing the Frontend is a senseless act as forms, reports, and VBA modules are not supported on iOS devices

The test results …

I imported the following databases via iTunes File Sharing

  • My simple WordPress database WordPress.accdb
  • The Microsoft sample database Northwind.accdb
  • A database containing a table with 100,000 and one with 3,666,731 records

Does the client app or the iPad behave disgracefully when using large amount of data?

Here are some stats:

  • Table with 12 fields:
    Number of records = 100,000
    File size on a PC = 320 MB
  • Loading of records into the list view:
    500 records within 11 sec
  • Query with the WHERE condition ‘Begins With’ for a text field and descending sort order:
    215 records selected within 38 sec
  • Full text search over 12 fields:
    448 records selected within 370 sec

Repeating the tests with 3,666,731 records came to a nearly linear increasing processing time.

And … Neither the app nor the iPad crashed!

Summary …

I cannot recommend Microsoft Access Mobile Database Client because of the limited sharing options and missing sync functionalities when using more than one device.
It might be useful for looking up records on an iOS device for databases containing more static content like product lists with stable prices or other tables similar in kind.

The competitors, Tap Forms HD by Tap Zap Software and FileMaker’s Bento, are light years ahead.

Related links …

DBMS on iOS devices (1)

DBMS on iOS devices (2)

DBMS on iOS devices (3)

Importing Data

Databases and Mind Maps

From Access to Tap Forms

I appreciate your Comments and Likes.
I you have any questions please don’t hesitate to contact me via comment or the contact form on my About page.
Thanks for visiting http://iNotes4You.com.





DBMS on iOS-Devices (3)

19 05 2013

Using a database is the only appropriate way to store large amount of data.
As tablet and smartphone purchases are booming it stands to reason to have a look at some apps for iOS devices.

Allow me to point out some previous articles about databases here on iNotes4You

DBMS on iOS devices (1)

DBMS on iOS devices (2)

Importing Data

Databases and Mind Maps

From Access to Tap Forms

20130317-125716.jpg

First of all it’s useful to have a look on what customers use databases for:

  • Personal information management
    This field of activity means the “classical” applications for PDA or organizers. Mostly, there is no cooperative work with other users on the same piece of data. The amount of data on the mobile device is usually small, and is at most edited on the mobile device itself. The main challenges for developers of mobile databases for personal information management are

    • Flexibility
      regarding changes of tables and fields
    • Independency
      of stationary devices
    • Easy to use
      even for non-professionals
    • Reliability
      of the developer constantly upgrading and adapting the app to changing operating systems and devices
  • Replication of large databases
    The replication of large databases or parts of them – large in the context of mobile, lightweight appliances, e.g. not more than 2 GB – is characterized by the cooperative use of the same data by numerous users. Data are mainly managed and manipulated by the DBMS on a stationary server, only a few or no changes are performed on the mobile device. Business applications, geographic information systems or multimedia are typical applications. The most important challenges for mobile databases in this field are syncing, performance, storage capacity, and the way to display data on a small screen.

The differences between stationary and mobile devices can be described by the following issues:

  • Amount of data
    Due to the restrictions of CPU performance and storage capacities applications for mobile devices are suitable for about, let me say, 10,000 records. Larger amounts of data cause performance problems when it comes to import, export, and sync data with other devices.
  • Hardware resources
    Stationary devices are customizable for the needs of their applications with a broad range of exchangeable hardware components. In contrast Apple’s mobile devices are not upgradable. So the later usage of the device has already to be considered when it’s purchased.
  • Form factor
    Screen sizes like that of the iPad are not suitable for databases containing tables with a large amount of fields. Even in landscape mode it’s hard to view tables with many fields and different field types. Usually views of tables are not customizable by defining suitable forms, subforms for related tables, data sheets, and reports like it is possible e.g. in Microsoft Access.

As we are talking about applications for the actual iOS devices the key feature list assumes an iPad and an iPhone as mobile devices optionally supported by a Mac as the big brother to do some tasks mobile devices are not designed for.

The key features …

Here are some key features for apps managing databases on mobile devices.
When expanding the branches of this map you will see many details reflecting my comprehensive experiences with database tools.

20130317-154541.jpg

The mind map created with the app iThoughts for iOS contains many detailed informations when expanding the branches. It can be downloaded here:

Key Features of Mobile Databases

Map as a PDF

Map in ITMZ file format (iThoughts)

Map in MMAP file format (MindManager)

Map in XMIND file format (XMind)

Classification of apps …

The apps available at Apple’s App Store I would like to describe are distinguished from each other by

  • Creating and customizing a database on the mobile device
    examples are Tap Forms (Tap Zap Software Inc., Canada) and Bento (FileMaker Inc., USA)
  • Creating the database on a stationary device and editing data on the mobile device
    an example is Microsoft Access Database Client, My SQL Mobile Database Client, (Impathic LLc. USA) and the mobile database clients for Microsoft SQL Server, MySQL, Oracle, Sybase, PostGreSQL, and DB2 also developed by Impathic.
  • Access to databases located on webservers
    an example is MySQL Database (Software Solutions + Technologies AG, Switzerland)
    These solutions are not discussed here because of the dependency of an external data source managed on a webserver.

Some features in details …

I want to talk about an appropriate usage of databases on Apple’s iOS devices. So the focus is on private and small business applications, the usage of more than one device without the necessity of a stationary device, and the independency of external data sources.

So the key features are

  • Creating the database on the mobile device
    e.g. On an iPad or by importing a CSV file which automatically generates a table with the correct field types
  • Creating the fields by selecting from various filed types which are particularly useful for mobile devices
    e.g. location data
  • Syncing across multiple devices
    e.g. syncing via Apple’s iCloud
  • Importing data from previous systems
    e.g. via a CSV file from Microsoft Access
  • Exporting data to other apps for further usage
    e.g. to Apple’s spreadsheet app Numbers to create graphs or editing data for print outs or presentations

Please visit iNotes4You to read the upcoming article DBMS on iOS-Devices (4) with a description of the Mobile Microsoft Access Database Client by Impathic LLc, USA.
This article will be published on May 22.

Thanks a lot for visiting iNotes4You.
Comments and Likes are appreciated.








Follow

Get every new post delivered to your Inbox.

Join 185 other followers

%d bloggers like this: