Chris Hannah

Now Is the Perfect Time for an RSS Renaissance

Ethan Grant:

That might sound silly today, in an era of centralized services (e.g. Facebook, Google) bombarding our inboxes, phones, and “feeds”. As privacy and security breaches make headlines, we clamor for a decentralized internet. But less than twenty years ago, the internet was decentralized, when the human cycle of individualism versus collectivism was perfectly aligned with divergent expression. We’ve now spent the past decade attempting to build the perfect centralized web, only to realize its many faults. The cycle continues.

It’s just one big cycle.

A small change that will simplify my blogging workflow

I finally bit the (very small) bullet and did a minuscule amount of editing to my blog’s theme, to make publishing from Ulysses much simpler.

I used to specify source urls for linked articles with a custom field named “external_link”. Previously this was fine, because I’d publish via Workflow on iOS, so I could specify this perfectly fine. However, although Ulysses have a section to add a title link, it will add it to a custom field named “linked_list_url”.

For a while, I’ve just been using the action to open the Editor, pasting the link in the web interface, and hitting publish. But I’ve now slightly modified my the code to search for either value, and use whichever is there.

In the grand scheme of things, it’s nothing. But it now means I can do all my blogging inside Ulysses. Of course not including editing posts, but I rarely do that anyway.

You’re Practically a Mac Developer

Brent Simmons:

Say you write an iOS app, and now you want to write the Mac version.

Assuming there’s a data model, maybe a database, some networking code, that kind of thing, then you can use that exact same code in your Mac app, quite likely without any changes whatsoever.

I agree with Brent here. I’ve never really understood the argument that AppKit is that difficult to understand, so that’s why people don’t port native apps over. Surely the underlying logic of the app is the hard part, and linking the functionality to the interface is the easier part?

I would say I’m more of an iOS developer, simply because I’ve spent more time on it. But I’ve also made a few Mac applications. Sure, a resizing window is a bit more complex than a relatively fixed screen size, and some the interface elements are names slightly differently.

It’s just different, for both sets of people. But not as difficult as it may seem.

A Big Phone

Matt Gemmell:

Like most people, my main computer is a phone.

That’s a big realisation. The device that’s always at hand, and is the first port of call for communication and entertainment and convenience, is your main computer. With the apps available now, there’s no meaningful distinction in utility between a phone and any other kind of device. Some tasks are easier and some are harder due to the form factor, but most tasks are possible — and having it permanently within reach is the mother of all advantages.

A common fact most people don’t realise. Most people can, and do, more things on their phone than they realise. Forget “Big Phone”, it’s more like “Small Computer”.

Downloading Your Instagram Data

Many people, including myself, are trying to move away from Facebook and their related apps/services. But before you delete any accounts, it’s obviously ideal if you can retrieve any data first.

With Instagram, you can request to download your data, and they’ll send a link where you can download all your images, videos, and stories.

You also get .json files for a lot of the associated data:

  • Profile
  • Comments
  • Connections
  • Likes
  • Messages
  • Searches
  • Settings

So they really do give you everything!

To download your data:

  • Go to the Instagram website.
  • Click on the profile icon in the top right.
  • Click on the Settings cog next to “Exit Profile”.
  • Choose “Privacy and Security”.
  • Scroll down to the “Data Download” section.
  • Click “Request Download”.

Instagram will then package up all your data, and send you an email with a link to the .zip archive.

Slate Development Log #6

It’s time for v0.2!

The second public version of Slate is on it’s way to all current beta testers. And it’s so much better than v0.1.

I’ve been doing a lot of refinement recently, to the way things are parsed, to even how images are cached, and how the views are dynamically built.

One major feature, that may not even seem impressive, is inline images. I removed this from the posts because they were causing the app to really slow down, due to the image downloading happening synchronously with the HTML parsing. However, I now extract these from the content, hide them from appearing in the main text, and then control them myself.

This allows me to set the layout depending on the number of images, and then load them asynchronously in the background.

They’re slightly styled at the moment, with rounded corners, and a background if they aren’t an exact square. But the next step is to maybe allow for a preference on preview sizes and also to be able to tap and view the image full screen.

Of course, this version also brings the new themes, which I wrote about in the last development log. And as I keep developing the app, I’m sure these will be fine-tuned.

