<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>Classes/Controllers/ChatBubbleCell.h</filename>
    </added>
    <added>
      <filename>Classes/Controllers/ChatBubbleCell.m</filename>
    </added>
    <added>
      <filename>Classes/Controllers/ChatBubbleView.h</filename>
    </added>
    <added>
      <filename>Classes/Controllers/ChatBubbleView.m</filename>
    </added>
    <added>
      <filename>Classes/Controllers/DMConversationController.h</filename>
    </added>
    <added>
      <filename>Classes/Controllers/DMConversationController.m</filename>
    </added>
    <added>
      <filename>Classes/Controllers/DMTimelineController.h</filename>
    </added>
    <added>
      <filename>Classes/Controllers/DMTimelineController.m</filename>
    </added>
    <added>
      <filename>Classes/Controllers/DMTimelineDataSource.h</filename>
    </added>
    <added>
      <filename>Classes/Controllers/DMTimelineDataSource.m</filename>
    </added>
    <added>
      <filename>Classes/Controllers/DirectMessageCell.h</filename>
    </added>
    <added>
      <filename>Classes/Controllers/DirectMessageCell.m</filename>
    </added>
    <added>
      <filename>Classes/Controllers/DirectMessageCellView.h</filename>
    </added>
    <added>
      <filename>Classes/Controllers/DirectMessageCellView.m</filename>
    </added>
    <added>
      <filename>Classes/Models/DirectMessage.h</filename>
    </added>
    <added>
      <filename>Classes/Models/DirectMessage.m</filename>
    </added>
    <added>
      <filename>Interfaces/DirectMessage.xib</filename>
    </added>
    <added>
      <filename>update_v12_to_v13.sql</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -10,11 +10,11 @@ static sqlite3*             theDatabase = nil;
 const char *delete_tweets = 
 &quot;BEGIN;&quot;
 //&quot;DELETE FROM statuses;&quot;
-//&quot;DELETE FROM messages;&quot;
+//&quot;DELETE FROM direct_messages;&quot;
 //&quot;DELETE FROM images;&quot;
 //&quot;DELETE FROM statuses WHERE type = 0 and id &gt; (SELECT id FROM statuses WHERE type = 0 ORDER BY id DESC LIMIT 1 OFFSET 1);&quot;
 //&quot;DELETE FROM statuses WHERE type = 1 and id &gt; (SELECT id FROM statuses WHERE type = 1 ORDER BY id DESC LIMIT 1 OFFSET 1);&quot;
-//&quot;DELETE FROM messages WHERE id &gt; (SELECT id FROM messages ORDER BY id DESC LIMIT 1 OFFSET 1);&quot;
+&quot;DELETE FROM direct_messages WHERE id &gt; (SELECT id FROM direct_messages ORDER BY id DESC LIMIT 1 OFFSET 10);&quot;
 &quot;COMMIT&quot;;
 #endif
 
@@ -59,7 +59,7 @@ const char *delete_tweets =
 const char *delete_message_cache_sql = 
 &quot;BEGIN;&quot;
 &quot;DELETE FROM statuses;&quot;
-&quot;DELETE FROM messages;&quot;
+&quot;DELETE FROM direct_messages;&quot;
 &quot;DELETE FROM users;&quot;
 &quot;DELETE FROM followees;&quot;
 &quot;COMMIT;&quot;
@@ -100,11 +100,11 @@ const char *cleanup_sql =
 
 const char *optimize_sql = 
 &quot;REINDEX statuses;&quot;
-&quot;REINDEX messages;&quot;
+&quot;REINDEX direct_messages;&quot;
 &quot;REINDEX images;&quot;
 &quot;REINDEX users;&quot;
 &quot;ANALYZE statuses;&quot;
-&quot;ANALYZE messages;&quot;
+&quot;ANALYZE direct_messages;&quot;
 &quot;ANALYZE images;&quot;
 &quot;ANALYZE users;&quot;
 &quot;VACUUM;&quot;;
@@ -143,15 +143,20 @@ const char *optimize_sql =
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
     NSString *documentsDirectory = [paths objectAtIndex:0];
     NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:MAIN_DATABASE_NAME];
