APNS – Apple Push Notification Server

I’ve updated my code on the iOS client of the “Apple Push Notification Server”. With its companion the Server side. This version of code was written in Delphi, for windows desktop environment — and I’ve enhanced it a bit. Had to understand the thingies with the signing and all the procedure.
If you are in the progress of building one yourself here are my notes on the subject:

  • Make sure you are consistent with the type of app you are developing. Basically there are two kinds: Development & Production (Distribution). What ever you choose note the following assignments:
  1. Code sign your APNS with the proper type (DEV/PRO)
  2. Assign the server to be connected to the proper gateway:
    A. gateway.sandbox.push.apple.com:2195 – for DEV
    B. gateway.push.apple.com:2195 – for PRO
  3. Make sure your type is consistent to the client side (DEV/PRO) – The type of kind will produce a different value for the client APN Token when registration the client on the server side.

I’ve created a NotificationPanel for my windows desktop machine. Yet, it isn’t as fancy as the Apple/Google ones. But it inform me on different messages that I’ve connected it to. I’ve registered it as a COM AutomationObject, so it could be used in Microsoft VBA scripts, or similar applications.

One of the features of that code is the ability to send a message via my APNS registered server.

I am still trying to figure out, why not all of the messages being sent via the APNS reach the client side. I do not know where it actually fails [Client or Server side].

In addition there is the issue with the APNS feedback system (feedback.push.apple.com:2196) which I didn’t manage to verify its function. My version of code, for it, doesn’t seems to receive and feedbacks — whether messages has been sent properly or not, and if not — what is the exact reason.

Delphi XE5 beta6 testing for Windows/Android/iOS/MacOSX

I started checking the new XE5 beta 6. It is, as being a beta, a little unstable, yet from first testing I would highlight the following:

  1. Very good – Integration with the iOS & android SDK/NDK
  2. Very good and ease of deploying applications (to the android at least – that’s what I first checked).
  3. Ran bunch of demo applications which were under …/FiremonkeyMobile path. About 10 demos, 2 worked perfectly… yet all the other halted the compilation/deployment – due to reasons that I didn’t check deep enough… After tweeking some of the none working on the android platform, I managed to run most of them.
  4. I ran all through, all the availables Firemonkey sample demos, that are supplied when installing the XE — and modified them for use on mobile devices. Seems that about 30% could run without a problem – on mobile — yet the rest required a more enhanced modification of the code.
  5. In addition, I’ve modified a code that was originally was written using XE4, for compilation to iOS devices. It made use of the datasnap and the binding of data to a TListView. Slight modification of it made it useable on the android platform as well… here is a sample tast
  6. On my ToDo.list are:
    • Create a demo app that uses SQLite on android…. With a big DB about 1mil records 1gb sized.
    • Checking the ability of local Mobile DB, such as the SQLite on iOS, and the deployment process of SQLite DB on android.
    • See how a deployment of DataSnap on the android works, (done that, seems that all that was required is to set in the android uses/options ‘the internet connection’ to on the app security switches)
    • Reintroduction of the ability to display a 3d object such as .3ds file. With proper setting of the meshes on it.

Web Global Campus – Lean and Study Sites – MOOC

MOOC – Massive Open Online Courses

Since I’ve studied in collage — I was looking for sites on the web, in which I could study and learn on my personal time. Presented in the following list are learning sites ordered by the timeline which they were introduced to me:

  1. Khan Academy – I tend to renew and learn new things from this site, where lectures are being thought, as if you were given a personal lesson. And almost all lectures are pinpointed, and though in clips of 10~12 minutes.
  2. Coursera – The lectures in coursera usually require you to know the subject which is being lectured, and they pinpoint on subjects that derive from the thought subject.
  3. OpenStudy – OpenStudy is the best place to ask questions about any thought subject and receive the support in a global community campuses.

Almost every university, and collage in my country got a site of its own. And most of them got plenty of lectures that were loaded to the web.

