[Jaffa Software]

News Feed

  1. WimpWorks v2.39 released: compatible with RISC OS zero page protection

    WimpWorks, our RISC OS integrated development environment for desktop app production, has been updated to version 2.39 to fix a couple of bugs that resulted in zero-page access.

    The current development version of RISC OS, 5.23, is bringing in zero-page protection to increase the system's resilience to system crashes and causes errors in programs that attempt to access it. Although WimpWorks' access to zero-page wasn't the cause of any crashes as far as we were aware, we welcome the incrased strictness of the system.…

    09-Oct-2016, 21:05
  2. Real world estimation

    Simple requirements rarely mean small estimates

    There's been a lot of fuss on Twitter and the technology blogs about the news that "fixing" the clock on the BBC homepage would take "100 staffing days". Is it really that complex to show an accurate clock?

    There had been a complaint that it wasn't necessarily accurate, as it was a simple JavaScript clock showing the local time on the user's computer. From the article in Ariel, the BBC's internal magazine:

    The decision to remove the clock follows a complaint from a member of the public, who said it merely reproduces the time stored on a computer's internal system, whether this is accurate or not.

    He added that there is no labelling which makes clear the clock isn't independently verified and, indeed, may not be 'factually accurate'.

    Reaction

    "In fact it should be possible with a single line of JavaScript and perhaps a single line of say PHP back on the server. The clock wouldn't be millisecond accurate but in most cases it would be correct to the second." -- IProgrammer
    "I always assumed it showed the correct time. But what gets me is further on in the article it states that it would take around 100 staffing days to make the changes involved in switching to an independent clock. Whaaat?" -- 4Networking
    "After being forced to remove its website clock BBC estimates it would take 100 days to build a proper one! Really?!" -- @JamesBarnesEsq
    "The joys of working for a large corp. 100 days to give a clock widget :)" -- @mischat
    "BBC claims it will take them 100 days to fix a clock on their website #jobopportunities" -- @roytries

    This reaction is pretty common from enhancement owners when they get any seemingly high estimate for what's perceived to be a simple requirement; but is this reaction reasonable?

    Analysis

    Those who've been in professional software development, particularly of web applications, can probably see how a requirement of 'show a clock' - in fact, a factually accurate clock - could balloon.

    Let's look at the crux of the requirement that will have been estimated:
    Show a clock on the homepage that is 'factually accurate' for the user's current location, without relying on any features of the user's local configuration.
    When looking at requirements, I like to find the edges of the scope; to look into the corner cases and see if an internally consistent approach can be developed. My train of thought here goes:
    • We can't use the user's computer's local time, so we will have to use the server time.
      • The server time is - probably - GMT, UTC or UK local time (GMT, or BST in daylight savings). This is also excluding the complexities of the CDN and the multitude of servers involved (although with NTP they should all have accurate time).
      • Showing the user time in the UK is not acceptable for our international users: it'd be a regression as they previously saw their local time (probably).
      • We cannot use the user's computer's local timezone as that would violate the original accuracy complaint.
      • The BBC already uses geo-IP services for localisation. Will this be accurate enough? Our first item requiring further research/prototyping.
    • We'll probably have to update it: the current one updates, and viewers don't see a static clock on the News Channel, so would expect to see it update on the web.
      • Can we send one initial time with the server, and update it with JavaScript?
      • Does that violate the original accuracy complaint if the user's computer can't deliver a timer exactly every 1.0s? (This is known as clock skew)
      • If so, some form of COMET/push of time will be required. Do we want this handled by the existing servers/CDN?
    • How accurate does the time need to be?
      • Does it need to take into account network latencies? (Not insignificant on 3G, for example)
      • What about browser rendering time, if the page started at 11:59:59.900 and the user is on an older/slower computer?
    Some of these questions need to be tackled before development (some come to mind to be discarded), as well as sign-off for a functional change to something as high profile as the BBC's homepage. There's then testing in all the different scenarios and browsers which could crop up, deployment (ideally staged, A/B tested), and some time will need to be set aside to deal with the inevitable fact that a complex development like this is inevitably going to find edge cases in the real world - no matter how well you think you've tested.

    I'm not sure I'd've got to the 100 days estimate, but I can see it not being far off. Mark Stickley's In Defence of the BBC and its Clock makes similar points and brings a BBC focus to it as well.

    07-Jun-2013, 06:40
  3. Initial success in porting Harmattan/Symbian QML app to BlackBerry

    This is the first post in a new BlackBerry category in my blog. Having attended the "BlackBerry 10 Dev Jam" in London last week, BB10 looks very interesting - and a spiritual successor to MeeGo 1.2 Harmattan, i.e. the Nokia N9.

    It's particularly interesting as BlackBerry have created their own Qt/QML-based environment, called Cascades.…

    19-Jun-2012, 22:17
  4. Avoiding jet lag using continuous clock change

    These days I'm often travelling long distances; whether it's to Asia or Detroit with work; or San Francisco for the MeeGo and JavaOne Conferences.

    Ten hour flights are rarely fun; but when combined with a ten hour time difference? The jet lag can destroy you.

    26-Feb-2012, 18:38
  5. WimpWorks demo now BeagleBoard compatible

    [BeagleBoard logo]We're pleased to announce that the WimpWorks demo version has been updated to v2.38, which includes compatibility with the BeagleBoard. This means not only will WimpWorks run on the board itself, but computers based on the BeagleBoard or other ARMv6+ chips; including the ARMini, the BIK and - hopefully - the Raspberry Pi.

    14-Jan-2012
  6. Colour operator logos on N9 lock screen

    Nick Larsson (aka frals) has posted an article on adding a small (120x120px) logo to your N9 lock screen.

    The N9 has a PenTile AMOLED screen, but is configured to avoid the colour fringing problems that affected the Android-based Nexus One. However, when the lock screen is displayed, certain bit patterns produce colours:…

    02-Nov-2011, 09:02
  7. MeeGo Conference keynote: how it should've been done

    [MeeGo Conference logo]The first official day of the MeeGo Spring conference started with a two-hour keynote by Jim Zemlin, Executive Director of the Linux Foundation. While MeeGo is a Linux Foundation project, nobody from the Linux Foundation is formally involved on a day-to-day basis in the management and leadership of the project, which is being left to Intel (and, previously, Nokia). Because of this, Mr. Zemlin stands in as the Linux Foundation's public face for MeeGo.

    It did not bode well when the advertised title of the talk, The Future of MeeGo Starts Now was changed to Monday Morning with MeeGo. This event was the opportunity for the MeeGo Project to showcase, and celebrate, last week's 1.2 release (including the N900 Developer Edition). Instead, we got Jim Zemlin talking about the advantages of Linux and open source without connecting the concepts to the MeeGo project and how MeeGo adds value compared with other Linux-based, open source mobile OSes (e.g. Android).…

    28-May-2011, 08:53
  8. Cross-platform Qt dev: deploying to Symbian

    I've gone beyond the playing with QML stage and now want to port my first Maemo 5 application, Attitude, to Qt Quick; with the aim of having it run on Maemo, Symbian, MeeGo and Android.

    I'm using the Qt SDK 1.1 beta on Ubuntu 10.10. I'll deal with developing with this in another post (Eclipse keybindings, the combination of graphical and source editing (and the limitations therein), issues to bear in mind). Here I want to deal with deployment. Qt Creator offers a number of targets:…

    06-Mar-2011, 21:26
  9. We go to MeeGo

    Please forgive the cheesy title :-) As everyone wrapping up the conference has said, it was a great place; well organised and a fantastic atmosphere. Here are some of my bullet point thoughts:

    One thing which struck me, which hasn't been dealt with elsewhere (AFAICT), is the obvious struggles MeeGo is having being an "open" project. For example, during the Compliance talk, I asked Mark Skarpness where the discussions on the specification were happening; as we seemed to get new draft, with a request for comments on a regular basis; where are the discussions happening as to what goes in to those drafts? "meego-dev" was the answer, one I'm not quite sure I believe. On the plus side, my suggestion of an "Extras/Surrounds Profile" seemed like it might have some traction in solving the third-party-dependencies problem.…

    20-Nov-2010, 16:33
  10. MWKN issue creation @ MeeGo Conference, Sunday evening

    As Ryan and I - editors of MWKN - will be at the MeeGo Conference on Sunday evening, we'll try and find some space to get together to put together the issue. We'd love to have some help!

    M* Weekly News is a weekly news digest from the MeeGo/Maemo worlds; inspired by LWN and Wine Weekly News.…

    12-Nov-2010, 10:38
  11. Here and Now: what's on near you now

    Nokia's N8, a Symbian^3 device, comes with a service called Here and Now. This reads the cell tower information you're currently connected to and opens a web page detailing the current events (cinema listings and weather, for example) near you. I've done a quick port to Maemo 5 and the N900.

    Once installed, you can launch it like any other application:…

    03-Oct-2010, 09:26
  12. Catorise: auto-organise N900 applications

    In a brief break from Hermes-related Maemo work, I was inspired by Manfred Weiss' MyMenu to create an auto-organising menu application for the N900:

    Catorise organises the application menu to have top-levels corresponding to the sections in Application Manager. Features:…

    12-Jan-2010, 22:52
  13. Maemo Weekly News: a proposal

    I've been discussing this idea with a few key contributors over the past few days to make sure it's realistic and feasible. We've polished it and would like to ask for volunteers for a new Maemo Weekly News digest.

    Read on for more info...…

    21-Nov-2009, 20:34
  14. Downloading Ovi Maps without a network connection

    Unlike Navicore/Wayfinder on previous Maemo devices, Ovi Maps on the N900 downloads maps on demand. This is obviously a problem if you're going somewhere abroad and don't want to pay extortionate data roaming charges.

    Fortunately, S60 Ovi Maps users also have the same problem, and the solution is straightforward:…

    13-Oct-2009, 09:21
  15. Vala 0.5.7 now in maemo.org Extras

    After a bit of a prod; and a delay; mud-builder's vala recipe has been updated to the latest release 0.5.7 and uploaded to Extras-Devel as "vala" - this can now be used in Build-Depends lines in auto-builder packages.

    Vala is a modern, object-oriented programming language with a syntax inspired by C# and Java. However, it compiles to native code (via C), giving the benefits of modern programming languages and the speed of native development.…

    18-Mar-2009, 14:40
  16. OpenMoko UI "train wreck"

    Picked up from Internet Tablet Talk, there're a couple of videos showing how bad the OpenMoko UI is on basic usability challenges.

    What's interesting is that the small comparison with the iPhone shows how poor hardware (pressure-based touchscreen, bezel around the screen) combines with poor software implementation (separate apps => slow start-up times, little thought to the size of a usable target area) to emphasise the poor user experience. And, frustratingly, how many of the issues raised cut quite close to the bone for Maemo devices too :-(…

    23-Jul-2008, 10:39
  17. maemo.org: what next? (part 2)

    Following on from my earlier post, maemo.org: what next?, LinuxTag has now happened (and Quim very kindly used my open source triangle), and the 10 days brainstorm for the 100 Days community action plan, and 2010 Agenda have been launched.…

    04-Jun-2008, 08:44
  18. maemo.org: what next?

    I was invited, but unfortunately had to decline, to speak at the maemo track of LinuxTag 2008. The final topic, maemo.org: what next? is subtitled "mid-term: what Nokia should do + what the community could do". Whilst looking at whether I could attend, I started thinking about this topic. Below is the crystallisation of some of those thoughts which probably would've formed the basis of a few slides to kickstart discussion.

    Where are we?

    Since November 2005, we've had the N800 and N810; both spaced about a year apart. But whilst the release of the N810 saw its OS backported and released for free for the N800; the release of the N800 saw the 770 dropped in terms of official support.

    All three releases had "device programmes" whereby key members of the community could get the devices at severe discounts. This had the advantage of ensuring key software and power-users could deal with the new devices; but meant that hackers who may have maintained support for the earlier devices didn't have to scratch that itch.

    Nokia were criticised very heavily for their decision to drop 770 support. However, in their defense they've generally had a fairly open, but unguided approach, to community involvement. It seemed such a large company was having difficulty defining - let alone adjusting to - truly open, community-involved processes.

    Recent developments such as the involvement of Niels Breet and Quim Gil have certainly helped here. There've been improvements to the maemo.org website such as karma and rating downloads & news articles which have definitely increased interaction. Quim's contact with the community both through official channels and the Internet Tablet Talk forums has been very well received. These are steps in the right direction, but more needs to be done.

    Corporate interests in open source projects

    There are three aspects to an open source project, especially when there's corporate sponsorship:
    Triangle representing the interests of corporations vs. open source involvement
    Open source triangle
    Community involvement
    Pushes sales and reduces costs: more software developed for a device; more community support for users; some aspects of software development being done by the community which can become headline items in sales packages.

    Openness
    Allows experimentation with a device: new operating systems; backported OSes etc. However may be viewed by suspicion by marketing teams wanting to make a large fanfare for an upcoming release.

    Control
    Essential for a company: what's going to be in a release, how it's going to be supported; ensuring the package as a whole has a consistent marketing message.
    None of these are "better" than the others, and a true open source project - without any control at all - either splinters into a series of forks, or never gets enough traction or user-base to get that far. However, I'd suggest the best corporate-sponsored open source projects sit closer to the middle of the triangle than anywhere else. For example, if the 770 ecosystem was closer to the centre, the "hacker editions" may not have been a cost Nokia needed to swallow.

    Are there "good" open source projects with corporate sponsorship? Sure! Amongst many others there are:
    • Eclipse (IBM)
    • Firefox (Mozilla Corporation)
    • OpenOffice.org (Sun)

    What Nokia should do

    Nokia need to take action to really push community involvement. Nothing's got for free: if Nokia aren't seen to be committed to the community, why should the community be committed to Nokia? I'm sure we can have a discussion about where we are on the triangle, although I suspect there won't be much argument that we're closer to the bottom left than anywhere else.

    Is this a bad thing? It depends. Certainly, being further towards the centre would mean - at least - the Hacker Editions could be maintained outside of the maemo.org team; other OSes such as Poky, Mamona and even Ubuntu Mobile could be got running on the device; the experts in the community could provide input into specifications, designs and even provide implementations. This'd mean:

    • Somewhat reduced costs on behalf of Nokia;
    • More devices being sold. Some people are looking for an entirely open device (see the interest in OpenMoko or Pandora). Others are looking for an open device on which they can run a software stack of their own choosing, such as Poky.
    • Contributions from people who are personally devoted to the device, rather than being paid to work on it by their employer. That's not to say that the employees aren't doing a good job, or that they're not devoted to the device; but if someone's willing to do even some work for free, why look that gift horse in the mouth?
    These are all good things, both to the end-users, the community and Nokia's bottom-line.

    So, to increase openness and community involvement in maemo.org, I suggest the following to Nokia:
    Default code position: open
    The default position for all ITOS and Maemo code should be open source, unless there are legal and contractual reasons it shouldn't be the case. It should be possible for an external developer to tweak - say - the look and feel of the Media Player (perhaps cover.jpg album art support), rebuild it and share it in the community. Any component which is closed should have a page in the wiki or somewhere else explaining why that is closed source, and details of the API that component is supposed to provide to the system.

    Work in the community, not with the community
    • Nokia's internal bug tracker should be closed to anything but issues with upcoming, unannounced hardware: all software bugs and development features should be in the maemo.org Bugzilla or component-specific open bug trackers.
    • All components should have discussion - even between Nokia staff - on open mailing lists and IRC. All high-level designs should be discussed on maemo-developers to get most involvement and input. Low-level implementation details should be discussed on component-specific mailing lists.
    • Discuss software roadmaps on maemo-developers, engage the non-Nokia community to feel like they're not just contributing into a black hole; but are involved in the decision-making, policy-making and strategic direction of the platform on all levels.
    • Improve the tooling for people wanting to rebuild an ITOS component, possibly even including the ability for third parties to produce their own FIASCO images. Indeed, for the community to help with the Hacker Editions, this ability is essential.

    Raise the bar for third-party developers
    Put considerable effort into integrating, homogenising and ensuring consistency between all of the built-in applications. Polish here will encourage application developers to raise their game. I've tried to avoid an iPhone comparison, but look at the quality of third-party iPhone apps, even before the official SDK was launched.

    Increase the ease with which applications can be fully Hildonised and integrated into maemo
    • It's currently too easy to half complete a port, without any addition of battery-management functionality; proper load notification; proper backgrounding etc.
    • Effort could be made, for example, to make GtkMenuBars a more pluggable interface: Hildon would use a plugin which rendered it as a fixed point pop-up, the Mac OS-inspired desktops would use a plugin which rendered it at the top of the screen, the ROX-based distributions could have a fully popped up menu. This should also decrease the effort to port applications.
    • Similarly, HildonWindow is a hack to get default themes working. This hack would be better put in the window manager, rather than requiring changes to every application.
    • Work closely, and openly, with other companies using Hildon as an interface to effect these changes; such as Intel and Ubuntu; to ensure that Moblin, UME and maemo don't splinter and that porting applications between them, and innovations made by one company can be reused without being dismissed because of "Not Invented Here" syndrome.
    Some of these may be too much for Nokia to swallow as a company not used to openness. There will be comments within Nokia that this will open themselves up to too much competition; that if their entire software stack is open someone else will be able to clone it. So what, though? Be a hardware company; be a focal point; sell services to your competitors building similar hardware; sell to consumers a polished device with an active community.

    I strongly believe taking these actions will increase the openness of ITOS (and hence maemo) development and massively increase the participation of the non-Nokia community. For example, I and at least a handful of others, would commit to regularly commenting, reviewing and participating in design reviews of high-level (and perhaps even low-level) specifications; if only we were asked.

    Nokia have a large, untapped resource of professional, enthusiastic programmers; artists and users, who would be willing to effectively work for Nokia for almost nothing: just an acknowledgement that their input is being listened to, visible changes resulting from their work and - perhaps, just maybe - inclusion in the next device programme ;-)

    20-Apr-2008, 19:18
  19. Non-tablet software in maemo.org downloads

    X-Fade's been working hard and bug #2347 has been fixed. This now means that the official maemo.org downloads catalogue can now contain non-tablet software such as tablet-encode.

    Hopefully this'll boost the profile of things like mediautils to a wider audience.…

    31-Mar-2008, 21:06
  20. tablet-encode v2.18 - with much improved DVD ripping

    tablet-encode has had v2.18 released. Notable new features in this release include:

    The --episodes option is particularly cool; ripping a TV series' DVD (for, say, a long flight) is now a 3-step process:…

    29-Mar-2008, 11:16
  21. Improving application start-up: mockup

    A quick follow-up to my post on improving application start-up usability. I've done a very rough & ready mockup:

    A higher-quality (but not any better put together) AVI can be downloaded (333KB).…

    09-Mar-2008, 15:10
  22. Improving application start-up usability

    The announce of the iPhone SDK has revealed some interesting facts; including a particularly ingenious (and simple) way Apple have improved the user experience of starting applications.

    It's a bit of a cheat, but with sound User experience Design (UxD) principles behind it: two small waits are better than one long one. It's why we have "please wait" messages on everything from ATMs to websites, and Hildon Desktop's own "Application loading" info messages at the top-right. The user feels the action is progressing whilst complex operations are occurring underneath.…

    08-Mar-2008, 00:53
  23. Wi-fi triangulation

    The iPod Touch has recently gained a location ability, despite not having a GPS. How?

    A company, called Skyhook Wireless have driven around the US and Europe with a laptop and a GPS; recording the position and strength of every wireless access points SSID they detect.…

    19-Feb-2008, 13:42
  24. Solving the lack of QA and muliple repositories problem

    I've just sent an email to maemo-developers asking for feedback on an idea:

    RFC: Proposal to solve multiple repository, poor QA situation

    13-Jan-2008, 15:49
  25. tablet-encode v2.15 - now with GUI

    tablet-encode v2.15 is now available to download, making it even easier to convert your videos to a format suitable for the Nokia Internet Tablets.

    The primary enhancement in this release is the addition of a simple GUI mode, in addition to the full-power of the command line from previous versions:…

    11-Dec-2007, 15:39
  26. mediaserv + tablet-encode = mediautils


    My command-line video conversion script, 770-encode is very widely used; however its name is obviously something of an anachronism. So with the imminent availability of the N810, it was time to rename it. Welcome, tablet-encode. This new name also comes with a major new version, including a number of long-standing patches from people being applied, such as multiple-file support.

    I've also put it, along with mediaserv in a new garage.maemo.org project: mediautils.…

    19-Nov-2007, 10:50
  27. mediaserv: v0.04 and demo

    mediaserv has now reached v0.04. Thanks to everyone for providing feedback. Here's a demo of my N800 playing back a DVD rip in 720x576 1000kbps video, 192kbps audio DivX off a 1GHz Via C3 processor box transcoding to 770-encode's "average" preset:

    Download: mediaserv-0.04.tar.gz (29KB)…

    28-Oct-2007, 20:12
  28. mediaserv updated: now actually useful

    Thanks to everyone who gave me lots of good, positive, constructive feedback on the first version of mediaserv. I've just uploaded mediaserv-v0.02.tar.gz (24KB) where:

    24-Oct-2007, 22:10
  29. TV Guide application released; allowing you to see today's UK TV listings on your desktop

    [TVGuide screenshot]Our new TVGuide application allows you to view today's UK TV listings on your desktop! The application, produced with WimpWorks, downloads the TV listings in XML from bleb.org and reformats them into a grid. Clicking on a programme within the grid shows you more details on the programme. The application is released as open source under the Artistic Licence.

    06-Mar-2005
  30. 32-bit compatible WimpWorks now available

    Friday the 13th; but it's lucky for some as the first 32-bit compatible version of WimpWorks is released. Fully tested on Castle's Iyonix PC, this release also produces applications which are 32-bit compatible - usually with just a resave. To ensure future development and to cover rising costs existing users will be charged a small fee to upgrade to v2.34 - however we now support online ordering.

    13-Dec-2002
  31. WimpWorks v2.27 released

    Jaffa Software believe there to be a great deal of life left in the RISC OS platform and will support any solution developed, whether it be the multiprocessing ARM Linux machine with a RISC OS-like GUI or a consortium buying the rights to manufacture Phoebe as only a motherboard. Our products, such as WimpWorks and PICsuite will be updated to work as soon as possible on the new products and we will ensure that our support for existing users will not diminish in any way. We will also continue to develop quality applications for RISC OS and whatever platform results from the ashes of Acorn Workstations.

    18-Sep-1999
  32. WimpWorks v2.27 released

    v2.27 of WimpWorks is now available. If you currently have v2.23 or later you can upgrade via the upgrade page. Although this is mainly a bug fix released (OLE on non-StrongEd editors was broken) the way is now clear for some exciting WEMs to be released.

    28-Mar-1999