Posts Tagged ‘Octyx’

The Octyx 2016 story – 6 – The mobile data in the cloud

April 30, 2016

firebrickred - 64-64 roundedHello, this blog is part 6 of the series ‘The Octyx 2016 Story’. See for the overview (part 1), full background and a list all related blogs the link here.

This specific blog describes in more detail what I have used to store mobile data, and what had to be put in place for this. This is quite technical information.

The basic idea was to use a provider of data in the cloud, which would be very fast, had an open architecture, and is affordable.

After various comparison, this lead me to make a choice between different so-called BAAS (Backend As A service) providers. My choice fell on the Parse solution, a subsidiary from Facebook. From Mid 2015 until end of January 2016, my mobile Octyx solution was fully based on this solution.

Parse has outstanding functionalities combined with a very clear dashboard to manage data in a secure way. And their business model was in line with my needs and expectations.

Sending and receiving data is done via the so-called JSON and REST protocols. Delphi has a complete set of standard functionalities to work with different BAAS providers. The advance of JSON and REST is that these are very lightweight and fast secured protocols. My experience showed that indeed file transfer is every fast and reliable.

Such BAAS providers often work with so-called ‘NoSQL’ databases. We all used to work with SQL commands, tables, fields, etc. In the NoSQL world this is quite different and I had to learn techniques. By the way, one of the major providers of NoSQL databases is Mongo, well used by many BAAS providers.

BUT: End of January 2016, Parse announced that they will move on, as a result of Facebook strategies, and that their services will be stopped in January 2017. Although there is a good offer to use other services via partners using the same technical server possibilities, this was a hug problem for me (and many other developers around the world). I had to start all over again.

I re-did an analysis on the market. Several new initiatives are being taken and improved, such as Apple and Google have new initiatives, but also TMS Software launched an interesting new CloudData offer. One disadvantage for me is the mandatory usage of Oauth and Oauth2 protocols, because for my particular Octyx needs I wished to have direct access. As also Delphi allowed me to do a quick update, I changed to Kinvey.

Kinvey is, like Parse, one of the leading BAAS providers. I hope sincerely they will stay around for many years. My current 2-month experience with Kinvey is quite good and very stable.

Kinvey handles also automatically the confirmation of e-mail addresses, which I read later back into the applications. You get a standard e-mail (in English), and after accepting the son a website, you get another confirmation e-mail.

One important drawback is that Kinvey requires all fields to be uploaded at any change, while Parse accepted only the changed fields. This was an important change I had to implement when changing from Parse to Kinvey.

So how does it works for Octyx ? In the current versions, the Windows solution is the master. Contract creation, user name, language, password and all master data is managed from the Windows version. The solution is built to capture any change and send updated data to the Kinvey server for each user separately. No user can see data from another user!

I also introduced specific control files allowing the read-only Mobile App to check if new data has been introduced. See also the next chapters for more details.

At every major update of the iOS application, I re-download all data into the iPhone. This is to ensure consistence between the cloud and iPhone databases.

Enjoy the Octyx blogs, and take care. Go back here to the overview. Octyx manages your life!

Bas Eshuis, Belgium.

April 30, 2016





The Octyx 2016 story – 12 – The Go-Live

April 30, 2016

firebrickred - 64-64 roundedHello, this blog is part 12 of the series ‘The Octyx 2016 Story’. See for the overview (part 1), full background and a list all related blogs the link here.

This specific blog describes in more detail the go-live on April 30, and the making of this blog.

So today, April 30, 2016, the Octyx web site went live, the downloads were correctly linked, all the programs were correctly signed, and the Apple iOS App Store has the correct Octyx Mobile version (1.2) active. Octyx 2016 is live (and a first customer from Italy already bought the new version) !

I spent today many hours, from early morning to late afternoon, putting everything in place:

  • Compiling the latest Octyx versions for Windows
  • Code signing of all these versions with the correct timestamp
  • Running Installshield and preparing the download package
  • Ensuring that the new download file is correctly stored on the website
  • Re-checking the website, and uploading the site to my provider
  • Sending e-mails to all my known Octyx users (over 1000 e-mails), and updating wrong email addresses
  • Preparing settings for analytics of the App Store
  • Finalising this blog : putting all the sub blogs on-line and verify their contents and links
  • Sharing information on Facebook and Linked-In to get some traffic
  • And I will be looking into re-using Google Adwords to start a small advertising campaign as I did back in 2013.

And, as it is tomorrow (May 1st, 2016) officially a holiday, I will leave you with only 1 blog left (what’s up next). Thanks for reading, and hope it may give you some ideas what is all involved in such interesting hobby.

