Hoppa till innehåll

Etikett: Ubuntu Touch

Music App update – Sep 25th.

And so we have less then a month to go before Music 1.0 should(/will) be released.
Oh, and there is a lot that’s happening!


  • Mediascanner (Victor Thompson)

  • Arguments (Daniel Holm)

  • Reorder items (Andrew Hayzen)

  • Move from Dialogs to Sheets (Daniel Holm)

    • Settings

    • Add to playlist

  • Empty states when there is no music on device (Andrew Hayzen)

  • Updates to Playlist database to support new meta data. (Victor Thompson)

  • Added genres. (Victor Thompson)

  • Some code clean up.

Bugs fixed:

  • Width issues with items in the new sheets.

  • Only one track will be removed from a playlist, if it contains more then one with the same title. (Daniel Holm)

  • Toolbar missing in Playlists tab. (Daniel Holm)

  • Removal of a lot of error output. (Daniel Holm)

  • DB access errors. (Victor Thompson)

  • Music not supporting URLs. (Daniel Holm)

  • Reorder not working as it should in playlist. (Andrew Hayzen)

We don’t longer scan your music collection ourselves. Instead we depend on mediascanner which is a new system service that keeps your music library up to date, and searchable using Dash. Victor worked really hard on making this come true.
Click on a track from Unity and Music will play it. Also added a debug argument that will be used to show more output as well as a reset button for all settings and playlists. Used while developing.
Together with the new UI/UX and mediscanner service, Victor submitted patches upstream to add support for genres, which are now shown in first tab of Music. Press Rock and there will be rock, and only, roll.
Since there is no support for drag and drop in Ubuntu SDK, Andrew worked hard on bringing us support for that together with the swipe-to-delete. Now you can press-and-hold a track in, e.g., the queue and move it up or down.

The Future

So, as I was saying we have until the 17th October to finish Music and release 1.0. We had three large changes to do:

1. Use Mediascanner – which is now DONE.

2. Integrate the new UI/UX – INPROGRESS.

3. Make it play music, even when the screen is off – TODO.

So we will keep up with landing new design changes – it will be beautiful! – and we have just started to talk about how to work with the powered system so that we can keep playing music when screen off/app not focused.

As always, I am optimistic: we will get there. Music is already in the daily images, together with the mediascanner. Give it a go, since we will do a lot of polishing the upcoming weeks: report bugs, thank you.

2 kommentarer

Music App update – Sep 8th. 100th rev and v 0.6!

Happy 100th revision! For me this is truly a milestone. I mean, 100 revisions since Music was just a basic UI concept. Now look at it. It plays music, sorts tracks by artist, album, has playlist support, shows cover art, seeks and starts to look pretty darn good.

We celebrate by giving you Music 0.6!



  • HUD support (Daniel Holm)

  • New app icon (Sam Hewitt)

  • New album view (Victor Thompson)

  • New artist view (Victor Thompson)

  • New first page with last played and genres (Victor Thompson)

  • New Add to playlist page (Daniel Holm)

  • Playlists now shows number of tracks (Daniel Holm)

  • Currently played track is highlighted all over the app. (Andrew Hayzen)

  • Animation when jump to next track. (Andrew Hayzen)

  • Clicking on a track bring the user to the queue. (Victor Thompson)

  • Merged together Queue with Now Playing, which has become the central part of the app (Andrew Hayzen)

  • Swipe to delete (Andrew Hayzen)

  • Adding apparmor manifest for when running confined. (Sergio Schvezov)

  • Updated Autopilot to (Victor Thompson):

    • Test Next song.

    • Test Use Oggs.


Bugs fixed:

  • Fix when adding item to queue from album page that album data does not
    appear in the play queue. (Andrew Hayzen)

  • Playlist Null property (Andrew Hayzen)

  • Play Queue cache (Andrew Hayzen)

  • Add to queue album page (Andrew Hayzen)

  • Fix location of added music content (Victor Thompson)

  • Debian fix common folder (Andrew Hayzen)


New Queue - Now Playing

Victor has made a lot of progress with integrating the new Mediascanner (which will be system wide in Ubuntu) into Music. Packages for using it – together with Grilo QML bindings – are landing in the Core Apps PPA. This is one of the most heavy (important) things that will have to be done by the time of 1.0 release.

