Titanium Community Questions & Answer Archive

We felt that 6+ years of knowledge should not die so this is the Titanium Community Questions & Answer Archive

Desktop Kitchen Sink - Blank White Screen

Hi all, I'm a complete n00b when it comes to appcelerator but am very interested in getting to grips with desktop and mobile app development. I've limited JS knowledge but should be able to get started with this while learning JS properly. I've downloaded the Desktop Kitchen Sink but when I try to launch the program, it's just a blank white screen, I presumed it would have a demo of some of the API functionality, am I incorrect in this assumption or is there something wrong? I've tried this on Titanium Developer 1.2.1 on two windows 7 machines.

— asked May 12th 2010 by David Brennan
  • blank
  • empty
  • kitchensink1.2
  • There's a little mistake in the source of main.js in


    In detail:

    The problem is that in
    "KitchenSink.loadTopics" near line 24 "topicDir.getDirectoryListing().forEach(function(topicFile).." for each iteration "topicFile" contains just the name of the file.
    So "KitchenSink.Topic(topicFile)" leads near line 70 in "KitchenSink.Topic = function(file)…"
    with file.read .. to an error.
    To make it run change "KitchenSink.Topic = …."
    like that:

    KitchenSink.Topic = function(filename)

    // Load topic content text

    file = Ti.fs.getFile(filename);    

    hope it helps


    — commented February 25th 2011 by arrow 3215
  • That did it for me, for the KitchenSinkDesktop I downloaded today. You rock, arrow!

    — commented March 26th 2011 by Trent Larson

6 Answers

  • You will want to roll this patch into your \Resources\js\main.js


    After I did that, it worked for me (as of 86d5c04)

    — answered February 2nd 2011 by Antonio Licon
    • appreciate the thoughts about QT from Kyle, but this actually addressed the question at hand. Thanks Antonio.

      — commented February 13th 2011 by Bert Grantges
    • Thanks, this still works.

      About QT, I'm stuck with a lot javascript after writing a iPhone and Android app with Ti. So I'll try Ti Desktop in combination jQuery.

      — commented March 24th 2011 by J H
  • The same thing happened to me as well when I tried to use the Desktop Kitchen Sink. It appears to be broken. I managed to get something out of it by copying the topics directory to a place where the app could find it (it doesn't find it in the default location and it's the reason why you don't see anything).

    — answered May 12th 2010 by Kyle Quest
  • Yes I see what you mean, I've copied the topics folder to the resources folder after seeing this in build.py -
    TOPICS_OUTDIR = 'Resources/topics'

    but it's still only half working - see this image:

    I will try to debug what is wrong, but I thought it was something I did wrong, hopefully simple enough to fix.

    — answered May 12th 2010 by David Brennan
  • No you didn't do anything wrong. The Desktop Kitchen Sink app is simply broken because it got neglected. Iphone and ipad is what gets most attention these days. Even android is getting left behind.

    After going through the same thing you had to go through I decided to stick with QT for cross platform desktop development. I recommend doing the same for everybody else if you are not stuck with lots of JavaScript code.

    — answered May 12th 2010 by Kyle Quest
  • oh. I wanted to start iPhone development with Titanium but then when I heard about the new terms and conditions I wondered if there is any point? Thanks for all the info guys.

    — answered May 12th 2010 by David Brennan
  • It is broken in fact, which is a real shame…
    The good side is that it is very easy to fix…
    just open main.js and replace the KitchenSink.Topic function with the following…
    I really dont understand why they are not getting this fixed…

    KitchenSink.Topic = function(file)

    // Load topic content text
    this.contentDiv = $('<div class="topic_content">');
    var zfile = Ti.fs.getFile(file);    
    //var text = zfile.read();
    this.name = $('h1', this.contentDiv).first().text();
    var sections = [];
    $('h2', this.contentDiv).each(function()
    this.sections = sections;


    — answered December 23rd 2010 by sergio marchesini
The ownership of individual contributions to this community generated content is retained by the authors of their contributions.
All trademarks remain the property of the respective owner.