Enjoy the Octyx blogs, and take care. Go back here to the overview. Octyx manages your life!

Bas Eshuis, Belgium.

April 30, 2016

The Octyx 2016 story – 3 – My dev environment(s)

April 30, 2016

firebrickred - 64-64 roundedHello, this blog is part 3 of the series ‘The Octyx 2016 Story’. See for the overview (part 1), full background and a list all related blogs the link here.

This specific blog describes in more detail the various development environments I used and use today. This specific part is for IT people who want to understand technical details.

I first start with my development environments. As many of you know, I am a Delphi developer since the first days more than 20 years ago. I started with Delphi 1, loved Delphi 7, did not work well with the versions 2006-2009, and loved Delphi again since the XE and Seattle versions. Some views below:

delphi1competitiveupgrade     Delphi7     delphi-10-seattle

Delphi was in those years owned by many companies of which I highlight Borland, Inprise, Embarcadero, and since some months owned by Idera. Delphi has proven to be a reliable tool over the years. Sometimes not with a clear strategy, but sometimes they had one. The current versions of their products are multi-OS (for Windows, Mac, iOS, Linux, Android, Raspberry, and probably I forgot one).

The future of Delphi is unclear. But that is the case since over 15 years, and it still there. Better than ever. Let us see.

The Pascal language is the one I like. Personally I do not get used to C++, Java, DotNet or other language. It is probably a question of age …

My Octyx developments are thus done with Delphi, for both Windows and the new Mobile version.

A fantastic partner for all my developments is TMS Software, a well-known, very reliable and pro-active supplier of many extra Delphi tools to make our life as developer more easier. I use many of their products in the Windows version (mainly TMS Component Pack), while for iOS I used their iCL tools. Much better than the standard FireMonkey FMX tools. Thank you guys for this great software.

For my local database I used since the beginning the ‘Accuracer’ database supplied by AidAim. Very reliable as a database, however the last years the company is a bit less reactive for new developments. Their software is not too expensive (it is a hobby …). I also use another product from AidAim, called SingleFile System (SFS), allowing easy and compact saving of picture files in 1 file. Also very reliable software.

In the beginning (2004) I used the Microsoft FrontPage solution for my website, but I could not get it to work with Vista some years ago. Since then I use the tools supplied of Serif (Webplus), which has proven to be also a reliable solution for my websites. Not expensive, some issues here and there, but it works. I use currently the Webplus X8 version.

For packaging and installing the software I use Installshield, especially the versions 2009 and 2015 Express. Good software, however personally I find it expensive and having little functional evolutions over the years.

Finally, I use MyCommerce/Share-It as my e-commerce partner. Located in Germany, they handle all the buying and billing process for my product(s) very well.

I also use some zip solutions, and many API’s (standard defined interfaces) for example with Google Maps, Wunderground (for the weather), or ISBN data for my books.

I worked several years with strong development PC’s, supplied by Sony and HP. Since 2014 I changed towards Apple Mac systems with Parallels 11 for Windows solutions. The best idea I ever had. Mac and Windows work smoothly together, and the combination is very powerful.

And from time to time (meaning almost daily), I make many backups to ensure not to loose anything. I use various technical backup solutions in my company and safely outside. One extra copy is always ok.

Enjoy the Octyx blogs, and take care. Go back here to the overview. Octyx manages your life!

Bas Eshuis, Belgium.

April 30, 2016

The Octyx 2016 story – 1 – The overview

April 30, 2016

firebrickred - 64-64 roundedHello, this blog is the master blog explaining in detail all the ideas and developments I had to do for the 2016 version of Octyx.

As you may know, Octyx is, and since 2004 already, a large software package on Windows, written in Delphi, and targeting people wanting to manage private collections (such as books, music, stamps, etc), and to manage their documents and passwords. Many functions are available for a very straightforward and very low price : only 10 EUR (ex VAT) for unlimited usage, and 3 years of free upgrades.

I say simply : Octyx manages your life.

The 2016 version has several major improvements, such as the management of medications, a new Romanian language, and, most important, a new mobile iOS application for all current iPhones.

I will try to highlight all the challenges, and to-do’s, I had from the first ideas end of 2014 till the official release on April 30, 2016. All specific elements are available in separate ‘sub-blogs’ which can be read independent of each other.

The blogs cover the following elements:

  1. The overview (this blog)
  2. Why I am working on Octyx
  3. My dev (development) environments
  4. The new medications solution in Octyx
  5. The languages in Octyx
  6. The mobile data in the cloud
  7. The preparation of the mobile application in my Windows application
  8. The mobile iOS application and the Apple application process
  9. The Octyx website
  10. Signing my Octyx application
  11. What does it cost ?
  12. The Go-Live
  13. What’s up next ?

