With my tongue slightly in cheek and with the news that sheds(!) are now firmly back in fashion, I wanted to mention a growing trend in the tech world - that of fiddling, customising and tweaking. Of devices, of their firmware and of their software. It's all huge fun, of course, but if you want to keep your life on track and blood pressure down then I'd suggest having a second, fallback device, also synced to everything you know and love...
The packages depending on them were also removed to avoid broken dependency chains and non-installable packages. Should the original authors or new maintainers decide to update the packages to the current version of Qt, the sources will remain available through the source repositories.
Note that this deprecation does not affect the libqt4-maemo5 package, which is part of Qt4.6 in PR1.2+. The next step in the Qt transition process is the upload of QtMobility packages for Qt4.7 (libqt4-experimental-*) into extras-devel.
The N8 has it and now, so does the N900 – bluetooth mouse is a go thanks to the efforts of azerty1 who’s even put together a video to show it off. The N900 doesn’t have the bluetooth HID profile that allows for using a bluetooth mouse enable by default, so doing that and the other tasks needed to get the setup up and running is a bit of work, but if TV + Keyboard + Mouse is your thing, its time to hack away.
You can find detailed instructions of the first post in this thread. Oh yes, easy Debian is suddenly now much easier to use.
Similar Posts:
- N900 Can Run – Android, Win NT 4.0, Win 3.11, Win 95, Win 98, Debian & Mer
- The Nokia N8 Supports Bluetooth Mice – But Nokia Won’t Highlight It
- Bluetooth Mouse On A Smartphone!
- Turn Your N900 Into A PS3 Controller & More With BlueMaemo
- Had To Be Said: The N8 Is Awesome
So … what is involved in a “simple change” like what I wrote about yesterday?
First you add support for annotating the domain specific index in the ontology files. This is straight forward as we of course have a generic Turtle parser, and it’s just a matter of adding properties to certain classes, and filling the values from the ontology in in the instances in our in-memory representation of the ontology. You of course also need to change the CREATE-TABLE statements. Trivial.
Then you implement detecting changes in the ontology. And more complex; coping with the changes. This means doing ALTER on the SQL tables. You also need to copy from the InformationElement table to the MusicPiece table (I’m using MusicPiece to clarify, it’s of course generic) in case of such a domain specific index being added during an ontology change, and put an implicit index on the column. After all, that index is why we’re doing this.
I finished those two yesterday. I have not finished detecting a deletion of a domain specifix index yet. That will have to ALTER the table with a DROP of the column. The most difficult here is detecting the deletion itself. We don’t yet have any code to diff on multivalue properties in the ontology (the ontology is a collection of RDF statements like everything else, describing itself).
Today I finished writing copy values to the MusicPiece table’s mirror column
Next few days will be about adapting the SPARQL engine and of course coping with a deletion of a domain specific index. And then testing, and again testing. Mind that this has to work from a journal replay situation too. In which case no ontology is involved (it’s all stored in the history of the persistent journal).
Where’s my Redbull? Ah, waiting for me in the fridge. Good!
Anssi Vanjoki, marking his first day as Nokia's Head of Mobile Solutions, and in the face of recent widespread criticism of Nokia's high end device performance and strategy, has come out with some hard hitting statements in a feature on Nokia's Conversations blog. He underlines the importance of Symbian for Nokia, suggests that a Symbian^4 powered Nseries device is 'a very strong possibility', says that, for consumers, MeeGo will mean having 'true computing power in your pocket' and that MeeGo gives Nokia the ability 'to take mobile technology beyond the smartphone'. Read on for further details.
“Anyone to lazy to read the following blog post short story is the grass is not greener on the other side and I’m going to be using my N900 in connection with several devices now.”
This is something that concerns me quite a lot, and I'm extremely happy to see it move forward.
I would like to urge anyone interested to subscribe to the mailing list and help take part in the discussions over the coming weeks.
A few days ago, I took the risk of setting off alarm bells on the GNOME developer training sessions planned for GUADEC this year. It was a risk, and comments from the naysayers reminded me that it’s easier to do nothing than it is to take a risk. I’m happy to say that the risk paid off.
Thanks to all who spread the word, a couple of prospects I was aware of confirmed their presence on the course, and I received a new group booking. The training is now feasible, and we are confirming that it will happen. There is still room on the course, and I expect to sell a few more spots in the coming days.
I did get one interesting suggestion in a Twitter reply to the announcement, and I’ve adopted it. If you are interested in attending one or two of the modules (say, community processes and the GNOME platform overview, but not the practical session or Linux developer tools), you can do so for the much lower price of €400 per module and €750 for two modules, not including a GUADEC registration.
Anyone who would like to avail of this offer, please contact me, and we will take care of getting you signed up.
Thank you all for your help and support!
http://blogs.gnome.org/bolsh/2010/06/28/gnome-developer-training-in-danger/Friday afternoon me and Estobuntu guys started driving from Tallinn towards Tampere. Unfortunately we didn’t have amphibious vehicle at our disposal so we had to take a boat to cross Gulf of Finland. We arrived here around 9pm – luckily there was some free beer left!
Now the first day of Akademy 2010 conference is slowly coming to an end. There has been dozens interesting and useful lectures. Several Free Software projects are represented – KDE, Maemo, MeeGo, Qt and so on. Salmon for lunch was great, altough it could have been free!
Flickr photo stream has great pictures of the event. In the evening there is going to be a party – hopefully with free beer!
UPDATE:
On monday I took a test and I passed it – I am now Nokia Certified Qt Developer. All the conference attendees could have it for free.
SQLite’s WAL
SQLite is working on WAL, which stands for Write Ahead Logging.
The new logging technique means that we can probably keep read statements open for multiple processes. It’s not full MVCC yet as writes are still not doable simultaneously. But in our use-case is reading with multiple processes vastly more important anyway.
We’re investigating WAL mode of SQLite thoroughly these next few days. Jürg is working most on this at the moment. If WAL is fit for our purpose then we’ll probably also start developing a direct-access library that’ll allow your process to connect directly with our SQLite database, avoiding any form of IPC.
Adrien‘s FD-passing is in master, though. And it’s performing quite well!
We’re thrilled that SQLite’s team is taking this direction with WAL. Very awesome guys!
Domain specific indexes
Yesterday I worked on support for deleting a domain specific index from the ontology. Because SQLite doesn’t support dropping a column with its ALTER support, I had to do it by renaming the original table, recreating the table without the mirror column, and then copying the data from the renamed table. And finally dropping the renamed table. It’s nasty, but it works. I think SQLite should just add DROP COLUMN to ALTER. Why is this so hard to add?
I finally got it working, now it must of course be tested and then again tested.
Next for the feature is adapting the SPARQL engine to start using the indexed mirror column and produce better performing SQL queries.
SomaFM is a streaming radio with near 16 different channels, available for free. Even if it’s possible to copy-paste their streaming URLs to N900 Media Player, we (me and Lorenzo Bettini) decided to create a custom application, to make channels switching easier for the end user and to be able to add more features. We decided to take advantage of the new Nokia SDK and write the application in Qt/C++. Source code is available on Gitorious and it’s always updated with latest version we’re working on. If someone want to test the application, it’s available in extras-devel repository (“msoma” under Multimedia section) of N900.
The UI is still in development as you can see. The application is already usable, but of course we have to work hard on the user interface. Feel free to test/use it and send us any feedback. If you want to contribute to our project (coders are welcome) please send us a patch with your code or ask us to be added to mSoma development team in Gitorious.
I’m typing this up toward the end of Akademy 2010‘s day 1 in beautiful Tampere, Finland, so please forgive any signs of weariness.
The day began with Valtteri Halla promoting Meego and demonstrating how the project has already benefitted KDE, Akademy’s coordinating organization, with upstream development for KOffice and other applications. From there came talks along the tracks of community and mobility, including mine on user engagement (presentation to come soon; project site here). Even Maemo was mentioned!
I was nervous about my talk but while it didn’t go as smoothly as I would have liked, it wasn’t the disaster I feared either. I’ll take that.
I was encouraged by Henri Bergius’ presentation on GeoClue, a low-level MeeGo architecture component supporting location services by a variety of means. Since part of the MeeGo User Engagement Framework (MUEF) wishes for location-sensitive feedback and input mechanisms for mobile devices, seeing that this was already embedded into MeeGo offers some hope. I’ll update our wiki appropriately soon.
But back to my speech. There was only one question afterward, which I hope was not an indication of the interest level. The gentleman asked if we were constructing an ontology for feedback, and what about the repercussions of that.
Wikipedia defines ontology thus:
In computer science and information science, an ontology is a formal representation of the knowledge by a set of concepts within a domain and the relationships between those concepts. It is used to reason about the properties of that domain, and may be used to describe the domain.
This was a good question. I don’t know if I answered well enough at the time so I want to expand here.
Right now we’re not as much concerned with ontologies as we are with enabling them. Specifically, we want to promote the creation and improvement of feedback mechanisms first. There are already ontologies in place, i.e., the designs behind metadata implementations, and the plan is to eventually leverage and perhaps expand those. So maybe that manifests in a meta-ontology that pulls currently disparate parts into a whole. But not yet.
And it’s possible I misled the questioner, because I did touch on the topic when I mentioned ratings systems. There is a great need for consistency within any feedback ecosystem, so there’s the value of having an ontology in place.
But again, first the functional framework parts, then of course domains and relationships.
Tomorrow, Sebastian Kügler of Project Silk gives a presentation, and there’s one on the open gaming project Gluon as well from Dan Leinir Turthra Jensen. We see synergies between MUEF and these efforts so I am eager to learn more!
Filed under: Econometrics and Analytics, Mentioning Maemo, Mentioning MeeGo, The Cat Corral Tagged: 2010, Akademy, feedback, Finland, KDE, MeeGo, Tampere
I recently moved to a different corporate infrastructure (you can guess from where to where by reading a bit about the company I work for, Invite Media :)) and decided that I was going to be serious about using the calendar on my Nokia N900. I had the following “desires”:
I just sat through a talk by Aaron Seigo where he outlined the challenges for KDE. Very stimulating discussion.
As a newcomer to KDE I was struck by the singular fact that nothing he said was new per se. When he kidded the community for falling short with documentation and global teaming I was put in mind of our similar struggles in Maemo. So in one sense it was refreshing that that we weren’t the only ones to battle managerial sort of demons and in another frustrating in that his points appear to reinforce the idea that open source communities can’t establish the same degree of discipline as corporate efforts.
This is something we encountered at maemo.org when attempting to implement a usable software quality assurance process. We were looking for balance between chaos and clampdown and stymied by the fact that contributions tried to pull the dialog kicking and screaming into one or another corner (as an aside, it was this very experience that led to our feedback project for MeeGo).
Aaron explained to his audience here that consensus doesn’t always mean 100% agreement and he is correct. A manager of mine once explained that I didn’t have to agree with him, but I had to align. When I understood what he meant I saw the beauty in that statement. His point of course was that ultimately someone had to break logjams and naturally that’s the guy in charge.
But in open governance models there’s very often a public perception that there is no one in charge– indeed, the sense is that there shouldn’t be anyone in charge. Yet how successful is any project erected in anarchy? I know of none. Yes, “anarchy” is often a necessary early component of brainstorming but even that process is supposed to eventually lead to norming and performing.
As KDE grows it will need to at least borrow elements of governance and coordination from corporate models. But at the same time, I think we all understand that even corporations have not managed to perfect that model and that bureaucracy (clampdown) is a common consequence of corporate management run amok.
Aaron wrapped up by challenging the KDE community to adopt elegance as its mantra, in recognition of the success companies like Apple have enjoyed with high visual appeal in their user experience. The designer in me concedes the point, and hopes KDE finds its way to an acceptable elegance. At the same time, the engineer in me has a bottom line desire for performance, and I will gladly sacrifice some eye candy for quick click-throughs. But I am an atypical user and what KDE needs to achieve here is general consensus. Hopefully they will find it.
Filed under: Delivering Quality, Great Governance, Mentioning Maemo, Mentioning MeeGo, The Write Stuff, Views and Reviews Tagged: 2010, Aaron Seigo, Akademy, Finland, KDE, Tampere
Dear Anssi,
A Quick Look at Maemo Official Platform in Bugzilla
2010-06-28 through 2010-07-04
A Quick Look at Maemo Official Applications in Bugzilla
2010-06-28 through 2010-07-04
A Quick Look at Extras in Bugzilla
2010-06-28 through 2010-07-04
A Quick Look at Documentation in Bugzilla
2010-06-28 through 2010-07-04
MeeGo Handset project: day one
Day One of the MeeGo Handset UX is finally upon us, bringing with it the UI and many of the applications that will likely form the basis of Nokia's Harmattan release later this year. "Today, the handset baseline source code is available to the development community. This code is being actively developed as MeeGo 1.1, which is scheduled for release in October. The team has been preparing MeeGo Gitorious with all the sources and infrastructure to perform the weekly builds for MeeGo 1.1 development. The MeeGo UI team has also been busy creating the handset reference user experience and preparing theMeeGo UI design principles and interaction guidelines. This milestone marks the completion of the merger of Moblin and Maemo as major architecture decisions and technical selections have been determined." The Handset UX image in its current form requires a large amount of effort to install on the N900 (hopefully this should improve in the near future), and much of the functionality you'd expect from Maemo is currently incomplete or simply not present (cellular, for instance). So this release is really only useful to platform- or very dedicated application-developers, and not useful day-to-day.
Hopes that this "Day One" release would finally bring everything out into the open (as stated by several important project members months prior to the release) and signal an end to the big reveal mentality that has so far been plaguing the MeeGo project seem to not have been fulfilled, as many parts of the Handset UX reference set have been held back until they're "ready". This unfortunately gives weight to the opinion that openness in MeeGo is really less about being Open than being open-when-it-doesn't-interfere-with-marketing-nor-make-things-too-inconvenient-for-management. Given the strong smell of developer preview which accompanies this release, "ready" is a very relative term and holding such projects back should not be necessary.
Read moreIn this edition (Download)...
- Front Page
- MeeGo Handset project: day one
- Applications
- Shazam coming to the N900
- Hermes gets support for adding phone numbers to contacts from LinkedIn
- Development
- Complete (with pictures) MeeGo Handset UX guidelines
- Gtk+ on MeeGo: screenshots, issues and next steps
- Community
- Reggie takes on third MeeGo-related forum at AllAboutMeego
- "Mobile Freidae" in Berlin, present or attend: 16th July
- MeeGoPortal gives overview of the week
- Devices
- MeeGo Handset UX day 1 for N900 problems
- Running MeeGo Handset UX on netbook
- Running MeeGo Handset UX on an N900
- Announcements
- Intelligent music player in Ovi
- Faster Application Manager in development
- SleepAnalyser records movements in sleep
- Vuvuzela app to annoy your friends
- ShipRolling records & visualises rolling of boats
In the DSP bridge realm, usually when the kernel module is loaded, it in turn loads the so called DSP base image, which is a file what encompass the DSP/BIOS kernel and the DSP/BIOS Bridge.
Usually, in a development cycle, you may want to test different base images, and removing and reloading the Linux bridgedriver module is not very practical. For this case, TI provides the cexec.out utility, which uses the bloated libdspbridge API, to load in runtime different DSP base images.
But we all know that cool boys use dsp_bridge instead of libdspbridge, which is much more clean, small and nice. And also we have a neat set of utilities called dsp-tools. Nevertheless a utility like cexec.out was missing, and because of that dsp-exec has born.
Last week, my patches were committed by FelipeC into the stage repository in github, and I’m enjoying them while I’m poking around in the audio decoding
I've had some fun while getting this working, apparently Qt isn't very fond of USB networking, so I kept getting the dialog asking me to connect to a network when running FaceBrick (I'm having to settle with USB networking over here as the router does not like N900s connecting to it ;( ). Setting it to automatically connect to WLAN solved that problem though.
I also ran into some problems moving the code for fetching news feed around, as some of the existing code was depending on the news feed methods being a part of the MainWindow.
What I'll be doing next is to make the status messages fit into the widget and make it scrollable. I have been trying to make the ListView displaying the status messages transparent, but I haven't had any luck with that so far, so will also be trying to sort that out.
This particular article has been fermenting for a while, and it took some stimulating discussion during Akademy 2010 to kick it into publication.
I didn’t have much to report for days 3 and 4, sorry. I had planned to attend the Qt workshops on day 3 but got engaged in a really fascinating offline discussion with Nokia’s Knut Yrvin instead. Day 4 I spent in my gracious host’s apartment suffering from some bug of the human variety.
The really cool thing was that, by relying on the qt-mobility APIs (new Qt APIs for mobile application developers), we could enjoy cross-platform developing: all the code that I wrote for this player was tested and debuged on my computer, as a desktop application. Then, we deployed on the Nokia N900 and tried it there (and it worked seamlessly).
For instance, this are some screenshots of msoma running as a desktop application (in Linux in this case):
And this is a screenshot of the application running in the N900 (taken from Andrea's blog post):
Which is just a recompilation targeting Maemo (with this respect, the Nokia Qt SDK, based on QtCreator, is really helpful when developing).
Of course, this is the very first version of this application, and surely the UI should be different in the desktop application with respect to the cellphone version (in order to be more usable in the mobile devices). But, as it is, it's already enjoyable (but I may be biased ;)
Source code is available on Gitorious and it's always updated with latest version we're working on. If someone want to test the application, it's available in extras-devel repository ("msoma" under Multimedia section) of N900.
In case you want to use it as a desktop application, please remember that you need qt-mobility. I blogged about the installation of qt-mobility in Linux.
We really want to thank, Rusty Hodge, SomaFM's founder, who provided so many details about SomaFM for developing our application (and of course we thank him also for SomaFM itself :)
We look forward to receiving feedback, patches, suggestions, and help! :)
Our maemo profiles:
The support for domain specific indexes is, awaiting review / finished. Although we can further optimize it now. More on that later in this post. Image that you have this ontology:
A long time ago in a DOS-based world far, far away, there were Play-by-Mail games.
I was involved in one called Galactic Anarchy, run by a friend and business colleague, as a tester and (of all things) cartoonist. The concept was simple: a turn-based space conquest game played over snail mail (and later also email) populated by several character types (“races”), filled with interesting artifacts and of course founded on certain rules. Players examined the status of their fleets and owned worlds, and then issued commands to move, attack, defend and anything else the command set supported.
Playing was an incredible amount of fun, even with the 18-day turnaround time for player command sets. In fact a large part of the experience was the anticipation over just what was going on between the time you submitted your instructions and the day you received the results. Even more fun was testing the limits of the rules and discovering loopholes and quirks that the game developer had overlooked. But then every game needs an easter egg or two.
I am revisiting this memory because I’m missing the joy of that sort of gaming and wondering if there’s a place for a revival. Of course no one will wait 18 days for turn results, but there’s a solution.
What I’m envisioning is a turn-based game with default behaviors determined by the player. In addition to deliberate commands, players could set certain behaviors and instructions meant to be executed if the player did not submit his commands in time. The server would ping each player based on a predetermined or random order, and await a response. The response time could be agreed upon in advance by all players or set by the host (it could even be an average of submitted requests). Pinging would be conducted by any and all means that the player set: instant message, SMS, Twitter, email, etc.
This would be ideal in a mobile setting, since players would be more likely to respond quickly. Timezones could be an issue but then that would be part of the agreed response time.
I’m throwing this out there for consideration by the development community, especially Gluon (I shared this with Leinir already). This is the sort of “sticky” scenario that pulls in and keeps a user base.
Thoughts?
Filed under: Gamespace, Just for Fun, Mentioning Maemo, Mentioning MeeGo, Smooth Codings, The Write Stuff Tagged: game, gaming, mobile, mobility, Play by Mail, strategy, turn-based
Only few of you might know, that there is a cross reference tool for Maemo source code. Cross reference tool – what does that mean? It means that you can…
- browse throughout all the existing open source code of Diablo, Fremantle, Qt and more
- search by keywords in the code
- click and browse through references of functions, classes and parameters
All that is done with a consistent and intuitive UI. To understand, how powerful the tool really is, and how it can help you understanding parts of the platform, please visit http://mxr.maemo.org and try it out. Play a little bit around and let us know, what you think about it. The index for Fremantle is based on debian packages. A version for MeeGo, based on the sources in gitorious and rpm is being tested right now. Please follow further announcements on that, to be able to use it from the very beginning. For further questions don’t hesitate to ask “timeless” in the #maemo or #meego channel on IRC.
Playing devil's advocate, but only to a degree, Steve Litchfield turns the entire smartphone world on its head by rejecting its latest darling - large touchscreens. Ask any pundit in the mobile world about smartphones and you'll get the answer that it's all about touch. About large displays that can be caressed and programmed and manipulated with your fingers. Except that traditional, non-touch form factors have these 2010 'flagships' well and truly beat - here are the Top 10 Reasons Why Touchscreens Suck.
Often in blogs, forums or IRC you can find people complaining of missing features in some programs (and some of them are very rude). While they can be right sometimes, other times they just make me angry because they don’t know how difficult writing software can be, and they don’t understand the difference between a semi-working prototype and a proper stable application written by professional developers, designed by professional UI designers and tested by professional testers.
Implementing some features can actually be quite difficult and it could be better to skip those from your product and focus on other things; on the N900 one of these missing features is the ability to set customised ringtones for specific contacts.
Several people wondered how hard it can be, after all a lot of old phones do it. What they don’t consider is that, in many ways, the N900 is not a traditional phone and is more similar to a small computer. On the other hand, the N900 still needs to be reliable to be certified as a phone; for ringtones this means that the ringtone should be played as soon as the phone call is received, or the user could miss it.
Now suppose your N900 is under heavy load due to multitasking (real multitasking, like on a normal computer) and you receive a phone call from a friend; being a close friend that often calls you, you have an MP3 ringtone set just for him. The phone has to look up for the contact corresponding to the phone number, load the file from the (slow) memory card, load the libraries for playing the ringtone, uncompress the file, and finally play it. All of this on a phone under heavy load with most programs swapped out of memory!
To workaround this problem the N900 seems to do some tricks: the ringtone is uncompressed into a (big) WAV file and saved on the faster (but small) internal memory, and the component playing the ringtone is memlocked (i.e. never removed from memory). Of course, you cannot do this for all the possible ringtones or the already small disk space would be used immediately. Choosing not to uncompress the files, on the other hand, would mean keeping loaded in memory all the possible codecs.
Does this mean that it’s impossible to have a different ringtone for a specific contact on Maemo? No, it just means that if you want it you have to be ready to accept that the ringtone could start playing a couple of seconds later in some uncommon heavy load conditions. When you are ready to do that you just have to wait a couple of days, so that I can polish and publish the program I wrote to have custom ringtones
In other news, I’m going to GUADEC for the whole week: see you there!
I did the update to WordPress 3.0 and added a new theme for the blog (you’ll have to actually visit the site to see, most of you read through RSS). Most of my motivation was getting something in there that looks better on mobile devices. The theme I have on now does a completely fluid layout instead of fixed width, so it looks a lot better on iPhone/iPad/Android. Also on the list of stuff to try out is the WordPress Mobile Pack that Andrea and James released.
Definitely recommend doing the upgrade and switching around themes. Especially for viewing on iPhone/Android devices. The Mystique theme is what I’m currently using by the way. On the settings page it has a toggle for fixed/fluid layout. Ahh, nice and simple.
Chippy, from Carrypad.com, has been given access to an Aava handset running an early version of MeeGo 1.1 Handset Experience. The Aava phone, which uses Intel's Moorestown processor, is a reference design, which helps further platform development and allows companies to carry out assessment and testing of the MeeGo platform ahead of commercial device releases. It represents an opportunity to see the MeeGo UI running on a device and get an impression for where MeeGo powered handsets are headed.
It’s been a while since my last blog post so here’s a small update on the state of MeBook. I’ve been working on several new features, changes to rendering and overall improvements.
MeBook now has two reading “modes”: scrolling mode and paginated mode.
In the scrolling mode the whole book is loaded in a scrollable view. There’s also a basic autoscroll which can be controlled using the volume keys.
In the paginated mode the book is loaded one section at a time and one can either swipe to move between pages or use the volume keys to do so. Depending on the size of the section it might take some time to render it.
Bookmarks can be added by pressing and holding in the readingview. In the Add bookmark -dialog bookmarks are given a name and one of 27 different colors. Bookmarks can be accessed from a toolbar button and they are shown as a simple scrollable list.
In the settings it’s now possible to change between colormodes (black/white or grey/black), change readingmode and force backlight on when reading.
I’ve uploaded a new version to extras-devel if you are brave enough to try it
GSoC period is just over it’s halfway point and I hope I’m able to implement a few major features with time left for improving the code, testing and fixing bugs.
We all take images of documents as a quick way of making notes, but the shots time time to compose so that you get the alignment right and so on. But if you have a N900, you no longer need to worry about that because benlau has published a brilliant app called Front View (FrontView900) that makes this process fun.
You can take the image anyway you want without having to align the document and the app will automatically detect which part of the image is the document and discard the rest of the image. Plus, it will also let you crop and rotate the shot you’ve just taken so that you have the perfect scan.
Not only that, it can detect multiple documents within one image and you can even manually select the part of the image you want. benlau has also put together a video showing off this really impressive application.
The application is currently in extras-testing, but at the rate it is going, it should soon be making it to Maemo Extras, I just voted for it myself.
Hat tip to @alextootchie for the find.
Similar Posts:
- Create PDF & DOCX Documents Directly On The Phone
- How To Enable Application Repositories On The N900 With One Click
- Nokia Initiatives: Headset Design & The Unloader
- Run a WebOS From Your S60 Browser
- Free QuickOffice 6 Upgrade (Office 2007 Compatibility) For Eseries
Yesterday I finished implementing the first release of a new program (ringtoned, i.e. ringtone daemon, i.e. I don’t have any imagination for program names) that allows setting a custom ringtone for specific contacts. Ringtoned tries to integrate nicely with the system:
- You can select the default ringtone in Settings → Profiles as usual
- To set a custom ringtone you go to the Contacts application, select the contact and press the new “Set custom ringtone” button in the menu
- The dialog to set custom ringtones tries to be a perfect copy of the dialog to set the global ringtone
- It works both for normal phone calls and GTalk/SIP/Skype calls, thanks to Telepathy
- The ringtone is played only when the normal one would be played and at the same volume, thanks to some PulseAudio magic
Ringtoned also tries not to break your phone, if for any reasons it crashes the default behaviour should be restored. Nevertheless, this is just version 0.1, so it could be full of bugs and could make you miss phone calls. You have been warned! Moreover, replacing the default ringtone components with something more complex could make the ringtone start slightly later in case of heavy load, see my previous blog post. You have been warned again!
If you still want to give it a try, ringtoned is now in Maemo extras-devel under the name “Custom ringtones for your contacts”. If you don’t want to add the extras-devel repository (as it contains a lot of unstable software), you can download ringtoned directly from my personal repository:
Install from my personal repository
(follow the link on the N900 browser)
If you are interested in the source code, it’s in Collabora’s git repositories.
The are two major features that are missing at the moment: the ability to set a custom ringtone for anonymous phone calls and for calls from an unknown number, and the ability to set ringtones for groups and not only for single contacts. The former feature should be easy and it mainly just requires some UI, so it will be hopefully implemented shortly.
Groups are more difficult to implement because they are not supported at all by the Maemo address book; I would first have to implement support for groups and then add ringtones for the groups. I hope to be able to find time for this, but I cannot guarantee anything.
In a future post I will explain the architecture of ringtoned and how to extend it: the code that chooses the custom ringtone is actually just a small plugin of the ringtone daemon and it’s possible to write other similar plugins for different needs.
Marco Barisione’s just released an app called ‘Ringtoned’ for the N900 that brings the ability to set custom ringtones for each contact in the N900′s phonebook. The best part about this app is that it integrates well with the N900 as there’s no standalone setup, you can asign a default ringtone from the Profiles menu as usual and for custom ringtones, just go to the Contacts application, select the contact and press the new ‘Set custom ringtone’ button in the menu.
- Search for ‘custom ringtones’ in the application manager after enabling extras-devel and refreshing the repository.
- To set a custom ringtone, open contacts, select the contact you want and goto options by hitting the name of the contact in the title bar. Select ‘Set custom ringtone’.
- The UI to set a ringtone is just like the one under Settings>Profile. When you are finished, press done and you are all setup.
The app is available from the Extras-Devel repository, or you can also download it from Marco’s personal repository here. Since this is the first release there might be bugs and if here is heavy load on the system, the ringtone might start after a slight delay. Future versions of this application should have the ability to set a custom ringtone for anonymous phone calls and for calls from an unknown number as well.
The inability to set custom ringtones for individual contacts has been something a lot of people have missed on the N900, but once again through Marco Barisione‘s fine work, the community has come through.
Similar Posts:
- How To Enable Application Repositories On The N900 With One Click
- How To Create A Physical Task Manager Button For The N900
- Turn Your N900 Into A PS3 Controller & More With BlueMaemo
- The Comprehensive Beginners Guide To The N900
- Portrait SMS Comes To The N900
Thanks to @_Nexus on Twitter, I’ve just come across these short ad films that Intel’s produced to showcase MeeGo. If MeeGo has to succeed in a big way, advertising and brand recognition will have to play a major role and its good to see Intel start now.
The ad film is more developer focused, but I though you might to watch it anyway.
Similar Posts:
- First Screenshots Of MeeGo Emerge
- MeeGo 1.0 Running On A Netbook & Other Devices At IDF 2010
- Video Demo Of MeeGo For Handsets – An Installable Version For The N900 Is Available
- Pangea Day – Nokia Mobile Filmmaking Contest
- Live Wallpapers Come To The N900
Michael released Miniature 0.1.9-3 to Maemo extras-devel yesterday. With this version, you can play chess with a contact on your N900 without configuring any server thanks to Telepathy. There are still crashes, bugs and UI to polish, but it is demoable and you can already enjoy playing chess with your friends!
The protocol used by Miniature is based on the Forsyth-Edwards Notation. At the moment it sends the whole state of the board to the remote player at each move. Miniature only sends valid moves, but does not have any protections about possible unfriendly other implementations yet.
Miniature implements the standard Telepathy Client interface with the Telepathy-Qt4 library. This enables Miniature to be automatically started by Mission Control on your N900 when a contact invites you to play. Telepathy stream tubes care about the connectivity to the remote device. The Address Book API is used to to show your contacts in the same way as other applications on the platform (avatars, contacts are merged correctly, status).
Quick overview of the integration with Telepathy
Here is how to play chess step by step:
1. Choose “Join P2P Game” in the main menu
2. Select your contact in the contact selector
3. Wait your contact’s answer
4. Your contact is asked whether they want to join the chess game
5. If your contact accepts, you are ready to play!
Feel free to join the Miniature mailing list and IRC channel.
I notice that doppler wind is now available from the Australian Bureau of Meteorology. Also, I didn't notice the up to 512km composite rain maps before. The plan is to include support for both of these radar types into my KDE plasmoiods. I think having the doppler wind as a transparent overlay above the rainfall overlay would be quite telling, being able to see why clouds burst at given points.
Though this doesn't solve the deeper, more interesting question of if the system that is causing the interesting wind trend will remain for the next 2 hours while you are outside performing activity-Y and wanting to remain dry.
Device reviewers are an interesting bunch. They form a fairly tight-knit community yet individually can be as competitive as any triathlon participant. The reviewer who gets his or her hands on some heretofore unknown prototype is treated with both admiration and jealousy– and often a rallying defense by the community when one gets busted.
Yep, I didn’t have time to blog during aKademy as you may have noticed The main reason is that I had a lot of discussions and attended to a huge number of BoFs. This aKademy rocked just as the others that I went. Huge thanks to the organization team, KDE e.V and sponsors for providing ways to make this happen and to have a lot of KDE hackers there!
Software Spotlight is a series that will be debuting on MaemoMagazine.com that will take a detailed look at exceptional community and/or commercial software available for Maemo-based devices.
Since my last blog post I have mainly been working on the Ethumb and Tracker integration.
Thumbnails in Canola were generated using Canola-thumbnailer. Recent version of the EFL libraries introduced Ethumb, a fast library for thumbnail generation. Canola-thumbnailer was old and unmaintained so a switch to Ethumb was necessary.
For media files indexing Canola was using Light Media Scanner. However, Maemo 5 comes with Tracker so it was a waste of resources to have 2 separate databases and to scan&monitor the file system with 2 different processes. Canola is now going to check for Tracker's availability and make D-bus calls to retrieve information media files (pictures, videos and music).
For the remaining part of the project I will mainly focus to replace the old etk widgets with Elementary.
Thought I would give a status update as it is midterm tomorrow.
Attila notified me the other day that the shepherd source code is up on gitorioius, you can find it here. I have made a clone of the repository with all my work, which can be found here.
As it is just now we get access to the shepherd source the plug-ins haven’t been adapted to work with the shepherd API, which is what I’m working on atm.
I have also run into a bit of trouble as my hard-drive seems to be failing. A while after boot/reboot I stop to be able to access files from the drive, giving me an I/O error at some sector (different depending on the file). Files/binaries which I have previously used and are cached in ram seem to work fine. I’m going to call Acer tomorrow but most likely I’m going to have to buy a new disk myself. As I’m currently in the middle of nowhere (parents summer-house) I’m rather limited in what I can do and as I’m only on a HSDPA connection it will take a couple of hours to download debian, updates, scratchbox, Qt SDK and so on.
Other interesting stuff I have run into since my last update:
- QtDBus does per default not define an interface for the objects we try to register (I can at least not find out which interface it used). This was fixed by using:
Q_CLASSINFO("D-Bus Interface", "name.of.interface");
- It seems alarm_action_set_dbus_args only take an array as arguments
- If you want to receive a string through DBus with QtDBus it apparently cannot be a std::string, it needs to be a QString
Transifex-mobile first public release is available for download! Enable maemo extras-devel repository on your N900 and install package transifex-mobile. Icon should pop up in the menu afterwards. Current version supports logging in to Transifex.net, pulling PO-files, editing them and pushing them back to server.
I am very much interested in your feedback, dear translator! The package installs files under /opt/transifex-mobile and if for some reason the app doesn’t want to start, fire up terminal and run /opt/transifex-mobile/main.py.
You can track my GSoC 2010 project status on a wiki page with more detailed information here. Screencast will follow up in a day or so. Stay tuned!
It’s time for the second release of scrobbler for Maemo featuring support to mark tracks as “loved”.
There have been many improvements over the 1.0 release:
- Support to “love” tracks
- Detect network connectivity
- Proxy support
- Support for Now-Playing
Also, I had to rename it from maemo-scrobbler to Scrobbler for Maemo due to trademark issues,
This has been ready for some time, but I haven’t managed to make the release. All this time I’ve been testing it, and it works fine
It was quite complicated as I needed to write a D-Bus service first, and then write a separate Hildon Desktop widget to put some UI on, not to mention to write a lot of code to authenticate to last.fm web services. But it’s there now, and it works.
It’s now pushed to Maemo extras-testing, where you can test and vote up.
A Quick Look at Maemo Official Platform in Bugzilla
2010-07-05 through 2010-07-11
A Quick Look at Maemo Official Applications in Bugzilla
2010-07-05 through 2010-07-11
A Quick Look at Extras in Bugzilla
2010-07-05 through 2010-07-11
A Quick Look at Documentation in Bugzilla
2010-07-05 through 2010-07-11
Google’s Android mobile phone operating system has a long — and mostly troubled — history on Maemo based devices. I remember the first attempt at getting Android working on the N800 and N810 was started by some industrious hackers at the forums of InternetTabletTalk.com. I tried to find that old thread, but it either has been lost to the elements of internet-time or my search skills are lacking.
As you may be aware, we have been holding the ‘Maemo Master’s Invitational’ here on The MeeGo Blog for the past four weeks, and its time to move into the final week of the contest. Under this we have partnered with Nokia India to bring you the ability to purchase a ‘Maemo Masters Edition’ of the N900 that comes with special goodies including a Maemo Masters T-Shirt and a cool BH-214 stereo bluetooth headset.
So basically, you pay the same price that you normally would have, but also get to take home some very cool swag, I specially like the BH-214 which allows you to plug-in any headset that you like and turn it into a bluetooth headphone. Since this is the last week and I am feeling generous, I’ll make entering the ‘Maemo Masters Invitational ‘ super easy. There are three ways to enter:
- Simply comment on this post with a valid email address; or
- Follow @TheMeeGoBlog on Twitter and send us an @ reply letting us know that you are interested; or
- You can also enter directly by using this contact form to send us an email. Please use ‘Maemo Masters Invitational’ as the subject.
For week 3 and 4′s winners, I’ll be in touch via email. Good luck.
Note: Only valid if you are in India.
Similar Posts:
- First Week's Winners Of The Maemo Masters Invitational & How To Enter For The Second Week
- Week 3 Of The Maemo Masters Invitational – Get Your Entries In
- Announcing The Maemo Masters Invitational
- Here Is Your Chance To Win THREE Nokia N900's!
- Video Demo Of Nokia Messaging On The N900
MeeGo 1.0 update for netbooks arrives
A new update for the MeeGo Netbook UX has been released that brings with it several bug fixes and improvements. "Updated to the 2.6.33.5 kernel, faster usb storage finding time down from 5 seconds to 1, improved 3D performance, many enhancements in the web browser, resolution for several email client issues, enhanced netbook window manager, greatly enhanced visuals, full support for GNOME proxy configuration in the media player, more control over DNS settings." The update can be installed over-the-air on existing installs, images of the update are available from meego.com for new users.
Read moreTexrat at Akademy
Randall Arnold, ex-Nokian and current Maemo Community Council member, attended KDE's "Akademy" conference in Finland this week. In a series of blog posts he describes his experiences and thoughts coming out of the key KDE (and so Qt and so MeeGo) conference this year. "The day began with Valtteri Halla promoting Meego and demonstrating how the project has already benefitted KDE, Akademy's coordinating organization, with upstream development for KOffice and other applications. From there came talks along the tracks of community and mobility, including mine on user engagement. Even Maemo was mentioned!" This is just the first of several posts by Randall, there're many more on his site.
Read moreAn open letter to Anssi Vanjoki
Randall Arnold has posted an open letter to Anssi Vanjoki (EVP of Mobile Solutions at Nokia) outlining his thoughts on some of the missteps Nokia has been making over the past months and years. "I am taking your article as a promise. As a former employee, current stockholder and Nokia community supporter I have a vested interest in you keeping it. A big part of that will be following up with the defecting bloggers. I even suggest you invite some to Espoo for some valuable face-to-face time. Listening to the community will pay off more than any ad campaign." As always, Randy provides us with some interesting insight into the dynamics of the community and Nokia's wider market, hopefully (as Anssi claims in the comments), they really are listening.
Read moreIn this edition (Download)...
- Front Page
- MeeGo 1.0 update for netbooks arrives
- Texrat at Akademy
- An open letter to Anssi Vanjoki
- Applications
- FrontView turns N900 into proper document scanner
- Scrobbler for Maemo hits version 2.0
- Play chess with your contacts
- Development
- Plugging the Maemo Cross-Reference
- Why providing custom per-contact ringtones isn't as simple as it sounds
- MeeGo Community OBS looking for beta testers
- Community
- Carsten Munk makes a plea for openness
- Announcements
- Custom ringtones for N900 contacts
- Maezer: accelerometer-based labyrinth
- Exult - Ultima VII engine - now in Testing
- Timed Silencer switches between silent/general profiles at fixed times
- Themable Maemo 5 analogue desktop clock
The idea for ejpi was born from reading a complaint on planet.gnome.org about how computer calculators overly mimic handheld calculators much to their detriment. On a computer there are a lot more ways to interact with a program than a device with a one-line display and a fixed set of hardware buttons.
So ejpi is designed as an RPN calculator that has an interactive history. You can delete item and duplicate items. With a one-line calculator it is easy to forget where you are in a multistep calculation, so ejpi shows you not just the result but the equation that got you there.
A 4" device (n8x0) is limited on what all you can put on the screen and shrinking it down to 3.5" (n900) makes it even harder. Making matters worse is that even if the device has a qwerty keyboard (n800 doesn't) its not well suited for math. So I chose to experiment with pie-menus as the keyboard. Typical pie-menus behave more like a context menu and have the middle of the pie be cancel. I changed this up a bit to mimic my favorite keyboard for the Palm, MessagEase. The pies are buttons that if you just click will perform the center's operation. If you click-drag the pie will popup and then release in the direction of another symbol for it to perform that operation.
There is a trade-off in how much of the pie's contents the button shows. If you show too much then it is cluttered. If you show too little then the user has to explore every button to know what operations are supported and where.
Sadly on Maemo devices, the performance of the pie menus is not what I would like which makes this more of a toy program. I actually use the HP42 clone more than my own calculator
Unlike when I blogged about Gonvert, I am still working on the ejpi port. I've got all the basic functionality working except switching keyboards. I also plan on adding rotation support, directly editing history, some UI tweaks, and maybe one or two other things that crop up. If the performance of the pies is better I might add an algebraic entry mode to make ejpi more widely appealing.
So far I plan to write about my experience in writing custom widgets for Qt, handling of dynamic layouts, and the various tree models. We'll see what is left by the time I am finished.
Christina Warren has put together an interesting selection of tips for mobile application developers over on Mashable. It’s cross platform, and is worth printing out and pasting in front of whatever ever big printed PDF you use while coding.
Rob Glaser has a new word – 'superphone' – to describe the latest batch of mobile phones on the market. Given the fun we’ve had defining the smartphone in the last few years, adding a new level to the nomenclature might seem a cheap marketing move, but it has allowed Glaser, chairman of RealNetworks, to expand his view on where mobile technology is moving. Read on for my thoughts.
A new release in the current unstable 0.7.x series for upcoming GNOME 2.31.5 release. * MediaExport: * Support DLNA's 'AnyContainer' upload extenstion. * Only harvest media files. We use a positive list for file extensions to include in the metadata extraction. * Implement fallback to the default (slow) search implementation. * Lower severity for some of the console messages. * Update code according to latest GStreamer Vala API fixes. * Tracker: * Improve Sparql query builder to achieve much better performance and reduced D-Bus traffic. * GstRenderer: * Relicense from GPL to LGPL. * More descriptive default title. - Localization: - Add Simplified Chinese translation. - Add Traditional Chinese translation (Hong Kong and Taiwan). - Updated Spanish translation. - Various non-functional improvements to core and plugins. All contributors to this release: Aron Xu Chao-Hsiung Liao Jens Georg Jorge González Zeeshan Ali (Khattak)
Download source tarball from here
Last Thursday MeeGo announced the first update for the MeeGo 1.0 Core Software Platform and Netbook User Experience project release (the version of MeeGo designed to be run on netbooks). The updated version contains more than a hundred bug fixes, greatly enhances the 'visuals' of MeeGo, improves 3D support, enhances several applications and updates the kernel to 2.6.33.5. Read on for more information and illustrative screenshots.
Downloads from Maemo 5 Extras, the primary repository for Maemo applications, have now passed the 15 million mark. The 10 million mark was reached in late May. This means there have been an additional 5 million downloads in around six weeks, suggesting the rate of downloads is accelerating. The numbers are impressive for a community led repository aimed at a relatively niche device.
Cybercom organizes the first Cybercom Developer Day in Helsinki, Ruoholahti at Technopolis on September 7th. It’s a FREE, one day event and the topic this year is Qt Quick & Plasma. We are very excited because we managed to get really cool speakers there: Alexis Menard from Qt Development Frameworks, Nokia and Marco Martin from KDE Plasma community.
The event consists of lectures and demos with also an opportunity for the guests to demonstrate their own applications.
We have opened a Cybercom Developer Day 2010 -page, where you can find more detailed information about the event, for example its Agenda and Speakers. The amount of seats in the event is limited, but you can request an invitation to try to ensure your attendance in the definitely interesting event!
It’s vacation time in Finland, which means less emails, which means more time for blogging
First, we’re happy to report that Qt 4.7 for a potential future Maemo 5 update (*) is progressing nicely. Next to dozens of Maemo 5 specific bug fixes, we’re also happy to announce that a few new features for Maemo 5 have entered 4.7-fremantle. Since the N900 doesn’t support multiple touch input, QGesture support was off by default in Qt 4.6. For Qt 4.7, we managed to add support for single touch gestures, like tap and tap-and-hold, which makes touch-friendly UIs friendlier to write. Users of Qt Mobility’s Bearer Management should be happy to know that Qt’s internal auto-connect-when-offline mechanism can be entirely disabled via QMaemoInternetConnectivity::setAutoConnectEnabled(). And on top of that, the new 4.7 features also run nicely on the N900, most notably QtDeclarative.
Qt 4.7 experimental packages can be found in Maemo’s extras-devel repository. Scratchbox SDK users can install them by running fakeroot apt-get install libqt4-experimental-dev.
Experimental support for the experimental Qt 4.7 packages for the experimental MADDE (0.6.84) environment (as shipped with the Qt Nokia SDK) can be found here. Check the README for installation instructions.
We’d like to ask all of our Qt 4.6 users to give Qt 4.7 a try. All bugs can be reported as always at bugreports.qt.nokia.com. Happy development
(*) “potential” means it might or might not happen and we have no clue if and when
Yesterday, sitting on a beach in New Jersey, I wrote the final chapter of the first draft of the book on MeeGo on which I’ve been working since a little before Christmas.
There’s still a fair amount of redrafting to do, but it’s mostly in the bag now.
I’m sorry that patch review has suffered during this time. I will be starting to tackle the backlog now.
My editor tells me that we need reviewers. The book is about Qt on Python under MeeGo. If you know about this and would like to review, please let me know (thomas at thurman.org.uk). Apparently reviewers don’t get paid but do get their names in the book.
I shall let you know when the book gets published.
Forum Nokia recently took the covers of Forum Nokia Projects (projects.forum.nokia.com), a free service providing online project hosting for collaborative software development, documentation, or any other project. The service is built on top of the open source Trac software and is fully integrated with Forum Nokia. The service includes the usual tools such as source-code browser, wiki, forums, tickets and support for three version control systems (SVN, Git, and Mercurial).
I established a page on Maemo wiki for my project. I’ll update features there as I go along. I’ll blog about major changes.
I have been testing my application with hardcoded missions. My brand new license to drive a motorcycle has been a brilliant aid in testing. Motorcycle is a fast and convenient way to get to places. Every visit to a friend or a beach has been altered to a mission. As I test the app, it gets more features as I notice what works and what doesn’t. The formerly enormous battery usage has been diminished to reasonable battery usage. Distance to destination gets more precise when you become nearer the target. The program has an ending, small checkered flag with congratulations when you reach your destination.
And finally now, the whole thing is packaged in Maemo extras-devel and extras testing (many thanks to my mentor). And it works! Not only on my N900
As he notes, it is pretty unusably slow right now, but hopefully that is an improvable slow. I've been spending some time with him on this to try improve the libmeegotouch end and it is good to see that progress is happening on getting it actually working on the devices.
It's a little intriguing as to what the slowness actually is. Software rendering on my desktop at least is pretty snappy (even under heavy load). I don't own an n8x0, so I think I'm going to have to dig around on my n900 and see whether I can find anything of interest out.
I have a few ebooks I’ve purchased online that came as password protected PDFs. While mildly annoying while trying to read them on a desktop system, it’s patently absurd when I try to move them over to the iPad to use. There are a bunch of hacks floating around describing how to use conversion software to remove the password. Such as convert to a postscript file and then back to a PDF. Generally you end up with a pretty crappy PDF out the other end. You always loose hyperlinks (table of content or index), and a lot of times the formatting can get screwy. Fortunately I found a few comments mentioning qpdf, which is in the default repos for Ubuntu at least:
- sudo apt-get install qpdf
- qpdf --password=******** --decrypt lame_pass_version.pdf happy_version.pdf
Yay! No more crashing iBooks trying to read stuff I paid money for. And there’s an actual preview of the cover on the bookshelf now. Amazing.
Last week Qt quietly rolled out the public beta its new developer website, Qt Developer Network, which aims to provide a one-stop portal for Qt developers and consolidate resources that were previously spread across the main Qt website. It also provides a more vendor neutral destination for developers than Forum Nokia, something that could be important in helping drive adoption of the Symbian and MeeGo platforms by manufacturers other than Nokia.
Diego is updating his blog again! Awesome! Check out his “the web is an app” post for a laydown of how generalized web development is shifting. Things were already tilting in the direction of “websites” being basically a static javascript loaded that pulled in resources and data as necessary. Mobile devices have really thrown a few cans of gas on the fire however. Before it was just annoying when logic crept into display code. Now with multiple distinct front-end views it’s gone from annoying to painful.
The role of browser Javascript framework on the mobile end seems to be an area of hot contention right now. With behaviors optimized for touch devices being the headline item in most of the conversations I’m seeing. The Uxebu blog and Wolfram Kriesing’s twitter feed are good places to look if you’re interested in following how it evolves. One of the most significant recent changes is the rollup of the ExtJS, JQTouch, and Raphael projects into a new company and product called Sencha. They seem to be ahead of the curve in pulling everything together to build the mobile specific web interface on top of REST services the way that Diego is talking about. And their recent large investment from Sequoia would seem to indicate that they’re in good shape to extend that lead. Check out their online KitchenSink demo to see some of the interaction styles they support. Still lots of work to be done, but I’m hearing more and more developers saying they’re at least starting to evaluate toolkits like these for doing their mobile web UI.
We are looking for the dedicated software developers willing to work in the Internet Browser team in Mountain View, California:
What's the next step for mobile phone and car integration? One option is Nokia's Terminal Mode technology, which proposes an industry standard for the integration of mobile phones (and their applications) into the car environment. Nokia has developed Terminal Mode in conjunction with CE4A (Consumer Electronics for Automotive) and recently held the Terminal Mode Summit at their Espoo offices in Finland. This gives us a good opportunity to review what Terminal Mode is about and what progress has been made to date. Read on....
Early last month, Lassi Syrjälä released Telepathy-Ring, Nokia’s Telepathy connection manager for GSM telephony, under the LGPL. The version used on the N900 talks to a proprietary daemon to drive the cellular hardware, but this new 2.x.y series has been ported to oFono, Intel and Nokia’s Free cellular modem daemon. I was trying out Ring using oFono’s phone simulator backend, until it was pointed out that oFono also supports my laptop's built-in GSM chip. Oh really? Let’s see…
A few minutes of tweaking later, and I was looking at an apparently-unremarkable Empathy conversation window:
Ring needed a few little hacks to get this going, mostly because laptops’ GSM chips don’t generally support making GSM calls, which Ring expects to be able to do. But I didn’t have to touch any other Telepathy components’ source: I installed my Ring branch, opened the Empathy accounts dialog, created a new “tel” account, and here we are. +447771██████ in that screenshot is my real actual phone, and this conversation looks just how you’d expect.
Of course, right now this is a proof-of-concept; it’s not really ready for non-developers. I’m planning to clean up my Ring patches for submission upstream over the next few weeks, and will try to trick someone into writing a custom account configuration UI for Empathy; hopefully we can get this working properly pretty soon! Thanks to Lassi, Pekka Pessi (Ring’s original author), and others at Maemo; the oFono team; and other Telepathy and Empathy hackers for making this so straightforward!
Early last month, Lassi Syrjälä released Telepathy-Ring, Nokia’s Telepathy connection manager for GSM telephony, under the LGPL. The version used on the N900 talks to a proprietary daemon to drive the cellular hardware, but this new 2.x.y series has been ported to oFono, Intel and Nokia’s Free cellular modem daemon. I was trying out Ring using oFono’s phone simulator backend, until it was pointed out that oFono also supports my laptop’s built-in GSM chip. Oh really? Let’s see…
A few minutes of tweaking later, and I was looking at an apparently-unremarkable Empathy conversation window:
Ring needed a few little hacks to get this going, mostly because laptops’ GSM chips don’t generally support making GSM calls, which Ring expects to be able to do. But I didn’t have to touch any other Telepathy components’ source: I installed my Ring branch, opened the Empathy accounts dialog, created a new “tel” account, and here we are. +447771██████ in that screenshot is my real actual phone, and this conversation looks just how you’d expect.
Of course, right now this is a proof-of-concept; it’s not really ready for non-developers. I’m planning to clean up my Ring patches for submission upstream over the next few weeks, and will try to trick someone into writing a custom account configuration UI for Empathy; hopefully we can get this working properly pretty soon! Thanks to Lassi, Pekka Pessi (Ring’s original author), and others at Maemo; the oFono team; and other Telepathy and Empathy hackers for making this so straightforward!
Today there was this presentation from Apple to talk about the famous iPhone4 antenna problem. I’ll represent this problem (bug) with the picture below made by one of INdT’s designers (Patricia Montenegro) some time ago:
While I’m still working to mSoma with Lorenzo Bettini, I decided to start writing another application. I needed to write something from scratch to learn better how to use C++ and Qt libraries, so I decided to write a client for Last.fm service. The application is still in full development, but you can already taste it if you have extras-devel repository enabled on your N900. At the moment it only supports basic radio features: tuning user’s radio, playing a song, skipping a song and displaying song informations.
Other basic Last.fm features like scrobbling, marking a song as loved or banned ecc.. are not supported yet, but of course they’re planned for the stable release. Please not that the application is still a bit unstable even if it works for normal tasks.
If you are a Last.fm subscriber and you want to test it, please install it from extras-devel repository and send me your feedback.
Note: since it’s not allowed to use Last.fm API from a mobile phone (due to API license restrictions) I cannot distribute a valid api key with the application. I’m writing this software mainly to learn C++ and Qt and for the future tablets and netbooks that will be based on MeeGo. If you feel to assume the responsability, you can download the api key file and import it using “Import Api Key” that you can find in the application menu.
Latest version - with added buttons and transparency
I still have some work left to do on the desktop widget, but the UI is near completion - so if anyone has any feedback/suggestions for it, that would be very much appreciated :-)
Next up is hooking the widget up with the main facebrick app, so that clicking on a post will open the comment window for the post, and I also have some other bits and pieces to sort out during the next few days.
I've been toying a bit with idea of adding a very lightweight http server to n900 to serve the primary data of the device so that development of the UI can be done nicely on PC while still accessing the real data. One might argue that just pulling the data to PC would solve this and using the existing APIs. Well, yeah, but that's also laborious if you are not linux developer, whereas this approach works beautifully for any web runtime developers as well as developers of qt quick apps.
Doing this on web paradigm allows reuse of many learnings from my past life and creates a very flexible middle layer between the data itself and the UI.
As the first thing to serve as the proof of concept, I created an ATOM image http service on the device. It follows directly the format of flickr, so any code written to show flickr images can be converted to showing n900 images - either on the pc or on the device itself. Data is retrieved from tracker and thumbnails are also trackers pre-generated thumbs.
And here's the beef of course. Once the UI code is working nice and all, it can be just copied to the device and it'll just work. As a demo, here's vanila n900 (no overclocking) running both the server and qt quick application without any noticeable lag. Of course the devices thumsbs suck, as they don't have an aspect-ratio retained version available.
Web server also works as a very nice access control layer between a runtime that can be now very sandboxed. Not that I care.
Despite my dislike of Apple and their treatment of developers (and my disgust that developers are flocking to receive their flogging) I think we should be careful how we react to this. Problems happen. There is both good and bad to how Apple handled this. If we feel a bit annoyed in how they handled this we should have that same annoyance no matter the source rather than giving in to fanboy-ism
Do we look at this and think how much better our platform is but get annoyed when others point out the problems with our platform of choice?
This is a general problem whether it be long standing technology flamewars (VI is better btw), to religion, or to politics. Sometimes the very nature of having two groups forms an automatic antagonism (see also George Washington's Farewell address).
I find Krister Stendahl's rules for religious understanding to be very applicable to all of these areas of our life:
- When you are trying to understand another religion, you should ask the adherents of that religion and not its enemies.
- Don't compare your best to their worst.
- Leave room for "holy envy."
You know, I was planning to completely avoid a post mortem on the Apple iPhone 4 antenna issues circus. I really was. Until I stumbled onto this hyperspinning blog article and its incredible follow-up comments.
A Quick Look at Maemo Official Platform in Bugzilla
2010-07-12 through 2010-07-18
A Quick Look at Maemo Official Applications in Bugzilla
2010-07-12 through 2010-07-18
A Quick Look at Extras in Bugzilla
2010-07-12 through 2010-07-18
A Quick Look at Documentation in Bugzilla
2010-07-12 through 2010-07-18
Nokia Qt SDK 1.0 released
Nokia's Qt SDK - previously released as a cross-platform, multi-device integrated development environment - has now been properly released at v1.0: "The Nokia Qt SDK 1.0 is available starting today, and it offers a true cross-platform development environment allowing developers to create applications for both Symbian and Maemo devices. Installation is easy, as it only requires one installation package that downloads all of the Qt and Symbian/Maemo components that developers need using the same Qt Creator 2.0 as standard Qt SDKs for use on Windows, Linux and Mac (beta). The Nokia Qt SDK 1.0 includes the Qt 4.6 libraries plus additional APIs for mobile development. With a fast, new simulator along with on-device debugging and the ability to compile to both .sis (Symbian) or .deb (Maemo) packages, it provides developers with a great opportunity to start creating amazing apps right away." This release, combined with the acceptance of Qt applications into Ovi, marks the point Nokia have been aiming at since buying Trolltech. Unfortunately, that's been a very long time; a time notable for confusion and conflicting messages (especially for Maemo developers).
Also of note is the large contribution from Magick777, who has been making some great edits to add information regarding migration from an S60 device and lots more.
It’s been a while now since I released the last version of SeriesFinale.
The truth is that I’ve been busier than usual these days and of course, this is reflected on pet projects.
As some of you may have experienced, there was a kind of a nasty bug in SeriesFinale’s last version: it wouldn’t update certain shows (when they had been added long ago)… and the good news is that this is one of the things that got fixed in this new version.
One of the good things Juan introduced for this version is how the next episodes to be watched are shown. Before, the episodes were shown according to their “first aired” date and in case of the same date for two or more episodes, the highest index one would be marked as the one to be watched. In this 0.6.1 version, the episodes are shown according to their number and season, so, if episode #3 has the same air date as episode #4, #3 will always be shown as the next one to be watched.
It is now using a priority queue to download the series’ covers and info that gives priority to the info. This means you won’t have to wait for the info AND covers to download when you hit the Update All menu but instead wait only for the info; the covers will then be downloaded in the background while you use the app normally.
I’m now introducing the new Russian translation, which Misha Ketslah had kindly sent to me a while ago but that I hadn’t had the time to integrate.
Here’s the list of major changes for this new version:
* Add Russian translation (thanks to Misha Ketslah)
* Fix updating of shows
* Use a priority queue to differentiate the downloads of covers or series’ info
* Use only one AsyncWorker at most to deal with the series
* Prevent the download and usage of images to generate problems
* Fix showing next episode
* Add TheTVDB credits
* Add THANKS file
So… what about that GNOME version, you ask? I’ve already started to port it to GNOME but couldn’t dedicate much time to it and taking into account that I’ll be on vacation very soon, it’s likely it will take a little longer. But I’m looking forward to use SeriesFinale on GNOME!
As for the N900 owners, I’ve just promoted the package to Extras-Testing so either use the Extras-Devel repo as usual or wait ~10 days for it to appear in Extras.
The relationship between the network and manufacturer has always been one of the more opaque areas in the history of the mobile phone – and as the demands of modern smartphones push the capacity of the networks, the discussions and bartering on both sides continue behind closed doors. Which sometime open a little bit. Wired author Fred Vogelstein has posted a detailed look at the marriage of AT&T and Apple. See below for a quote.
Twitter buddy Jonathan (@atmasphere) Greene alerted me to a Wall Street Journal post today that claims Nokia is actively shopping for a new chief executive officer. If true, this shouldn’t come to anyone as a surprising development. The current CEO, Olli-Pekka Kallasvuo (OPK), has been under fire for over a year now while Nokia has struggled against stiff competition, largely from Apple, RIM and various devices running Google’s Android.
Qt has had an open bug-tracker for a few months now. I am very happy about that. It has made life far more pleasant for Qt developers compared to the past. However, there are some problems. In summary, bug reporters are often treated like the enemy instead of contributors, and this could be fixed easily.
My N900 has a SIM card with a flat-rate 3G data plan. My laptop hasn't. What do I do when I want to use the Internet on my laptop somewhere that doesn't have WiFi? Well, there are many options:
My N900 has a SIM card with a flat-rate 3G data plan. My laptop hasn't. What do I do when I want to use the Internet on my laptop somewhere that doesn't have WiFi? Well, there are many options:
As part of its version 11.3 release, openSUSE now includes initial support for MeeGo, as part of a wider effort to improve support for netbook devices. It is based on the netbook user experience version of MeeGo. The effort has been led by the openSUSE Goblin team; according to the release notes MeeGo on openSUSE (code named Smeegol) adds additional multimedia (codecs, Amazon store) and social networking (Digg, Facebook, MySpace and Flickr) support. Read on for further details.
Zeitgeist, the desktop activity logging engine is now becoming geo-aware. From Seif Lotfy's blog:
It allows you to ask Zeitgeist stuff like
- “Get me the recent files I edited at university”
- “Who do I contact most when I am at School?”
- “Which pictures did I take in Brazil?”
- “Where was I when an Email came in?”
- “What files did I open during the conference?”
As I've been advocating since 2006, location is important for making applications smarter. While you might not remember where you stored some file, you probably remember where you were when working on it. Then Zeitgeist's location features, powered by GeoClue, will be able to get it for you.
This is especially cool since Zeitgeist is coming for Maemo as well. My laptop is quite mobile, but the N900 is even more so.
A long story short, the contribution - despite looking reasonably valid - was rejected because Qt3Support is effectively unmaintained, and as a result, any changes to it could have negative impacts on users of the support API.
I understand that argument, yet at the same time - I can't help but think it's a bit of a backwards approach to be taking. Typically, a contributor will wander along, find a bitrotting module/project that interests them, throw patches at the previous maintainer - and shortly after doing so, find themselves a de-facto (or indeed official) maintainer through their efforts.
This is a natural progression of things and should really be encouraged, it allows what would otherwise be dead code to live on. However, in Qt3Support's case, the central point was that they'd love someone else to take responsibility for it, but don't want to expend the effort themselves to triage, maintain, and otherwise support it right now.
To me, it's a false saving.
Time you save not maintaining it now (and encouraging potential contributors/future maintainers along the way) is spent being forced to put the code on life support maintenance if you decide you want that code, for whatever reason, later on.
Not to mention that those people who might be happily contributing you ideas or patches (to code old and new) are instead going to be spending their spare time doing something more rewarding than having their hard work rejected in the future.
Openness doesn't just happen overnight. It isn't just in the licensing. It requires real persistent effort and culture change. This is something I plan to keep revisiting over my next few posts.
{Note}: Before commenting, please note that this issue isn't *just* based around Qt3Support. That is one example of the problem, yes, but the patch was actually to QWorkspace which actually wasn't part of Qt3Support, and QtSql is in a similar boat - and there is nothing to port code using QtSql *to*.
Default buttons
Refresh button while getting updates
I'm using a "Qt Resource Collection" (qrc) file for storing the button images, which is quite handy. This way, the images get stored in the program's executable.
The images can easily be accessed through code after adding them to the resource file. I created a prefix called "desktopwidget" in my resource file, and have a folder called "images", so to access "cross.png", I only need to add ":/desktopwidget/images/cross.png" to wherever I want to use the image, as seen below:
QPushButton:disabled { border-image: url(:/desktopwidget/images/cross.png) -3 -20 -3 -20; }
That's it for now, but I'll hopefully be back shortly!
Nokia has released their Q2 2010 results, reporting an operating profit of €295 million, with net sales €10.0billion (up 1% Year-on-Year). Nokia's device and service division's profits were €643 million, down 16% year on year. Margins in devices and services were 9.5% (down 2.7% YoY and down 2.6% QoQ). Converged devices sales (smartphones) were significantly up, at 24 million, compared with 16.9 million units in Q2 2009 (so up 42% YoY) and compared with 21.5 million units in Q1 2010 (up 12%, QoQ). As such, worldwide smartphone marketshare was 41%, stable sequentially and year on year. Full story and comments below.
I know I am ruining my own chances at a fantastic offer, but wanted to let you all know about the cool Nokia Newegg.com promotion where you have the chance to pick up a Nokia N900 or E72 for just $1. There are special Newgg.com-Nokia banner ads with a yellow egg and the two devices, found on a couple of sites mentioned on the WOMWorld site, and when that egg flashes if you are the first to click through then you can get this deal. This is for North American Nokia fans only.
Feel free to click the egg above when it is flashing and if you do happen to stumble upon this over the next month please let us know. I understand there will be 20 such offers over the next month so some people are going to get a fantastic deal on one of these devices.
- Text-to-Speech-Feature! - Select a target, activate TTS and put your earplugs in to enjoy completely stealth geocaching.
- Search for cities - in the geonames.org database to navigate quickly
- Download map tiles for selected zoom levels - for offline use
- New Map drawing - scale indicator on map, on screen display for target distance, better visibility for icons and text
- Better search features - E.g. search geocaches around your current position.
- Instant update feature - Follow web site updates as soon as possible.
- New user interface - featuring a "actions" and a "quick settings" menu
- New About Dialog
- Data purging - Clear the database from found geocaches, save space on your phone by deleting old images
- New coordinate list handling - including editing and preview
- HTML view for geocaches
- Several minor new features and bug fixes
- Scrolling in HTML view has some problems.
- HTML view doesn't show images
- Uploading of field notes doesn't work.
This is also my official entry for the maemo coding competition. So, if you like the application, please vote in this thread!
There's also a quick start guide for AGTL now.
Of course, if Joaquim releases a version for Fremantle, I release a version for Diablo :relaxed:
If you’re still looking to pick up an N900 in America, then keep your eyes peeled over the next week or so, as Nokia’’s WOMWorld is running a “Hunt the Egg” promotion. In conjunction with NewEgg.com, there are eggs in adverts over a number of websites. Be the first to click on an egg, and you’ll get the chance to buy an N900 for $1.
Of course, if Joaquim releases a version for Fremantle, I release a version for Diablo
Good news! Since July 3, 2010, 100 Boxes version 0.8.0 is in Maemo Extras-testing for community quality assurance.
Please help testing the application so that it can be promoted to Maemo Extras. Cast your votes and comments to http://maemo.org/packages/package_instance/view/fremantle_extras-testing_free_armel/100boxes/0.8.0/
But what are the changes in the new version?
- Added localization support
- Added Italian localization
- Added personal game statistics
- Added automatic saving of game state and statistics
- Nicer game sounds
- Added the possibility to disable sounds
- Added daily and weekly views in the worldwide high score table
Haven’t you been persuaded? Here you are some screenshots:
Thank Aldon Hynes, who sent me an email with some comments about MafwGriloSource behavior in the N900, I could fix a bug and implement a feature. The bug was a limitation when browsing, as you could only see the first 64 results. It was caused by a problem with indexes when returning the results, as I alwayes sent 0. When fixing this, the interface was requesting more and adding them to the treeview. Then we had all results in the treeview.
Frankencamera, or fCam, the open source computational photography platform from Stanford's Camera 2.0 project was unleashed for the Nokia N900 this Wednesday. PhysOrg has a story outlining the significance of this:
Computational photography refers to the ways computers can extend the capabilities of digital imaging by combining multiple photographs taken with different camera settings to create an image that could not be taken in a single shot, or with an ordinary camera.
Some of these new ways of combining images can be done in Photoshop or another such program, but until now they could not be done inside the camera, Levoy said. That's because commercial cameras are closed to development by all but their manufacturers. Frankencamera, on the other hand, brings computational photography directly to the camera, by making the camera a programmable platform.
I installed fCamera and the HDR photo assistant from Maemo extras-devel yesterday, and the results (taking .DNG RAW images, automatically generating HDR pictures) seem quite impressive. Here is a quick example from our office. Sun is shining outside and the office is not lit:
For comparison, here is the same setting with the regular N900 camera application:
It will be interesting to see what developers will come up with, now that all these camera capabilities are available through an open API!
The Linux Foundation today announced that the GENIVI Alliance, a non-profit industry alliance aimed at driving the adoption on an In-Vehicle Infotainment (IVI) reference platform, has chosen the MeeGo platform as the basis for their next reference release. MeeGo will provide the base for the GENIVI Alliance's upcoming Apollo release, which aims to reduce the time to market and cost of IVI development. This announcement significantly strengthens the credibility of MeeGo's IVI ambitions.
A Quick Look at Maemo Official Platform in Bugzilla
2010-07-19 through 2010-07-25
A Quick Look at Maemo Official Applications in Bugzilla
2010-07-19 through 2010-07-25
A Quick Look at Extras in Bugzilla
2010-07-19 through 2010-07-25
A Quick Look at Documentation in Bugzilla
2010-07-19 through 2010-07-25
SSL certificate for bugs.maemo.org expired; over a week and still not fixed
bugs.maemo.org hosts the Bugzilla issue tracking system for Maemo, maemo.org and various Extras products. For security, communication is over HTTPS - so that transfered data (usernames, passwords, etc.) is protected from sniffing and replay attacks. On 17th July its SSL certificate -- the digital signature which lets your browser know it's talking to your bank, or your bug system -- expired. Typically, renewal would happen before the certificate expired so that users wouldn't see dire warnings from their browsers, unfortunately, that hasn't happened here. In bug #10951, Andre Klapper said, "There's nothing that the *maemo.org team* currently can do here. Nokia is aware of this problem since Monday, 19th. They are working on it and I ping from time to time as fixing should not take that long but obviously does (don't ask me why)." Users can bypass the security warnings from their browsers, but encouraging them to do so reduces the overall security of the web, and the users of maemo.org. If people think that invalid certificates are "OK" to ignore, they'll do so when their bank's website has been compromised. If Nokia are the hold up here (because, say, the certificates for maemo.org are purchased through a central department), they are causing excessive risk to their users and putting a barrier between developers and their users at a time when Maemo still needs active developers. One is left wondering, though, that since this has happened before when certificates expire why the maemo.org team didn't start the process with a suitable window before the certificate expired.
The Okuda theme and an accompanying sound effects package are now available in the maemo.org extras-testing repository. Please download, test, and vote for the theme and sounds so that they will be promoted to the main repository!
What is Maemo Coding Competition?
This competition has been organized by Maemo Community for the Maemo Community. Developer can work to an application and submit it for one of the six categories available: Desktop, System & Utilities, Games, Graphics & Multimedia, Location & Navigation, Other. Another category is available too, and it’s for beginner developers. The competition entry has now ended, but voting is open. You can find more information about the competition, in the official wiki page: http://wiki.maemo.org/Maemo_Coding_Competition_1
How can I vote?
Voting is available using a forum’s poll for each category. Every t.m.o. user can give one vote for each category. Here’s the complete list of polls:
- Desktop: http://talk.maemo.org/showthread.php?p=760304
- System & Utilities: http://talk.maemo.org/showthread.php?p=764039
- Games: http://talk.maemo.org/showthread.php?t=58990
- Graphics & Multimedia: http://talk.maemo.org/showthread.php?p=763679
- Location & Navigation: http://talk.maemo.org/showthread.php?t=58964
- Other: http://talk.maemo.org/showthread.php?t=59038
- Beginners: http://talk.maemo.org/showthread.php?t=59074
p.s: I partecipate in the Graphics & Multimedia category with two applications: LastGo and mSoma. Please at least test them and let me know what do you think about!
- Uploading of fieldnotes didn't work
- Small improvements in the indicator for the current position
- Save the last state of the "follow position" button
- Disable HTML view by default
Read the last blog post for more information on the new features in the 0.7.0.0 release.
Back in May DataViz told us that Documents To Go Premium would be coming to the Nokia N900 after the 1.2 update. On May 26th, the 1.2 update was released, but all I heard from DataViz was the sound of crickets and I worried that they dropped this project since Maemo 5 was a dead end for the Nokia N900. I am very pleased to now inform you that Documents To Go Premium Edition for Nokia Maemo 5 is now available for the N900. The software costs $29.99 and if you want to know all about it, then stay tuned here for a full review tomorrow.
I have Documents To Go on my Google Android and iPad devices and find it to be one of the best ever Office suites and this software will have me using my N900 more now. With this software you can view, edit, and create Microsoft Word and Excel documents and spreadsheets right on your N900. According to the website, key features include:
- Native Word and Excel File Editing, including Office 2007 and 2010 files.
- Password Protection
- Quick Keyboard Shortcuts
- InTact technology to retain original formatting
- Multi-level zoom
- Live hyperlink support
- PowerPoint Support Coming Soon (Support for editing Microsoft PowerPoint files will be available as a free update once available.)
UPDATE: I installed and started using DTG for Maemo, but didn’t get a chance to finish up my review so stay tuned for it. I did walk through the upgrade process, which is not really straightforward for everyone and seems to involve interacting with their website. Here is what worked for me:
Log into www.dataviz.com with your registration number and last name, then select ‘my account’. Next to your product, your free upgrade hyperlink will be available. All users that purchased version 1.0 of the Viewer will receive the Premium Edition free of charge. After going through this you should be able to enter your registration number and activation code to unlock the Premium Edition.
Marco Barisione and myself worked on some plugins to extend the N900’s Contacts application. I grouped them in the fremantle-contacts project on gitorious. You can find on the project wiki page a short description of what we have already. Here is an overview:
Contacts Merger
Plugin to find probable duplicate contacts and allow the user to easily merge them.
Available in extra-devel maemo repository, package name: “contacts-merger”
Extended Contacts Search
Plugin to extend the live search feature on addressbook’s main view. It will also search in contacts phone numbers, nickname, emails and IM usernames.
Available in extra-devel maemo repository, package name: “extended-contacts-search”
Contact Zoom
Plugin to add a Contact Zoom menu option it Contact starter view. The Contact Zoom opens a window with all information about that contact displayed in bigger font, to make it much more readable.
Available in extra-devel maemo repository, package name: “contact-zoom”
IMHO it would be nice to see RDF/Nepomuk folk(s) and some maemo/moblin/i-rebrand mobile hackers too. So please excuse the dual syndication on the premise that some hackers might not have noticed the CFP but have cool stuff which just might be made cooler by chatting over a few beers in 30C summery weather.
After having a great time last week in the seventh edition of the GUADEC-ES conference in A Coruña, I’m now announcing, in the same way some of my mates from Igalia already did, that…
I’ve arrived yesterday to Den Haag, along with most of the Igalia gang (still some of us coming tomorrow), and will be here just until Friday morning, since I’ll need to miss the last day of GUADEC to attend my brother’s wedding. So, don’t hesitate to talk to me if you see me hanging around and want to share something, chat, or just to get a nice Igalia shirt… or even something different, who knows…
For more information, I’ll basically be in the Haagse Hogeschool most of the time during the day, and maybe in the hall of the hotel at night, although I can’t promise much about that because the time slot after dinner will be the only moment I’ll have to walk around the city in this my first visit to the Netherlands.
And by the way… if you’re expecting to see a long hair guy I must warn you that won’t be possible, at least for the moment.
And that’s all, I guess… see you in GUADEC!
PS: Did I say we have a new website? Check it out here.
After having a great time last week in the seventh edition of the GUADEC-ES conference in A Coruña, I’m now announcing, in the same way some of my mates from Igalia already did, that…
I’ve arrived yesterday to Den Haag, along with most of the Igalia gang (still some of us coming tomorrow), and will be here just until Friday morning, since I’ll need to miss the last day of GUADEC to attend my brother’s wedding. So, don’t hesitate to talk to me if you see me hanging around and want to share something, chat, or just to get a nice Igalia shirt… or even something different, who knows…
For more information, I’ll basically be in the Haagse Hogeschool most of the time during the day, and maybe in the hall of the hotel at night, although I can’t promise much about that because the time slot after dinner will be the only moment I’ll have to walk around the city in this my first visit to the Netherlands.
And by the way… if you’re expecting to see a long hair guy I must warn you that won’t be possible, at least for the moment.
And that’s all, I guess… see you in GUADEC!
PS: Did I say we have a new website? Check it out here.
A little something for the mobile traveller, as the Pay as you Go Sim with Data wiki is pointed out to me. In it, a country’s network providers are listed, but only those that offer Pay as You Go data. A great resource for those who want to plan ahead before picking up a SIM when they land.
Got a smart idea for something on mobile? Vodafone Mobile Clicks 2010 might be just the thing for you. This competition (with a prize fund of 150,000 Euros) is accepting registrations for the competition until August 22nd. They're looking for smart ideas, not just finished products, and are hoping to accelerate innovation in European mobile start-ups. More below....
In most areas the N900 supports the ability to start typing to automatically search for the relevant content. For example on the homescreen you can starting typing the name of a contact to see it appear without having to goto the contacts application, the same in Conversations and the Application Manager.
The one place that the N900 does not do this is the menu, and if you have a lot of applications installed searching for the one that you are looking for quickly becomes a pain. Enter App Search Widget by Nicolai Hess that lets you search for the relevant app right from the desktop.
- The widget is the size of a normal app icon and can be placed anywhere on the homescreen, you can even place it on each homescreen for fast access.
- A simple tap brings up a list of the apps installed. You can start typing to filter apps or simply scroll and select the one you are looking for.
- Once you have your app, a single tap on it launches it. Simple.
This is definitely one of the most useful apps in the Maemo Repositories and I suggest you go ahead and download now.
Similar Posts:
- T9 Nav: The Next Killer Application For S60
- N97 Widget Design Competition Now Open
- Irreco Widget Lets You Control Your TV From The N900's Homescreen
- Cotchin! Is The Best Way To Check-In From The N900
- A Replacement For The Inbuilt Calendar Widget Is Here & Its Awesome
Tomorrow I’m leaving to GUADEC 2010. I’m goint to assist only on Thursday this time, when I’ll be doing this year GUADEC talk about Modest project.
This time the talk focus will be completely different, as I’ll be explaining the process towards Modest 4, where we’re focusing in intensive refactoring, with the goal of releasing a product quality in GNOME, Moblin and Hildon/Maemo5 platforms.
Also, I’ll talk about some differences between Maemo and GNOME platforms, and some bits I miss in GNOME platform:
- IP hearbeat (data transferences done in bursts to save energy).
- libosso-abook (evolution data server addressbook and telepathy integration).
- libalarm/alarmd (events scheduler integrated with dbus, and with support for waking up device).
- … etc, etc.
I won’t ellaborate too much, but I’m trying to point some weak points in GNOME platform we could improve (just taking free software Maemo components, or improving GNOME platform components).
The talk will be on Thursday, at 14:45 in Seville room.
The ability to overclock the N900 has existed for a long time now and we have covered it before. But overclocking the N900 has never been so easy, two simple installs from the Application Manager and a short command via the terminal is all it takes. If you have been wanting to try it out but were holding out because it seemed too complicated, this guide is for you.
The N900 is the cellphone that I’m using since last December and I simply love it. No I’m not a Nokia fun boy, I let this kind of behavior for those who loves design despite of usability, connectivity, reliability, etc..
Well, but as the title suggests this post is just for the N900 users
As you should know the weakness of this device is the battery when you use so much 3G, wifi, bluetooth and GPS. I have to recharge my device every single night to be sure that I’ll have enough power for the whole next day.
At least I had, before to find out the Autodisconnect tool. You configure it to disconnect everything that is not really being used and is saves battery.
Well it doesn’t do any miracle but at least nowadays I can forget to recharge one night without being worried during the next day.
OBS: I’m not a Autodisconnect tool developer and to be honest I’ve never seen its code. This is just a tip for the users.
I’ve uploaded a new version (0.0.8-1) of MeBook to extras-devel. Users can now add annotations to books and search books from a book catalog (feedbooks.com). Here’s some screenshots of the new features.
The annotation dialog can be opened by long pressing the book area on the spot where you want to make an annotation.
One can search feedbooks.com for books and download them to the library, the search is very basic and there’s no browse functionality yet. The catalog can be accessed from the main view.
When a book is tapped a book info dialog opens.
As promised, I’m finally getting around to my final post on the Akademy 2010 experience in Tampere, Finland. For those interested, I’ll cover most of the journey start to end.
You may recall last week we pointed out Nokia’a Conversations Blog post crying out the virtues of the keyboard. Keeping the karmic balance, this week sees the touchscreen side of the debate step up to take a swing at the arguments. And then there’s Tomi Ahonen’s take on the debate.
What’s the best game in the Ovi Store? Nokia asked last week with ten games to choose from, and the result are available. But in a lovely nod to their ability to spot a top game, the write-in "others" category provided the runaway winner with 36% of the vote. The winning garland has been placed on Angry Birds, available for the N900. Which isn’t that surprising given that (a) it’s a runaway hit on the iPhone and (b) the N900 version sold six times as fast as the iPhone version!
The project is nearing it’s end. Social features are forming up, the UI is getting more refined forms and the amount of rows in my code is building up. At this point in my code I’m making things work rather than making the code look good. There is some refactoring ahead.
The program itself has gotten an adventure editor, where you can form your own adventures. Click on the map and a headline and you are on your way. In settings you can change your buttons colour and soon enough you can read comments and see where other participants are.
The next release will probably happen during the weekend. Before that it’s work work work and no play.
It has come to my attention that the GNOME Foundation is interested in my DEFCON app in order to better enforce the new Speaker Guidelines in current and future GUADECs. I’m happy to announce that the app is in fact for sale, so just contact xlopez at igalia.com for details.
PS: starting price is 500 EUR, it includes a tactical nuclear strike to the talk site when DEFCON 1 is hit.
The custom icons are used for a couple of buttons. I know the path to the custom icons and I load them up and everything works as expected.
The stock icons are used for deleting items in the calculator's history as well as a severity indicator and close button for the error info box.
I ported the GTK code from using theme icon names to QIcon.fromTheme. It was fun for me to find out that fromTheme was added in Qt 4.6 (I still support Maemo 4.1 with my applications and it only has Qt 4.2 I think). How did applications do this before 4.6? I don't think I've used KDE since v2 but I think its generally supported icon theming along with everything else which precludes the application building all icons in as resources.
I also had fun with fd.o icon names not being available on all platforms so I had to find alternatives for each and put in fallback code.
I guess chock this up as another thing to abstract away when running on various platforms.
I'm not saying this was hard or anything but just another lessons learned in porting to Qt.
I thought I would walk to the Collabora party from the conference. It was four miles, a pleasant walk. On the way I had to stop to write a sonnet.
If anything should happen to The Hague,
if someday they abandon Amsterdam,
philosophers will take these strange and vague
descriptions, and derive each tree and tram
by mathematical necessity:
should nations shake their fists across the seas
with words of war, it follows there must be
a middle ground, a people loving peace.
And is this scrap alone a netherland?
Not so: we spend our nights beneath the sky,
and every country’s low for us, who stand
a thousand miles below the lights on high;
if only I could learn to live as such,
and count myself as kindly as the Dutch.
I passed the Palace of Justice on the way, which is very beautiful. Collabora’s party was as impressive as always, with barbecues and beer. This morning I managed to pull myself out of the resulting hangover enough to give part of a talk on xzibit. (It was really Guillaume’s talk, but he was kind enough to give me a timeslice.) The talk went well except that the demo failed, due to my having tried to fix something and breaking it further. There will presumably be video of it all at some point.
Many thanks to Collabora for organising the party, but still more for sending me here (and to Cambridge).
I have written a nautilus plugin to post photos online. I might tidy it up a little and package it.
The MeeGo book is fast approaching publication. It feels like levelling up.
You can share files on your N900 via Bluetooth, E-Mail and web services (Flickr and Facebook) thanks to libsharing-dialog. But there is no file transfers to a contact through instant messaging.
The sharing dialog with Bluetooth, E-Mail and web services features
But look, the sharing dialog is obviously missing a fourth button named “Share via IM”!
Jonny Lamb wrote Monorail, a file transfer application for the N900. Monorail is a standalone application using the Telepathy framework but so far it does not integrate with libsharing-dialog. Libsharing-dialog is supposed to be extensible by plugins (see the Sharing Plug-in documentation). Unfortunately the API is more suitable for web services than for file transfers through instant messenging so it makes the work more difficult.
So I implemented that fourth button with some hacks to workaround the limitations of the libsharing-dialog API:
- The Monorail package dpkg-diverts libsharingdialog.so into /var/lib/funsharing/
- Monorail implements a new library (aka libfunsharing) replacing libsharingdialog.so with the same ABI
- Libfunsharing calls dlopen() on the real libsharingdialog.so
- It also patches the class GtkTable in memory (see struct GObjectClass->constructed) just before calling the real function from libsharingdialog.so, and restore it after the call. I use this hack to get a reference to the GtkDialog and the GtkTable containing the three buttons (the libsharing-dialog API does not give us any reference to these objects)
- In the constructed function of GtkTable, it adds a 4th button “Share via IM” which sends the filenames to share via D-Bus to Monorail
- Monorail receives the filenames from libfunsharing via D-Bus, shows the contact selector and send the files as usual.
The sharing dialog after installing Monorail 0.3
It works fine in the file manager and the image viewer. Do you know any other application with a file sharing feature?
The address book can share contact cards via SMS, Bluetooth and E-Mail but it does not use libsharing-dialog, so Monorail does not automatically add my “Share via IM” button.
Send a contact card from the address book
But since PR1.2, the address book has a new plugin API and it automatically links to your plugins installed in /usr/lib/osso-addressbook/plugins. The plugin API is designed for menu extensions and does not have helper functions for the sharing dialog. But with Marco’s help, I replaced OssoABookSendContactsDialog’s constructed function to add the fourth button:
Send a contact card from the address book after installing Monorail 0.3
Monorail 0.3 is available in maemo extras-devel.
Busy handling
The beloved Headphone Daemon, who usually sleeps in the darker corners of your N900 and makes sure that you do not embarrass yourself in front of other passengers or pedestrians with whatever kind of experimental music you happen to listen to when the headphones are accidentally unplugged (also known as public transport situations) got a small facelift (also known as code change).
A few changes that have accumulated over the last few months have now been packed up into the shiny new 1.9 release:
- Support for libplayback / whitelisting (by Faheem Pervez)
- Support for pausing Martin Grimme's MediaBox
- Detect headphoned disconnect during active calls and send pause command after the hangup
The last one in this list might be of special interest to some of you who have complained about headphoned not working when the headphones are unplugged during a call. This won't happen now, as headphoned now monitors the call status via D-Bus and keeps track of active calls. When the headphones are unplugged while a call is active, the pause signal will not only be sent right away, but also a second time when the call gets disconnected. This work for all types of voice calls, and should work for video calls as well (untested).
During the summer holidays, I have had less time to do more development and releases, but things are starting to move slowly again - expect new releases of packages like gPodder and MaePad in the upcoming weeks. I'd also love to port gPodder to Harmattan and add a fancy new MeeGo Touch UI on top of it (in March I said that Maemo 6/MeeGo is for later this year - which might be very soon now), so you can all enjoy your favourite podcatcher with the usual native UI support. Let's hope that the Harmattan SDK and/or Harmattan developer images get released for the N900 soon (and then the Python bindings soon afterwards - the PyMaemo team was very fast in previous release cycles), so the community developers have enough time preparing their apps for the next big release.
For now, please test and enjoy this new headphoned release, and don't forget to vote for and comment on the package once you have verified the new release from Extras-Testing.
Mappero is back from holidays. Version 3.0+beta11 has just been released and doesn't contain any of the big features I was planning; instead, it's mostly a bugfix release, but a rather important one. Here are the main highlights:
- Google routing works: direct and faster
- A new widget for inputing addresses, with history-based auto-completion
- Bugfixes: POI edit/view screen doesn't destroy your data, fix some crashes introduced with 3.0+beta9, fix Yandex router, screen unblanking works again, and some other minor corrections.
I was hoping to make a gigantic release with some great improvements I had in mind, but the current situation of gnuite.com server (the routing data provider for Mappero and maemo-mapper), which lately is often not responding, forced me to hurry up and make a new release as quickly as possible.
Routing in this new version works by directly connecting to the Google Maps server (although the indirect way is still available, under the "gnuite" router option) and downloading the route as a KML file. This is much faster than the old way, because we have a few network hops less and we are not waiting for the gnuite server to process the route and rebuild it as a GPX file for us.
The other main feature introduced with this release is the address input dialog:
This dialog is invoked when clicking on the route icon and then choose the "Set destination..." item. It lists the locations you've been searching before and filters them as you type, in a similar fashion as the browser URL suggestion works.
I plan to improve it by adding suggestions retrieved via the network from Google Maps, but this will require some deeper changes in the code that might take some time.
That's it for now. I hope you'll enjoy this release. :-)
(currently it's in the extras-testing repository: to try it right now, download this and this)