-
-#if 0
-    // Update database
+    
+    //
+    // migration
+    //
+    // Update from version 1.2.*
+    //
     NSString *oldDBPath = [documentsDirectory stringByAppendingPathComponent:@&quot;db1.2.sql&quot;];
     success = [fileManager fileExistsAtPath:oldDBPath];
     if (success) {
         sqlite3 *db12 = [DBConnection openDatabase:@&quot;db1.2.sql&quot;];
         char *errmsg;
-        if (sqlite3_exec(db12, update_v12_to_v13, NULL, NULL, &amp;errmsg) == SQLITE_OK) {
+        NSString *migrateSQL = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@&quot;update_v12_to_v13.sql&quot;];
+        NSData *sqldata = [fileManager contentsAtPath:migrateSQL];
+        if (sqlite3_exec(db12, [sqldata bytes], NULL, NULL, &amp;errmsg) == SQLITE_OK) {
             // succeeded to update.
             [fileManager moveItemAtPath:oldDBPath toPath:writableDBPath error:&amp;error];
             NSLog(@&quot;Updated database from version 1.2 to 1.3.&quot;);
@@ -160,8 +165,9 @@ const char *optimize_sql =
         NSLog(@&quot;Failed to update database (Reason: %s). Discard version 1.2 data...&quot;, errmsg);
         [fileManager removeItemAtPath:oldDBPath error:&amp;error];
     }
-#endif    
+    
     // No exists any database file. Create new one.
+    //
     success = [fileManager fileExistsAtPath:writableDBPath];
     if (success) return;
     // The writable database does not exist, so copy the default to the appropriate location.</diff>
      <filename>Classes/Models/DBConnection.m</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,7 @@ typedef enum {
     TWEET_CELL_TYPE_DETAIL,
 } TweetCellType;
 
-@interface Tweet : NSObject
+@interface Tweet : ImageStoreReceiver
 {
 	NSString*       text;
     </diff>
      <filename>Classes/Models/Tweet.h</filename>
    </modified>
    <modified>
      <diff>@@ -14,4 +14,5 @@
 + (UIColor*)navigationColorForTab:(int)tab;
 + (UIColor*)cellColorForTab:(int)tab;
 + (UIColor*)cellLabelColor;
++ (UIColor*)conversationBackground;
 @end
\ No newline at end of file</diff>
      <filename>Classes/OtherSources/ColorUtils.h</filename>
    </modified>
    <modified>
      <diff>@@ -15,11 +15,11 @@ static UIColor *gUnreadCellColors[5];
 
 + (void) initTwitterFonColorScheme
 {
-    gUnreadCellColors[0] = [[UIColor colorWithRed:0.827 green:1.000 blue:1.000 alpha:1.0] retain];
-    gUnreadCellColors[1] = [[UIColor colorWithRed:0.827 green:1.000 blue:0.820 alpha:1.0] retain];
-    gUnreadCellColors[2] = [[UIColor colorWithRed:0.988 green:0.812 blue:0.820 alpha:1.0] retain];
-    gUnreadCellColors[3] = [[UIColor colorWithRed:0.988 green:0.812 blue:0.820 alpha:1.0] retain];
-    gUnreadCellColors[4] = [[UIColor colorWithRed:0.996 green:0.929 blue:0.820 alpha:1.0] retain];
+    gUnreadCellColors[0] = [[UIColor colorWithRed:0.827 green:1.000 blue:1.000 alpha:1.0] retain]; // friends
+    gUnreadCellColors[1] = [[UIColor colorWithRed:0.827 green:1.000 blue:0.820 alpha:1.0] retain]; // replies
+    gUnreadCellColors[2] = [[UIColor colorWithRed:0.992 green:0.878 blue:0.820 alpha:1.0] retain]; // DM
+    gUnreadCellColors[3] = [[UIColor colorWithRed:0.988 green:0.812 blue:0.820 alpha:1.0] retain]; // favorites
+    gUnreadCellColors[4] = [[UIColor colorWithRed:0.996 green:0.929 blue:0.820 alpha:1.0] retain]; // search
     
     // Navigation Bar Color
     gNavigationBarColors[0] = [[UIColor colorWithRed:0.341 green:0.643 blue:0.859 alpha:1.0] retain];
@@ -44,4 +44,8 @@ static UIColor *gUnreadCellColors[5];
     return [UIColor colorWithRed:0.195 green:0.309 blue:0.520 alpha:1.0];
 }
 
++ (UIColor*)conversationBackground
+{
+    return [UIColor colorWithRed:0.827 green:0.851 blue:0.910 alpha:1.0];
+}
 @end</diff>
      <filename>Classes/OtherSources/ColorUtils.m</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>Images/Balloon_2.png</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,7 @@
 		&lt;string key=&quot;IBDocument.HIToolboxVersion&quot;&gt;353.00&lt;/string&gt;
 		&lt;object class=&quot;NSMutableArray&quot; key=&quot;IBDocument.EditedObjectIDs&quot;&gt;
 			&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
-			&lt;integer value=&quot;106&quot;/&gt;
+			&lt;integer value=&quot;196&quot;/&gt;
 		&lt;/object&gt;
 		&lt;object class=&quot;NSArray&quot; key=&quot;IBDocument.PluginDependencies&quot;&gt;
 			&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
@@ -26,30 +26,43 @@
 			&lt;object class=&quot;IBUITabBarController&quot; id=&quot;1034742383&quot;&gt;
 				&lt;object class=&quot;IBUISimulatedTabBarMetrics&quot; key=&quot;IBUISimulatedBottomBarMetrics&quot;/&gt;
 				&lt;object class=&quot;IBUISimulatedStatusBarMetrics&quot; key=&quot;IBUISimulatedStatusBarMetrics&quot;/&gt;
-				&lt;object class=&quot;IBUINavigationController&quot; key=&quot;IBUISelectedViewController&quot; id=&quot;785888307&quot;&gt;
-					&lt;object class=&quot;IBUITabBarItem&quot; key=&quot;IBUITabBarItem&quot; id=&quot;1016338279&quot;&gt;
-						&lt;int key=&quot;IBUISystemItemIdentifier&quot;&gt;8&lt;/int&gt;
+				&lt;object class=&quot;IBUINavigationController&quot; key=&quot;IBUISelectedViewController&quot; id=&quot;742009202&quot;&gt;
+					&lt;string key=&quot;IBUITitle&quot;&gt;Messages&lt;/string&gt;
+					&lt;object class=&quot;IBUITabBarItem&quot; key=&quot;IBUITabBarItem&quot; id=&quot;857933852&quot;&gt;
+						&lt;int key=&quot;IBUITag&quot;&gt;2&lt;/int&gt;
+						&lt;string key=&quot;IBUITitle&quot;&gt;Messages&lt;/string&gt;
+						&lt;object class=&quot;NSCustomResource&quot; key=&quot;IBUIImage&quot;&gt;
+							&lt;string key=&quot;NSClassName&quot;&gt;NSImage&lt;/string&gt;
+							&lt;string key=&quot;NSResourceName&quot;&gt;messages.png&lt;/string&gt;
+						&lt;/object&gt;
 						&lt;reference key=&quot;IBUITabBar&quot;/&gt;
 					&lt;/object&gt;
 					&lt;reference key=&quot;IBUIParentViewController&quot; ref=&quot;1034742383&quot;/&gt;
-					&lt;object class=&quot;IBUISimulatedStatusBarMetrics&quot; key=&quot;IBUISimulatedStatusBarMetrics&quot;/&gt;
-					&lt;object class=&quot;IBUINavigationBar&quot; key=&quot;IBUINavigationBar&quot; id=&quot;801319795&quot;&gt;
+					&lt;object class=&quot;IBUINavigationBar&quot; key=&quot;IBUINavigationBar&quot; id=&quot;284537482&quot;&gt;
 						&lt;nil key=&quot;NSNextResponder&quot;/&gt;
 						&lt;int key=&quot;NSvFlags&quot;&gt;256&lt;/int&gt;
-						&lt;string key=&quot;NSFrameSize&quot;&gt;{0, 0}&lt;/string&gt;
+						&lt;string key=&quot;NSFrameSize&quot;&gt;{320, 44}&lt;/string&gt;
 						&lt;bool key=&quot;IBUIOpaque&quot;&gt;NO&lt;/bool&gt;
 						&lt;bool key=&quot;IBUIClipsSubviews&quot;&gt;YES&lt;/bool&gt;
 						&lt;bool key=&quot;IBUIMultipleTouchEnabled&quot;&gt;YES&lt;/bool&gt;
 					&lt;/object&gt;
 					&lt;object class=&quot;NSMutableArray&quot; key=&quot;IBUIViewControllers&quot;&gt;
 						&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
-						&lt;object class=&quot;IBUIViewController&quot; id=&quot;871911376&quot;&gt;
-							&lt;object class=&quot;IBUINavigationItem&quot; key=&quot;IBUINavigationItem&quot; id=&quot;668766300&quot;&gt;
+						&lt;object class=&quot;IBUIViewController&quot; id=&quot;422638560&quot;&gt;
+							&lt;object class=&quot;IBUINavigationItem&quot; key=&quot;IBUINavigationItem&quot; id=&quot;726267129&quot;&gt;
 								&lt;reference key=&quot;IBUINavigationBar&quot;/&gt;
-								&lt;string key=&quot;IBUITitle&quot;&gt;Search&lt;/string&gt;
+								&lt;string key=&quot;IBUITitle&quot;&gt;Messages&lt;/string&gt;
+								&lt;object class=&quot;IBUIBarButtonItem&quot; key=&quot;IBUILeftBarButtonItem&quot; id=&quot;554924916&quot;&gt;
+									&lt;int key=&quot;IBUIStyle&quot;&gt;1&lt;/int&gt;
+									&lt;int key=&quot;IBUISystemItemIdentifier&quot;&gt;13&lt;/int&gt;
+								&lt;/object&gt;
+								&lt;object class=&quot;IBUIBarButtonItem&quot; key=&quot;IBUIRightBarButtonItem&quot; id=&quot;337418855&quot;&gt;
+									&lt;int key=&quot;IBUIStyle&quot;&gt;1&lt;/int&gt;
+									&lt;int key=&quot;IBUISystemItemIdentifier&quot;&gt;7&lt;/int&gt;
+								&lt;/object&gt;
 							&lt;/object&gt;
-							&lt;reference key=&quot;IBUIParentViewController&quot; ref=&quot;785888307&quot;/&gt;
-							&lt;string key=&quot;IBUINibName&quot;&gt;SearchView&lt;/string&gt;
+							&lt;reference key=&quot;IBUIParentViewController&quot; ref=&quot;742009202&quot;/&gt;
+							&lt;string key=&quot;IBUINibName&quot;&gt;DirectMessage&lt;/string&gt;
 						&lt;/object&gt;
 					&lt;/object&gt;
 				&lt;/object&gt;
@@ -133,81 +146,33 @@
 							&lt;/object&gt;
 						&lt;/object&gt;
 					&lt;/object&gt;
-					&lt;object class=&quot;IBUINavigationController&quot; id=&quot;742009202&quot;&gt;
-						&lt;string key=&quot;IBUITitle&quot;&gt;Messages&lt;/string&gt;
-						&lt;object class=&quot;IBUITabBarItem&quot; key=&quot;IBUITabBarItem&quot; id=&quot;857933852&quot;&gt;
-							&lt;int key=&quot;IBUITag&quot;&gt;2&lt;/int&gt;
-							&lt;string key=&quot;IBUITitle&quot;&gt;Messages&lt;/string&gt;
-							&lt;object class=&quot;NSCustomResource&quot; key=&quot;IBUIImage&quot;&gt;
-								&lt;string key=&quot;NSClassName&quot;&gt;NSImage&lt;/string&gt;
-								&lt;string key=&quot;NSResourceName&quot;&gt;messages.png&lt;/string&gt;
-							&lt;/object&gt;
+					&lt;reference ref=&quot;742009202&quot;/&gt;
+					&lt;object class=&quot;IBUINavigationController&quot; id=&quot;785888307&quot;&gt;
+						&lt;object class=&quot;IBUITabBarItem&quot; key=&quot;IBUITabBarItem&quot; id=&quot;1016338279&quot;&gt;
+							&lt;int key=&quot;IBUISystemItemIdentifier&quot;&gt;8&lt;/int&gt;
 							&lt;reference key=&quot;IBUITabBar&quot;/&gt;
 						&lt;/object&gt;
 						&lt;reference key=&quot;IBUIParentViewController&quot; ref=&quot;1034742383&quot;/&gt;
-						&lt;object class=&quot;IBUINavigationBar&quot; key=&quot;IBUINavigationBar&quot; id=&quot;284537482&quot;&gt;
+						&lt;object class=&quot;IBUISimulatedStatusBarMetrics&quot; key=&quot;IBUISimulatedStatusBarMetrics&quot;/&gt;
+						&lt;object class=&quot;IBUINavigationBar&quot; key=&quot;IBUINavigationBar&quot; id=&quot;801319795&quot;&gt;
 							&lt;nil key=&quot;NSNextResponder&quot;/&gt;
 							&lt;int key=&quot;NSvFlags&quot;&gt;256&lt;/int&gt;
-							&lt;string key=&quot;NSFrameSize&quot;&gt;{320, 44}&lt;/string&gt;
+							&lt;string key=&quot;NSFrameSize&quot;&gt;{0, 0}&lt;/string&gt;
 							&lt;bool key=&quot;IBUIOpaque&quot;&gt;NO&lt;/bool&gt;
 							&lt;bool key=&quot;IBUIClipsSubviews&quot;&gt;YES&lt;/bool&gt;
 							&lt;bool key=&quot;IBUIMultipleTouchEnabled&quot;&gt;YES&lt;/bool&gt;
 						&lt;/object&gt;
 						&lt;object class=&quot;NSMutableArray&quot; key=&quot;IBUIViewControllers&quot;&gt;
 							&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
-							&lt;object class=&quot;IBUIViewController&quot; id=&quot;422638560&quot;&gt;
-								&lt;object class=&quot;IBUINavigationItem&quot; key=&quot;IBUINavigationItem&quot; id=&quot;726267129&quot;&gt;
-									&lt;string key=&quot;IBUITitle&quot;&gt;Messages&lt;/string&gt;
-									&lt;object class=&quot;IBUIBarButtonItem&quot; key=&quot;IBUILeftBarButtonItem&quot; id=&quot;554924916&quot;&gt;
-										&lt;int key=&quot;IBUIStyle&quot;&gt;1&lt;/int&gt;
-										&lt;int key=&quot;IBUISystemItemIdentifier&quot;&gt;13&lt;/int&gt;
-									&lt;/object&gt;
-									&lt;object class=&quot;IBUISegmentedControl&quot; key=&quot;IBUITitleView&quot; id=&quot;899874125&quot;&gt;
-										&lt;nil key=&quot;NSNextResponder&quot;/&gt;
-										&lt;int key=&quot;NSvFlags&quot;&gt;292&lt;/int&gt;
-										&lt;string key=&quot;NSFrame&quot;&gt;{{96, 7}, {128, 30}}&lt;/string&gt;
-										&lt;bool key=&quot;IBUIOpaque&quot;&gt;NO&lt;/bool&gt;
-										&lt;bool key=&quot;IBUIClearsContextBeforeDrawing&quot;&gt;NO&lt;/bool&gt;
-										&lt;int key=&quot;IBSegmentControlStyle&quot;&gt;2&lt;/int&gt;
-										&lt;int key=&quot;IBNumberOfSegments&quot;&gt;2&lt;/int&gt;
-										&lt;int key=&quot;IBSelectedSegmentIndex&quot;&gt;0&lt;/int&gt;
-										&lt;object class=&quot;NSArray&quot; key=&quot;IBSegmentTitles&quot;&gt;
-											&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
-											&lt;string&gt;Inbox&lt;/string&gt;
-											&lt;string&gt;Sent&lt;/string&gt;
-										&lt;/object&gt;
-										&lt;object class=&quot;NSMutableArray&quot; key=&quot;IBSegmentWidths&quot;&gt;
-											&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
-											&lt;real value=&quot;0.000000e+00&quot;/&gt;
-											&lt;real value=&quot;0.000000e+00&quot;/&gt;
-										&lt;/object&gt;
-										&lt;object class=&quot;NSMutableArray&quot; key=&quot;IBSegmentEnabledStates&quot;&gt;
-											&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
-											&lt;integer value=&quot;1&quot; id=&quot;5&quot;/&gt;
-											&lt;reference ref=&quot;5&quot;/&gt;
-										&lt;/object&gt;
-										&lt;object class=&quot;NSMutableArray&quot; key=&quot;IBSegmentContentOffsets&quot;&gt;
-											&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
-											&lt;string&gt;{0, 0}&lt;/string&gt;
-											&lt;string&gt;{0, 0}&lt;/string&gt;
-										&lt;/object&gt;
-										&lt;object class=&quot;NSMutableArray&quot; key=&quot;IBSegmentImages&quot;&gt;
-											&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
-											&lt;object class=&quot;NSNull&quot; id=&quot;4&quot;/&gt;
-											&lt;reference ref=&quot;4&quot;/&gt;
-										&lt;/object&gt;
-									&lt;/object&gt;
-									&lt;object class=&quot;IBUIBarButtonItem&quot; key=&quot;IBUIRightBarButtonItem&quot; id=&quot;337418855&quot;&gt;
-										&lt;int key=&quot;IBUIStyle&quot;&gt;1&lt;/int&gt;
-										&lt;int key=&quot;IBUISystemItemIdentifier&quot;&gt;7&lt;/int&gt;
-									&lt;/object&gt;
+							&lt;object class=&quot;IBUIViewController&quot; id=&quot;871911376&quot;&gt;
+								&lt;object class=&quot;IBUINavigationItem&quot; key=&quot;IBUINavigationItem&quot; id=&quot;668766300&quot;&gt;
+									&lt;string key=&quot;IBUITitle&quot;&gt;Search&lt;/string&gt;
 								&lt;/object&gt;
-								&lt;reference key=&quot;IBUIParentViewController&quot; ref=&quot;742009202&quot;/&gt;
-								&lt;string key=&quot;IBUINibName&quot;&gt;TimelineView&lt;/string&gt;
+								&lt;reference key=&quot;IBUIParentViewController&quot; ref=&quot;785888307&quot;/&gt;
+								&lt;string key=&quot;IBUINibName&quot;&gt;SearchView&lt;/string&gt;
 							&lt;/object&gt;
 						&lt;/object&gt;
 					&lt;/object&gt;
-					&lt;reference ref=&quot;785888307&quot;/&gt;
 				&lt;/object&gt;
 				&lt;object class=&quot;IBUITabBar&quot; key=&quot;IBUITabBar&quot; id=&quot;795333663&quot;&gt;
 					&lt;nil key=&quot;NSNextResponder&quot;/&gt;
@@ -326,15 +291,6 @@
 					&lt;/object&gt;
 					&lt;int key=&quot;connectionID&quot;&gt;372&lt;/int&gt;
 				&lt;/object&gt;
-				&lt;object class=&quot;IBConnectionRecord&quot;&gt;
-					&lt;object class=&quot;IBCocoaTouchEventConnection&quot; key=&quot;connection&quot;&gt;
-						&lt;string key=&quot;label&quot;&gt;segmentDidChange:&lt;/string&gt;
-						&lt;reference key=&quot;source&quot; ref=&quot;899874125&quot;/&gt;
-						&lt;reference key=&quot;destination&quot; ref=&quot;422638560&quot;/&gt;
-						&lt;int key=&quot;IBEventType&quot;&gt;13&lt;/int&gt;
-					&lt;/object&gt;
-					&lt;int key=&quot;connectionID&quot;&gt;412&lt;/int&gt;
-				&lt;/object&gt;
 			&lt;/object&gt;
 			&lt;object class=&quot;IBMutableOrderedSet&quot; key=&quot;objectRecords&quot;&gt;
 				&lt;object class=&quot;NSArray&quot; key=&quot;orderedObjects&quot;&gt;
@@ -465,7 +421,6 @@
 							&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
 							&lt;reference ref=&quot;554924916&quot;/&gt;
 							&lt;reference ref=&quot;337418855&quot;/&gt;
-							&lt;reference ref=&quot;899874125&quot;/&gt;
 						&lt;/object&gt;
 						&lt;reference key=&quot;parent&quot; ref=&quot;422638560&quot;/&gt;
 					&lt;/object&gt;
@@ -581,11 +536,6 @@
 						&lt;reference key=&quot;object&quot; ref=&quot;1016338279&quot;/&gt;
 						&lt;reference key=&quot;parent&quot; ref=&quot;785888307&quot;/&gt;
 					&lt;/object&gt;
-					&lt;object class=&quot;IBObjectRecord&quot;&gt;
-						&lt;int key=&quot;objectID&quot;&gt;406&lt;/int&gt;
-						&lt;reference key=&quot;object&quot; ref=&quot;899874125&quot;/&gt;
-						&lt;reference key=&quot;parent&quot; ref=&quot;726267129&quot;/&gt;
-					&lt;/object&gt;
 				&lt;/object&gt;
 			&lt;/object&gt;
 			&lt;object class=&quot;NSMutableDictionary&quot; key=&quot;flattenedProperties&quot;&gt;
@@ -614,21 +564,20 @@
 					&lt;string&gt;358.IBPluginDependency&lt;/string&gt;
 					&lt;string&gt;359.IBPluginDependency&lt;/string&gt;
 					&lt;string&gt;360.IBPluginDependency&lt;/string&gt;
-					&lt;string&gt;406.IBPluginDependency&lt;/string&gt;
 				&lt;/object&gt;
 				&lt;object class=&quot;NSMutableArray&quot; key=&quot;dict.values&quot;&gt;
 					&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
 					&lt;string&gt;UIApplication&lt;/string&gt;
 					&lt;string&gt;UIResponder&lt;/string&gt;
 					&lt;string&gt;TabBarController&lt;/string&gt;
-					&lt;string&gt;{{292, 340}, {320, 480}}&lt;/string&gt;
+					&lt;string&gt;{{318, 468}, {320, 480}}&lt;/string&gt;
 					&lt;string&gt;com.apple.InterfaceBuilder.IBCocoaTouchPlugin&lt;/string&gt;
 					&lt;string&gt;com.apple.InterfaceBuilder.IBCocoaTouchPlugin&lt;/string&gt;
 					&lt;string&gt;FriendsTimelineController&lt;/string&gt;
 					&lt;string&gt;com.apple.InterfaceBuilder.IBCocoaTouchPlugin&lt;/string&gt;
 					&lt;string&gt;FriendsTimelineController&lt;/string&gt;
 					&lt;string&gt;com.apple.InterfaceBuilder.IBCocoaTouchPlugin&lt;/string&gt;
-					&lt;string&gt;FriendsTimelineController&lt;/string&gt;
+					&lt;string&gt;DMTimelineController&lt;/string&gt;
 					&lt;string&gt;com.apple.InterfaceBuilder.IBCocoaTouchPlugin&lt;/string&gt;
 					&lt;object class=&quot;NSMutableDictionary&quot;&gt;
 						&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
@@ -648,7 +597,6 @@
 					&lt;string&gt;com.apple.InterfaceBuilder.IBCocoaTouchPlugin&lt;/string&gt;
 					&lt;string&gt;com.apple.InterfaceBuilder.IBCocoaTouchPlugin&lt;/string&gt;
 					&lt;string&gt;com.apple.InterfaceBuilder.IBCocoaTouchPlugin&lt;/string&gt;
-					&lt;string&gt;com.apple.InterfaceBuilder.IBCocoaTouchPlugin&lt;/string&gt;
 				&lt;/object&gt;
 			&lt;/object&gt;
 			&lt;object class=&quot;NSMutableDictionary&quot; key=&quot;unlocalizedProperties&quot;&gt;
@@ -677,6 +625,18 @@
 			&lt;object class=&quot;NSMutableArray&quot; key=&quot;referencedPartialClassDescriptions&quot;&gt;
 				&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
 				&lt;object class=&quot;IBPartialClassDescription&quot;&gt;
+					&lt;string key=&quot;className&quot;&gt;DMTimelineController&lt;/string&gt;
+					&lt;string key=&quot;superclassName&quot;&gt;UITableViewController&lt;/string&gt;
+					&lt;object class=&quot;NSMutableDictionary&quot; key=&quot;actions&quot;&gt;
+						&lt;string key=&quot;NS.key.0&quot;&gt;reload:&lt;/string&gt;
+						&lt;string key=&quot;NS.object.0&quot;&gt;id&lt;/string&gt;
+					&lt;/object&gt;
+					&lt;object class=&quot;IBClassDescriptionSource&quot; key=&quot;sourceIdentifier&quot;&gt;
+						&lt;string key=&quot;majorKey&quot;&gt;IBProjectSource&lt;/string&gt;
+						&lt;string key=&quot;minorKey&quot;&gt;Classes/Controllers/DMTimelineController.h&lt;/string&gt;
+					&lt;/object&gt;
+				&lt;/object&gt;
+				&lt;object class=&quot;IBPartialClassDescription&quot;&gt;
 					&lt;string key=&quot;className&quot;&gt;FriendsTimelineController&lt;/string&gt;
 					&lt;string key=&quot;superclassName&quot;&gt;UITableViewController&lt;/string&gt;
 					&lt;object class=&quot;NSMutableDictionary&quot; key=&quot;actions&quot;&gt;
@@ -701,7 +661,7 @@
 					&lt;string key=&quot;className&quot;&gt;NSObject&lt;/string&gt;
 					&lt;object class=&quot;IBClassDescriptionSource&quot; key=&quot;sourceIdentifier&quot;&gt;
 						&lt;string key=&quot;majorKey&quot;&gt;IBProjectSource&lt;/string&gt;
-						&lt;string key=&quot;minorKey&quot;&gt;Classes/JSON/NSObject+SBJSON.h&lt;/string&gt;
+						&lt;string key=&quot;minorKey&quot;&gt;Classes/OtherSources/JSON/NSObject+SBJSON.h&lt;/string&gt;
 					&lt;/object&gt;
 				&lt;/object&gt;
 				&lt;object class=&quot;IBPartialClassDescription&quot;&gt;</diff>
      <filename>Interfaces/MainWindow.xib</filename>
    </modified>
    <modified>
      <diff>@@ -2,13 +2,12 @@
 &lt;archive type=&quot;com.apple.InterfaceBuilder3.CocoaTouch.XIB&quot; version=&quot;7.02&quot;&gt;
 	&lt;data&gt;
 		&lt;int key=&quot;IBDocument.SystemTarget&quot;&gt;512&lt;/int&gt;
-		&lt;string key=&quot;IBDocument.SystemVersion&quot;&gt;9F33&lt;/string&gt;
+		&lt;string key=&quot;IBDocument.SystemVersion&quot;&gt;9G55&lt;/string&gt;
 		&lt;string key=&quot;IBDocument.InterfaceBuilderVersion&quot;&gt;672&lt;/string&gt;
-		&lt;string key=&quot;IBDocument.AppKitVersion&quot;&gt;949.34&lt;/string&gt;
-		&lt;string key=&quot;IBDocument.HIToolboxVersion&quot;&gt;352.00&lt;/string&gt;
+		&lt;string key=&quot;IBDocument.AppKitVersion&quot;&gt;949.43&lt;/string&gt;
+		&lt;string key=&quot;IBDocument.HIToolboxVersion&quot;&gt;353.00&lt;/string&gt;
 		&lt;object class=&quot;NSMutableArray&quot; key=&quot;IBDocument.EditedObjectIDs&quot;&gt;
 			&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
-			&lt;integer value=&quot;122&quot;/&gt;
 		&lt;/object&gt;
 		&lt;object class=&quot;NSArray&quot; key=&quot;IBDocument.PluginDependencies&quot;&gt;
 			&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
@@ -23,10 +22,9 @@
 				&lt;string key=&quot;IBProxiedObjectIdentifier&quot;&gt;IBFirstResponder&lt;/string&gt;
 			&lt;/object&gt;
 			&lt;object class=&quot;IBUITableView&quot; id=&quot;596785787&quot;&gt;
-				&lt;reference key=&quot;NSNextResponder&quot;/&gt;
+				&lt;nil key=&quot;NSNextResponder&quot;/&gt;
 				&lt;int key=&quot;NSvFlags&quot;&gt;310&lt;/int&gt;
 				&lt;string key=&quot;NSFrameSize&quot;&gt;{320, 460}&lt;/string&gt;
-				&lt;reference key=&quot;NSSuperview&quot;/&gt;
 				&lt;object class=&quot;NSColor&quot; key=&quot;IBUIBackgroundColor&quot;&gt;
 					&lt;int key=&quot;NSColorSpace&quot;&gt;1&lt;/int&gt;
 					&lt;bytes key=&quot;NSRGB&quot;&gt;MSAxIDEAA&lt;/bytes&gt;
@@ -52,7 +50,7 @@
 						&lt;reference key=&quot;source&quot; ref=&quot;372490531&quot;/&gt;
 						&lt;reference key=&quot;destination&quot; ref=&quot;596785787&quot;/&gt;
 					&lt;/object&gt;
-					&lt;int key=&quot;connectionID&quot;&gt;511&lt;/int&gt;
+					&lt;int key=&quot;connectionID&quot;&gt;512&lt;/int&gt;
 				&lt;/object&gt;
 			&lt;/object&gt;
 			&lt;object class=&quot;IBMutableOrderedSet&quot; key=&quot;objectRecords&quot;&gt;
@@ -95,7 +93,7 @@
 				&lt;/object&gt;
 				&lt;object class=&quot;NSMutableArray&quot; key=&quot;dict.values&quot;&gt;
 					&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
-					&lt;string&gt;TimelineViewController&lt;/string&gt;
+					&lt;string&gt;FriendsTimelineController&lt;/string&gt;
 					&lt;string&gt;UIResponder&lt;/string&gt;
 					&lt;string&gt;{{999, 104}, {320, 460}}&lt;/string&gt;
 					&lt;string&gt;com.apple.InterfaceBuilder.IBCocoaTouchPlugin&lt;/string&gt;
@@ -121,28 +119,37 @@
 				&lt;/object&gt;
 			&lt;/object&gt;
 			&lt;nil key=&quot;sourceID&quot;/&gt;
-			&lt;int key=&quot;maxID&quot;&gt;511&lt;/int&gt;
+			&lt;int key=&quot;maxID&quot;&gt;512&lt;/int&gt;
 		&lt;/object&gt;
 		&lt;object class=&quot;IBClassDescriber&quot; key=&quot;IBDocument.Classes&quot;&gt;
 			&lt;object class=&quot;NSMutableArray&quot; key=&quot;referencedPartialClassDescriptions&quot;&gt;
 				&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
 				&lt;object class=&quot;IBPartialClassDescription&quot;&gt;
-					&lt;string key=&quot;className&quot;&gt;NSObject&lt;/string&gt;
+					&lt;string key=&quot;className&quot;&gt;FriendsTimelineController&lt;/string&gt;
+					&lt;string key=&quot;superclassName&quot;&gt;UITableViewController&lt;/string&gt;
+					&lt;object class=&quot;NSMutableDictionary&quot; key=&quot;actions&quot;&gt;
+						&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
+						&lt;object class=&quot;NSMutableArray&quot; key=&quot;dict.sortedKeys&quot;&gt;
+							&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
+							&lt;string&gt;reload:&lt;/string&gt;
+							&lt;string&gt;segmentDidChange:&lt;/string&gt;
+						&lt;/object&gt;
+						&lt;object class=&quot;NSMutableArray&quot; key=&quot;dict.values&quot;&gt;
+							&lt;bool key=&quot;EncodedWithXMLCoder&quot;&gt;YES&lt;/bool&gt;
+							&lt;string&gt;id&lt;/string&gt;
+							&lt;string&gt;id&lt;/string&gt;
+						&lt;/object&gt;
+					&lt;/object&gt;
 					&lt;object class=&quot;IBClassDescriptionSource&quot; key=&quot;sourceIdentifier&quot;&gt;
 						&lt;string key=&quot;majorKey&quot;&gt;IBProjectSource&lt;/string&gt;
-						&lt;string key=&quot;minorKey&quot;&gt;Classes/JSON/NSObject+SBJSON.h&lt;/string&gt;
+						&lt;string key=&quot;minorKey&quot;&gt;Classes/Controllers/FriendsTimelineController.h&lt;/string&gt;
 					&lt;/object&gt;
 				&lt;/object&gt;
 				&lt;object class=&quot;IBPartialClassDescription&quot;&gt;
-					&lt;string key=&quot;className&quot;&gt;TimelineViewController&lt;/string&gt;
-					&lt;string key=&quot;superclassName&quot;&gt;UITableViewController&lt;/string&gt;
-					&lt;object class=&quot;NSMutableDictionary&quot; key=&quot;actions&quot;&gt;
-						&lt;string key=&quot;NS.key.0&quot;&gt;reload:&lt;/string&gt;
-						&lt;string key=&quot;NS.object.0&quot;&gt;id&lt;/string&gt;
-					&lt;/object&gt;
+					&lt;string key=&quot;className&quot;&gt;NSObject&lt;/string&gt;
 					&lt;object class=&quot;IBClassDescriptionSource&quot; key=&quot;sourceIdentifier&quot;&gt;
 						&lt;string key=&quot;majorKey&quot;&gt;IBProjectSource&lt;/string&gt;
-						&lt;string key=&quot;minorKey&quot;&gt;Classes/Controllers/TimelineViewController.h&lt;/string&gt;
+						&lt;string key=&quot;minorKey&quot;&gt;Classes/OtherSources/JSON/NSObject+SBJSON.h&lt;/string&gt;
 					&lt;/object&gt;
 				&lt;/object&gt;
 				&lt;object class=&quot;IBPartialClassDescription&quot;&gt;
@@ -160,7 +167,7 @@
 			&lt;/object&gt;
 		&lt;/object&gt;
 		&lt;int key=&quot;IBDocument.localizationMode&quot;&gt;0&lt;/int&gt;
-		&lt;string key=&quot;IBDocument.LastKnownRelativeProjectPath&quot;&gt;TwitterFon.xcodeproj&lt;/string&gt;
+		&lt;string key=&quot;IBDocument.LastKnownRelativeProjectPath&quot;&gt;../TwitterFon.xcodeproj&lt;/string&gt;
 		&lt;int key=&quot;IBDocument.defaultPropertyAccessControl&quot;&gt;3&lt;/int&gt;
 	&lt;/data&gt;
 &lt;/archive&gt;</diff>
      <filename>Interfaces/TimelineView.xib</filename>
    </modified>
    <modified>
      <diff>@@ -76,6 +76,16 @@
 		6E943A900E64C4FF00E8ECF2 /* TimeUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E943A8F0E64C4FF00E8ECF2 /* TimeUtils.m */; };
 		6E943F1B0E6527C600E8ECF2 /* usercell_background.png in Resources */ = {isa = PBXBuildFile; fileRef = 6E943F1A0E6527C600E8ECF2 /* usercell_background.png */; };
 		6E97A5E60EF8A91100168291 /* DirectMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E97A5E50EF8A91100168291 /* DirectMessage.m */; };
