Deeper Thought on webOS

2009-02-27 19:00:00 -0500


I have admittedly ragged on Palm a bit of late, but I just watched their webcast on Developing Application for webOS, and I had but one thought:

“Ssssssssssssnap!”

Seriously, though. If you’re doing iPhone development, sure you get the Cocoa framework and access to OpenGL and all that, but you don’t get such open access to the system and other applications (with Sync!) like you will with webOS. At least, that’s my hunch, I guess time will tell. But just the basic layout of the high-level architecture warms my heart.

webos application arch

You know what else is awesome? The API has “stages” and “scenes”! That rocks.

Jury is still out as to whether you can run processor intensive games in this platform, but honestly we’re not game programmers, and this does seem to uniquely enable easy development.

On a total tangent, I went to the Jelly NYC event at my workspace today and mentioned that next week we’ll be starting the beta for Strip on the iPhone (sign up for the mailing list over here, or just e-mail us). Of the 15 or so people there, one of them was a hard core, long-time user of Strip, and is still toting his Palm around waiting for a way to migrate to his iPhone. Can’t wait. Stay tuned!


Smashing the Stack

2009-02-23 19:00:00 -0500


How many of you characters have read Smashing the Stack for Fun and Profit by Aleph1? Just curious. Also, if you did, did you make it all the way to the end?


Git Pr0n: STRIP

2009-02-19 19:00:00 -0500


We just merged our development branch for Strip into the master branch. Now, granted some of this is XIB files, icon images, and included openssl headers. Nonetheless:

165 files changed, 135150 insertions(+), 2364 deletions(-)

Hoping to have some good screen shots up soon.


Deep Thought

2009-02-18 19:00:00 -0500


“I’m not a businessman, I’m a business, man!”


Tempo API Update 18-FEB-09

2009-02-17 19:00:00 -0500


We’re going to push out a couple of changes to the Tempo API tonight at 10pm EST. Last night we found a small bug that prompted us to address a pair of issues, and update our documentation:

A type attribute will be required for multi-value params in context search:

The /entries/search end-point allows you to post an XML document that we call a context. It’s a lot like the Tempo reporting interface, it allows you to specify a set of parameters and it will return the corresponding entries if the request is well-formed.

Certain parameters that you can send up in a context document are multi-valued and must be presented within a type=“array” set. These are tags, project-ids, user-ids, and exclude-tags. Here’s an example:


<?xml version="1.0" encoding="UTF-8"?>
<context>
<interval>lastmonth</interval>
<project-ids type="array">
<project-id type="integer">1024</project-id>
<project-id type="integer">2048</project-id>
<project-id type="integer">8192</project-id>
</project-ids>
<exclude-tags type="array">
<exclude-tag>discovery</exclude-tag>
<exclude-tag>internal</exclude-tag>
</exclude-tags>
</context>

This has actually always been the case, but our documentation did not reflect this.

The interval parameter will be supported in context search:

As shown the example above, you can use an interval shortcut string to avoid having to specify start-date and end-date. The list of currently available intervals is:

  • today
  • yesterday
  • thisweek
  • lastweek
  • last7days
  • thismonth
  • lastmonth
  • thisquarter
  • lastquarter
  • thisyear
  • lastyear
  • alltime

XML output includes type attribute hints:

For all non-string data in output from our XML API, a type attribute has been re-introduced. This shouldn’t break anybody’s compatibility with the API, as we haven’t had any attributes present in the past for you to look up, but please get in touch if you think this will be a problem for you. This is an example of what that looks like:


<entry>
<command nil="true" />
<created-at type="datetime">2008-03-31T15:06:46-04:00</created-at>
<creator-id type="integer">2048</creator-id>
<hours type="decimal">5.0</hours>
<id type="integer">8192</id>
<is-locked type="boolean">true</is-locked>
<is-timing type="boolean">false</is-timing>
<notes>client meeting in NYC to discuss project requirements</notes>
...
</entry>