The UI/UX is undergoing a real facelift to look like Lisette Ledgers design: http://design.canonical.com/2013/08/music-app-focus-on-the-content/

The focus is on the content with the Queue now playing a central role. The new design are coming a long nicely with both large and small fixes coming in continuously.

The main theme of the discussion me, Victor and Andrew right now is the Toolbar and the expanded listitems, which will make a lot of change.

We are also awaiting the API to make the app stay awake (keep playing music) after screen off.

So there you have it. The changes to and the release of Music 0.6.

There’s still a lot that needs to be done for 1.0 in October, but we’ll get there.

Kommentarer är stängda

Quiz App Update, 24th aug.

Hi all,
Back from a lot of work and studying for an exam. Back to my app submissions to the Ubuntu App Showdown.
The Quiz app, which I’ve written about earlier, is coming along nicely. Yesterday and today, I’ve been working on rebuilding some of the backend. Previously Quiz was only able to add a question, with an answer, and then list all of the questions, and if you wanted to answer a question you had to write it down. Then I added four buttons, one which contained the correct answer – no need to type it yourself.
Now, I removed those old buttons, updated the tables for the questions database so that you can add alternatives to your question, and each of them (max four, min two) gets an old button automagically since I’ve rebuild the backend to use ListModels instead of manually doing it. Each alternative is saved in an array, foreach.append to ListModel = done!
Result is found in the images above. I just need to deactivate all of the buttons when one alternative is pressed, instead of just the one that got pressed. Also the alternatives will be in a random order later on.
Later on I will create a way for the app to download new questions from a server, and also bundle the app with some inital questions. Untill then you have to add your own.

Kommentarer är stängda

First Ubuntu App Showdown submission: Quiz

Quiz is a quiz game, simply. But not really as simple as a simple quiz game.The idea is quite large, which actually makes me wounder if I should just make it simple now, and to make it bigger later on.

The idea is that you can use Quiz for two main reasons:

1. To learn: You can add any kind of question you like, and then use it to learn my answering your own questions. I’m currently reading a book about pretty much everything, and I add thinks like years, scientists, definitions and elements.

2. Game: Challenge your friends either by your own quiz, or by already submitted. That brings be to the much bigger thing: infrastructure. I will have to write a web back-end for users to authenticate and submit questions – and most importantly: make it safe.

So this first update is just to bring you up to speed: You can add your own questions, and you can answer them.

Next step will be to add a function do add alternative answers and returning these as buttons for the users, instead of a text field, which will have to be answered exactly.

Kommentarer är stängda

Music App update – July 15th.

It’s been a while since the last update, but there haven’t been any real news or updates – until now(!).

Today there where a lot that got merged into trunk, and therefore is coming to a PPA near you.



  • Removed the ability to chose your own music directory. Instead using default: ~/Music (Victor Thompson)

  • For Ubuntu Hackfest, make Music scan ~/Music on each start up. (Victor Thompson)

  • Placeholder for cover art in Now Playing toolbar. (Victor Thompson)

  • Initial playlist support. (Daniel Holm)

    • Create/edit/remove playlist.

    • Add track to playlist.

    • Show playlists in Playlist tab.

  • Popover. (Daniel Holm)

    • Press and hold playlist to either edit or remove it.

    • Press and hold track to add to playlist or queue it.

  • Debug (Daniel Holm)

    • New function that’s makes it easy to shut debugging of for later.

  • Library. (Andrew Hayzen)

    • A limit has been introduced into the buffer to stop large memory allocations.

    • Performance tweaks so database is written in a single transaction.

  • Ability to seek on the Now Playing view. (Andrew Hayzen)

  • New icons. (Lucas Romero Di Benedetto)

    • Default album/cover art missing.

    • Last.fm

    • Playlist

    • Music Directory


Bugs resolved

  • Buttons in queue dialog being too far down.

  • Playlist dialog not showing up.



Last week Ubuntu Hackfest started off and day two treated the Music app.

I (Daniel) worked on the playlist support, which landed in trunk today. Although you aren’t yet able to actually play, or show any of the tracks in them, they work.

Andrew Hayzen helped a lot with the scanning of the music dir. He first proposed a branch that shortened the scanning process a LOT! Then he helped trying to resolve the UI lockup during scanning by introducing limit to the buffer.


Design meetings

