<?xml version='1.0' encoding='utf-8' ?>

<rss version='2.0' xmlns:lj='http://www.livejournal.org/rss/lj/1.0/' xmlns:atom10='http://www.w3.org/2005/Atom'>
<channel>
  <title>Dwim the Android client</title>
  <link>https://dwim.dreamwidth.org/</link>
  <description>Dwim the Android client - Dreamwidth Studios</description>
  <lastBuildDate>Mon, 06 Dec 2021 01:37:40 GMT</lastBuildDate>
  <generator>LiveJournal / Dreamwidth Studios</generator>
  <lj:journal>dwim</lj:journal>
  <lj:journaltype>community</lj:journaltype>
  <image>
    <url>https://v2.dreamwidth.org/9913718/2479780</url>
    <title>Dwim the Android client</title>
    <link>https://dwim.dreamwidth.org/</link>
    <width>100</width>
    <height>100</height>
  </image>

<item>
  <guid isPermaLink='true'>https://dwim.dreamwidth.org/2842.html</guid>
  <pubDate>Mon, 06 Dec 2021 01:37:40 GMT</pubDate>
  <title>dwim 0.1 ridequat delayed</title>
  <link>https://dwim.dreamwidth.org/2842.html</link>
  <description>Posted by: &lt;span lj:user=&apos;marnanel&apos; style=&apos;white-space: nowrap;&apos; class=&apos;ljuser&apos;&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/&apos;&gt;&lt;b&gt;marnanel&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It worked in development, but it doesn&apos;t work on the device. I know what the problem is. I&apos;ll release when I&apos;ve fixed it :)&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=dwim&amp;ditemid=2842&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://dwim.dreamwidth.org/2842.html</comments>
  <category>ridequat</category>
  <lj:security>public</lj:security>
  <lj:poster>marnanel</lj:poster>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://dwim.dreamwidth.org/2669.html</guid>
  <pubDate>Tue, 30 Nov 2021 21:38:41 GMT</pubDate>
  <title>ridequat: the phoenix rises</title>
  <link>https://dwim.dreamwidth.org/2669.html</link>
  <description>Posted by: &lt;span lj:user=&apos;marnanel&apos; style=&apos;white-space: nowrap;&apos; class=&apos;ljuser&apos;&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/&apos;&gt;&lt;b&gt;marnanel&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Five years pass, and the dwim project reappears.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://marnanel.dreamwidth.org/file/1617.png&quot;&gt;&lt;img src=&quot;https://marnanel.dreamwidth.org/file/100x100/1617.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;dwim 0.1 (ridequat) is on its way, and should be available for Android by Friday. I don&apos;t have access to an iOS or Windows device, so if you do, I&apos;d appreciate a hand with compiling it.&lt;br /&gt;&lt;br /&gt;You can log in-- that&apos;s all. There will be more functionality later.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://gitlab.com/marnanel/dwim&quot;&gt;Here&apos;s the repo.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=dwim&amp;ditemid=2669&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://dwim.dreamwidth.org/2669.html</comments>
  <category>ridequat</category>
  <lj:security>public</lj:security>
  <lj:poster>marnanel</lj:poster>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://dwim.dreamwidth.org/2120.html</guid>
  <pubDate>Mon, 27 Jun 2016 17:48:18 GMT</pubDate>
  <title>Progress report: testing</title>
  <link>https://dwim.dreamwidth.org/2120.html</link>
  <description>Posted by: &lt;span lj:user=&apos;marnanel&apos; style=&apos;white-space: nowrap;&apos; class=&apos;ljuser&apos;&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/&apos;&gt;&lt;b&gt;marnanel&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hello, lovely people. Here&apos;s a progress report:&lt;br /&gt;&lt;br /&gt;Recall that dwim is based on scraping HTML. There&apos;s a class called Wrangler, currently just a stub, which does the parsing using &lt;a href=&quot;https://www.crummy.com/software/BeautifulSoup/&quot;&gt;Beautiful Soup&lt;/a&gt;. I&apos;m currently putting a set of tests together for it. Given these tests, I&apos;ve written &lt;a href=&quot;https://github.com/tthurman/dwim/blob/master/src/test/python/prototype.py&quot;&gt;a version of Wrangler in Python&lt;/a&gt; for rapid prototyping, which works, so I&apos;m currently porting it to Java.&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=dwim&amp;ditemid=2120&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://dwim.dreamwidth.org/2120.html</comments>
  <category>progress report</category>
  <category>wrangler</category>
  <category>unit tests</category>
  <lj:security>public</lj:security>
  <lj:poster>marnanel</lj:poster>
  <lj:reply-count>7</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://dwim.dreamwidth.org/1855.html</guid>
  <pubDate>Tue, 07 Jun 2016 14:11:24 GMT</pubDate>
  <title>ridequat: work is proceeding</title>
  <link>https://dwim.dreamwidth.org/1855.html</link>
  <description>Posted by: &lt;span lj:user=&apos;marnanel&apos; style=&apos;white-space: nowrap;&apos; class=&apos;ljuser&apos;&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/&apos;&gt;&lt;b&gt;marnanel&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;dwim: work is proceeding, but I realised I hadn&apos;t thought through the threading well enough, so I&apos;m busy fixing that. Hence the recent lack of pretty screenshots!&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=dwim&amp;ditemid=1855&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://dwim.dreamwidth.org/1855.html</comments>
  <category>dev</category>
  <category>ridequat</category>
  <lj:security>public</lj:security>
  <lj:poster>marnanel</lj:poster>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://dwim.dreamwidth.org/1604.html</guid>
  <pubDate>Thu, 31 Mar 2016 23:12:16 GMT</pubDate>
  <title>Tentative roadmap</title>
  <link>https://dwim.dreamwidth.org/1604.html</link>
  <description>Posted by: &lt;span lj:user=&apos;marnanel&apos; style=&apos;white-space: nowrap;&apos; class=&apos;ljuser&apos;&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/&apos;&gt;&lt;b&gt;marnanel&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a tentative list of dwim releases and the features that should go in them. I&apos;m not attaching any dates yet. What have I forgotten?&amp;nbsp;What should be in a different order?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;0.1 (Ridequat) &lt;br /&gt;&lt;/strong&gt;Login and logout of one account.&lt;br /&gt;View your own most recent entries.&lt;br /&gt;View your full /read page.&lt;br /&gt;Cuts are honoured.&lt;br /&gt;Nothing works offline.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;0.2 (Leesti)&lt;br /&gt;&lt;/strong&gt;Simple posting.&lt;br /&gt;Share to DW.&lt;br /&gt;Nothing works offline.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;0.3 (Zaonce)&lt;br /&gt;&lt;/strong&gt;Posting to communities.&lt;br /&gt;Choice of userpic on posting.&lt;br /&gt;Choice of tags on posting.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;0.4 (Heheng)&lt;/strong&gt;&lt;br /&gt;PleaseEdit userpics.&lt;br /&gt;Edit filters and circles.&lt;br /&gt;(Possibly: sync other users to Contacts)&lt;br /&gt;Edit tags.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;0.5 (Orrere)&lt;br /&gt;&lt;/strong&gt;Caching of incoming and outgoing posts.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;0.9 (Diso)&lt;br /&gt;&lt;/strong&gt;View profiles.&lt;br /&gt;Edit your own profile.&lt;br /&gt;Inbox and messages.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1.0 (Lave)&lt;/strong&gt;&lt;br /&gt;First full release.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=dwim&amp;ditemid=1604&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://dwim.dreamwidth.org/1604.html</comments>
  <category>roadmap</category>
  <lj:security>public</lj:security>
  <lj:poster>marnanel</lj:poster>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://dwim.dreamwidth.org/1289.html</guid>
  <pubDate>Sun, 21 Feb 2016 16:38:11 GMT</pubDate>
  <title>Model spec</title>
  <link>https://dwim.dreamwidth.org/1289.html</link>
  <description>Posted by: &lt;span lj:user=&apos;marnanel&apos; style=&apos;white-space: nowrap;&apos; class=&apos;ljuser&apos;&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/&apos;&gt;&lt;b&gt;marnanel&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here&apos;s a draft specification for the model in Dwim. It&apos;s written abstractly rather than WRT any particular implementation. There&apos;s a lot of functionality missing because this is only for the first iteration. Suggestions and comments are very welcome.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;class Fetcher&lt;/strong&gt;&lt;br /&gt;This fetches files over HTTP(S). It deals with caching according to the HTTP headers, and maintains the cache (including an upper limit on the cache&apos;s size).&lt;br /&gt;It also uses Shrinker to degrade incoming images.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;class Shrinker&lt;/strong&gt;&lt;br /&gt;This optionally scales incoiming and outgoing images down, to save space and bandwidth. It can be disabled in settings.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;class Dwlib&lt;/strong&gt;&lt;br /&gt;This fetches HTML from Dreamwidth using Fetcher, and returns results represented by various classes, given below.&lt;br /&gt;Its constructor requires the username of the account to log in with.&lt;br /&gt;It caches cookies and passwords for each known account.&lt;br /&gt;Any method, other than the login method and the constructor, can throw an exception if the cookies are unknown, stale, or rejected by the server.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;class Post&lt;/strong&gt;&lt;br /&gt;A post. It may be someone else&apos;s post, retrieved from the server; it may be this user&apos;s post, waiting to be sent as soon as we get back online; it may be a draft post.&lt;br /&gt;The class allows us to know only part of the information about the post, and to download other information about it as requested.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;class Timeline&lt;/strong&gt;&lt;br /&gt;A chronological series of posts-- a user&apos;s timeline, a reading page, or a community.&lt;br /&gt;Most Timelines represent the newest &amp;quot;n&amp;quot; posts for a particular timeline. But they can also represent posts made by a particular user in a particular month.&lt;br /&gt;There is a method to return the number of posts currently known.&lt;br /&gt;If you try to access posts beyond this number, the Timeline will attempt to fetch more.&lt;br /&gt;There is a method to retrieve all posts on a timeline made since the last fetch.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;class User&lt;br /&gt;&lt;/strong&gt;A user. This will only be rudimentary in the first iteration.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;class UserSet&lt;/strong&gt;&lt;br /&gt;A set of Users. Used for making filters and reading-circles.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=dwim&amp;ditemid=1289&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://dwim.dreamwidth.org/1289.html</comments>
  <category>mvc:model</category>
  <lj:security>public</lj:security>
  <lj:poster>marnanel</lj:poster>
  <lj:reply-count>2</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://dwim.dreamwidth.org/1025.html</guid>
  <pubDate>Thu, 21 Jan 2016 20:44:36 GMT</pubDate>
  <title>UX</title>
  <link>https://dwim.dreamwidth.org/1025.html</link>
  <description>Posted by: &lt;span lj:user=&apos;marnanel&apos; style=&apos;white-space: nowrap;&apos; class=&apos;ljuser&apos;&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/&apos;&gt;&lt;b&gt;marnanel&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, let&apos;s talk about UX. I&apos;m not any kind of expert on this stuff, so this is entirely handwavey, and I&apos;d especially welcome suggestions.&lt;br /&gt;&lt;br /&gt;What do people think about &lt;a href=&quot;https://en.wikipedia.org/wiki/Hamburger_button&quot;&gt;hamburger buttons&lt;/a&gt;? It would make design easier, but people say it&apos;s more confusing for users. Maybe it&apos;d be good at least for a first draft?&lt;br /&gt;&lt;br /&gt;It seems to me that the most important screens we have to be able to display are &lt;b&gt;timeline&lt;/b&gt; (which is both &quot;lastn&quot; and &quot;read&quot;) and &lt;b&gt;compose&lt;/b&gt; (which is &quot;new post&quot; and &quot;edit post&quot;). We&apos;ll need several others (change circle, choose reading group, view post without editing it, view comments, settings...) but those two seem to be the ones we really have to have.&lt;br /&gt;&lt;br /&gt;I have an idea that the Tumblr app has some good ideas we might be able to steal. Like this, perhaps:&lt;br /&gt;&lt;img src=&quot;http://i.imgur.com/MKfrv5Q.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;(Thanks to the two users who agreed to have their posts in that image)&lt;br /&gt;&lt;br /&gt;Thoughts?&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=dwim&amp;ditemid=1025&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://dwim.dreamwidth.org/1025.html</comments>
  <category>ux</category>
  <lj:security>public</lj:security>
  <lj:poster>marnanel</lj:poster>
  <lj:reply-count>14</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://dwim.dreamwidth.org/923.html</guid>
  <pubDate>Mon, 18 Jan 2016 19:39:52 GMT</pubDate>
  <title>Python implementation of the back end</title>
  <link>https://dwim.dreamwidth.org/923.html</link>
  <description>Posted by: &lt;span lj:user=&apos;marnanel&apos; style=&apos;white-space: nowrap;&apos; class=&apos;ljuser&apos;&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/&apos;&gt;&lt;b&gt;marnanel&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is an implementation of the back end of dwim in Python, so it can be tested easily.&lt;br /&gt;&lt;br /&gt;Early hacky draft. Handles login but nothing else. Suggestions etc welcome.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/tthurman/dwimpy&quot;&gt;https://github.com/tthurman/dwimpy&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=dwim&amp;ditemid=923&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://dwim.dreamwidth.org/923.html</comments>
  <category>dwimpy</category>
  <category>back end</category>
  <lj:security>public</lj:security>
  <lj:poster>marnanel</lj:poster>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://dwim.dreamwidth.org/739.html</guid>
  <pubDate>Wed, 13 Jan 2016 15:16:25 GMT</pubDate>
  <title>The back end</title>
  <link>https://dwim.dreamwidth.org/739.html</link>
  <description>Posted by: &lt;span lj:user=&apos;marnanel&apos; style=&apos;white-space: nowrap;&apos; class=&apos;ljuser&apos;&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/&apos;&gt;&lt;b&gt;marnanel&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The back end will have to work by scraping, for now. If it&apos;s properly modular, we can replace it if-and-when a usable API comes along. We should use scraping for everything and not a hybrid of scraping and teh old API: a new API would use a different protocol from the old one, so we don&apos;t gain much by using the old one in the meantime.&lt;/p&gt;There is a &lt;a href=&quot;http://jsoup.org/&quot;&gt;port of Beautiful Soup to Java&lt;/a&gt;, which will make the parsing much easier.&lt;br /&gt;&lt;br /&gt;Dealing with comments is a big question, and I think we can leave it until later iterations.&lt;br /&gt;&lt;br /&gt;Important things it must be able to do:&lt;ul&gt;&lt;li&gt;Log in, and store the cookies&lt;/li&gt;&lt;li&gt;Get lists of: your friends, your subscription and access filters, accounts in your circle&lt;/li&gt;&lt;li&gt;Read timelines of various kinds&lt;/li&gt;&lt;li&gt;Post entries&lt;/li&gt;&lt;/ul&gt;The timelines present a particularly interesting challenge. It&apos;s a shame that RSS/Atom feeds aren&apos;t a general solution because they&apos;re not available for /read pages. But we can request timelines in slices (?skip=...) and that will be enough.&lt;br /&gt;&lt;br /&gt;We should never try to download all the entries of any timeline. Instead, when the user gets to the bottom of a timeline, if we don&apos;t know whether there are more entries, we should check then. (Like the way the Tumblr and Facebook clients work.)&lt;br /&gt;&lt;br /&gt;I&apos;ve been toying with putting together a Python prototype of the back end. It would allow us to debug it more easily.&lt;br /&gt;&lt;br /&gt;Thoughts?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=dwim&amp;ditemid=739&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://dwim.dreamwidth.org/739.html</comments>
  <category>back end</category>
  <lj:security>public</lj:security>
  <lj:poster>marnanel</lj:poster>
  <lj:reply-count>0</lj:reply-count>
