The Octyx 2016 story – 4 – The new medications solution in Octyx

April 30, 2016

firebrickred - 64-64 roundedHello, this blog is part 4 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 new functionality ‘Medications’ in Octyx 2016. This item was developed as I had to take at a certain time several medications, and I sometimes forgot to take them on time.

The solution available today in Octyx 2016 allows for entering your prescriptions, add all the details about the medications, and especially gives begin and end dates plus a flexible information and reminders when you have to take them.

In the Windows solution you will see a popup, while in the Apple iOS solution you will get notified, even if you not active in the solution. By the way, the target is also to get this working on the Apple Watch in the near future.

views_090

Medications are to be entered via the prescription of your doctor. The application allows maximum 10 medications per subscription. The system keeps a history of past medications for faster entering.

You can add information on the doctor, on the medication, and how and when to take. Finally the system allows you to see on another screen all the history of your prescriptions and medications. Several reports are available as usual to indicate for how much time you need to take this medication.

After saving, you can review the entered data:

views_091

You can see on another screen all the history of your prescriptions and medications. Several reports are available as usual.

views_092

And finally you can see all medications for today and the next days, which can be filtered by user.

views_093

The system keeps track of dates and notifies you. On Windows, a background service notifies you also when Octyx is not running. Medications are automatically moved to an archive after their respective end dates. The multiple available reports help you to find all actual, and historical, items easily.

A great solution for many people helping you everyday. And especially, since Octyx 2016, this is also available on your Apple iPhone. See for more details one of the other blogs in this series.

For the technical people: I added various new tables and indexes to the database. In total the database has now more than 120 tables. On top, I added several fields and texts for all 11 languages. Finally, I added several new reports to the solution which can be run, and exported to PDF, Excel and HTML.

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

Bas Eshuis, Belgium.

April 30, 2016

Advertisements

The Octyx 2016 story – 10 – Signing my Octyx application

April 30, 2016

firebrickred - 64-64 roundedHello, this blog is part 10 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 how I ‘code-sign’ my Octyx application.

What means ‘code-signing’ ? According to Wikipedia, signing, or code signing, is the process of digitally signing executables and scripts to confirm that my small company is indeed the correct software author. Besides it gives a guarantee that the code has not been changed since it was signed by me.

So how does this work ? First of all you have to get a certificate (like in the old world, someone who can confirm it is you asking for some document). There are various companies in the world who offer (meaning sell) such certificates. The best known are, between others, companies like VeriSign or DigiCert.

They check your company data and ensure that my company really exist. Then then will send a link to download a certificate which I had to install on my development PC’s. Such certificates have always a begin and end date. The more longer time you wish, the more expensive it is.

After having installed such certificates on your browser(s), I did an export to have this a specific file into a working directory.

With the ‘sign tool.exe’ file from Microsoft it is then easy to sign the various applications. After signing, when clicking right on properties, you should see the below information on the certificates..

digi0     digi1

I do the code signing for all my applications, including the official installation file to ensure that anti-virus tools accept the download in an easy way. And it gives an extra security to my Octyx users.

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 – 13 – What’s up next ?

April 30, 2016

firebrickred - 64-64 roundedHello, this blog is part 13 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 what is going up next.

After such long development (as you have seen, more than over 1 year, it is first time to do a bit of nothing during my evenings and weekends (difficult, I know). Although, nothing : I am still having also a full time job next to this Octyx challenge …

In the next months, probably after summer, I will launch myself in adding further data sources to Octyx allowing more information on the mobile. So what could be the next candidates :

  • the various collections (books, music, films, and others) inclusive images
  • the documents section with reminders
  • the to-do activities with reminders

Next to that, I target also to have Octyx on the iPad(s) which will bring another challenge to the developments. Screen developments are quite different than those on iPhones.

I also already decided to develop for the Apple Watch. It will be quite easy to do so, but first I need an Apple Watch to test it. And I will wait for the 2nd version, expected to be launched by Apple in the 2nd half of 2016.

Further challenges for me are bringing Octyx to the Mac, and bringing Octyx mobile to the Android world.

As you see, many challenges and ideas ahead. But as said, first a few weeks doing nothing. Even if I am not used to it …

But I may write also some blogs on other topics, because I read many books again the last year, on cars, because so many things are changing (SUV’s everywhere and full electric cars are now really the future thanks to Tesla), and on many other items which might be interesting for you.

So doing nothing, is not really my thing. Thanks for reading.

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 – 9 – The Octyx website

April 30, 2016

firebrickred - 64-64 roundedHello, this blog is part 9 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 Octyx website.

The Octyx web site is available in 3 languages. It includes details of the various elements available in Octyx, it includes a ‘Download‘ section, and a ‘Buy‘ section. Next to this, a full featured Help function exists to give users the complete information on the tool and the usage.

ows

Some particular elements regarding the website are :

  • For the Octyx 2016 version, I re-built all help images. The help images show the full program in various chapters, and it is important to show the real screens.
  • I also re-built the color scheme and updated the look and feel. Which is now fully in line with the color set used in both the Windows and iOS applications.
  • Each of the 3 languages has its own menus and settings, which can be reached from the applications directly from the chosen language.

I use as development tool for the website the WebPlus X8 package from Serif. As said earlier, it is a good tool and not expensive. It is relatively easy to view and change texts across the website, which is useful in case of any changes.

In WebPlus, I had to define the size of my pages. I decided to stay on relatively small width pages (always possible to change in the future). I use 3 headers (for each language one), and add the individual pages. Due to the fact that from the Octyx program several like exist to the ‘old’ website, I did not modify the page names.

As you know, to have a website, one has to ensure two things:

  • Define and reserve an URL: I created and reserved the URL (‘octyx.com’) some years ago, and renew it regularly.
  • And a technical environment where to host physically the website and its data.

Since 2016, both are now located together at a secure provider in France. Secure and fast.

Next to adding the new functionalities, all web pages have been improved and updated. I add finally also the new download links to the 2016 application.

A specific activity was to update the e-commerce websites. As written before, I use MyCommerce-ShareIt as provider; they have a very good dashboard in which you can define icons, texts in many languages (I use the same 11 as in Octyx), and prepare all elements to link their site into my webpages.

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 – 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

 

 

Turning the page

June 3, 2015
Turning the page

Turning the page

Hello to all,

Very short post, just to share why languages are sometimes so interesting.

We heard yesterday that Sepp Blatter is resigning as FIFA head, after his successful re-election last weekend. So FIFA has to turn a page.

The interesting thing is that the German word for “turning the page” is “blättern”. And this resembles a lot like Blatter. Blatter and blättern. Small difference, but big impact for FIFA and football.

Take care,

Bas