During one of the past design meetings we decided to pretty much put the UI on hold, since we haven’t yet decided how the app will look like, exactly. However, we still do some change, like icons and annoying bugs, but there will be no large changes and I hope you all can bare with us until the UI is decided – and Lisette Slegers and Lucas have some really good ideas coming our way: It will be gorgeous!


Whats next?

Well, quite much.

  • Victor and I will take a look on how to switch from the current tracklist playing, to the chosen playlist.

  • I will move the remove the queue dialog and move the queue list to the Playlist tab.

  • I will continue to work on scrobble support, which is not yet done – and together with that, we will get a new way of downloading and using missing cover art.

  • Some nice new icons will land by Lucas.

  • Micah Losli is working on the bug that when shuffling is activated, wrong track info is showing for the currently playing track.

  • Probably much more, which I don’t yet know of.

Kommentarer är stängda

How to create a simple web app for Ubuntu Touch.

DEPRECATED – It is now far easier to create a web app using the Ubuntu SDK.

So I’ve started to create some really simple applications for Ubuntu Touch by using already existing web pages that are optimized for touch devices and smart phones, and then open them in the default web browser, but as separate windows.

This guide will go through creating a simple launcher and package it for your device.

What you need before we start is a working development and package environment, so read this:

  • Some knowledge of the terminal.

  • If you later want to upload to Launchpad for a PPA, read and follow this:

    • http://developer.ubuntu.com/packaging/html/getting-set-up.html

  • You then also need a PPA, of course. I’m using ppa:danielholm/touch-apps for this.

We are going to use a simple desktop file that launches and points a URL that Ubuntu Touch’s

browser opens as it’s own application. You get one of your favorite web sites as an app and you get HUD support for free.

Then we add the package stuff, and download an icon to use; build and then done!

And if you also upload your app to a PPA, others will enjoy it as well.

Later, I will stop using Debian packages for these kind of apps, since I figure that the new Click packages is being developed just to be used for applications like these.

Alright, so let’s get going. I’m going to use Wikipedia as an example for this.

If you already know the URL of the mobile adapted web site, use that.

For example, Wikipedia has: http://m.wikipedia.com

1. Download the archive, which contains a template and packaging files: http://ubuntuone.com/4cP0vdGTMd8LsWjru4cTya
If you already know that you don’t want to create a package and upload to an PPA, use the .desktop template: http://ubuntuone.com/2EeECluBvimv1KkcDCDoQv

2. Edit wikipedia.desktop and change the values of ”Name”, ”Icon”, and the URL in ”Command”.
Name: The one that will show in Unity. I’ll use “Wikipedia”
Icon: Path of the icon you want to use.
Command: Replace only the URL. The browser handles the rest.

3. Save it, and change the filename to your new app’s name. I’ll use wikipedia.desktop
(be sure that this file is executable! (chmod +x))

4. Open the Debian directory and open postinst. This file will be run after initial install of the package files, and will here be used to download the icon that will be used. I’m using it this way so that I can redistribute the launcher without any copyright infringement. You simple take the URL of an icon/image you want to use, and replace the one in the file. Then change the filename that the downloaded file is saved as, as well as the app directory. I’ll use the Wikipedia icon from Play Store: https://lh6.ggpht.com/-Eq7SGa8CVtZCQPXmnux59sebPPU04j1gak4ppkMVboUMQ_ucceGCHrC1wtqfqyByg=w78-h78

5. Each of these files has to be edited (in debian/). Replace all Wikipedia stuff with your own app name and info.

  • changelog

  • control

  • copyright

  • install

6. When all the files [that needs to] has been edited, it’s time to imitate some version control in your working dir, using bzr:

$ bzr init

7. Then add the files in the dir:

$ bzr add

8. Lastly create a commit with a appropriate message:

$ bzr commit -m ”Initial commit.”

9. Time to get building! In your working dir, run:

$ bzr builddeb -S

This creates the needed files to upload and create packages in the PPA, which we’ll upload:
(this is to my PPA. You have to use your own)

dput ppa:danielholm/touch-apps wikipedia_0.1_source.changes

10. After a while you package will be ready to apt-get (after you’ve added your PPA, of course).

Enjoy your app, and to please share it.

I set up a recipe to build my packages automagically (yes, magic) every night – if there is a change – in launchpad. If you use this, you don’t have to upload your own packages, and you just need to upload your code to Launchpad.

