Digital Picture Frame

Home Services Case studies Digital Picture Frame
PDF Print
Verticals: Custom Product Development
Technologies: Embedded Software
Tags: ARM, Java, C, Visual Studio, Web server, Linux, MAC OS

CLIENT

Client is one of the leading semiconductor manufacturers in the world. KritiKal worked as an engineering partner for the client to develop next generation digital picture frames.

 

OBJECTIVE

To develop specific modules for digital picture frames including embedded software and desktop based utility.

 

PROJECT SCOPE

  • Development of modules for evaluation of features available on the picture frame platform. The build environment utilized scripts and makefiles on Windows XP based platform and ARM development kit.
  • Platform independent application, to be launched when the picture frame is connected to the desktop, using the USB interface. The target platforms were Windows XP/Vista & 2003/2005 server, MAC OS X and Linux.
  • Native Binaries for Windows and Linux environments for end-users without pre-installed Java. The development encompassed porting of linux based libraries to Windows and size optimizations.
  • Configurable and extendible UI to enable OEMs and ODMs to customize the interface.
  • Compelling and easy to use User Interface
  • Web-browsers like Mozilla, Firefox, Opera, Safari, Konquerer used as front-end user interface engine.
  • Post delivery support and release management.

 

Digital Picture Frame
gg
Digital Picture Frame

 

b
User Interface of Configuration Utility

 

CHALLENGES

  • Platform Independence: Achieved through a Java based backend server. The backend application serves web pages to the user on their browsers
  • Generic UI: Achieved through extensive use of XML and XSL scripts.
  • Multiple browsers support: Through client side scripts which adapt to the browser environment.
  • Small Footprint: Both the java and the native applications and libraries were optimized to produce binaries with small size footprints.

 

TECHNOLOGY SPECIFICATIONS

Software
  • Embedded development in C. The software was divided into smaller modules which interacted with each other through clearly defined interfaces.
  • Modular design.
  • Java based HTTP server, supporting both GET and POST requests at backend. The backend equipped with XSL, XSD and XML parsing capabilities.
  • Customizable front end defined through XSL scripts. Popular web browsers used for rendering of forms.
  • Native application based around libxml2 and libxslt. Both native and java utility employed the same scripts and configuration parameters to generate the UI.
  • Built in data validation and verification, customizable server parameters and logging facility.
< return to the case studies