Deprecated: Return type of I::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 62

Deprecated: Return type of I::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 91

Deprecated: Return type of I::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 71

Deprecated: Return type of I::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 101

Deprecated: Return type of I::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/i.php on line 53

Deprecated: Return type of Collection::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/public/kirby/toolkit/lib/collection.php on line 80

Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/public/kirby/toolkit/lib/url.php on line 135
One Tap Less | Searching the App Store in Editorial

Searching the App Store in Editorial

There are many workflows to search the App Store on Editorial, SearchLink, by Brett Terpstra, has been ported to the platform and allows you to search many other places as well. All I needed was really a good and flexible App Store search. At first, I built one without a custom UI to test if I could do it and was fairly easy since I based it on SearchLink's bit for iTunes. Then I decided to build an interface for it and things, as always, got tricky.

I'm a very weird workflow builder, I must admit. I'd rather build everything into a single Python script rather than appeal to multiple steps or the Interface Builder. The ladder is definitely something I can't get my head around since I find it easier to see everything at the same place. Of course, this generates a wall of code, but it is fairly easy.

I believe that visualizing your whole structure as code helps when you're developing the actions for the your views. The core of this workflow is the TextView and the TableView since I knew both would require the use of features I haven't touched yet: custom delegates and the ListDataSource helper.

We delegate twice, when you tap Return in the search field it triggers an App Store search, the output generates the content of the TableView, then when you select an item it also delegates the link generation.

What we need the most when it comes to Editorial's ui module right now are good examples and I think this one can definitely help you by uncomplicating such views. This second time I didn't even request for Ole's1 help, so I may be getting better at this.

You can get the workflow here.


  1. When I asked on Twitter it was about an undocumented function I found out minutes later to activate a TextView after loading. If you pay close attention to the docs (and I definitely read those in a regular basis), you'll find a textview.end_editing() function. Two tries and I found the begin_editing() as well.