SignMatic Application Package

SignMatic Application Package

SignMatic Application Package

Developer Netroda Technologies
Type File Type
Extension(s) .smpk
Magic Numbers 16 0F 17 1B "SignMatic"
Current Version 1.0.0 (08 Feb. 2023)
Platform SignMatic
Extended from
  • NEFastAccess-VarH
    • ↳ PK Archive
      inmformat/JSON/Base64+PNG


SignMatic Application Package (sometimes referred to as SMAP) is a distribution file format for the open Digital Signage System SignMatic. The File-Package contains all necessary information for a application to be installed on a local system. The file extension is .smpk

Overview

SignMatic Application Packages are encoded file archives with a variable size header, encoded bitmap image of the Application icon and various metadata. The files are opened by the system utility smdepak (console application) or smdepakw (User Interface), that performs various compatibility checks including versioning, downgrade and upgrade options as well as the actuall unpacking and registration of the application to the signmatic applications directory. The File structure is published openly and is extended from the NEFastAccess-VarH Format, that encodes archived files (ZIP or TAR) with a variable sized header. The Header size is limited only by the definitive implementation of the format structure, and must not change between compatibility layers.

Technical

The File consists of the magic sequence 0x16 0x0F 0x17 0x1B followed by literal SignMatic The Relatively small header is encoded with NEFastAccess-LOffset header format (2 bytes prefix, shift n, 2 bytes suffix), and followed by the archive. The architecture is similar to other common application archives like the Chromium PAK format, Android packages (APK) and Java archives (JAR).

Specification limits

File size is not limited to a certain size, the header size however must be in the range of 196 to 4096 bytes, given the fact that for the necessary metadata this is absoloutely sufficient.

The actual Application contents are stored in the PK-Format (ZIP), the support for TAR has been dropped before the initial release but might enter at a later point in time.

The encoders (i.e. smpak) are responsible for maintaining proper header size, thus ensuring no malformed header may encoded. The header size limits (FastAccess) have been set to current specifications (2023)

Generation

SignMatic Application Packages can be created using the command line tool smpak (delivered with SignMatic Studio). The application folder requires a valid build information file (example below) to be present in the base directory named "build".

A Single application must contain

  • A valid and unique AppId
  • A 3-level version
  • The Buildfile version
  • The minimum required SignMatic version
  • Name
  • Description
  • Icon
  • Theme Color

This file also represents vaguely the informations provided by each application besides their main archive.

{
	"appId"			: "a4bc7782c208449095bf54d5d495aad9",
	"appVer"		: [1,0,0],
	"bVer"			: 1.0,
	"sMinReq"		: [1,1,7280],
	"appName"		: "Airport",
	"appDescription"	: "This demo features a airport information screen, to display live data of passenger flights on your SignMatic.",
	"vendor"		: "Netroda Technologies",
	"website"		: "https://netroda.com/a/k/products/ess-i/signmatic/demo/",
	"privacyPolicy"		: "https://netroda.com/a/k/products/ess-i/signmatic/privacy",
	"termsOfService"	: "https://netroda.com/a/k/products/ess-i/signmatic/terms",
	"imageIcon64"		: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA2CAYAAACMRWrdAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAPRSURBVGhD7ZlLaBNRFIZb67MiCKLgY6VWceNCimIXVUTd2YeCunArRcFHsYjSRVUQpAsftSj43HQl4qMiVXSjoAtBVxYEpYuCCkIVlBicSaLfdP7GpJkk80xTzQc/kzv3nP/cO/dOkkmqKlSoUOG/IJVKNaDryWTyKcdONEtdkxcm0YVSvzOg+YxDrULCAdMZehk51DprTyWXRCJxSGHBodAm9I4tcYVjvU5HAv7nNAdH6L+j0GDgtRGz77atDe0BtJ2X0xUWCnjmXakxiDmtcP/gY03qh22ZC31vUUcsFlusFN/gU3ClLNgx34hbohR/YNCM4vIsCAVHiL2EfG1T8oqulGhRin8o1oYMGbqCeItHaAdNV9uU2KIrZUHcXqUEB7M16LW8PUHeIOpAi2SXA32uVoq4/UoJD3xrMb5ol/AOuSNs1cscs7YpbbcrtU8p0UCB3eiL6vmC/AHTNFs4dutUQYgLf6WciMfjyyj2RHUjhTrRrtR4qFlN0ZN2+Wgo2Uo5QfGt3DtDGkto4BveVya/MIgFTO6WxhQY/NplXR4woAPop8bnGS5OgvyDsisvDMOoZ3BvNFZPkGeg5bIqPxjcbNSLYhqza1i1btmUL0ysX+N1DTnDqHyfkHkQtJ58TY3XE+Q1yaa8YGBdGqMvyA/nITJMuEdOaHy+YWIxFPjZLjSCrlQmbOXy+Cxzu1LEvdTLgnCRrMekatlPDG5XirgjHKZq0EUhbp1KlB63K8XWOqYU60KsJS+prrwQ16uU0kJht/dUelJjcO6M3ZUf/D+hOUoJDmbWw+QFLmoPxxuoD91GD9Bj9By9Uv2CZK5UJnTNxGPQjsoP+buUEgyKtcszDBwnNQa1GhWXF2IeKtwfeNRg0mnbBSffSo2Hmj1KcYT+XxyWKtw7GKxHQ6joTe0CV5OyoJ71hfmD8hyh/7jCvUN+DbL2fZ1pms3Wux26T/s9cvW7InFJtyuVCXlbZOEI47DuxSkKDwcMp1F4JWpFp1A/cvwpgPN3leYZBn9VNo7g3ajQ6KDIPPRZNdMwuPMK8Qzpc/Ectp1yoe+aQqOFQi9UMw3nAv0DQn6TrHKg7ytaqNDooMhN1czE8/01Hnz75JWDYRgbFBYdDOCo6qXhXODfAfGYj3K2OedK822fQttUMw3n9qg7EPjslOUotA+rK3ootgplPfrTblZ3YPC6J8/SPpdR0Ppg/Tg6o79sVndg8K5DbWqWFgpnvTPSblDX5IaJZL0z0l6hrskNE+nQnKxJlfbvnihhMq2a1MT93RMFTGj1P7VSFSpUKEBV1R+M2kmQTyMt+AAAAABJRU5ErkJggg==",
	"color"			: "486ADA"
}

Support

Support for specific applications is usually carried out by the application vendor, there is a option to reference a URL to the application vendor's product website for help.

Version history

Revision Released Lifecycle Compatibility
1.0.0 08 Feb. 2023 Not announced 1.1.7281+

See also