My Octyx website can be found here, while the Octyx application on the iOS App Store can be found at this link. All further detailed info can be found in the sub blogs.

This blog will document my own work, will help IT people to understand challenges and possibilities, and show to interested people what all has to be done.

You will see many links to providers, blogs, websites, etc. This blog is ment to be a sort of documentation center for all my Octyx developments. You find solutions, answers, and you may have questions (if this is the case, just send me a question, so I can try to answer).

But it especially shows that everything can be done if you want it. Almost everything is possible as long if you are persistent, and if you make time to do so.

I did all these developments next to my daily work, so often on late evenings, nights and weekends. I want to really thank my wife for her patience and support.

I trust you have a good read and I will be pleased with your feedback.

Bas Eshuis, Belgium.

April 30, 2016

The Octyx 2016 story – 8 – The mobile iOS application and the Apple application process

April 30, 2016

firebrickred - 64-64 roundedHello, this blog is part 8 of the series ‘The Octyx 2016 Story’. See for the overview (part 1), full background and a list all related blogs the link here.

This specific blog describes in more detail the the mobile iOS application and the Apple application process.

As described before, the new mobile application is written in Delphi. As basis for the connection with the backend solution (Kinvey), I used exactly the same structure and BAAS and REST functionalities as in my Windows application. That was the easy part.

To start, I went through all Apple requirements (developer account, various profiles and certificates, etc), which are very well described both in Apple and Delphi documentation.

For the design, I tried to find different designs. I decided to define my basic color set (named Firebrick – see the logo color above), and design the screens with this in mind.

cloud_003  cloud_005

To prepare all the logo’s, I did the following:

  • I bought several years ago one of the sets of IconExperience – good quality logo’s for various designs). I use the ‘M’ collection.
  • I inserted the white images in PowerPoint and added various background colors.
  • I exported both background and foreground as ‘png’ image.
  • I updated sizes via the ‘good old’ Paint software in Windows
  • Where needed, I updated the image with rounded corners (see here). I used always PNG with transparent background.

For the development of the screens, my first attempt (which took me several months) was done with FireMonkey (FMX) from Delphi. After implementation in iOS, I found out it was too slow and not smooth.

I decided to buy the iCL toolset from tmssoftware, and developed the application from scratch. After a strong learning curve on Apple behaviour, I managed to develop the current Octyx mobile application fully with iCL. It looks gorgeous.

My new mobile Octyx application is for the moment only showing the medications. But is is also the basis for the future, and the foundation is there.

I implemented a local SQL database on the App to be able to store data, and to run also offline when not connected to the Internet. I use SQLite. For major updates, I delete the full SQLite file and overwrite with new structure. In normal refresh mode, I check which elements are changed via a control file.

I implemented in this version (1.2) local notifications. If you are in the app, or not, you get notified by iOS. Also here it took me some time to find all necessary commands. Blogs, forums and my own perseverance helped me to find all solutions.

During my development phase, I had some issues with the Apple simulator (it worked often better on the iPhone than on the simulator), and I was caught by some Apple updates, which were not aligned with the Embarcadero PA Server. I also learnt about ‘plists’, and how to make my own (especially to have proper colours for the toolbar). Also the adaptation to interrupting phone calls or Google Maps actions gave some issues. But I learnt a lot :-).

I did tests on the smaller iPhone 5 (now SE), and the large iPhone 6S Plus. The sizes in my my mobile application are automatically adapted for the various iPhone sizes. For the moment, I do not have yet an iPad version. Still some work to do in the next months …

Finally, I prepared my first version for the Apple iOS App Store in begin of April 2016. It works in fact quite simple (the first time it took me over 6 hours…)

  • Follow guidelines in Delphi
  • Go to iTunes Connect and create or update your App plus all details
  • This creates finally a ‘IPA’ file
  • Go to the Application Loader, and try to upload this file. It checks the file and give possibly some errors the first time. Advice : avoid having iCloud selected in your profile, otherwise you may run into problems.
  • And, after successful upload, select the file in iTunes Connect, and submit.
  • And then just wait a few days until your app is reviewed and accepted.
  • After some further questions, my Octyx App was approved quite fast.
  • And the similar process for the 1.2 version which is now in production.

Enjoy the Octyx blogs, and take care. Go back here to the overview. Octyx manages your life!

Bas Eshuis, Belgium.

April 30, 2016