+		6E97A75E0EF8C78000168291 /* DMTimelineController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E97A75C0EF8C78000168291 /* DMTimelineController.m */; };
+		6E97A8820EF8F7DA00168291 /* DirectMessage.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E97A8810EF8F7DA00168291 /* DirectMessage.xib */; };
+		6E97AA8F0EF9142900168291 /* DMConversationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E97AA8E0EF9142900168291 /* DMConversationController.m */; };
+		6E97ABBB0EF91EC100168291 /* ChatBubbleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E97ABBA0EF91EC100168291 /* ChatBubbleCell.m */; };
+		6E97ABBE0EF91F6C00168291 /* Balloon_2.png in Resources */ = {isa = PBXBuildFile; fileRef = 6E97ABBC0EF91F6C00168291 /* Balloon_2.png */; };
+		6E97ABBF0EF91F6C00168291 /* Balloon_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 6E97ABBD0EF91F6C00168291 /* Balloon_1.png */; };
+		6E97ABE40EF920FE00168291 /* ChatBubbleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E97ABE30EF920FE00168291 /* ChatBubbleView.m */; };
+		6E97AD160EF93AB800168291 /* update_v12_to_v13.sql in Resources */ = {isa = PBXBuildFile; fileRef = 6E97AD150EF93AB800168291 /* update_v12_to_v13.sql */; };
+		6E97AD680EF94B5000168291 /* DirectMessageCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E97AD670EF94B5000168291 /* DirectMessageCellView.m */; };
+		6E97AD750EF94CE800168291 /* DirectMessageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E97AD740EF94CE800168291 /* DirectMessageCell.m */; };
 		6EA0C19C0EBB1305000C0CD4 /* friends_small.png in Resources */ = {isa = PBXBuildFile; fileRef = 6EA0C19B0EBB1305000C0CD4 /* friends_small.png */; };
 		6EADBC090EBD8F8E00093782 /* PostViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EADBC080EBD8F8E00093782 /* PostViewController.m */; };
 		6EADC0A20EBDC48D00093782 /* FolloweeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EADC09F0EBDC48D00093782 /* FolloweeCell.m */; };
