Posts Tagged ‘app-development’
Introducing StackBrowser (and random thoughts on the new Ubuntu SDK)
StackBrowser
If you follow me on Google+, you already know about this, but it seems like it’s time to introduce this to a larger audience. Mostly an excuse to play with the new Ubuntu SDK, I’ve created StackBrowser. It allows you to explore the StackExchange network natively on Ubuntu Touch. It’s written in pure QML/ JavaScript.
Currently you can:
- Browse and view recent questions
- Search questions by tag
- Browse, search, and view users
The roadmap for future releases includes a “convergence” layout (i.e tablet/desktop view) and accessing your global inbox.
StackBrowser is available in the Ubuntu Touch Software Center. It can be tested on a 13.10 Ubuntu desktop system, or on earlier releases if you have the SDK installed, by grabbing its source from Launchpad:
bzr branch lp:stackbrowser
cd stackbrowser
qmlscene stackbrowser.qml
You can of course report bugs there as well.
Some random thoughts on the SDK and Ubuntu Touch apps
- I’ve enjoyed working with Qml for the most part. It’s really quick and painless to build a nice UI. StackBrowser, admittedly not a very complex app, was built in a hour here and an hour there over the course of just a few days.
- Though I think that I’ve still got a lot of learning to do about the “Qml way,” if such a thing exists. I guess maybe the term I’m looking for is “declarative nature.”
- I’d much rather write code in Python than JavaScript. Hopefully that will be possible.
- Relatedly, it feels like once an app becomes sufficiently ambitious, you need to use C++.
- There are some very simple things you can’t do in Qml/JS like write a file to disk.
- There are places where there are strange holes in what you can do with Qml. For instance, you can take pictures, record video, and play media all using pure QML. Yet, I can’t find any way to record audio with just QML. Maybe I’m missing something?
- I’ve got an idea for a location aware app, but I’ve found the docs to be very wanting.
- There’s a lot of great work going on in the core apps project, and it is very much a community effort.
- The focus right now seems to be on the velocity of the development, but I’d like to see the core apps project become a more cohesive project (i.e. run more like say GNOME or KDE) and more integrated into Ubuntu governance.
- I miss the larger collection of standard widgets available in Gtk.
- Relate to the two above points, I’ve noticed a couple place where some core apps have different implementations of the same thing (e.g. location selection) with different visual styles and different behaviors.
- Maybe it’s just because most of my contributions to free software have been packaging things for Debian and Ubuntu, but the fact that people are being encouraged to bundle dependencies in click packages make me feel dirty.
- That said, just clicking a button in QtCreator and attaching the result to a webform was extremely simple.
- My app was available to install just a few hours after submission. Wonder how that will scale?
Wow, that was a bit stream of conscience like…
Introducing Bug 2 Trello
For some time now, I’ve been using Trello to organize my free software contributions. My main use is to give me a cross-project view of what I’m working on. As most of my contributions stem from packaging software for Debian and Ubuntu, I end up working on and following bugs across many different hosting projects (e.g. Launchpad, Debian’s BTS, GitHub). Each does a decent job (some better than others) of displaying and prioritizing issues within a certain project. Though a bug that is critical in a project that I’m only tangentially interested in might be a lower priority from me personally than a wishlist issue in a different project. So Trello has been extremely helpful in giving me a global view of how I should be spending my limited time across projects. Though putting information from all of these different places into Trello can be tedious…
So that’s why I created Bug 2 Trello, a Chrome extension to add bugs/issues to a Trello board.
It currently supports Launchpad, GitHub, SourceForge, Google Code, BitBucket, and Debian’s BTS. There is also support for some Bugzilla instances. This support currently requires that the JSON-RPC interface is available. It is known to work with with Wikimedia, Mozilla, KDE, Apache, and Redhat. It is known not to work with GNOME, Kernel.org, and Novell.
- Install it from the Chrome Store: https://chrome.google.com/webstore/detail/bug2trello/aomnoofmdnaccffobkddehcmdihggcke
- Report bugs: https://github.com/andrewsomething/bug2trello/issues
- Grab the code:
git clone git://github.com/andrewsomething/bug2trello.git
Bug 2 Trello is licensed under the MIT License.
Introducing TypeCatcher
After helping to review applications for the Ubuntu App Showdown, I had the urge to take another look at the state of quickly, Ubuntu’s quick starter for app development. So here we have TypeCatcher. It allows you to search, browse, and download Google webfonts for off-line use. You can preview fonts with adjustable size and text.
It was mostly written in one Sunday afternoon a few months back. Though I put it aside for awhile, mostly out of my inability to come up with a name for it. The delay did allow me to flesh it out a bit. For the most part I was quite happy with quickly. The templates really do get you up and running fast. Though as I’m extremely comfortable with both bzr and Debian packaging, I didn’t really employ its ability to hide those parts from users.
(As a side note, on place where quickly fell a bit short for me was renaming the project. Sometimes you just want to start hacking and then think about naming later, but quickly uses your project name in file names and classes all over the place. It would be nice to bake project renaming into its UI. There is already a bug report about this on Launchpad including a renaming script in the comments.)
After dogfooding the app writing tools, I think I’ll probably test the submission process for the Ubuntu Extras repository as well. For now though, you can install it for Ubuntu 12.10 from my PPA:
sudo add-apt-repository ppa:andrewsomething/typecatcher sudo apt-get update && sudo apt-get install typecatcher
You can also grab the source from bzr on Launchpad:
bzr branch lp:typecatcher
Bugs and feature requests welcome there as well.
And of course, who doesn’t love screenshots: