FeedSpider Dev Blog: End to end (basic) functionality!

The past two and a half weeks have been very busy, FeedSpider-wise. The app now successfully allows you to go all the way from login to pulling up an article! I even got it running on a Touchpad to celebrate webOS’s birthday on the 6th.

In addition, most of the preferences are now wired in, and you can move between folders, feeds, and articles, and mark articles read and unread, starred and unstarred. Next is a matter of filling in all of the gaps and wiring a bunch of stuff in, and adding a few odds and ends that I haven’t gotten to yet, such as adding subscriptions, and handling sharing.

My earlier prediction panned out and much of my time has gone into building the UI. The core logic has continued to port relatively easily. I don’t think that I’ve touched the API layer at all. So far, much of the work has been fiddly and time consuming (in the sense of make minor UI change, refresh, check, repeat until satisfied), but not that difficult.

The two biggest remaining challenges that I have identified are working with OAuth, and figuring out a better way to handle the folder, feed, and article lists, so that I can do it properly using dividers. Based on the reading that I’ve been doing, I think that I may be stuck writing my own custom kind to add swipeable behaviours to an enyo.Repeater, as what I’m doing is a little complex for enyo.List.

If progress continues the way that it has been, I’m hoping to have something that I can begin testing on real hardware soon, and maybe a beta shortly after that.

Anyways, on to the screenshots. I typically find myself posting a new one almost every day on twitter, so if you want to keep up on the bleeding edge, check it out at twitter.com/feedspiderapp.

feedspider-enyo4

By June 5th, I had finished my re-design of the main page, and was successfully loading the list of feeds from the server, separating them into feeds and folders, and properly displaying their unread counts.

feedspider-enyo5

After a weekend away, I next worked on the preferences page. The Mojo-style groupbox does not exist in Enyo, and as I wasn’t too fond of the Enyo version, I rolled my own. This is the prototype.

feedspider-enyo6

By the next day, I had mostly finished wiring up the preferences page, except for dealing with a little UI bug, which I tackled the next afternoon. It caused my my custom picker headers to not have their width (100%) set correctly if they were invisible/hidden when the page was rendered. The calculation was made based on the width of the page rather than the width of the containing object, like it should have been. I wound up fixing it by manually setting the width when they were made visible, basing the calculation on the width of the other objects in the groupbox.

feedspider-enyo7

The next day, the Internet was out in the morning, so I finished up the help page – one of the few things available that didn’t need Internet access in order to fetch data.

feedspider-enyo8

When the Internet came back on, I got the list of feeds to notify the user about working, finally completing the Preferences page.

feedspider-enyo9

This week, I worked on getting the rest of the way from login to making an article available, getting the folder view working…

feedspider-enyo10

… and the Feed view, which required some new Kinds to represent the individual articles (as well as some more fiddling with the UI).

feedspider-enyo11By Wednesday, I had the article view laid out and properly displaying (although at this point none of the buttons work on this page).

feedspider-enyo12Yesterday saw the re-introduction of theming (which was a lot easier than I expected) as well as the ability to change the font size in the article view.

feedspider-enyo13

And today, I got the buttons in the article view wired up and working.

Next up, I need to get the sharing options working on the article page, and then on to dealing with the way that the folder, feed and article lists are handled. I also need to make a point of updating this blog more frequently. This is one big info dump!

Leave a Reply

Your email address will not be published. Required fields are marked *