Though, when the studies are formal, as within these universities and collages:

  • Length: Lectures tend to be longer and lengthy so that they fit a semester.
  • Language: Another thing is that they usually presented in the country language.

I found wikipedia.org as a very good resource, that sums up a subject. With many focused resources for a subject (history, links and examples about any thought area).

Another related link is a BBC Podcast about Massive Open Online Courses from their documentaries series. Which was released on 2014-04-29.

Contacts thoughts

Prefix:
I’ve been managing my contacts list, for ever – it seems, or at least since I managed to create one, and save it in a certain form.
And been thinking whether to put some effort into creating an application for the process of Syncing/Merging duplication etc’.

Online market status:
The online market got, already, plenty of tools in which each app offer certain kind of functions (more or less).
Yet, having the ability to manage that from a delphi source code — could be found useful in many cases.

Present situation as It seems to me:
At present the default desktop apps, offer an import/export procedure.
Yet, for example, it doesn’t always manage the binary pictures properly,. Or does in a faulty way the process of merging.

Various software contact structures:
1. Ms outlook
2. Ms outlook express
3. Ms Windows contacts .CONTACT
4. Apple iOS/OSX contact structure
5. Incredimail contacts
6. Csv plain structure
7. .VCF structure

Various Web contact structures:
1. Ms live outlook
2. FaceBook contacts
3. Google gmail (including android apps for that)
4. Google gplus contacts (including android apps for that)
5. Yahoo email

Android Dongles

Prefix: As many people, I was raised with digital gadgets, game consoles, personal computers… The OSes were evolution of the digial age, where the market forces, and people innovation, led to their development.  One of my hobbies is to collect and find different Operating System that can run on either a computer/standalown or TV devices. On these first game consoles was the OS that ran the game console cartridge game, and had to follow a certain code to fit the game console, in order to run properly.

I would like to focus in this post on the latest that was put to the market, and that I just recently was impressed from. There was an explosion of ideas, on both software and hardware markets, now days you can find  enhanced machines running the google android OS, on cheap and very powerful devices — That both very cheap to purchase, and very strong with computing powers.

Google Android OS: The definition of the google android OS, is that it’ll be opensource. That single fact enables one to copy and distribute the a flavor of the OS on different devices — as long as they follow the google distribution guide lines… and following the opensource community and the leading edge of google — that enable to develop variation of devices that use the android OS.

StreamBox: One of the stream boxes functionality,  is to stream media video/audio from your LAN or WEB sources to your tv (or any other device that the streambox can connect to). The cheapest stream box, is called an android dongle — That include the android os – with different I/O in it (such as a USB or HDMI connector) to connect to the web, or store internal media.

Dongle Embedded: Some of the TV out there from different manufacturers include a dongle embedded into the tv. But I find it very comfortable using a cheap device with tremendous ability  to put its functionality in any TV device that has the proper input connectors to connect to your ‘droid dongle.

Android Functionality: The android OS can not be missed from today’s news, it is everyone, every now and then there are malefactors  that put to the market their device that runs with the android OS. As an operating system, it enable you to load and put many different ‘apps’ that enhance the functionality of the device. And the different hardware introduced the functionality in different ways.. As each one of them got their HID (Human Interface Device) attached such as touch screen, physical keyboard, or game controls…

Competitors: As this market evolve other producers of OSes such as: Microsoft OS, or variation of Linux OSes flavors — will introduce their flavor of their OS to compete with the Google android OS.

Delphi XE4 – Additional components library settings

Ok,. so I got the new Delphi XE4. — Now what?

I am usually using libraries of components on my apps. So Here is a list I’ve been working with on the latest versions and releases of the RAD:

In addition to the following:

In addition, I ran some sample code of Embarcadero FireDAC DB package.. Nice

Moreover, ran some sample code of XE4 for iOS… Good things, though, I was slightly disappointing that there wasn’t a built in feature of Sharing Binary attachments in an email…

Just another WordPress site