If you want to be part of the beta, all I require is an email address to send the TestFlight invite to. Feel free to email me, or find me on Twitter or Micro.blog.

You can keep up to date with the development of Slate, in it’s own category.

Slate Development Log #5

Just a small update today. But Slate, now has three full themes!

You can choose from Light, Dark, and Black. And it changes live when you toggle between them!

I’ve noticed a few issues coming my image caching system, which is what I’ll be focusing on next. After that is sorted, I’ll have to get inline images working properly, which is the last thing I have planned for this beta build!

Just a reminder: The beta is completely open, and all I require is an email address to send the TestFlight invite. Feel free to email me, or find me on Twitter or Micro.blog.

#OpenWeb

Michael Rockwell, writer for Initial Charge, has come up with a fantastic new project, #OpenWeb:

I spent a few days over the past week working on a little project that’s been bouncing around in my head lately. I’ve wanted something like this to exist for years and with the skills I’ve obtained from Treehouse over the past several months, I thought it was finally time to build it myself. Today, I’d like to announce #OpenWeb.

The site aggregates headlines from independent publishers that focus on Apple products and software. It also serves as a directory of single-person weblogs within our community. Over the past few years, social networks have become less and less exciting to use and there have been some subtle indications that the open web is poised for a comeback. With Micro.blog, JSON Feed, the meteoric rise in podcasting, and the frustration that many of us have had with Twitter and Facebook — I think weblogs could be the next big thing.

The idea of a place to discover new bloggers, and to help push more independent writers (like myself), has always been something I’d liked to have.

There are 16 sources currently being fed into #OpenWeb, and I’m sure this will grow and be refined over time. But along with the combined feed of posts from these blogs, you can also find an .OPML file, which will allow you to add all of them to your RSS reader of your choice.

Obviously, I’m massively grateful that I was included as one of the sources! I’ll have to pay that back by trying to write better, and more often.

Check out #OpenWeb, and read Michael’s blog post introducing it.

Bringing Audio to Micro.blog with Wavelength

Manton Reece on the latest addition to Micro.blog:

We have something really big to announce today. Micro.blog now supports hosting short-form podcasts, also known as microcasts, with a companion iPhone app called Wavelength for recording, editing, and publishing episodes.

What a great idea!

The service is slowly growing in “clients”, with the official apps, Micro.blog, Sunlit, and now Wavelength, supporting three slightly different types of content. The Micro.blog app is it’s purest form, Sunlit is focussed on photo’s, and telling a story, while Wavelength is introducing audio to the mix.

I know I’m building a basic client for Micro.blog, but this may inspire other developers to try out new ideas with Micro.blog.

I’m a big fan of Manton’s Timetable, and the Micro Monday microcast, so it will be very interesting to hear what others come up with. I’m partially interested in making one myself!

Check out Micro.blog, the new Wavelength app, and also have a listen to Timetable, and Micro Monday.

Read the full announcement.

Slate Development Log #4

Over the past few days I did a bit more work on Slate. I must say, it doesn’t really get regular attention. But it’s still improving!

The main feature I’ve been working on is the support for themes. I previously laid the ground work for this, with the three options being light, dark, and true black.

The app was originally designed to have a dark theme, so the way I’m initially testing it, is by analysing the colours as I go, while having the theme preference set as the light theme. This way I get an obvious sign on what interface elements I’ve moved over to the new system. After the bulk is done, I can then fine tune the colours, and test every theme to make sure they’re perfect.

A benefit of trying to separate the formatting of interface elements, is that I’m making views more generic (I think I say this in very development log). But I want to get to a point where, every interface element e.g. a post in a table, someone’s profile, or just as generic as a text field, has an explicit style. So the actual main application logic will just be placing these already formatted interfaces, in the right sections, with the correct data.

I do already have a lot of this going on in the app, with the conversation list, list of a user’s following, and a few other things, all using the exact same view controller. All it needs is an array of any type of object, and then it just asks the CellFactory for a cell that will suit it, and then it presents it.

As you can see form the screen shot, the profile view is looking a bit odd at the minute. It’s a mix of the colours and layout I think. I will definitely need to do some work on this.

And, one thing I keep forgetting about. I still need to work on inline images. They don’t actually appear at all at the minute, so it’s not even in a usable state for just reading Micro.blog!

It’s getting better though! Unfortunately, I’m just doing it a bit slowly.