Crème app

An elegant multitouch iPhone Twitter app.

1 note &

Crème 2.1.21 changelog

BUGFIX: fixed a problem where pulling down to refresh before adding any pages to Crème resulted in an endless “Refreshing…” prompt.

BUGFIX: fixed a memory management problem when switching user accounts, which resulted in too much memory use and possibly crashes.

BUGFIX: fixed the crash when trying to open a Direct Message.

BUGFIX: when bookmarking statuses, the Bookmarks page is now immediately visible in Crème view. Previously, this required a restart of the app.

0 notes &

Crème 2.0 changelog

  • FEATURE: “Send to Instapaper”. You can send any browser page to Instapaper.
  • FEATURE: better learning for first-time users with clear big instructions.
  • FEATURE: no more blocking spinners when updating or doing any other activity. All notifications happen in a non-intrusive bottom bar.
  • CHANGE: simplified navigation. No more swiping pages left/right, you select everything from the Crème view.
  • CHANGE: The storage core is completely rewritten for better scalability and performance. You will need to add all your pages again.
  • CHANGE: No more cloud sync for now. Your Crème configuration is local to your devices, and each device starts from scratch. Cloud sync may come back in a future version.
  • CHANGE: conversations are now shown inline with individual tweets, no longer a need to click a button.
  • CHANGE: simplified tweet list views. No more grouping by time, all tweets are shown as a simple stream. If you are interested in the posting time of an individual status, you can simply tap on it and see details.
  • BUGFIX: Many stability and performance fixes.

4 notes &

Crème URLs

From version 1.7, you can start Crème with URLs that directly open various parts of the app. This lets you connect Crème with providers like Boxcar. Since only the full version of Crème can load custom pages, this functionality is not available in Crème Light.

For all of these URLs, Crème will simply open the relevant page. If the corresponding page is not already in your Crème home view, it is added there first.

Here’s what the URLs will be. You can use these for testing, once version 1.7 is out.

Me

Search

Lists

  • creme:///list/jaanus/news
    Opens the list with this name from this user (in this case, the list “news” from user “jaanus”).

Other users

Notes &

Crème 1.7 live-changelog

Let’s start work on the new version.

  • FEATURE: Crème URLs. Among other things, this enables integration with Boxcar and other providers. (Full version only, not available in Light.)
  • FEATURE: if a tweet links to another tweet, say with a link like http://twitter.com/#!/cremeapp/status/27886435353, Crème correctly intercepts this and displays the tweet inline. Links without #! also work.
  • FEATURE: great lists support. You can create lists, add and remove users from lists, see what lists everyone has created/been added to/follows, quickly browse all these lists, and add them to Crème. (Full version only, not available in Light.)
  • CHANGE: cleaner home view, no longer using chevron indicators.
  • BUGFIX: fixed a crash that happened when refreshing a list that had changed, returning 404 not found.
  • BUGFIX: long text and links in tweet bodies are properly wrapped in one tweet view.
  • BUGFIX: no longer showing a black box in the “retweeted by” location in one tweet view in error cases.
  • BUGFIX: moved from numeric to string ID in handling tweets. This should fix a variety of problems, such as tweets being marked unread randomly after you are sure you have read them, retweeters not properly showing etc.
  • BUGFIX: fixed Crème Light icon in App Store on iPhone and possibly other locations.

3 notes &

Crème 1.6 changelog

Crème 1.6 and Crème Light 1.6 are now available in App Store.

Here’s what’s changed.

  • CHANGE: Retina graphics.
  • CHANGE: now using Twitter Entities instead of homebrew parsing for inline links to #hashtags, @users and URLs.
  • BUGFIX: major performance improvement when loading and saving new tweets. Not all improvements could fit in this version, but it’s very noticeable, the app is much snappier.
  • BUGFIX: when a page/cell in the home view has no items, just title, vertical layout is correct and the title sits nicely in the middle of the cell.
  • BUGFIX: home view layout is much more pleasant and professional, text is correctly clipped with ellipses and gradients. The three top items from each bucket have each slightly different opacity to introduce rhythm and flow.
  • BUGFIX: better layout in home view edit/delete modes, controls are no longer overlapping text and clip properly.
  • BUGFIX: HTML entities, i.e anything between angle brackets are now correctly escaped when displaying a tweet

Notes &

Why Crème doesn’t show pictures of retweeted users

Other Twitter apps and twitter.com show you pictures of users whom others have retweeted inline. Thus, you are seeing random people in your timeline simply because they got retweeted by someone you follow.

It’s a conscious design decision in Crème not to do that. We only show the people you follow. If they retweeted someone, you see a simple “RT: something something” notice. If you then tap on it, you see the original poster.

Similar logic is reflected in a setting in new Twitter that you may or may not have noticed.