@@ -221,6 +231,22 @@
 		6E943F1A0E6527C600E8ECF2 /* usercell_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = usercell_background.png; sourceTree = &quot;&lt;group&gt;&quot;; };
 		6E97A5E40EF8A91100168291 /* DirectMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DirectMessage.h; sourceTree = &quot;&lt;group&gt;&quot;; };
 		6E97A5E50EF8A91100168291 /* DirectMessage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DirectMessage.m; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97A75B0EF8C78000168291 /* DMTimelineController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DMTimelineController.h; path = Controllers/DMTimelineController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97A75C0EF8C78000168291 /* DMTimelineController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DMTimelineController.m; path = Controllers/DMTimelineController.m; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97A8810EF8F7DA00168291 /* DirectMessage.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DirectMessage.xib; path = Interfaces/DirectMessage.xib; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97AA8D0EF9142900168291 /* DMConversationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DMConversationController.h; path = Controllers/DMConversationController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97AA8E0EF9142900168291 /* DMConversationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DMConversationController.m; path = Controllers/DMConversationController.m; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97ABB90EF91EC100168291 /* ChatBubbleCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChatBubbleCell.h; path = Controllers/ChatBubbleCell.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97ABBA0EF91EC100168291 /* ChatBubbleCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ChatBubbleCell.m; path = Controllers/ChatBubbleCell.m; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97ABBC0EF91F6C00168291 /* Balloon_2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Balloon_2.png; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97ABBD0EF91F6C00168291 /* Balloon_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Balloon_1.png; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97ABE20EF920FE00168291 /* ChatBubbleView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ChatBubbleView.h; path = Controllers/ChatBubbleView.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97ABE30EF920FE00168291 /* ChatBubbleView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = ChatBubbleView.m; path = Controllers/ChatBubbleView.m; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97AD150EF93AB800168291 /* update_v12_to_v13.sql */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = update_v12_to_v13.sql; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97AD660EF94B5000168291 /* DirectMessageCellView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectMessageCellView.h; path = Controllers/DirectMessageCellView.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97AD670EF94B5000168291 /* DirectMessageCellView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DirectMessageCellView.m; path = Controllers/DirectMessageCellView.m; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97AD730EF94CE800168291 /* DirectMessageCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DirectMessageCell.h; path = Controllers/DirectMessageCell.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+		6E97AD740EF94CE800168291 /* DirectMessageCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = DirectMessageCell.m; path = Controllers/DirectMessageCell.m; sourceTree = &quot;&lt;group&gt;&quot;; };
 		6EA0C19B0EBB1305000C0CD4 /* friends_small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = friends_small.png; sourceTree = &quot;&lt;group&gt;&quot;; };
 		6EADBC070EBD8F8E00093782 /* PostViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PostViewController.h; path = Controllers/PostViewController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
 		6EADBC080EBD8F8E00093782 /* PostViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PostViewController.m; path = Controllers/PostViewController.m; sourceTree = &quot;&lt;group&gt;&quot;; };
@@ -383,6 +409,7 @@
 				6EED14400E33E5BF00C71EA4 /* Images */,
 				8D1107310486CEB800E47090 /* Info.plist */,
 				6E1FAE8C0EDAC4D7009407F6 /* db1.3.sql */,