</item>
<item>
  <guid isPermaLink='true'>https://dwim.dreamwidth.org/297.html</guid>
  <pubDate>Wed, 13 Jan 2016 12:42:05 GMT</pubDate>
  <title>Welcome</title>
  <link>https://dwim.dreamwidth.org/297.html</link>
  <description>Posted by: &lt;span lj:user=&apos;marnanel&apos; style=&apos;white-space: nowrap;&apos; class=&apos;ljuser&apos;&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/profile&apos;&gt;&lt;img src=&apos;https://www.dreamwidth.org/img/silk/identity/user.png&apos; alt=&apos;[personal profile] &apos; width=&apos;17&apos; height=&apos;17&apos; style=&apos;vertical-align: text-bottom; border: 0; padding-right: 1px;&apos; /&gt;&lt;/a&gt;&lt;a href=&apos;https://marnanel.dreamwidth.org/&apos;&gt;&lt;b&gt;marnanel&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What?&lt;/b&gt; Dwim is (going to be) an Android client for Dreamwidth.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Why?&lt;/b&gt; A lot of people have been asking for this over the years. It hasn&apos;t happened because of DW&apos;s lack of workable API: the current API was inherited from LJ, and hasn&apos;t been updated to handle DW-specific features.&lt;br /&gt;&lt;br /&gt;I have experience here. When I first wrote Joule, LJ&apos;s API didn&apos;t support the search it needed. So it worked by scraping-- that is, requesting the pages as if it was a browser, and parsing the HTML directly. Dwim should work the same way. It&apos;s especially easy with DW, because you can request &lt;a href=&quot;https://dwim.dreamwidth.org/?style=light&quot;&gt;pages without any styling in the way&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How?&lt;/b&gt; I&apos;ve got a lot of ideas, but I&apos;m carefully not diving in to coding it before we&apos;ve talked about it here :) In particular we should discuss:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;the UI&lt;/li&gt;&lt;li&gt;how the back end will work&lt;/li&gt;&lt;li&gt;caching&lt;/li&gt;&lt;li&gt;whether and how we deal with posting while offline&lt;/li&gt;&lt;li&gt;what we&apos;re going to do about including images (especially for &amp;quot;share to DW&amp;quot;)&lt;/li&gt;&lt;li&gt;what toolkits would be appropriate&lt;/li&gt;&lt;li&gt;whether anyone wants to help with coding or design or documentation&lt;/li&gt;&lt;li&gt;a roadmap of what features should appear in each iteration&lt;/li&gt;&lt;/ul&gt;I don&apos;t know much about iOS development, so my horizons here are limited to Android. If anyone does, that&apos;ll be useful to know.&lt;br /&gt;&lt;br /&gt;I&apos;ll post more in the next couple of days as I write up my notes. Feel free to post and discuss too.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://www.dreamwidth.org/tools/commentcount?user=dwim&amp;ditemid=297&quot; width=&quot;30&quot; height=&quot;12&quot; alt=&quot;comment count unavailable&quot; style=&quot;vertical-align: middle;&quot;/&gt; comments</description>
  <comments>https://dwim.dreamwidth.org/297.html</comments>
  <category>overview</category>
  <lj:security>public</lj:security>
  <lj:poster>marnanel</lj:poster>
  <lj:reply-count>12</lj:reply-count>
</item>
</channel>
</rss>