We decided that showing random people in your timeline is a bit annoying even if they have some cute “retweeted” icon. So Crème’s timelines will remain clean, but you can drill down and explore new people by tapping on individual tweets.

3 notes &

Crème and Crème Light 1.5 available in App Store

New versions of Crème and Crème Light are now available in App Store. Here’s the change log.

  • FEATURE: picture uploading from camera or photo library to Twitpic or yFrog.
  • FEATURE: limited support for iOS 4 multitasking.
  • CHANGE: now using iAd instead of AdMob for ads (Crème Light only.)
  • BUGFIX: layout is better in titles of the composer view and list view (positioning, text shadow), now consistent with browser title.
  • BUGFIX: if Twitter sends invalid statuses (as happened on Aug 23 due to their API bug or sth like that), no more crashes
  • BUGFIX: Twitter API addresses fix: less failing when starting the app for the first time
  • BUGFIX: URL shortening is more resilient and does not insert bogus results any more if there is a problem with the request

Some other notes, too…

It’s been many months since the last release. We’ve had some personal life changes that at times took away the time to work on the app. It’s all good. Plus, this summer we dealt with infrastructure, such as packaging and open sourcing PlainOAuth, Crème’s login engine for Twitter’s new OAuth security infrastructure, and implementing and testing cloud sync that we’ll heavily use in future versions and that’s already powering Crème’s syncing in version 1.5.

We apologize if you tried out Crème or Crème Light in the past few months, and found the initial experience disappointing. We had some serious bugs that prevented many first-time users from using the app properly. If this happened to you, we humbly ask that you try again with 1.5.

Crème remains an interesting hobby. The great thing about hobbies is that they tend to be persistent, and we have no intention to stop development, even though this summer it appeared we slowed down. Twitter remains an intriguing platform to work with, and we don’t at this time have intention to expand to other social platforms.

5 notes &

my.cremeapp.com and Crème cloud sync: what you should know and what you can do

Crème 1.5 is nearing completion and will hit App Store some time in the next few weeks. Cloud Sync will be an important feature in this version. In short, Crème will sync its configuration to the cloud, so that if you happen to run Crème on multiple devices, they stay in sync.

Please read this information to understand what Cloud Sync means for your privacy and security.

Why this is necessary

Today, Crème works only on the iPhone so this is not a big deal, most people just use one iPhone. (Though, if you upgrade your phone and want to continue from where you were, Cloud Sync helps you too.) But we plan to expand to different platforms (say, iPad in addition to iPhone): Cloud Sync makes sure that your activity on one device will sync to others. A key feature of Crème is keeping track of your unread tweets, and it would be silly if you had to “read” them several times on multiple devices. If a tweet is marked read on one device, other devices will also know this.

What gets synced

Three things: your read tweet ID-s, your bookmarked tweet ID-s, and the different “pages” you have set up. If you run Crème on a new device for the first time, it downloads your configuration from the cloud so you don’t have to set up the same thing several times.

How the security works

You’ll notice that there is no separate login for the syncing to work. Once you have signed in to Crème with your Twitter account from any device, it just works. This is an example of some of the great things that developers can do, now that Twitter is really pushing its OAuth authentication and supporting technologies like OAuth Echo. Crème creates a special request to the Crème API server with your security tokens, and Crème API server talks to Twitter using OAuth Echo to validate that it’s really you. Once Twitter responds positively, Crème API server continuously stores and syncs the data arriving to/from Crème apps on different devices.

How you can see your data

Just go to my.cremeapp.com and see for yourself.

How you can delete your data

If you do not like the syncing, you can delete the data from the server. Go to my.cremeapp.com and follow the instructions.

Note that there is no way to turn the syncing on or off: when you delete the data and then use Crème again, some of the data will again get synced to the server. If you don’t like this, please don’t use Crème.

Do tell more about the technology behind this

There is no good technology available for app developers today for this kind of easy invisible syncing, so we had to roll our own. We are quite happy with how it came out: the code on both client and server side is elegant, short, and scalable. It’s powered by a Redis datastore, Tornado app server, and OAuth Echo for security. We may open source it and/or offer it in some other way at some point. Ask us if you’re interested.

3 notes &

Live-changelog for next version

Since version 1.4 is available, it’s time to start working on the next version.

  • FEATURE: picture uploading from camera or photo library to Twitpic or yFrog.
  • FEATURE: limited support for iOS 4 multitasking.
  • CHANGE: now using iAd instead of AdMob for ads (Crème Light only.)
  • BUGFIX: layout is better in titles of the composer view and list view (positioning, text shadow), now consistent with browser title.
  • BUGFIX: if Twitter sends invalid statuses (as happened on Aug 23 due to their API bug or sth like that), no more crashes
  • BUGFIX: Twitter API addresses fix: less failing when starting the app for the first time
  • BUGFIX: URL shortening is more resilient and does not insert bogus results any more if there is a problem with the request