+				6E97AD150EF93AB800168291 /* update_v12_to_v13.sql */,
 				6E382E930EB41E9000B0CE69 /* Settings.bundle */,
 			);
 			name = Resources;
@@ -485,6 +512,12 @@
 		6E1BE7BF0EF7C0370075881E /* DirectMessage */ = {
 			isa = PBXGroup;
 			children = (
+				6E97AD730EF94CE800168291 /* DirectMessageCell.h */,
+				6E97AD740EF94CE800168291 /* DirectMessageCell.m */,
+				6E97AD660EF94B5000168291 /* DirectMessageCellView.h */,
+				6E97AD670EF94B5000168291 /* DirectMessageCellView.m */,
+				6E97A75B0EF8C78000168291 /* DMTimelineController.h */,
+				6E97A75C0EF8C78000168291 /* DMTimelineController.m */,
 			);
 			name = DirectMessage;
 			sourceTree = &quot;&lt;group&gt;&quot;;
@@ -591,6 +624,28 @@
 			name = Settings;
 			sourceTree = &quot;&lt;group&gt;&quot;;
 		};
+		6E97ABC00EF91F7100168291 /* Conversation */ = {
+			isa = PBXGroup;
+			children = (
+				6E97ABBD0EF91F6C00168291 /* Balloon_1.png */,
+				6E97ABBC0EF91F6C00168291 /* Balloon_2.png */,
+			);
+			name = Conversation;
+			sourceTree = &quot;&lt;group&gt;&quot;;
+		};
+		6E97AE610EF951FC00168291 /* Conversation */ = {
+			isa = PBXGroup;
+			children = (
+				6E97AA8D0EF9142900168291 /* DMConversationController.h */,
+				6E97AA8E0EF9142900168291 /* DMConversationController.m */,
+				6E97ABB90EF91EC100168291 /* ChatBubbleCell.h */,
+				6E97ABBA0EF91EC100168291 /* ChatBubbleCell.m */,
+				6E97ABE20EF920FE00168291 /* ChatBubbleView.h */,
+				6E97ABE30EF920FE00168291 /* ChatBubbleView.m */,
+			);
+			name = Conversation;
+			sourceTree = &quot;&lt;group&gt;&quot;;
+		};
 		6EAE759B0EF3870700BF6CD4 /* Links */ = {
 			isa = PBXGroup;
 			children = (
@@ -691,6 +746,7 @@
 				6E6DC5990EC077FD00F9EB74 /* TimelineView.xib */,
 				6E6DC59B0EC077FD00F9EB74 /* WebView.xib */,
 				6E6DC59C0EC077FD00F9EB74 /* FolloweesView.xib */,
+				6E97A8810EF8F7DA00168291 /* DirectMessage.xib */,
 			);
 			name = interfaces;
 			sourceTree = &quot;&lt;group&gt;&quot;;
@@ -714,6 +770,7 @@
 				6EAE81540EF5B54100BF6CD4 /* FriendsTimeline */,
 				6E74D0E20EF7B440003BB7B1 /* Tweets */,
 				6E1BE7BF0EF7C0370075881E /* DirectMessage */,
+				6E97AE610EF951FC00168291 /* Conversation */,
 				6E6846AC0EE2D7D6009847F3 /* UserTimeline */,
 				6E1FAB400EDA6A39009407F6 /* Profile */,
 				6EBEE5790EB2F58E00C18F0A /* Search */,
@@ -765,6 +822,7 @@
 				6E08A3660EDFC226000D25FE /* Search */,
 				6E08A3630EDFC1AD000D25FE /* Post */,
 				6E08A3540EDFC169000D25FE /* WebView */,
+				6E97ABC00EF91F7100168291 /* Conversation */,
 				6E08A3530EDFC147000D25FE /* CustomSearchBar */,
 				6EED14410E33E5BF00C71EA4 /* Icon.png */,
 				6E2BD11E0E35B3D2003A8F69 /* Default.png */,
@@ -859,6 +917,10 @@
 				6E08ABE40EE0999C000D25FE /* SearchBarLeftPressed.png in Resources */,
 				6E0378320EF352A20045CD12 /* deleteButton_pressed.png in Resources */,
 				6E0378330EF352A20045CD12 /* deleteButton.png in Resources */,
+				6E97A8820EF8F7DA00168291 /* DirectMessage.xib in Resources */,
+				6E97ABBE0EF91F6C00168291 /* Balloon_2.png in Resources */,
+				6E97ABBF0EF91F6C00168291 /* Balloon_1.png in Resources */,
+				6E97AD160EF93AB800168291 /* update_v12_to_v13.sql in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -931,6 +993,12 @@
 				6E3B13AB0EF835FC00070525 /* Tweet.m in Sources */,
 				6E3B13B80EF8383300070525 /* Status.m in Sources */,
 				6E97A5E60EF8A91100168291 /* DirectMessage.m in Sources */,
+				6E97A75E0EF8C78000168291 /* DMTimelineController.m in Sources */,
+				6E97AA8F0EF9142900168291 /* DMConversationController.m in Sources */,
+				6E97ABBB0EF91EC100168291 /* ChatBubbleCell.m in Sources */,
+				6E97ABE40EF920FE00168291 /* ChatBubbleView.m in Sources */,
+				6E97AD680EF94B5000168291 /* DirectMessageCellView.m in Sources */,
+				6E97AD750EF94CE800168291 /* DirectMessageCell.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};</diff>
      <filename>TwitterFon.xcodeproj/project.pbxproj</filename>
    </modified>
    <modified>
      <diff>@@ -12,6 +12,7 @@ CREATE TABLE statuses (
     'in_reply_to_screen_name'   TEXT,
 PRIMARY KEY(type, id)
 );
+CREATE INDEX statuses_in_reply_to_status_id on statuses(in_reply_to_status_id);
 
 CREATE TABLE direct_messages (
     'id'                     INTEGER,
@@ -23,15 +24,8 @@ CREATE TABLE direct_messages (
     'recipient_screen_name'  TEXT,
 PRIMARY KEY(id)
 );
-
-CREATE TABLE senders (
-    'id'                     INTEGER,
-    'screen_name'            TEXT,
-    'text'                   TEXT,
-    'unread'                 INTEGER,
-    'updated_at'             INTEGER,
-PRIMARY KEY(id)
-);
+CREATE INDEX direct_messages_sender_id on direct_messages(sender_id);
+CREATE INDEX direct_messages_recipient_id on direct_messages(recipient_id);
 
 CREATE TABLE users (
     'user_id'                INTEGER PRIMARY KEY,</diff>
      <filename>create.sql</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>db1.3.sql</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>bc86d4c62cfbd079b2a436ee18e6be59de0567ad</id>
    </parent>
  </parents>
  <author>
    <name>kaz</name>
    <email>kaz@542e9493-1a22-0410-9183-c10453d2b9ee</email>
  </author>
  <url>http://github.com/jpick/twitterfon/commit/f35719d59deb63f147d14159ab11c9d14d0ec703</url>
  <id>f35719d59deb63f147d14159ab11c9d14d0ec703</id>
  <committed-date>2008-12-17T12:39:47-08:00</committed-date>
  <authored-date>2008-12-17T12:39:47-08:00</authored-date>
  <message>Refs #264
 * Re-design direct message UI

git-svn-id: http://naan.net/svn/trunk/TwitterFon@1533 542e9493-1a22-0410-9183-c10453d2b9ee</message>
  <tree>55a4458bf3fde0e15269b7113c6f95ff6419c693</tree>
  <committer>
    <name>kaz</name>
    <email>kaz@542e9493-1a22-0410-9183-c10453d2b9ee</email>
  </committer>
</commit>