Since my apps aren’t from anywhere else, I removed the upstream version in my recipe, and replaced it with my own version number, in this case “0.1”. There’s probably a better way of doing that, but I leave that for others to resolve.

Kommentarer är stängda

Music App update – June 19th.

This is the first update of the Music app in the Ubuntu Core apps project – the official Music application of Ubuntu Touch.

At the time it’s been me (Daniel Holm) and Victor Thompson that’s been developing the application for a couple of weeks now.

Victor has put in some really good work to populate the library of meta data of each track in the users music directory, and then show the results in the app. This had to be done, due to that it’s hard to extract meta data of each and every track on each start up. Instead the music directory is scanned on first run and each tracks meta data is saved in a database, which is used later to create each of the tabs now used:

  • Music – Contains each seperate track in music dir.
  • Artists – Not done yet, but will show each artist.
  • Albums – Shows coverart (those who have) of each album in music dir.
  • Playlist – not done yet. More on that later.

The function to populate the library was quite hard to do in a QML way. We made a move to Nemo.FolderListModel(), which Victor sumbitted some changes upstream to.
Victor also has worked out the shuffle function so that works. Also the Now Playing dialog together with the ability to swipe for next/previous track.

This past week I’ve been working on integrating some of Lucas’ ideas about the UI, together with integrating scrobble support and support for Playlists:

  • We now use tabs (might switch to a nother way later on)
  • Some inital code to support scrobble support to Last.fm (not yet complete, so it doesn’t yet scrobble).
  • Tab, functions and database for playlists. Will include import playlist files, that the user already has.


Lucas yesterday submitted a demo of his thoughts of how the Music app should work:


Music 0.3 just landed in trunk and the package should be in the Core Apps PPA later tonight. Altough Victor’s upstream changes has not yet landed in Nemo.FolderListModel(), which unfortunately makes it unable to run before you got the latest changes. But a PPA package for that is under way.

Kommentarer är stängda

Minecraft och QML.

Jag började för ca ett år sedan att spela Minecraft. Initialt var jag inte så imponerad när jag såg spelet, men när jag köpte det, och testade det; när man febrilt grävde sin första gruvöppning med en blomma nattetid, med alla mobs som ständigt tog kål på en: då var jag fast.

Sedan dess har jag och några vänner haft en egen server, som kör Ubuntu och administeras över SSH. Vi använder Overviewer för att se en kart över vår vackra skapelse och spelar någon gång i veckan. Minecraft är som lego för mig – ingen ände på vad man kan göra – än mindre när det kommer till Redstone.

Hur som helst så har vi blivit allt fler, och det är nästan alltid någon inne, och jag, mfl., har behovet att kolla så att servern är uppe och fungerar, samt att det är kul att se vad det pratas om, samt vilka som är inne. Jag kunde lätt göra det eftersom jag har direktkontroll över servern med SSH, plus att vi kör med MSM för att administera Minecraft-servern. Men jag ville gå steget längre.

Därför satte jag igång och började koda på ett WebUI för msm. Alltså en hemsida man kan gå in på för att kunna ha lite kontroll på vår server. Egentligen mest för att utmana mig själv, och för att det är kul att koda. Sedan ville jag även ta steget till att skapa en mobil-applikation, och eftersom jag är mest intresserad av kommande Ubuntu Touch så fick det bli en app till det: mstm – Minecraft Server Touch Manager.

Det är faktiskt fruktansvärt lätt att komma igång med QML i QtCreator. Det som jag hade – eller har – problem med var att jag ville kunna utföra kommandon direkt från applikationen – vilket skulle kräva att jag skulle få skriva en extension till Qt i C++, vilket jag inte kan. Så istället gjorde jag om min msmwebui för att visa den info jag söker i XML, vilket jag sedan hämtar in i applikationen. Dessutom visar den vår karta.

Dock är ju denna kod väldigt anpassad för mina egna ändamål, men jag har tänkt att släppa koden fri efter att jag har anpassat den nog för att man själv ska kunna förstå sig på den, och inget finns kvar av den info som endast gäller mina egna servrar.

För att få det at funka nu så krävs det att man har en webbserver, msm, overviewer installerat och uppe. Sedan ska man skapa SSH-nycklar m.m. Så det kommer.

Kul är det!

Kommentarer är stängda